224 lines
3.4 KiB
C
224 lines
3.4 KiB
C
/*++ BUILD Version: 0003 // Increment this if a change has global effects
|
||
|
||
Copyright (c) 1991 Microsoft Corporation
|
||
Copyright (c) 1992 Digital Equipment Corporation
|
||
|
||
Module Name:
|
||
|
||
halp.h
|
||
|
||
Abstract:
|
||
|
||
This header file defines the private Hardware Architecture Layer (HAL)
|
||
interfaces.
|
||
|
||
Author:
|
||
|
||
David N. Cutler (davec) 25-Apr-1991
|
||
Miche Baker-Harvey (miche) 22-Apr-1992
|
||
|
||
|
||
Revision History:
|
||
|
||
09-Jul-1992 Jeff McLeman (mcleman)
|
||
If processor is an Alpha, include XXHALP.C for Alpha.
|
||
|
||
--*/
|
||
|
||
#ifndef _HALP_
|
||
#define _HALP_
|
||
#include "nthal.h"
|
||
#include "hal.h"
|
||
|
||
//
|
||
// Define function prototypes.
|
||
//
|
||
|
||
BOOLEAN
|
||
HalpCalibrateStall (
|
||
VOID
|
||
);
|
||
|
||
VOID
|
||
HalpClockInterrupt (
|
||
VOID
|
||
);
|
||
|
||
VOID
|
||
HalpPerformanceCounter0Interrupt (
|
||
VOID
|
||
);
|
||
|
||
VOID
|
||
HalpPerformanceCounter1Interrupt (
|
||
VOID
|
||
);
|
||
|
||
BOOLEAN
|
||
HalpCreateDmaStructures (
|
||
VOID
|
||
);
|
||
|
||
BOOLEAN
|
||
HalpDmaDispatch(
|
||
IN PKINTERRUPT Interrupt,
|
||
IN PVOID ServiceContext
|
||
);
|
||
|
||
BOOLEAN
|
||
HalpInitializeDisplay (
|
||
IN PLOADER_PARAMETER_BLOCK LoaderBlock
|
||
);
|
||
|
||
BOOLEAN
|
||
HalpInitializeInterrupts (
|
||
VOID
|
||
);
|
||
|
||
VOID
|
||
HalpInitializeProcessorParameters(
|
||
VOID
|
||
);
|
||
|
||
VOID
|
||
HalpInitializeProfiler(
|
||
VOID
|
||
);
|
||
|
||
BOOLEAN
|
||
HalpMapFixedTbEntries (
|
||
VOID
|
||
);
|
||
|
||
BOOLEAN
|
||
HalpMapIoSpace (
|
||
VOID
|
||
);
|
||
|
||
PVOID
|
||
HalpMapPhysicalMemory(
|
||
IN PVOID PhysicalAddress,
|
||
IN ULONG NumberOfPages
|
||
);
|
||
|
||
PVOID
|
||
HalpRemapVirtualAddress(
|
||
IN PVOID VirtualAddress,
|
||
IN PVOID PhysicalAddress
|
||
);
|
||
|
||
ULONG
|
||
HalpAllocPhysicalMemory(
|
||
IN PLOADER_PARAMETER_BLOCK LoaderBlock,
|
||
IN ULONG MaxPhysicalAddress,
|
||
IN ULONG NumberOfPages,
|
||
IN BOOLEAN bAlignOn64k
|
||
);
|
||
|
||
VOID
|
||
HalpProgramIntervalTimer(
|
||
IN ULONG RateSelect
|
||
);
|
||
|
||
VOID
|
||
HalpStallInterrupt (
|
||
VOID
|
||
);
|
||
|
||
VOID
|
||
HalpVideoReboot(
|
||
VOID
|
||
);
|
||
|
||
//
|
||
// Define Bus Handler support function prototypes.
|
||
//
|
||
|
||
|
||
VOID
|
||
HalpRegisterInternalBusHandlers (
|
||
VOID
|
||
);
|
||
|
||
ULONG
|
||
HalpGetSystemInterruptVector(
|
||
IN PBUS_HANDLER BusHandler,
|
||
IN PBUS_HANDLER RootHandler,
|
||
IN ULONG BusInterruptLevel,
|
||
IN ULONG BusInterruptVector,
|
||
OUT PKIRQL Irql,
|
||
OUT PKAFFINITY Affinity
|
||
);
|
||
|
||
BOOLEAN
|
||
HalpTranslateSystemBusAddress(
|
||
IN PBUS_HANDLER BusHandler,
|
||
IN PBUS_HANDLER RootHandler,
|
||
IN PHYSICAL_ADDRESS BusAddress,
|
||
IN OUT PULONG AddressSpace,
|
||
OUT PPHYSICAL_ADDRESS TranslatedAddress
|
||
);
|
||
|
||
NTSTATUS
|
||
HalpAdjustEisaResourceList (
|
||
IN PBUS_HANDLER BusHandler,
|
||
IN PBUS_HANDLER RootHandler,
|
||
IN OUT PIO_RESOURCE_REQUIREMENTS_LIST *pResourceList
|
||
);
|
||
|
||
NTSTATUS
|
||
HalpAdjustIsaResourceList (
|
||
IN PBUS_HANDLER BusHandler,
|
||
IN PBUS_HANDLER RootHandler,
|
||
IN OUT PIO_RESOURCE_REQUIREMENTS_LIST *pResourceList
|
||
);
|
||
|
||
|
||
#if defined(JENSEN)
|
||
|
||
#include "jxhalp.h"
|
||
|
||
#endif
|
||
|
||
#if defined(FLAMINGO)
|
||
|
||
#include "fxhalp.h"
|
||
|
||
#endif
|
||
|
||
//
|
||
// Include alpha processor interfaces
|
||
//
|
||
|
||
#include "xxhalp.h"
|
||
|
||
//
|
||
// Define external references.
|
||
//
|
||
|
||
extern ULONG HalpCurrentTimeIncrement;
|
||
extern ULONG HalpNextRateSelect;
|
||
extern ULONG HalpNextTimeIncrement;
|
||
extern ULONG HalpNewTimeIncrement;
|
||
|
||
extern ULONG HalpClockFrequency;
|
||
extern ULONG HalpClockMegaHertz;
|
||
|
||
extern ULONG HalpProfileCountRate;
|
||
|
||
extern PADAPTER_OBJECT MasterAdapterObject;
|
||
|
||
extern BOOLEAN LessThan16Mb;
|
||
|
||
//
|
||
// Map buffer prameters. These are initialized in HalInitSystem
|
||
//
|
||
|
||
extern PHYSICAL_ADDRESS HalpMapBufferPhysicalAddress;
|
||
extern ULONG HalpMapBufferSize;
|
||
|
||
extern ULONG HalpBusType;
|
||
extern ULONG HalpCpuType;
|
||
|
||
#endif // _HALP_
|