Hartmut Birr wrote:
Hartmut Birr schrieb:
I've add your patch to my source tree. On the
smp machine, ros
reboots in the very early boot phase. It is before the call to _main.
- Hartmut
Hi,
I've found the problem. MmSystemRangeStart is initialized before the
bss section is cleaned. But MmSystemRangeStart is located in the bss
section. There are two other little mistakes. The offset of
MmSystemRangeStart isn't calculated correctly. Royce has reported this
in an other mail. On UP machines MmSystemRangeStart is not
initialized. Look at the attached file.
Since multiboot loader is supposed to zero bss for us, the simplest
solution was to disable the bss zeroing code.
I also found a bug in MmSystemRangeStart was being set at all for UP builds.
It's getting much farther along now when trying to boot. It prints some
of the normal ReactOS startup text, but then bugchecks on something, not
sure what because the screen gets garbled for some reason.
It still won't fully work yet anyway for at least these two reasons:
1) can't seem to find options string in memory. I know what strings are
in my freeldr.ini, and they're just not showing up on the commandline
when I step through the code in bochs.
2) ntoskrnl's _main() still needs to reloc itself before it does
*anything* else. Otherwise /3GB will bomb.