From T.Motylewski@bfad.de Wed Feb 19 17:36:41 2003 Date: Thu, 13 Feb 2003 15:26:06 +0100 (CET) From: tomasz motylewski To: rtl@rtlinux.org Subject: [Rtl]rtlinux-3.1 Geode + notsc + requires CONFIG_X86_IO_APIC? I describe below 2 little defects which can be simply resolved, but seem to be not documented. Kernel 2.4.19 (but probably applies to all 2.4) include/asm-i386/irq.h #ifdef CONFIG_X86_IO_APIC #define NR_IRQS 224 #else #define NR_IRQS 16 #endif So the problem is that without CONFIG_X86_IO_APIC no soft IRQs are available. rtl.o crashes (reboot) because soft irq can not be allocated for rtl_printf. I have used the unofficial rt-patch-2.4.18-rtl3.1.tgz. But I have seen no difference NR_IRQS in the official ones. TODO: document CONFIG_X86_IO_APIC required. Or even patch #if defined(CONFIG_X86_IO_APIC)||defined(CONFIG_RTL) -------------------------------------- After I have configured CONFIG_X86_IO_APIC, the kernel has booted on National Geode CPU (CONFIG_M586, no TSC). I am using HZ=2000. Everything looks OK (I can load rtl.o and rtl_timer.o). IRQ0 shows 2000 interrupts/s (/proc/interrupts). System clock works OK. But when I load rtl_sched.o then IRQ0 ticks only at 100 Hz. Also the system clock slows down 20 times. gethrtime() also increments by 1000000000 in 20 seconds. When I use modprobe rtl_timer notsc=1 instead, everything works OK. /proc/cpuinfo shows tsc, but it is known that it has problems on National Geode CPU. TODO: document that notsc=1 is needed on Geode (I have expected that rtl_timer.o will autodetect it). Best regards, -- Tomasz Motylewski BFAD GmbH & Co. KG _______________________________________________ Rtl mailing list Rtl@rtlinux.org http://www2.fsmlabs.com/mailman/listinfo.cgi/rtl