97 lines
2.0 KiB
C
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;
|
|
}
|