mirror of
https://github.com/reactos/reactos.git
synced 2024-11-01 04:11:30 +00:00
60 lines
1.3 KiB
C
60 lines
1.3 KiB
C
#pragma once
|
|
|
|
//
|
|
// ARM Headers
|
|
//
|
|
#include <internal/arm/ke.h>
|
|
#include <internal/arm/intrin_i.h>
|
|
|
|
//
|
|
// Versatile Peripherals
|
|
//
|
|
#include <peripherals/pl011.h>
|
|
#include <peripherals/pl190.h>
|
|
#include <peripherals/sp804.h>
|
|
|
|
#define PRIMARY_VECTOR_BASE 0x00
|
|
|
|
/* Usage flags */
|
|
#define IDT_REGISTERED 0x01
|
|
#define IDT_LATCHED 0x02
|
|
#define IDT_INTERNAL 0x11
|
|
#define IDT_DEVICE 0x21
|
|
|
|
typedef struct _IDTUsageFlags
|
|
{
|
|
UCHAR Flags;
|
|
} IDTUsageFlags;
|
|
|
|
typedef struct
|
|
{
|
|
KIRQL Irql;
|
|
UCHAR BusReleativeVector;
|
|
} IDTUsage;
|
|
|
|
VOID
|
|
NTAPI
|
|
HalpRegisterVector(IN UCHAR Flags,
|
|
IN ULONG BusVector,
|
|
IN ULONG SystemVector,
|
|
IN KIRQL Irql);
|
|
|
|
VOID
|
|
NTAPI
|
|
HalpEnableInterruptHandler(IN UCHAR Flags,
|
|
IN ULONG BusVector,
|
|
IN ULONG SystemVector,
|
|
IN KIRQL Irql,
|
|
IN PVOID Handler,
|
|
IN KINTERRUPT_MODE Mode);
|
|
|
|
VOID HalpInitPhase0 (PLOADER_PARAMETER_BLOCK LoaderBlock);
|
|
VOID HalpInitPhase1(VOID);
|
|
|
|
VOID HalpInitializeInterrupts(VOID);
|
|
VOID HalpInitializeClock(VOID);
|
|
VOID HalpClockInterrupt(VOID);
|
|
VOID HalpProfileInterrupt(VOID);
|
|
|
|
extern ULONG HalpCurrentTimeIncrement, HalpNextTimeIncrement, HalpNextIntervalCount;
|