0b85acd54aea915e637361275adeebf022eba879
[reactos.git] / hal / halx86 / generic / legacy / halpcat.c
1 /*
2 * PROJECT: ReactOS HAL
3 * LICENSE: BSD - See COPYING.ARM in the top level directory
4 * FILE: hal/halx86/generic/legacy/halpcat.c
5 * PURPOSE: HAL Legacy Support Code
6 * PROGRAMMERS: ReactOS Portable Systems Group
7 */
8
9 /* INCLUDES *******************************************************************/
10
11 #include <hal.h>
12 #define NDEBUG
13 #include <debug.h>
14
15 /* GLOBALS ********************************************************************/
16
17 /* This determines the HAL type */
18 BOOLEAN HalDisableFirmwareMapper = FALSE;
19 PWCHAR HalHardwareIdString = L"e_isa_up";
20 PWCHAR HalName = L"PC Compatible Eisa/Isa HAL";
21
22 /* PRIVATE FUNCTIONS **********************************************************/
23
24 NTSTATUS
25 NTAPI
26 HalpSetupAcpiPhase0(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
27 {
28 /* There is no ACPI on these HALs */
29 return STATUS_NO_SUCH_DEVICE;
30 }
31
32 VOID
33 NTAPI
34 HalpBuildAddressMap(VOID)
35 {
36 /* FIXME: Inherit ROM blocks from the registry */
37 //HalpInheritROMBlocks();
38
39 /* FIXME: Add the ROM blocks to our ranges */
40 //HalpAddROMRanges();
41 }
42
43 BOOLEAN
44 NTAPI
45 HalpGetDebugPortTable(VOID)
46 {
47 /* No ACPI */
48 return FALSE;
49 }
50
51 ULONG
52 NTAPI
53 HalpIs16BitPortDecodeSupported(VOID)
54 {
55 /* Only EISA systems support this */
56 return (HalpBusType == MACHINE_TYPE_EISA) ? CM_RESOURCE_PORT_16_BIT_DECODE : 0;
57 }
58
59 /*
60 * @implemented
61 */
62 VOID
63 NTAPI
64 HalReportResourceUsage(VOID)
65 {
66 INTERFACE_TYPE InterfaceType;
67 UNICODE_STRING HalString;
68
69 /* FIXME: Initialize MCA bus */
70
71 /* Initialize PCI bus. */
72 HalpInitializePciBus();
73
74 /* Initialize the stubs */
75 HalpInitializePciStubs();
76
77 /* What kind of bus is this? */
78 switch (HalpBusType)
79 {
80 /* ISA Machine */
81 case MACHINE_TYPE_ISA:
82 InterfaceType = Isa;
83 break;
84
85 /* EISA Machine */
86 case MACHINE_TYPE_EISA:
87 InterfaceType = Eisa;
88 break;
89
90 /* MCA Machine */
91 case MACHINE_TYPE_MCA:
92 InterfaceType = MicroChannel;
93 break;
94
95 /* Unknown */
96 default:
97 InterfaceType = Internal;
98 break;
99 }
100
101 /* Build HAL usage */
102 RtlInitUnicodeString(&HalString, HalName);
103 HalpReportResourceUsage(&HalString, InterfaceType);
104
105 /* Setup PCI debugging and Hibernation */
106 HalpRegisterPciDebuggingDeviceInfo();
107 }
108
109 /* EOF */