Source code of Windows XP (NT5)
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) 1991 Microsoft Corporation
Module Name:
ixsproc.c
Abstract:
Stub functions for UP hals.
Author:
Ken Reneris (kenr) 22-Jan-1991
Environment:
Kernel mode only.
Revision History:
--*/
#include "halp.h"
#ifdef ALLOC_DATA_PRAGMA
#pragma data_seg("INITCONST") // INITCONST is OK to use for data_seg
#endif // ALLOC_DATA_PRAGMA
WCHAR HalHardwareIdString[] = L"e_isa_up\0";
#ifdef ALLOC_DATA_PRAGMA
#pragma data_seg()
#endif // ALLOC_DATA_PRAGMA
const UCHAR HalName[] = "PC Compatible Eisa/Isa HAL"; #define HalName L"PC Compatible Eisa/Isa HAL"
ULONG HalDisplayBusRanges;
BOOLEAN HalpInitMP ( IN ULONG Phase, IN PLOADER_PARAMETER_BLOCK LoaderBlock );
VOID HalpMcaInit ( VOID );
VOID HalpInitOtherBuses (VOID); VOID HalpInitializePciBus (VOID); VOID HalpInitializePciStubs (VOID);
#ifdef ALLOC_PRAGMA
#pragma alloc_text(INIT,HalpInitMP)
#pragma alloc_text(INIT,HalStartNextProcessor)
#pragma alloc_text(INIT,HalAllProcessorsStarted)
#pragma alloc_text(INIT,HalReportResourceUsage)
#pragma alloc_text(INIT,HalpInitOtherBuses)
#endif
BOOLEAN HalpInitMP ( IN ULONG Phase, IN PLOADER_PARAMETER_BLOCK LoaderBlock ) { // do nothing
return TRUE; }
VOID HalpResetAllProcessors ( VOID ) { // Just return, that will invoke the standard PC reboot code
}
BOOLEAN HalStartNextProcessor ( IN PLOADER_PARAMETER_BLOCK pLoaderBlock, IN PKPROCESSOR_STATE pProcessorState ) { // no other processors
return FALSE; }
BOOLEAN HalAllProcessorsStarted ( VOID ) { if (HalpFeatureBits & HAL_NO_SPECULATION) {
//
// Processor doesn't perform speculative execeution,
// remove fences in critical code paths
//
HalpRemoveFences (); }
return TRUE; }
VOID HalReportResourceUsage ( VOID ) { INTERFACE_TYPE interfacetype; UNICODE_STRING UHalName;
HalInitSystemPhase2 ();
//
// Turn on MCA support if present
//
HalpMcaInit();
//
// Registry is now intialized, see if there are any PCI buses
//
HalpInitializePciBus (); HalpInitializePciStubs ();
//
// Complete ALL bus initialization before reporting resource usage.
//
switch (HalpBusType) { case MACHINE_TYPE_ISA: interfacetype = Isa; break; case MACHINE_TYPE_EISA: interfacetype = Eisa; break; case MACHINE_TYPE_MCA: interfacetype = MicroChannel; break; default: interfacetype = Internal; break; }
RtlInitUnicodeString (&UHalName, HalName); HalpReportResourceUsage ( &UHalName, // descriptive name
interfacetype // device space interface type
);
#if DBG
//
// Display all buses & ranges
//
if (HalDisplayBusRanges) { HalpDisplayAllBusRanges (); } #endif
//
// Declare that we are capable of
// hibernation.
//
HalpRegisterHibernate ();
HalpRegisterPciDebuggingDeviceInfo(); }
VOID HalpInitOtherBuses ( VOID ) { // no other internal buses supported
}
ULONG FASTCALL HalSystemVectorDispatchEntry ( IN ULONG Vector, OUT PKINTERRUPT_ROUTINE **FlatDispatch, OUT PKINTERRUPT_ROUTINE *NoConnection ) { return FALSE; }
|