Author: fireball Date: Sun Mar 2 11:26:59 2008 New Revision: 32540
URL: http://svn.reactos.org/svn/reactos?rev=3D32540&view=3Drev Log: - The bootloader must zero user shared data page before passing control to = the kernel. This fixes the "invalid timer state", "assert(SharedUserData->N= umberOfPages =3D=3D 0" family of bugs after warm reboot. See issue #3085 for more details.
Modified: trunk/reactos/boot/freeldr/freeldr/arch/i386/loader.c
Modified: trunk/reactos/boot/freeldr/freeldr/arch/i386/loader.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/= arch/i386/loader.c?rev=3D32540&r1=3D32539&r2=3D32540&view=3Ddiff =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- trunk/reactos/boot/freeldr/freeldr/arch/i386/loader.c (original) +++ trunk/reactos/boot/freeldr/freeldr/arch/i386/loader.c Sun Mar 2 11:26:= 59 2008 @@ -202,5 +202,8 @@ PageDir->Pde[0x1FF].Valid =3D 1; PageDir->Pde[0x1FF].Write =3D 1; PageDir->Pde[0x1FF].PageFrameNumber =3D 1; + + /* Zero shared data */ + RtlZeroMemory((PVOID)(2 << MM_PAGE_SHIFT), PAGE_SIZE); } =