2020-09-30 17:12:29 +02:00

97 lines
2.0 KiB
C

//++
//
// Copyright (c) 1994, 1995 MOTOROLA, INC. All Rights Reserved. This file
// contains copyrighted material. Use of this file is restricted
// by the provisions of a Motorola Software License Agreement.
//
// Module Name:
//
// pxsystyp.c
//
// Abstract:
//
// Add a global variable to indicate which system implementation we are
// running on. Called early in phase 0 init.
//
// Author:
//
// Bill Jones 12/94
//
// Environment:
//
// Kernel mode only.
//
// Revision History:
//
//--
#include "halp.h"
#include "fwstatus.h"
#include "arc.h"
#include "pxsystyp.h"
#include "fwnvr.h"
SYSTEM_TYPE HalpSystemType = SYSTEM_UNKNOWN;
extern NVR_SYSTEM_TYPE nvr_system_type;
extern ULONG HalpPciConfigSlot[];
ULONG HalpPciPowerStack[] = { 0x0800,
0x1000,
0x2000,
0x4000,
0x10000,
0x20000,
0x40000,
0x80000,
0x8000
};
BOOLEAN
HalpSetSystemType( PLOADER_PARAMETER_BLOCK LoaderBlock );
#ifdef ALLOC_PRAGMA
#pragma alloc_text(INIT,HalpSetSystemType)
#endif
BOOLEAN
HalpSetSystemType( PLOADER_PARAMETER_BLOCK LoaderBlock )
{
PCONFIGURATION_COMPONENT_DATA ConfigurationEntry;
ULONG MatchKey;
MatchKey = 0;
ConfigurationEntry=KeFindConfigurationEntry(LoaderBlock->ConfigurationRoot,
SystemClass,
ArcSystem,
&MatchKey);
if (ConfigurationEntry != NULL) {
#if DBG
//DbgPrint("HAL: System configuration = %s\n",ConfigurationEntry->ComponentEntry.Identifier);
#endif
if (!strcmp(ConfigurationEntry->ComponentEntry.Identifier,"MOTOROLA-Big Bend")) {
HalpSystemType = MOTOROLA_BIG_BEND;
nvr_system_type = nvr_systype_bigbend;
} else {
//
// Assume it is a PowerStack or OEM'ed PowerStack
//
//
HalpSystemType = MOTOROLA_POWERSTACK;
nvr_system_type = nvr_systype_powerstack;
//
// Change PCI addresses for Blackhawk
// to support other PCI video boards.
//
memcpy(HalpPciConfigSlot, HalpPciPowerStack, sizeof(HalpPciPowerStack));
}
}
return TRUE;
}