Author: gadamopoulos
Date: Sun Aug 1 16:27:48 2010
New Revision: 48397
URL:
http://svn.reactos.org/svn/reactos?rev=48397&view=rev
Log:
[hal]
- define REGISTERCALL in order to replace __attribute__((regparm(3))) and fix compilation
with msvc. It was used only as an optimization so it is safe to be defined as FASTCALL for
msvc. For gcc it is still defined as __attribute__((regparm(3)))
Modified:
trunk/reactos/hal/halx86/include/halp.h
trunk/reactos/hal/halx86/up/pic.c
Modified: trunk/reactos/hal/halx86/include/halp.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/hal/halx86/include/halp.h?…
==============================================================================
--- trunk/reactos/hal/halx86/include/halp.h [iso-8859-1] (original)
+++ trunk/reactos/hal/halx86/include/halp.h [iso-8859-1] Sun Aug 1 16:27:48 2010
@@ -3,6 +3,13 @@
*/
#pragma once
+
+
+#ifdef _MSC_VER
+#define REGISTERCALL FASTCALL
+#else
+#define REGISTERCALL __attribute__((regparm(3)))
+#endif
typedef struct _HAL_BIOS_FRAME
{
@@ -408,15 +415,14 @@
typedef
BOOLEAN
-__attribute__((regparm(3)))
-(*PHAL_DISMISS_INTERRUPT)(
+( REGISTERCALL *PHAL_DISMISS_INTERRUPT)(
IN KIRQL Irql,
IN ULONG Irq,
OUT PKIRQL OldIrql
);
BOOLEAN
-__attribute__((regparm(3)))
+REGISTERCALL
HalpDismissIrqGeneric(
IN KIRQL Irql,
IN ULONG Irq,
@@ -424,7 +430,7 @@
);
BOOLEAN
-__attribute__((regparm(3)))
+REGISTERCALL
HalpDismissIrq15(
IN KIRQL Irql,
IN ULONG Irq,
@@ -432,7 +438,7 @@
);
BOOLEAN
-__attribute__((regparm(3)))
+REGISTERCALL
HalpDismissIrq13(
IN KIRQL Irql,
IN ULONG Irq,
@@ -440,7 +446,7 @@
);
BOOLEAN
-__attribute__((regparm(3)))
+REGISTERCALL
HalpDismissIrq07(
IN KIRQL Irql,
IN ULONG Irq,
@@ -448,7 +454,7 @@
);
BOOLEAN
-__attribute__((regparm(3)))
+REGISTERCALL
HalpDismissIrqLevel(
IN KIRQL Irql,
IN ULONG Irq,
@@ -456,7 +462,7 @@
);
BOOLEAN
-__attribute__((regparm(3)))
+REGISTERCALL
HalpDismissIrq15Level(
IN KIRQL Irql,
IN ULONG Irq,
@@ -464,7 +470,7 @@
);
BOOLEAN
-__attribute__((regparm(3)))
+REGISTERCALL
HalpDismissIrq13Level(
IN KIRQL Irql,
IN ULONG Irq,
@@ -472,7 +478,7 @@
);
BOOLEAN
-__attribute__((regparm(3)))
+REGISTERCALL
HalpDismissIrq07Level(
IN KIRQL Irql,
IN ULONG Irq,
Modified: trunk/reactos/hal/halx86/up/pic.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/hal/halx86/up/pic.c?rev=48…
==============================================================================
--- trunk/reactos/hal/halx86/up/pic.c [iso-8859-1] (original)
+++ trunk/reactos/hal/halx86/up/pic.c [iso-8859-1] Sun Aug 1 16:27:48 2010
@@ -813,7 +813,7 @@
}
BOOLEAN
-__attribute__((regparm(3)))
+REGISTERCALL
HalpDismissIrqGeneric(IN KIRQL Irql,
IN ULONG Irq,
OUT PKIRQL OldIrql)
@@ -823,7 +823,7 @@
}
BOOLEAN
-__attribute__((regparm(3)))
+REGISTERCALL
HalpDismissIrq15(IN KIRQL Irql,
IN ULONG Irq,
OUT PKIRQL OldIrql)
@@ -859,7 +859,7 @@
BOOLEAN
-__attribute__((regparm(3)))
+REGISTERCALL
HalpDismissIrq13(IN KIRQL Irql,
IN ULONG Irq,
OUT PKIRQL OldIrql)
@@ -872,7 +872,7 @@
}
BOOLEAN
-__attribute__((regparm(3)))
+REGISTERCALL
HalpDismissIrq07(IN KIRQL Irql,
IN ULONG Irq,
OUT PKIRQL OldIrql)
@@ -956,7 +956,7 @@
}
BOOLEAN
-__attribute__((regparm(3)))
+REGISTERCALL
HalpDismissIrqLevel(IN KIRQL Irql,
IN ULONG Irq,
OUT PKIRQL OldIrql)
@@ -966,7 +966,7 @@
}
BOOLEAN
-__attribute__((regparm(3)))
+REGISTERCALL
HalpDismissIrq15Level(IN KIRQL Irql,
IN ULONG Irq,
OUT PKIRQL OldIrql)
@@ -1001,7 +1001,7 @@
}
BOOLEAN
-__attribute__((regparm(3)))
+REGISTERCALL
HalpDismissIrq13Level(IN KIRQL Irql,
IN ULONG Irq,
OUT PKIRQL OldIrql)
@@ -1014,7 +1014,7 @@
}
BOOLEAN
-__attribute__((regparm(3)))
+REGISTERCALL
HalpDismissIrq07Level(IN KIRQL Irql,
IN ULONG Irq,
OUT PKIRQL OldIrql)
@@ -1252,8 +1252,8 @@
}
VOID
+DECLSPEC_NORETURN
FASTCALL
-DECLSPEC_NORETURN
HalpApcInterrupt2ndEntry(IN PKTRAP_FRAME TrapFrame)
{
/* Do the work */
@@ -1261,8 +1261,8 @@
}
VOID
+DECLSPEC_NORETURN
FASTCALL
-DECLSPEC_NORETURN
HalpApcInterruptHandler(IN PKTRAP_FRAME TrapFrame)
{
/* Set up a fake INT Stack */
@@ -1301,8 +1301,8 @@
}
VOID
+DECLSPEC_NORETURN
FASTCALL
-DECLSPEC_NORETURN
HalpDispatchInterrupt2ndEntry(IN PKTRAP_FRAME TrapFrame)
{
KIRQL CurrentIrql;