Hi
I have gotten past the problem by adding the loader's "kill" code to l4linux2.4's shutdown code: this avoids the permission problems (a thread is allowed to kill itself). I can halt l4linux completely by calling "halt" from bash. Thanks for your insight.
However, it seems like the memory manager does not correctly de-allocate memory: After starting and halting l4linux about 7 times, the next time I load l4linux, I get DMphys | [7.0] dm_phys/server/src/pages.c:1148:dmphys_pages_allocate(): DMphys | DMphys: no memory, size 65536KB, left 44968KB DMphys | [7.0] dm_phys/server/src/open.c:97:__create_ds(): DMphys | DMphys: memory allocation failed! l4lx | [12.3] dm_mem/lib/clientlib/src/open.c:79:l4dm_mem_open(): l4lx | libdm_mem: open dataspace at 7.00 failed (ret -2, exc 0) l4lx | setup_l4env_memory: Can't get main memory: out of memory(-2)!
Every time I halt an l4linux, I still see it's info when I hit 'a' in the DROPS console: . . "vmlinuz-slave.l4env",#12 0 ds 70: 003ff000-0067e000 r-x beg ds 71: 0067e000-00a5000 rwx ds 72: 00a6000-007880000 rwx ds 73: 007880000-00789000 r-- end 1 ds 74: 0000e000-0002e000 r-x share beg ds 75: 0002e000-00034000 rw- share end "vmlinuz-slave.l4env",#12 0 ds 70: 003ff000-0067e000 r-x beg ds 71: 0067e000-00a5000 rwx ds 72: 00a6000-007880000 rwx ds 73: 007880000-00789000 r-- end 1 ds 74: 0000e000-0002e000 r-x share beg ds 75: 0002e000-00034000 rw- share end "vmlinuz-slave.l4env",#12 0 ds 70: 003ff000-0067e000 r-x beg ds 71: 0067e000-00a5000 rwx ds 72: 00a6000-007880000 rwx ds 73: 007880000-00789000 r-- end 1 ds 74: 0000e000-0002e000 r-x share beg ds 75: 0002e000-00034000 rw- share end
Any ideas? Is there a known bug in the memory manager?
Regards Gordon Joel
On Mon, 16 May 2005 16:04:50 +0200, "Adam Lackorzynski" adam@os.inf.tu-dresden.de said:
On Mon May 16, 2005 at 06:03:09 -0700, gjoel123@fastmail.fm wrote:
How does one kill L4linux from the DROPS console using the loader program? This is what I am currently doing: 1:I type 'n' at the DROPS console to get task ID's and names. This is what I get: . . F.02 LOADER 12.03 Linux server . . 2. I type 'k' and then '12', and I get: 'Error -11 (not owner) killing task #12'.
Yes, there's a somewhat strict checking in there right now, I guess we need to look at this to make this working in run again, somehow.
If you start L4Linux from within run the kill function should work.
The aim is ultimately to correctly halt/reboot l4linux from l4linux's own shutdown code.
It does that for me without problems, at least with 2.6.
Adam
Adam adam@os.inf.tu-dresden.de Lackorzynski http://os.inf.tu-dresden.de/~adam/