[uCsimm] [uClinux-dev] RTL release 0.9J patch for uClinux was Fw: BOUNCEucsimm@uClinux.com: Message too long (>40000 chars)

From: 권석근 (kwonsk@mutech.co.kr)
Date: Thu Feb 10 2000 - 21:43:33 EST


Now somebody could see it!. Thanks Michael Durrant.

Stu wrote:
>Make sure you mention which Stuart. :)
Sorry, Stuart Lauderdale names might confict, I mentioned Stuart Hughes.
well... i read your valuable messages many times in this mailing list,
thanks :-)

BTW, my mother tongue is korean so frequently i made mistakes in spelling
naming even some unclear notes, sorry for that. (actually i called
bernhard kuhn
as burnhard kuhn in the first posting)

Stuart Hughes wrote:
>If you like, you can put the patch on our server:
>ftp to www.zentropix.com
>cd incomming
Great thanks.

>If you then send me a mail, I'll get it moved to our download area, how
>about something like uClinux/contrib ???

>We also could put it on realtimelinux.org (actually this makes more
>sense as it is GPL), you still use the same upload area we just move it
>to a different virtual server. Let me know what you prefer (if you
>don't want to do either I won't be offended).
Thanks too. I prefer all of your suggestion.
I'll upload this port to www.zentropix.com/incomming directory.

btw, Michael Durrant, how about your ftp site?

I'm currently working on an rt example which use request_RTirq.
EZ328 could generate sampling clock interrupt in the RTC block,
i may use it as an example.
And i hope bugfix/enhancement by uClinux people including me.

there is a change (just improve stupid loop) in process_rt() like this.
in /arch/m68knommu/platform/68EZ328/ints.c

void process_rt(unsigned long pend)
  int irq;
  unsigned long mask;

  /* first, check all interrupts in this irq-level */
  // printk("process_rt %x\n", mask);
  pend &= 0x00FFFFFF;

  while (pend) {
    if (pend & 0x0000ffff) {
      if (pend & 0x000000ff) {
 if (pend & 0x0000000f) {
   mask = 0x00000001;
   irq = 0;
 } else {
   mask = 0x00000010;
   irq = 4;
      } else {
        if (pend & 0x00000f00) {
   mask = 0x00000100;
   irq = 8;
        } else {
   mask = 0x00001000;
   irq = 12;
    } else {
      if (pend & 0x00ff0000) {
 if (pend & 0x000f0000) {
   mask = 0x00010000;
   irq = 16;
 } else {
   mask = 0x00100000;
   irq = 20;
      } else {
 if (pend & 0x0f000000) {
   mask = 0x01000000;
   irq = 24;
 } else {
   mask = 0x10000000;
   irq = 28;

    while (! (mask & pend)) {
      mask <<=1;

    if (rt_irq_status[irq]) {

    pend &= ~mask;


This message resent by the ucsimm@uclinux.com list server http://www.uClinux.com/

This archive was generated by hypermail 2b30 : Sun Apr 07 2002 - 00:01:34 EST