CIA-23:tkreuzer ros-amd64-bringup * r35518 /reactos/ntoskrnl/ (5 files
in 3 dirs):
[3:03pm]CIA-23:Implement KiSystemStartup in C instead of asm,
implement KiSwapStack intrinsic,
[3:03pm]CIA-23:get rid of KiSetupStackandInitializeKernel, instead do
the work in
[3:03pm]CIA-23:KiSystemStartupReal in C. Move Stack definitions into
trap.S and get rid of the
[3:03pm]CIA-23:whole boot.S file. Comment out the sync loop for the
moment and add a comment
[3:03pm]CIA-23:why it doesn't work (InterlockedBitTestAndSet64 doesn't
work correctly).
[3:04pm]Alex_Ionescu:Physicus: w3seek is going to rape you
Physicus:why?
[3:05pm]Alex_Ionescu:you're swapping stacks...in C
[3:05pm]Alex_Ionescu:you don't see a problem there?
:)
On 21-Aug-08, at 3:09 PM, Thomas Bluemel wrote:
Calling from KiSwapStack from C seems quite scary. C
doesn't know
anything about you messing with the stack, so any subsequent code may
still refer to a now invalid stack. There's a reason this was
implemented in asm...
Best regards,
Alex Ionescu