mirror of
https://github.com/reactos/reactos.git
synced 2024-12-19 09:03:31 +08:00
127 lines
2.4 KiB
C
127 lines
2.4 KiB
C
/*
|
|
*
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
/* Temporary hack */
|
|
#define KPCR_BASE 0xFF000000
|
|
|
|
#define HAL_APC_REQUEST 0
|
|
#define HAL_DPC_REQUEST 1
|
|
|
|
/* CMOS Registers and Ports */
|
|
#define CMOS_CONTROL_PORT (PUCHAR)0x70
|
|
#define CMOS_DATA_PORT (PUCHAR)0x71
|
|
#define RTC_REGISTER_A 0x0A
|
|
#define RTC_REGISTER_B 0x0B
|
|
#define RTC_REG_A_UIP 0x80
|
|
#define RTC_REGISTER_CENTURY 0x32
|
|
|
|
/* Timer Registers and Ports */
|
|
#define TIMER_CONTROL_PORT 0x43
|
|
#define TIMER_DATA_PORT0 0x40
|
|
#define TIMER_SC0 0
|
|
#define TIMER_BOTH 0x30
|
|
#define TIMER_MD2 0x4
|
|
|
|
/* Conversion functions */
|
|
#define BCD_INT(bcd) \
|
|
(((bcd & 0xF0) >> 4) * 10 + (bcd & 0x0F))
|
|
#define INT_BCD(int) \
|
|
(UCHAR)(((int / 10) << 4) + (int % 10))
|
|
|
|
/* adapter.c */
|
|
PADAPTER_OBJECT NTAPI HalpAllocateAdapterEx(ULONG NumberOfMapRegisters,BOOLEAN IsMaster, BOOLEAN Dma32BitAddresses);
|
|
|
|
/* bus.c */
|
|
VOID NTAPI HalpInitNonBusHandler (VOID);
|
|
|
|
/* irql.c */
|
|
VOID NTAPI HalpInitPICs(VOID);
|
|
|
|
/* udelay.c */
|
|
VOID NTAPI HalpInitializeClock(VOID);
|
|
|
|
/* pci.c */
|
|
VOID HalpInitPciBus (VOID);
|
|
|
|
/* dma.c */
|
|
VOID HalpInitDma (VOID);
|
|
|
|
/* Non-generic initialization */
|
|
VOID HalpInitPhase0 (PLOADER_PARAMETER_BLOCK LoaderBlock);
|
|
VOID HalpInitPhase1(VOID);
|
|
VOID NTAPI HalpClockInterrupt(VOID);
|
|
|
|
//
|
|
// KD Support
|
|
//
|
|
VOID
|
|
NTAPI
|
|
HalpCheckPowerButton(
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
NTAPI
|
|
HalpRegisterKdSupportFunctions(
|
|
VOID
|
|
);
|
|
|
|
NTSTATUS
|
|
NTAPI
|
|
HalpSetupPciDeviceForDebugging(
|
|
IN PVOID LoaderBlock,
|
|
IN OUT PDEBUG_DEVICE_DESCRIPTOR PciDevice
|
|
);
|
|
|
|
NTSTATUS
|
|
NTAPI
|
|
HalpReleasePciDeviceForDebugging(
|
|
IN OUT PDEBUG_DEVICE_DESCRIPTOR PciDevice
|
|
);
|
|
|
|
//
|
|
// Memory routines
|
|
//
|
|
PVOID
|
|
NTAPI
|
|
HalpMapPhysicalMemory64(
|
|
IN PHYSICAL_ADDRESS PhysicalAddress,
|
|
IN ULONG NumberPage
|
|
);
|
|
|
|
VOID
|
|
NTAPI
|
|
HalpUnmapVirtualAddress(
|
|
IN PVOID VirtualAddress,
|
|
IN ULONG NumberPages
|
|
);
|
|
|
|
/* sysinfo.c */
|
|
NTSTATUS
|
|
NTAPI
|
|
HaliQuerySystemInformation(
|
|
IN HAL_QUERY_INFORMATION_CLASS InformationClass,
|
|
IN ULONG BufferSize,
|
|
IN OUT PVOID Buffer,
|
|
OUT PULONG ReturnedLength
|
|
);
|
|
|
|
NTSTATUS
|
|
NTAPI
|
|
HaliSetSystemInformation(
|
|
IN HAL_SET_INFORMATION_CLASS InformationClass,
|
|
IN ULONG BufferSize,
|
|
IN OUT PVOID Buffer
|
|
);
|
|
|
|
typedef struct tagHALP_HOOKS
|
|
{
|
|
void (*InitPciBus)(ULONG BusNumber, PBUS_HANDLER BusHandler);
|
|
} HALP_HOOKS, *PHALP_HOOKS;
|
|
|
|
extern HALP_HOOKS HalpHooks;
|
|
extern KSPIN_LOCK HalpSystemHardwareLock;
|