[ros-diffs] [sir_richard] 45316: [HAL]: Mark ECX as clobbered in HalpNestedTrap, otherwise if the compiler decides to store IRQL in ECX, it will then be overriden with our ECX parameter. With this clobber, the compiler will use another register, such as EAX, to hold the IRQL.

sir_richard at svn.reactos.org sir_richard at svn.reactos.org
Fri Jan 29 09:14:51 CET 2010


Author: sir_richard
Date: Fri Jan 29 09:14:51 2010
New Revision: 45316

URL: http://svn.reactos.org/svn/reactos?rev=45316&view=rev
Log:
[HAL]: Mark ECX as clobbered in HalpNestedTrap, otherwise if the compiler decides to store IRQL in ECX, it will then be overriden with our ECX parameter. With this clobber, the compiler will use another register, such as EAX, to hold the IRQL.

Modified:
    trunk/reactos/hal/halx86/include/halp.h

Modified: trunk/reactos/hal/halx86/include/halp.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/hal/halx86/include/halp.h?rev=45316&r1=45315&r2=45316&view=diff
==============================================================================
--- trunk/reactos/hal/halx86/include/halp.h [iso-8859-1] (original)
+++ trunk/reactos/hal/halx86/include/halp.h [iso-8859-1] Fri Jan 29 09:14:51 2010
@@ -128,7 +128,7 @@
         :
         : "im"(SWInterruptHandlerTable2[PendingIrql]),
           [t] "i"(&PCR->VdmAlert)
-        : "%esp"
+        : "%esp","%ecx"
     );
     UNREACHABLE;
 }
@@ -560,6 +560,7 @@
 VOID NTAPI HalpInitializePICs(IN BOOLEAN EnableInterrupts);
 VOID HalpApcInterrupt(VOID);
 VOID HalpDispatchInterrupt(VOID);
+VOID HalpDispatchInterrupt2(VOID);
 VOID FASTCALL HalpApcInterrupt2ndEntry(IN PKTRAP_FRAME TrapFrame);
 VOID FASTCALL HalpDispatchInterrupt2ndEntry(IN PKTRAP_FRAME TrapFrame);
 




More information about the Ros-diffs mailing list