Hello!
There is a problem when vmlinuz-2.6.24-l4 (kernel image compiled in l4linux source tree) boots under l4env with Fiasco u-kernel (last screen page is shown below):
l4lx | Got 2048kB of ISA DMA memory l4lx | ISA DMA memory: virt: 0x00800000 to 0x009fffff [2048 KiB] l4lx | ISA DMA memory: Number of physocal regions: 1, 2097152 Bytes l4lx | ISA DMA memory: 1: Phys: 0x0043b000 to 0x0063b000, Size: 2097152 l4lx | Main memory: virt: 0x00c00000 to 0x10bfffff [262144 KiB] l4lx | Main memory: Number of physical regions: 1, 26843556 Bytes l4lx | Main memory: 1: Phys: 0x07000000 to 0x17000000, Size: 268435456 l4lx | Filling lower tabs... l4lx | Done (1722 entries). l4lx | l4env_register_pointer_section: addr = 00660000 size = 667648 l4lx | end: virt: 0x00660000 to 0x00702fff [652 KiB] l4lx | Noncontiguous region for end l4lx | end: Number of physical regions: 2, 667548 Bytes l4lx | end: 1: Phys: 0x01251000 to 0x01287000, Size: 221184 l4lx | end: 2: Phys: 0x00ba9000 to 0x00c16000, Size: 446464 l4lx | l4env_rd_path: initrd-2.6.24-l4.img l4lx | Loading: initrd-2.6.24-l4.img l4lx | INITRD: Size of RAMdisk is 3516 KiB l4lx | RAMdisk from 10c00000 to 10f6f200 [3516 KiB] l4lx | L4RM: [PF] read at 0xf0070000, ip 004098d8, src D.02 l4lx | [D.0] l4rm/lib/src/pagefault.c:81:__unknown_pf(): l4lx | unhandled page fault
--PANIC, 'g' for exit----------------------------------------------- IP: a00b53a6 [l4lx.rm] (d.00) jdb:
[...]
OBJDUMP of vmlinux shows the following listing (cutted fragment):
004098a1 <rtc_cmos_read>: rtc_cmos_read(): /usr/src/kernels/2.6-24-l4/arch/l4/kernel/arch-i386/time.c:93 4098a1: 56 push %esi 4098a2: 53 push %ebx 4098a3: 83 ec 04 sub $0x4,%esp 4098a6: 8a 5c 24 10 mov 0x10(%esp),%bl /usr/src/kernels/2.6-24-l4/build/include/asm-l4/l4-arch/asm/irqflags.h:68 4098aa: e8 4a 87 ff ff call 401ff9 <l4x_global_save_flags> 4098af: 89 c6 mov %eax,%esi /usr/src/kernels/2.6-24-l4/build/include/asm-l4/l4-arch/asm/irqflags.h:78 4098b1: e8 4c 88 ff ff call 402102 <l4x_global_cli> /usr/src/kernels/2.6-24-l4/build/include/asm-l4/x86-arch/asm/mc146818rtc_32.h:45 4098b6: 0f b6 d3 movzbl %bl,%edx 4098b9: 89 d1 mov %edx,%ecx 4098bb: 80 cd 01 or $0x1,%ch /usr/src/kernels/2.6-24-l4/build/include/asm-l4/x86-arch/asm/mc146818rtc_32.h:47 4098be: a1 98 23 67 00 mov 0x672398,%eax 4098c3: 85 c0 test %eax,%eax 4098c5: 74 04 je 4098cb <rtc_cmos_read+0x2a> /usr/src/kernels/2.6-24-l4/build/include/asm-l4/l4-arch/asm/processor.h:487 4098c7: f3 90 pause 4098c9: eb f3 jmp 4098be <rtc_cmos_read+0x1d> /usr/src/kernels/2.6-24-l4/build/include/asm-l4/x86-arch/asm/cmpxchg_32.h:137 4098cb: 0f b1 0d 98 23 67 00 cmpxchg %ecx,0x672398 /usr/src/kernels/2.6-24-l4/build/include/asm-l4/x86-arch/asm/mc146818rtc_32.h:51 4098d2: 85 c0 test %eax,%eax 4098d4: 75 e8 jne 4098be <rtc_cmos_read+0x1d> /usr/src/kernels/2.6-24-l4/build/include/asm-l4/l4-arch/asm/io.h:359 4098d6: 88 d0 mov %dl,%al (***) 4098d8: e6 70 out %al,$0x70 /usr/src/kernels/2.6-24-l4/build/include/asm-l4/l4-arch/asm/io.h:273 4098da: e6 80 out %al,$0x80
[...]
We can see that the instruction at (***) causes the fault of executing. I have no idea why it makes the problem. I've compared same part of object code of usual kernel (2.6.24.5 that working in 'real' environment) - there was the same semantics of the function rtc_cmos_read().
Below i provide grub.list section about loading l4linux module: title Red Hat Enterprise Linux Server (2.6.24-l4, very EXPERIMENTAL) root (hd0,0) kernel /boot/l4/linux/bin/bootstrap modaddr 0x06000000 module /boot/l4/linux/bin/fiasco -nokdb -serial_esc module /boot/l4/linux/bin/sigma0 module /boot/l4/linux/bin/roottask task modname "bmodfs" attached 5 modules module /boot/l4/linux/bin/names module /boot/l4/linux/bin/log module /boot/l4/linux/bin/dm_phys --isa=0x00800000 module /boot/l4/linux/bin/simple_ts -t 300 module /boot/l4/linux/bin/l4io --noirq module /boot/l4/linux/bin/con module /boot/l4/linux/bin/bmodfs module /boot/l4/linux/cfg/l4linux26.cfg module /boot/l4/linux/bin/libloader.s.so module /boot/l4/linux/bin/libld-l4.s.so module /boot/vmlinuz-2.6.24-l4 module /boot/initrd-2.6.24-l4.img module /boot/l4/linux/bin/loader --fprov=BMODFS l4linux26.cfg
[...]
All the stuff was compiled under RHEL5 with kernel-2.6.24-5 (SMP). Version of gcc compiler is 4.1.1 20070105 (Red Hat 4.1.1-52) [gcc -v] with POSIX thread model.
My hardware is: - mainboard is DG33TL; - CPU Intel Pentium Dual-Core; - RAM 2048Mb
I tried to load l4linux-module in cores-multiplexed enabled (for SMP) and cores-multiplexed disabled CPU modes, that i was tuning them on/off in BIOS setup.
Any help is very welcomed!