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.