Re: Problems with the demo CD and qemu

2005-02-11 Thread Cedric Roux
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

2005-02-11 Thread Jayesh Salvi








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...

2005-02-11 Thread Tiago João Portela Jorge
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:

###

Welcome to Fiasco(ia32)!

DD-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

Performance-critical config option(s) detected:

  CONFIG_NDEBUG is off

  CONFIG_NO_FRAME_PTR is off



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.


#05: loading "(nd)/vmlinuz.V2 no-scroll no-hlt l4irqack=linux
load_ramdisk=1 ramdisk_size=16384 root=/dev/ram"


 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