Sync with trunk (r49303)
[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 NTSTATUS
60 NTAPI
61 HaliInitPnpDriver(VOID)
62 {
63 /* On PC-AT, this will interface with the PCI driver */
64 return STATUS_SUCCESS;
65 }
66
67 /*
68 * @implemented
69 */
70 VOID
71 NTAPI
72 HalReportResourceUsage(VOID)
73 {
74 INTERFACE_TYPE InterfaceType;
75 UNICODE_STRING HalString;
76
77 /* FIXME: Initialize MCA bus */
78
79 /* Initialize PCI bus. */
80 HalpInitializePciBus();
81
82 /* Initialize the stubs */
83 HalpInitializePciStubs();
84
85 /* What kind of bus is this? */
86 switch (HalpBusType)
87 {
88 /* ISA Machine */
89 case MACHINE_TYPE_ISA:
90 InterfaceType = Isa;
91 break;
92
93 /* EISA Machine */
94 case MACHINE_TYPE_EISA:
95 InterfaceType = Eisa;
96 break;
97
98 /* MCA Machine */
99 case MACHINE_TYPE_MCA:
100 InterfaceType = MicroChannel;
101 break;
102
103 /* Unknown */
104 default:
105 InterfaceType = Internal;
106 break;
107 }
108
109 /* Build HAL usage */
110 RtlInitUnicodeString(&HalString, HalName);
111 HalpReportResourceUsage(&HalString, InterfaceType);
112
113 /* Setup PCI debugging and Hibernation */
114 HalpRegisterPciDebuggingDeviceInfo();
115 }
116
117 /* EOF */