1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
//++
//
// 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;
}
|