Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (c) 1997 Microsoft Corporation
Module Name:
xxacpi.h
Abstract:
This module contains definitions specific to the HAL's ACPI function.
Author:
Jake Oshins (jakeo) Feb. 18, 1997
Revision History:
Todd Kjos (HP) (v-tkjos) 1-Jun-1998: Initial IA64 port
--*/
#if !defined(_XXACPI_H_)
#define _XXACPI_H_
#include "eisa.h"
#include "ntacpi.h"
//
// General ACPI structures
//
typedef struct { BOOLEAN GeneralWakeupEnable; BOOLEAN RtcWakeupEnable; TIME_FIELDS RtcWakeupTime; } HAL_WAKEUP_STATE, *PHAL_WAKEUP_STATE;
//
// internal prototypes
//
PVOID HalpGetAcpiTablePhase0( IN PLOADER_PARAMETER_BLOCK LoaderBlock, IN ULONG Signature );
NTSTATUS HalpSetupAcpiPhase0( IN PLOADER_PARAMETER_BLOCK LoaderBlock );
BOOLEAN HalpAcpiPreSleep( SLEEP_STATE_CONTEXT Context );
NTSTATUS HaliAcpiFakeSleep( IN PVOID Context, IN PENTER_STATE_SYSTEM_HANDLER SystemHandler OPTIONAL, IN PVOID SystemContext, IN LONG NumberProcessors, IN volatile PLONG Number );
NTSTATUS HaliAcpiSleep( IN PVOID Context, IN PENTER_STATE_SYSTEM_HANDLER SystemHandler OPTIONAL, IN PVOID SystemContext, IN LONG NumberProcessors, IN volatile PLONG Number );
BOOLEAN HalpAcpiPostSleep( ULONG Context );
NTSTATUS HaliSetWakeAlarm ( IN ULONGLONG WakeSystemTime, IN PTIME_FIELDS WakeTimeFields OPTIONAL );
NTSTATUS HalpSetWakeAlarm ( IN ULONGLONG WakeSystemTime, IN PTIME_FIELDS WakeTimeFields OPTIONAL );
VOID HaliSetWakeEnable( IN BOOLEAN Enable );
VOID HalpSleepGetProcState( IN OUT PKPROCESSOR_STATE ProcState ); BOOLEAN HalpAcpiPicStateIntact( VOID );
VOID HalpAcpiRestorePicState( VOID );
//
// The kernel leaves some space (64 byte) of the PCR for the HAL to use
// as it needs.
//
typedef struct { ULONG Reserved1; // this space is used by APIC stuff
union { ULONG AddrAndFlags; struct { USHORT Addr; UCHAR Flags; UCHAR Spare1; } ; } PBlk; } HALPCR, *PHALPCR;
//
// Global HAL-ACPI stuff
//
extern FADT HalpFixedAcpiDescTable; extern HAL_WAKEUP_STATE HalpWakeupState; extern ULONG HalpThrottleScale; extern SLEEP_STATE_CONTEXT HalpSleepContext; extern KPROCESSOR_STATE HalpSleepProcState;
extern PUCHAR HalpLowStub; extern PVOID HalpLowStubPhysicalAddress; extern PVOID HalpWakeVector; extern PVOID HalpVirtAddrForFlush; extern PVOID HalpPteForFlush;
#endif // _XXACPI_X_
|