Closed blitz closed 11 years ago
I've set MAX_REGIONS to 512. It seems there are further problems:
[0] Hip checksum is valid
[0] SEL: 67108864, EXC: 32, VMI: 256, GSI: 128
[0] CPU runs @ 2660 Mhz, bus @ 133 Mhz
[0] Virtual memory:
[0] 0: 0x0000000000080000 .. 0x0000000200000000 (8589410304)
[0] Physical memory:
[0] 0: 0x0000000002597000 .. 0x00000000dbdf9c00 (3649448960)
[0] 1: 0x0000000000100000 .. 0x0000000000400000 (3145728)
[0] 2: 0x0000000001800000 .. 0x00000000018a3000 (667648)
[0] CPUs:
[0] package=1, core=0, thread=0, flags=1
[0] package=1, core=1, thread=0, flags=1
[0] package=1, core=2, thread=0, flags=1
[0] package=1, core=8, thread=0, flags=1
[0] package=1, core=9, thread=0, flags=1
[0] package=1, core=10, thread=0, flags=1
[0] package=0, core=0, thread=0, flags=1
[0] package=0, core=1, thread=0, flags=1
[0] package=0, core=2, thread=0, flags=1
[0] package=0, core=8, thread=0, flags=1
[0] package=0, core=9, thread=0, flags=1
[0] package=0, core=10, thread=0, flags=1
[0] package=1, core=0, thread=1, flags=1
[0] package=1, core=1, thread=1, flags=1
[0] package=1, core=2, thread=1, flags=1
[0] package=1, core=8, thread=1, flags=1
[0] package=1, core=9, thread=1, flags=1
[0] package=1, core=10, thread=1, flags=1
[0] package=0, core=0, thread=1, flags=1
[0] package=0, core=1, thread=1, flags=1
[0] package=0, core=2, thread=1, flags=1
[0] package=0, core=8, thread=1, flags=1
[0] package=0, core=9, thread=1, flags=1
[0] package=0, core=10, thread=1, flags=1
[0] Memory map:
[0] addr=0x0, size=0x8c000, type=1, aux=0x0000000000000000
[0] addr=0xf0000, size=0x10000, type=2, aux=0x0000000000000000
[0] addr=0x100000, size=0xdbcf9c00, type=1, aux=0x0000000000000000
[0] addr=0xdbdf9c00, size=0x52000, type=4, aux=0x0000000000000000
[0] addr=0xdbe4bc00, size=0x2000, type=3, aux=0x0000000000000000
[0] addr=0xdbe4dc00, size=0x1b2400, type=2, aux=0x0000000000000000
[0] addr=0xf8000000, size=0x4000000, type=2, aux=0x0000000000000000
[0] addr=0xfed00000, size=0x400, type=2, aux=0x0000000000000000
[0] addr=0xfc000000, size=0x1000000, type=2, aux=0x0000000000000000
[0] addr=0xfe000000, size=0xc00000, type=2, aux=0x0000000000000000
[0] addr=0xfec00000, size=0x100000, type=2, aux=0x0000000000000000
[0] addr=0xfee00000, size=0x100000, type=2, aux=0x0000000000000000
[0] addr=0xffb00000, size=0x500000, type=2, aux=0x0000000000000000
[0] addr=0x100000000, size=0x500000000, type=1, aux=0x0000000000000000
[0] addr=0x600000000, size=0x24000000, type=1, aux=0x0000000000000000
[0] addr=0x18a3000, size=0x22c3a5, type=-2, aux=0x000000020259ce10 ((nd)/tftpboot/jsteckli/novaboot/mutex-torture/bin/apps/r
[0] oot)
[0] addr=0x1ad0000, size=0x12bf4a, type=-2, aux=0x000000020259ce4c ((nd)/tftpboot/jsteckli/novaboot/mutex-torture/bin/apps/a
[0] cpi provides=acpi)
[0] addr=0x1bfc000, size=0x13c831, type=-2, aux=0x000000020259ce96 ((nd)/tftpboot/jsteckli/novaboot/mutex-torture/bin/apps/k
[0] eyboard provides=keyboard)
[0] addr=0x1d39000, size=0x137c8a, type=-2, aux=0x000000020259cee8 ((nd)/tftpboot/jsteckli/novaboot/mutex-torture/bin/apps/r
[0] eboot provides=reboot)
[0] addr=0x1e71000, size=0x1335ae, type=-2, aux=0x000000020259cf36 ((nd)/tftpboot/jsteckli/novaboot/mutex-torture/bin/apps/p
[0] cicfg provides=pcicfg)
[0] addr=0x1fa5000, size=0x16f291, type=-2, aux=0x000000020259cf84 ((nd)/tftpboot/jsteckli/novaboot/mutex-torture/bin/apps/t
[0] imer provides=timer)
[0] addr=0x2115000, size=0x17799a, type=-2, aux=0x000000020259cfd0 ((nd)/tftpboot/jsteckli/novaboot/mutex-torture/bin/apps/c
[0] onsole provides=console)
[0] addr=0x228d000, size=0xf43aa, type=-2, aux=0x000000020259d020 ((nd)/tftpboot/jsteckli/novaboot/mutex-torture/bin/apps/mu
[0] tex-torture)
[0] addr=0x2382000, size=0x11e01d, type=-2, aux=0x000000020259d065 ((nd)/tftpboot/jsteckli/novaboot/mutex-torture/bin/apps/s
[0] ysinfo)
[0] addr=0x24a1000, size=0xf5a5f, type=-2, aux=0x000000020259d0a4 ((nd)/tftpboot/jsteckli/novaboot/mutex-torture/bin/apps/cy
[0] cleburner)
[0] addr=0x400000, size=0x1400000, type=-1, aux=0x0000000000000000
[0] Starting child '(nd)/tftpboot/jsteckli/novaboot/mutex-torture/bin/apps/acpi'...
[0] Child[cmdline='(nd)/tftpboot/jsteckli/novaboot/mutex-torture/bin/apps/acpi' cpu=1 entry=0x0000000300000098]:
[0] Scs:
[0] GSIs: Bitfield[00000000 00000000]
[0] Ports:
[0] Dataspaces:
[0] 0x0000000300000000 .. 0x000000030002c000 (0x000000000002c000 bytes) or-x <- 0x0000000202794000
[0] 0x000000030002c000 .. 0x0000000300040000 (0x0000000000014000 bytes) orw- <- 0x00000002027c0000
[0] 0x0000000300041000 .. 0x0000000300042000 (0x0000000000001000 bytes) ---- <- 0x0000000000000000
[0] 0x0000000300044000 .. 0x0000000300046000 (0x0000000000002000 bytes) orw- <- 0x000000000057a000
[0] 0x0000000300047000 .. 0x0000000300048000 (0x0000000000001000 bytes) or-- <- 0x00000002027d6000
[0] 0x0000000300049000 .. 0x000000030004a000 (0x0000000000001000 bytes) or-- <- 0x00000002027d7000
[0]
[0]
[1] ACPI: found RSDP in Bios readonly memory range @ 0x000000030008ac30
[ 1] Killed EC:0xffffffff8236d880 SC:0xffffffff81065820 V:0x1e CS:0x0 EIP:0x0 CR2:0xffffffff8236d978 ERR:0x0 (Livelock)
Unfortunatly I can't test it with that amount of memory. And only changing MAX_REGIONS to 512 doesn't change anything for me (i.e. it still works). Could you try to debug it a bit more so that we can see why or where a Livelock occurs?
I can show you how it fails after PRG. :-) Julian
Nils Asmussen notifications@github.com wrote:
Unfortunatly I can't test it with that amount of memory. And only changing MAX_REGIONS to 512 doesn't change anything for me (i.e. it still works). Could you try to debug it a bit more so that we can see why or where a Livelock occurs?
Reply to this email directly or view it on GitHub: https://github.com/TUD-OS/NRE/issues/23#issuecomment-10360700
Sent from Kaiten Mail. Please excuse my brevity.
Not yet. There are still too few memory regions. Do you want to fix that properly or just increase the current limit?
And it doesn't boot either:
[0] Memory map:
[0] addr=0x0, size=0x8a000, type=1, aux=0000:0000:0000:0000
[0] addr=0xf0000, size=0x10000, type=2, aux=0000:0000:0000:0000
[0] addr=0x100000, size=0xdbcf8000, type=1, aux=0000:0000:0000:0000
[0] addr=0xdbdf9c00, size=0x52000, type=4, aux=0000:0000:0000:0000
[0] addr=0xdbe4bc00, size=0x2000, type=3, aux=0000:0000:0000:0000
[0] addr=0xdbe4dc00, size=0x1b2400, type=2, aux=0000:0000:0000:0000
[0] addr=0xf8000000, size=0x4000000, type=2, aux=0000:0000:0000:0000
[0] addr=0xfed00000, size=0x400, type=2, aux=0000:0000:0000:0000
[0] addr=0xfc000000, size=0x1000000, type=2, aux=0000:0000:0000:0000
[0] addr=0xfe000000, size=0xc00000, type=2, aux=0000:0000:0000:0000
[0] addr=0xfec00000, size=0x100000, type=2, aux=0000:0000:0000:0000
[0] addr=0xfee00000, size=0x100000, type=2, aux=0000:0000:0000:0000
[0] addr=0xffb00000, size=0x500000, type=2, aux=0000:0000:0000:0000
[0] addr=0x100000000, size=0x4fffff000, type=1, aux=0000:0000:0000:0000
[0] addr=0x600000000, size=0x23fff000, type=1, aux=0000:0000:0000:0000
[0] addr=0x189a000, size=0x228022, type=-2, aux=0000:0000:0000:2048
[0] addr=0x1ac3000, size=0x126f21, type=-2, aux=0000:0000:0000:207b
[0] addr=0x1bea000, size=0x136808, type=-2, aux=0000:0000:0000:20bc
[0] addr=0x1d21000, size=0x132c69, type=-2, aux=0000:0000:0000:2105
[0] addr=0x1e54000, size=0x12d63d, type=-2, aux=0000:0000:0000:214a
[0] addr=0x1f82000, size=0x16a118, type=-2, aux=0000:0000:0000:218f
[0] addr=0x20ed000, size=0x171819, type=-2, aux=0000:0000:0000:21d2
[0] addr=0x225f000, size=0x118085, type=-2, aux=0000:0000:0000:2219
[0] addr=0x2378000, size=0xf8e36, type=-2, aux=0000:0000:0000:224f
[0] addr=0x2471000, size=0x149939, type=-2, aux=0000:0000:0000:2282
[0] addr=0x400000, size=0x1400000, type=-1, aux=0000:0000:0000:0000
[0] Hip checksum is valid
[0] SEL: 67108864, EXC: 32, VMI: 256, GSI: 128
[0] CPU runs @ 2660 Mhz, bus @ 133 Mhz
[0] Virtual memory:
[0] 0: 0000:0000:0008:1000 .. 0000:0002:0000:0000 (8589406208)
[0] Physical memory:
[0] 0: 0000:0000:025b:b000 .. 0000:0000:dbdf:8000 (3649294336)
[0] 1: 0000:0000:0010:0000 .. 0000:0000:0040:0000 (3145728)
[0] 2: 0000:0000:0180:0000 .. 0000:0000:0189:a000 (630784)
[0] CPUs:
[0] package=1, core=0, thread=0, flags=1
[0] package=1, core=1, thread=0, flags=1
[0] package=1, core=2, thread=0, flags=1
[0] package=1, core=8, thread=0, flags=1
[0] package=1, core=9, thread=0, flags=1
[0] package=1, core=10, thread=0, flags=1
[0] package=0, core=0, thread=0, flags=1
[0] package=0, core=1, thread=0, flags=1
[0] package=0, core=2, thread=0, flags=1
[0] package=0, core=8, thread=0, flags=1
[0] package=0, core=9, thread=0, flags=1
[0] package=0, core=10, thread=0, flags=1
[0] package=1, core=0, thread=1, flags=1
[0] package=1, core=1, thread=1, flags=1
[0] package=1, core=2, thread=1, flags=1
[0] package=1, core=8, thread=1, flags=1
[0] package=1, core=9, thread=1, flags=1
[0] package=1, core=10, thread=1, flags=1
[0] package=0, core=0, thread=1, flags=1
[0] package=0, core=1, thread=1, flags=1
[0] package=0, core=2, thread=1, flags=1
[0] package=0, core=8, thread=1, flags=1
[0] package=0, core=9, thread=1, flags=1
[0] package=0, core=10, thread=1, flags=1
[0] Memory map:
[0] addr=0x0, size=0x8a000, type=1, aux=0000:0000:0000:0000
[0] addr=0xf0000, size=0x10000, type=2, aux=0000:0000:0000:0000
[0] addr=0x100000, size=0xdbcf8000, type=1, aux=0000:0000:0000:0000
[0] addr=0xdbdf9c00, size=0x52000, type=4, aux=0000:0000:0000:0000
[0] addr=0xdbe4bc00, size=0x2000, type=3, aux=0000:0000:0000:0000
[0] addr=0xdbe4dc00, size=0x1b2400, type=2, aux=0000:0000:0000:0000
[0] addr=0xf8000000, size=0x4000000, type=2, aux=0000:0000:0000:0000
[0] addr=0xfed00000, size=0x400, type=2, aux=0000:0000:0000:0000
[0] addr=0xfc000000, size=0x1000000, type=2, aux=0000:0000:0000:0000
[0] addr=0xfe000000, size=0xc00000, type=2, aux=0000:0000:0000:0000
[0] addr=0xfec00000, size=0x100000, type=2, aux=0000:0000:0000:0000
[0] addr=0xfee00000, size=0x100000, type=2, aux=0000:0000:0000:0000
[0] addr=0xffb00000, size=0x500000, type=2, aux=0000:0000:0000:0000
[0] addr=0x100000000, size=0x4fffff000, type=1, aux=0000:0000:0000:0000
[0] addr=0x600000000, size=0x23fff000, type=1, aux=0000:0000:0000:0000
[0] addr=0x189a000, size=0x228022, type=-2, aux=0000:0002:025c:0850 ((nd)/tftpboot/jsteckli/novaboot/test/bin/apps/root)
[0] addr=0x1ac3000, size=0x126f21, type=-2, aux=0000:0002:025c:0883 ((nd)/tftpboot/jsteckli/novaboot/test/bin/apps/acpi prov
[0] ides=acpi)
[0] addr=0x1bea000, size=0x136808, type=-2, aux=0000:0002:025c:08c4 ((nd)/tftpboot/jsteckli/novaboot/test/bin/apps/keyboard
[0] provides=keyboard)
[0] addr=0x1d21000, size=0x132c69, type=-2, aux=0000:0002:025c:090d ((nd)/tftpboot/jsteckli/novaboot/test/bin/apps/reboot pr
[0] ovides=reboot)
[0] addr=0x1e54000, size=0x12d63d, type=-2, aux=0000:0002:025c:0952 ((nd)/tftpboot/jsteckli/novaboot/test/bin/apps/pcicfg pr
[0] ovides=pcicfg)
[0] addr=0x1f82000, size=0x16a118, type=-2, aux=0000:0002:025c:0997 ((nd)/tftpboot/jsteckli/novaboot/test/bin/apps/timer pro
[0] vides=timer)
[0] addr=0x20ed000, size=0x171819, type=-2, aux=0000:0002:025c:09da ((nd)/tftpboot/jsteckli/novaboot/test/bin/apps/console p
[0] rovides=console)
[0] addr=0x225f000, size=0x118085, type=-2, aux=0000:0002:025c:0a21 ((nd)/tftpboot/jsteckli/novaboot/test/bin/apps/sysinfo)
[0] addr=0x2378000, size=0xf8e36, type=-2, aux=0000:0002:025c:0a57 ((nd)/tftpboot/jsteckli/novaboot/test/bin/apps/test)
[0] addr=0x2471000, size=0x149939, type=-2, aux=0000:0002:025c:0a8a ((nd)/tftpboot/jsteckli/novaboot/test/bin/apps/sub mods=
[0] all)
[0] addr=0x400000, size=0x1400000, type=-1, aux=0000:0000:0000:0000
[0] Starting child '(nd)/tftpboot/jsteckli/novaboot/test/bin/apps/acpi'...
[0] Child[cmdline='(nd)/tftpboot/jsteckli/novaboot/test/bin/apps/acpi' cpu=1 entry=0000:0003:0000:0098]:
[0] Scs:
[0] GSIs: Bitfield[00000000 00000000]
[0] Ports:
[0] Dataspaces:
[0] 0000:0003:0000:0000 .. 0000:0003:0002:c000 (0x000000000002c000 bytes) or-x <- 0000:0002:027b:8000
[0] 0000:0003:0002:c000 .. 0000:0003:0004:0000 (0x0000000000014000 bytes) orw- <- 0000:0002:027e:4000
[0] 0000:0003:0004:1000 .. 0000:0003:0004:2000 (0x0000000000001000 bytes) ---- <- 0000:0000:0000:0000
[0] 0000:0003:0004:4000 .. 0000:0003:0004:6000 (0x0000000000002000 bytes) orw- <- 0000:0000:0057:4000
[0] 0000:0003:0004:7000 .. 0000:0003:0004:8000 (0x0000000000001000 bytes) or-- <- 0000:0002:027f:a000
[0] 0000:0003:0004:9000 .. 0000:0003:0004:a000 (0x0000000000001000 bytes) or-- <- 0000:0002:027f:b000
[0]
[0]
[1] ACPI: found RSDP in Bios readonly memory range @ 0000:0003:0008:ac30
[1] Exception: Invalid arguments (18): Unable to map physical memory 0000:0000:000f:c000..0000:0000:ff
Ah right, totally forgot about the number of regions... I think its better to increase the limit as a quickfix and rewrite the whole region manager later because I don't know how long it will take. Edit: Fixed in https://github.com/TUD-OS/NRE/commit/93aa6c3d14ce9d7e64e9530a08d29b7778b669c8
Still broken.
hm..I don't get it. What's the problem with 0xfc000...0xffxxx? The whole range is reserved and doesn't overlap with any available memory, right? Edit: But I've just seen that I remove too much of the available memory...
Fixed in d42264691ee5b264f9d0ecc3ac924154309e9d82. Somehow issue hyperlinks don't work...
Revised the patch.
Booting NRE on a box with 24 GB fails. Of course, increasing MAX_REGIONS is straightforward, but perhaps we can implement a dynamic version without a compile time limit.