Re: Problems with the demo CD and qemu
Hi again L4 Hackers, here is what's going on. ethernet card (ne2k-pci) sends an IRQ (number 9). The IRQ thread passes wait_for_irq_message_hw then calls do_IRQ. do_IRQ does its stuff, then calls irq_exit. In irq_exit, we have a softirq pending (don't ask me why, that's just the way it is), so we call do_softirq. We then enter net_tx_action. I then pass the details. To be short, we enter the TCP/IP stack, do some stuff, then go back into the ethernet driver code, in ei_start_xmit (8390.c). This function calls disable_irq_nosync, which calls desc->handler->disable, which is in fact do_l4lx_irq_dev_disable. This one will call switch_to_irq_idle_loop. I don't exactly know what happens next (lack of time), but if I remove the call to switch_to_irq_idle_loop (and of course the corresponding call to switch_to_irq_thread) in do_l4lx_irq_dev_disable (respectively do_l4lx_irq_dev_enable) everything works fine (well, I don't get crashes when I do my telnet anymore). My questions are: 1 - why to call this switch_to_irq_idle_loop? what's the purpose of it? 2 - if I remove this call, do I get a wrong system or is it ok? what do I lose if it is ok (speed?)? 3 - a comment in switch_to_irq_idle_loop says: /* Looks like interrupts are disabled multiple times in 2.6 */ shouldn't you use a counter in switch_to_irq_thread and only do the switch if it's back to zero? (I mean, imagine 2 calls to switch_to_irq_idle_loop followed by 1 call to switch_to_irq_thread, should it really come back from idle at this point?) Thank you by advance. Best regards, Cedric. (By the way, the l4linux kernel won't compile with 4k stacks, you never call irq_ctx_init, maybe you should call it in init_IRQ?) On Thu, 10 Feb 2005, Cedric Roux wrote: > Hello L4 Hackers, > > here follows a description of what I did. My questions come to the end > of the message. Sorry for the length, but I wanted to be clear. [SNIP] > <0>Kernel panic: Aiee, killing interrupt handler! > <0>In interrupt handler - not syncing > > I would like to know: > 1 - what's going on? I suspected some kind of weird IRQ firing because > of the use of qemu, but as far as my investigations have told me, > it doesn't seem to be that. I believed that one IRQ went to fast > after a first one, so the linux was not yet out of the driver > code, but the interrupts were enabled, thus crashing everything. > I think I was wrong, no? > 2 - how to solve this. What code/doc should I read to debug it, where > to dig. I am a bit confused for now. > > Thank you by advance for your help. > > Best regards, > Cedric. ___ l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
compilation error for l4linux 2.6
I am getting the following error while compiling the l4linux 2.6 kernel that I got from cvs [EMAIL PROTECTED] l4linux-2.6]# make CHK include/linux/version.h make[1]: `arch/i386/kernel/asm-offsets.s' is up to date. CHK include/linux/compile.h dnsdomainname: Unknown host CHK usr/initramfs_list GEN .version CHK include/linux/compile.h dnsdomainname: Unknown host UPD include/linux/compile.h CC init/version.o LD init/built-in.o LD .tmp_vmlinux1 ld: cannot find -lloader.s make: *** [.tmp_vmlinux1] Error 1 Any suggestions, what might be going wrong? Thanks. Jayesh [EMAIL PROTECTED] 67349 ___ l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
booting L4Linux...
my L4Linux is having trouble booting... My Menu.lst is: title Fiasco Linux kernel (nd)/rmgr -sigma0 task modname "vmlinuz" module modaddr 0x0200 module (nd)/main -nokdb -nowait -serial_esc -comspeed 115200 -comport 1 module (nd)/sigma0 module (nd)/vmlinuz.V2 no-scroll no-hlt l4irqack=linux load_ramdisk=1 ramdisk_size=16384 root=/dev/ram module (nd)/drops.rd And here is the output: ### [1;32mWelcome to Fiasco(ia32)! [0;32mDD-L4(v2)/x86 microkernel (C) 1998-2005 TU Dresden Rev: Wed Feb 2 12:05:33 2005 compiled with gcc 2.95 for Intel Pentium 4[0m [31mPerformance-critical config option(s) detected: CONFIG_NDEBUG is off CONFIG_NO_FRAME_PTR is off [m Found VMware: Using (normal) fully nested PIC mode Using the PIT (i8254) on IRQ 0 for scheduling CPU: GenuineIntel (F:2:8:9) Model: Pentium 4 (Northwood/Prestonia) at 2793 MHz 128 Entry I TLB (4K or 4M pages) 64 Entry D TLB (4k or 4M pages) 12K -ops T Cache (8-way associative) 8 KB L1 D Cache (4-way associative, 64 bytes per line) 512 KB L2 U Cache (8-way associative, 64 bytes per line) Freeing init code/data: 20480 bytes (5 pages) SIGMA0: Hello! Found Fiasco: KIP syscalls: no. Allocated 116kB for maintenance structures. RMGR: Stage2 running on Fiasco bootloader loaded 2 modules at 02073000-031b0001 total RAM size = 195134 KB (reported by bootloader) received 178100 KB RAM from sigma0 828 KB reserved for RMGR received no I/O ports attached irqs = [ 1 3 5 6 7 8 9 a b c d e f ] RMGR: Parsing config. configured task 0x05: [ m:0,, hm:0,, t:0,, i: lmcp: s:0,ff,ff mcp:ff prio:10 small:ff ] log_mask: , log_types: RMGR: Starting tasks. [36m#05: loading "(nd)/vmlinuz.V2 no-scroll no-hlt l4irqack=linux load_ramdisk=1 ramdisk_size=16384 root=/dev/ram" [m from 02073000-021af848 to [ 003ff000-00501888 00502000-00520448 00522000-005944c0 ] passing module (nd)/drops.rd [ 021b-031b ] starting at entry 003ff000 via trampoline page code 0006c1a4 RMGR found at 04.01 bootmem: 595000, af8c000 start_pfn=595000, bootmap_size = 15f4 Linux version 2.4.28-l4 ([EMAIL PROTECTED]) (gcc version 2.95.4 20011002 (Debian prerelease)) #9 Sex Fev 4 14:48:25 WET 2005 BIOS-provided physical RAM map: BIOS-88: 0006c000 - 00091000 [ 148KiB] (usable) BIOS-88: 00095000 - 0009f000 [40KiB] (usable) BIOS-88: 0009f000 - 0010 [ 388KiB] (reserved) BIOS-88: 0010 - 0013 [ 192KiB] (usable) BIOS-88: 00199000 - 0040 [ 2460KiB] (usable) BIOS-88: 0040 - 0ac0 [172032KiB] (usable) BIOS-88: 0ac0 - 0af8c000 [ 3632KiB] (usable) Found old style RAMDisk from 21b to 31b [16384KiB] 175MB LOWMEM available. hm, page reserved twice. pagetable_init: "Mapped" 1715 4K and 42 4M pages. On node 0 totalpages: 44940 zone(0): 4096 pages. zone(1): 40844 pages. zone(2): 0 pages. Kernel command line: no-scroll no-hlt l4irqack=linux load_ramdisk=1 ramdisk_size=16384 root=/dev/ram l4irqack: L4Linux acknowledges IRQs itself Detected 2820.872 MHz processor. l4lx_irq_timer_startup(0) timer_irq_thread: Starting timer IRQ thread CPU 0. Console: colour dummy device 80x25 Calibrating delay loop... 5465.70 BogoMIPS Memory: 156072k/179760k available (882k kernel code, 22432k reserved, 274k data, 68k init, 0k highmem) Dentry cache hash table entries: 32768 (order: 6, 262144 bytes) Inode cache hash table entries: 16384 (order: 5, 131072 bytes) Mount cache hash table entries: 512 (order: 0, 4096 bytes) Buffer cache hash table entries: 8192 (order: 3, 32768 bytes) Page-cache hash table entries: 65536 (order: 6, 262144 bytes) CPU: Trace cache: 12K uops, L1 D cache: 8K CPU: L2 cache: 512K CPU: Intel(R) Pentium(R) 4 CPU 2.80GHz stepping 08 POSIX conformance testing by UNIFIX isapnp: Scanning for PnP cards... isapnp: No Plug & Play device found Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket Starting kswapd VFS: Disk quotas vdquot_6.5.1 devfs: v1.12c (20020818) Richard Gooch ([EMAIL PROTECTED]) devfs: boot_options: 0x0 Detected PS/2 Mouse Port. l4lx_irq_dev_startup: creating IRQ thread for 1 irq_thread: Starting IRQ thread for IRQ 1 keyboard: Timeout - AT keyboard not present?(ed) pty: 256 Unix98 ptys configured Serial driver version 5.05c (2001-07-08) with ISAPNP enabled ttyS00 at 0x03f8 (irq = 4) is a 16550A ttyS01 at 0x02f8 (irq = 3) is a 16550A RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize IEEE 802.2 LLC for Linux 2.1 (c) 1996 Tim Alpaerts NET4: L