On Thu Dec 14, 2006 at 17:40:52 +0800, halo.duan wrote:
Hi the linux kernel is 2.6.15-1.2054-FC5, gcc is 4.1.0 20060304. code is the latest update.
following is screen copy of gdb
Fiasco-UX on Linux 2.6.15-1.2054_FC5 (i686) Mapped 64 MB Memory + 0 KB Framebuffer + 0 MB Input Area on FD 6
Loading Module 0x00090000-0x00099380 [sigma0] Loading Module 0x00120000-0x002b09e4 [roottask]
Bootstrapping...
Welcome to Fiasco(ux)! DD-L4(v2)/x86 microkernel (C) 1998-2006 TU Dresden Rev: Fri Dec 8 18:40:04 2006 compiled with gcc 4.1.0 for Intel Pentium III
Detaching after fork from child process 2486.
Program received signal SIGSEGV, Segmentation fault. Dirq::alloc (this=0xd242d, t=0xd7b80, ack_in_kernel=-1) at /home/halo/l4/kernel/fiasco/src/drivers/ux/processor-ux.cpp:62 62 asm volatile ("cli" : : : "memory"); (gdb)
according to the fiasco-ux documents, the SIGSEGV must be handled by fiasico registered handler. but I don't know why fiasco generate such enomous number of SYSSEGV.
so what's happened
That's how Fiasco-UX works, by intercepting such instructions. All those segmentation faults are really ok.
To come back to your problem. Since you use a FC kernel... Do those kernels use a different address space layout for users? Does the user have 3G of address space available? Recent kernels (2.6.16 and up) should have CONFIG_PAGE_OFFSET=0xC0000000 in their config.
Adam