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