#pragma once
+
+#ifdef _MSC_VER
+#define REGISTERCALL FASTCALL
+#else
+#define REGISTERCALL __attribute__((regparm(3)))
+#endif
+
typedef struct _HAL_BIOS_FRAME
{
ULONG SegSs;
);
typedef
-FASTCALL
VOID
-DECLSPEC_NORETURN
-(*PHAL_SW_INTERRUPT_HANDLER_2ND_ENTRY)(
+ATTRIB_NORETURN
+(FASTCALL *PHAL_SW_INTERRUPT_HANDLER_2ND_ENTRY)(
IN PKTRAP_FRAME TrapFrame
);
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,
);
BOOLEAN
-__attribute__((regparm(3)))
+REGISTERCALL
HalpDismissIrq15(
IN KIRQL Irql,
IN ULONG Irq,
);
BOOLEAN
-__attribute__((regparm(3)))
+REGISTERCALL
HalpDismissIrq13(
IN KIRQL Irql,
IN ULONG Irq,
);
BOOLEAN
-__attribute__((regparm(3)))
+REGISTERCALL
HalpDismissIrq07(
IN KIRQL Irql,
IN ULONG Irq,
);
BOOLEAN
-__attribute__((regparm(3)))
+REGISTERCALL
HalpDismissIrqLevel(
IN KIRQL Irql,
IN ULONG Irq,
);
BOOLEAN
-__attribute__((regparm(3)))
+REGISTERCALL
HalpDismissIrq15Level(
IN KIRQL Irql,
IN ULONG Irq,
);
BOOLEAN
-__attribute__((regparm(3)))
+REGISTERCALL
HalpDismissIrq13Level(
IN KIRQL Irql,
IN ULONG Irq,
);
BOOLEAN
-__attribute__((regparm(3)))
+REGISTERCALL
HalpDismissIrq07Level(
IN KIRQL Irql,
IN ULONG Irq,
VOID HalpApcInterrupt(VOID);
VOID HalpDispatchInterrupt(VOID);
VOID HalpDispatchInterrupt2(VOID);
-VOID FASTCALL DECLSPEC_NORETURN HalpApcInterrupt2ndEntry(IN PKTRAP_FRAME TrapFrame);
-VOID FASTCALL DECLSPEC_NORETURN HalpDispatchInterrupt2ndEntry(IN PKTRAP_FRAME TrapFrame);
+DECLSPEC_NORETURN VOID FASTCALL HalpApcInterrupt2ndEntry(IN PKTRAP_FRAME TrapFrame);
+DECLSPEC_NORETURN VOID FASTCALL HalpDispatchInterrupt2ndEntry(IN PKTRAP_FRAME TrapFrame);
/* timer.c */
VOID NTAPI HalpInitializeClock(VOID);