Official intel documentation :
http://www.intel.com/Assets/PDF/appnote/241618.pdf, page 30.
As to know how it's made on windows, well, I hope they follow intel docs ;-)
Le 07/03/2011 21:49, Aleksey Bragin a écrit :
On Mar 7, 2011, at 4:33 PM, jgar...@svn.reactos.org wrote:
Author: jgardou
On Mar 7, 2011, at 4:33 PM, jgar...@svn.reactos.org wrote:
Author: jgardou
/* Check if the CPU is too old to support SYSENTER */
-if ((Prcb->CpuType < 6) ||
-((Prcb->CpuType == 6) && (Prcb->CpuStep < 0x0303)))
+if ((Reg[0] & 0x0FFF3FFF) < 0x0
Try DbgPrint or OutputDebugString ;)
On Mar 7, 2011 4:09 PM, "Olaf Siejka" wrote:
>
> The result:
>
> (ntoskrnl\ke\i386\cpu.c:485) Supported CPU features :
> (ntoskrnl\ke\i386\cpu.c:488) KF_V86_VIS(ntoskrnl\ke\i386\cpu.c:489)
KF_RDTSC(ntoskrnl\ke\i386\cpu.c:490) KF_CR4(ntoskrnl\ke\i386\cpu.c:491)
The result:
(ntoskrnl\ke\i386\cpu.c:485) Supported CPU features :
(ntoskrnl\ke\i386\cpu.c:488) KF_V86_VIS(ntoskrnl\ke\i386\cpu.c:489)
KF_RDTSC(ntoskrnl\ke\i386\cpu.c:490) KF_CR4(ntoskrnl\ke\i386\cpu.c:491)
KF_CMOV(ntoskrnl\ke\i386\cpu.c:492)
KF_GLOBAL_PAGE(ntoskrnl\ke\i386\cpu.c:493)
KF_LARGE_PAGE
Am 07.03.2011 14:33, schrieb jgar...@svn.reactos.org:
Author: jgardou
Date: Mon Mar 7 13:33:10 2011
New Revision: 50991
...
+Reg[3] |= 0x800;
...
+if ((Reg[0]& 0x0FFF3FFF)< 0x0633)
I'd prefer symbolic constants over these magic numbers.
+
+DPRINT1("Suppor