Hi
everybody,
I got a problem with
L4Linux but really don't know from where it comes, if I forgot to do
something or if there is like a bug in L4Linux.....
I have updated my l4
repositories yesterday, switching to L4Linux revision 32 and tudos revision 127.
When booting L4Linux with TCP/IP enabled, it blocks after printing "Registered
protocol 2". When disabling TCP/IP, it blocks after IDE probe. I have observed
the same behavior with revision 31, but didn't have the time at this time to
investigate.
This time I have
tried to find the reason of this loop. I have disabled TCP/IP and tried to see
where L4Linux hangs. After IDE probe, L4Linux goes through
wait_for_completion(), which calls schedule(), and then loops as need_resched
label is always re-invocated. The last thing displayed is the creation of
the idler thread...
The problem with
TCP/IP support enabled is different but maybe related to the same source. the
schedule() function is also called, but it completes and so schedule. Then the
idler thread is created and noting goes on.
I have tried with
different configurations, especially with protected I/O and unprotected, but I
get always the same behavior.
This is the output I
get trough the serial line with TCP/IP disabled (l4linux also print on
serial) :
l4lx | ======> L4Linux 2.6
starting... <========
l4lx | Linux version 2.6.21-l4 (clermont@L4-dev) (gcc version 3.4.4
(Gentoo
l4lx : 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8)) #59 Tue
Jul 3 19:21:07 Local tim
l4lx : e zone must be set--see zic
manu
l4lx | Binary name:
vmlinuz26
l4lx | Kernel command line (5 args):
console=ttyLv0 earlyprintk=yes mem=128M
l4lx :
root=/dev/hda1 video=l4fb:refreshsleep:200
l4lx | Image:
00400000 - 00681000 [2564 KiB].
l4lx | Areas:
Text: 00400000 - 005e6000 [1944kB] (a bit
longer)
l4lx |
Data: 005e6000 - 005f9f7c
[79kB]
l4lx |
Initdata: 005fc000 - 00618260 [112kB]
l4lx
| BSS:
0061a000 - 0067e840 [402kB]
names | 12.02:
server_names_register(12.03 -> "l4lx.tamer")
l4lx |
l4lx_thread_create: Created thread 12.03 (tamer)
l4lx |
Using tamed mode.
ROOT: Sending all ports (for cli/sti) to task
#0d
l4lx | Got 65536 out of 65536 I/O
ports
names | 12.02: server_names_register(12.04 ->
"l4lx.server")
l4lx | l4lx_thread_create: Created thread
12.04 (server)
l4lx | main thread will be
12.04
l4lx | l4env_register_pointer_section: addr =
005e6000 size = 634880
l4lx |
sec-w-init: virt: 0x005e6000 to 0x00680fff [620 KiB]
l4lx
| sec-w-init: Number of physical regions: 1,
634880 Bytes
l4lx |
sec-w-init: 1: Phys: 0x01185000 to 0x01220000, Size:
634880
l4lx | l4env_linux_startup thread
4.
l4lx | main thread: received startup
message.
l4lx | Main thread running,
waiting...
l4lx | setup_l4env_memory: Forcing superpages
for main memory
l4lx | Main memory size:
128MB
l4lx | Got 2048kB of ISA DMA
memory.
l4lx | ISA DMA memory: virt: 0x00800000 to
0x009fffff [2048 KiB]
l4lx | ISA DMA memory: Number
of physical regions: 1, 2097152 Bytes
l4lx | ISA DMA
memory: 1: Phys: 0x0043a000 to 0x0063a000, Size:
2097152
l4lx | Main memory: virt:
0x00c00000 to 0x08bfffff [131072 KiB]
l4lx
| Main memory: Number of physical regions: 1, 134217728
Bytes
l4lx | Main memory: 1: Phys:
0x14400000 to 0x1c400000, Size: 134217728
l4lx | Filling
lower ptabs...
l4lx | Done (1883 entries).
Linux version
2.6.21-l4 (clermont@L4-dev) (gcc version
3.4.4 (Gentoo 3.4.4-r1, s
sp-3.4.4-1.0, pie-8.7.8)) #59 Tue Jul 3 19:21:07
Local time zone must be set--se
e zic manu
CPU: Vendor unknown, using
generic init.
CPU: Your system may be unstable.
dm_phys:
0000000000c00000 - 0000000008c00000 (usable)
dm_phys: 0000000000800000
- 0000000000a00000 (usable)
132MB memory available.
Zone PFN
ranges:
DMA 0
-> 2560
Normal 2560 ->
35840
early_node_map[1] active PFN ranges
0: 0 ->
35840
Allocating PCI resources starting at 10000000 (gap:
00a00000:ff600000)
Built 1 zonelists. Total pages: 35560
Kernel
command line: console=ttyLv0 earlyprintk=yes mem=128M root=/dev/hda1
vide
o=l4fb:refreshsleep:200
Initializing CPU#0
PID hash table entries:
1024 (order: 10, 4096 bytes)
Detected 2800.514 MHz processor.
Console:
colour dummy device 80x25
l4ser_init_ports
l4ser: input not
enabled!
Dentry cache hash table entries: 32768 (order: 5, 131072
bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536
bytes)
Memory: 131700k/143360k available (1539k kernel code, 1344k reserved,
484k data,
112k init, 0k highmem)
virtual kernel memory
layout:
fixmap : 0xffffc000 - 0xfffff000
( 12 kB)
vmalloc : 0x10000000 -
0x18000000 ( 128 MB)
lowmem : 0x00000000
- 0x08c00000 ( 140 MB)
.init :
0x005fc000 - 0x00618260 ( 112 kB)
.data : 0x00580cc4 - 0x005f9f7c ( 484
kB)
.text : 0x00400000 -
0x00580cc4 (1539
kB)
l4lx_irq_timer_startup(0)
names | 12.04:
server_names_register(12.05 -> "l4lx.timer.i0")
l4lx |
l4lx_thread_create: Created thread 12.05 (timer.i0)
timer_irq_thread:
Starting timer IRQ thread.
Calibrating delay using timer specific routine..
5603.19 BogoMIPS (lpj=28015972)
Mount-cache hash table entries: 512
Compat
vDSO mapped to 0040e000.
CPU: GenuineIntel Intel(R) Pentium(R) 4 CPU 2.80GHz
stepping 09
NET: Registered protocol family 16
PCI: Using configuration
type 1
Setting up standard PCI resources
SCSI subsystem
initialized
PCI: Probing PCI hardware
PCI quirk: region 0400-047f claimed
by ICH4 ACPI/GPIO/TCO
PCI quirk: region 0480-04bf claimed by ICH4
GPIO
PCI: Transparent bridge - 0000:00:1e.0
PCI: Ignore bogus resource 6
[0:0] of 0000:00:02.0
PCI: Bridge: 0000:00:03.0
IO window:
a000-afff
MEM window: fa000000-fa0fffff
PREFETCH window:
disabled.
PCI: Bridge: 0000:00:1e.0
IO window: b000-bfff
MEM window: f8000000-f9ffffff
PREFETCH window: 10000000-100fffff
io
scheduler noop registered
Time: tsc clocksource has been installed.
io
scheduler anticipatory registered (default)
io scheduler deadline
registered
io scheduler cfq registered
__ioremap: Requested region at
fa180000 [0x400 Bytes]
__ioremap: Mapping physaddr fa180000 [0x400 Bytes,
fa180000+000400] to 08c00000+
000000
l4lx | Starting
L4FB via DOpE
names | 12.04: server_names_register(12.06 ->
"l4lx.listener")
l4dope | SharedMem(alloc): hl.raw=100000, id=a1,
size=96000
l4dope | SharedMem(get_adr): address =
0x200000
names | 12.04: server_names_register(12.07 ->
"l4lx.DOpE refre")
l4lx | l4lx_thread_create: Created
thread 12.07 (DOpE refresher)
names | 12.04:
server_names_register(12.08 -> "l4lx.L4DOpEinpu")
l4lx |
l4lx_thread_create: Created thread 12.08 (L4DOpEinput)
input: l4input key as
/class/input/input0
input: l4input mouse as /class/input/input1
l4fb: DOpE
framebuffer at 0x08c05000, size 600k
l4fb: mode is 640x480x16,
linelength=1280, pages=0
l4fb: directcolor: size=0:5:6:5,
shift=0:11:5:0
Console: switching to colour frame buffer device
80x30
l4fb0: l4fb L4 frame buffer device (refresh: 200ms)
L4 serial
driver
l4ser_init_ports
l4ser: input not enabled!
ttyLv0 at MMIO 0x1
(irq = 0) is a L4
Uniform Multi-Platform E-IDE driver Revision:
7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with
idebus=xx
names | 12.04: server_names_register(12.09 ->
"l4lx.Idler")
l4lx | l4lx_thread_create: Created thread
12.09 (Idler)
l4dope | SharedMem(alloc): hl.raw=100000, id=aa,
size=280000
l4dope | SharedMem(get_adr): address =
0x800000
Does somebody have a
running L4Linux revision 32 ? Is it a known problem, or could it be specific to
my configuration, etc ... ?
Thanks.
--
Nico