3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: hal/halx86/generic/sysinfo.c
5 * PURPOSE: HAL Information Routines
6 * PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
9 /* INCLUDES ******************************************************************/
16 static PUCHAR realKdComPortInUse
= 0;
17 PUCHAR
*_KdComPortInUse
= &realKdComPortInUse
;
19 PUCHAR _KdComPortInUse
= 0;
22 /* FUNCTIONS *****************************************************************/
26 HaliQuerySystemInformation(IN HAL_QUERY_INFORMATION_CLASS InformationClass
,
29 OUT PULONG ReturnedLength
)
31 #define REPORT_THIS_CASE(X) case X: DPRINT1("Unhandled case: %s\n", #X); break
32 switch (InformationClass
)
34 REPORT_THIS_CASE(HalInstalledBusInformation
);
35 REPORT_THIS_CASE(HalProfileSourceInformation
);
36 REPORT_THIS_CASE(HalInformationClassUnused1
);
37 REPORT_THIS_CASE(HalPowerInformation
);
38 REPORT_THIS_CASE(HalProcessorSpeedInformation
);
39 REPORT_THIS_CASE(HalCallbackInformation
);
40 REPORT_THIS_CASE(HalMapRegisterInformation
);
41 REPORT_THIS_CASE(HalMcaLogInformation
);
42 case HalFrameBufferCachingInformation
:
45 // The only caller that has been seen calling this function told
46 // us it expected a single byte back. We therefore guess it expects
47 // a BOOLEAN, and we dream up the value TRUE to (we think) tell it
48 // "Sure, the framebuffer is cached".
49 BOOLEAN ToReturn
= TRUE
;
50 DPRINT("%s: caller expects %u bytes (should be 1)\n", "HalFrameBufferCachingInformation", BufferSize
);
51 ASSERT(sizeof(BOOLEAN
) == 1);
52 *ReturnedLength
= sizeof(BOOLEAN
);
53 RtlCopyMemory(Buffer
, &ToReturn
, sizeof(BOOLEAN
));
54 return STATUS_SUCCESS
;
57 REPORT_THIS_CASE(HalDisplayBiosInformation
);
58 REPORT_THIS_CASE(HalProcessorFeatureInformation
);
59 REPORT_THIS_CASE(HalNumaTopologyInterface
);
60 REPORT_THIS_CASE(HalErrorInformation
);
61 REPORT_THIS_CASE(HalCmcLogInformation
);
62 REPORT_THIS_CASE(HalCpeLogInformation
);
63 REPORT_THIS_CASE(HalQueryMcaInterface
);
64 REPORT_THIS_CASE(HalQueryAMLIIllegalIOPortAddresses
);
65 REPORT_THIS_CASE(HalQueryMaxHotPlugMemoryAddress
);
66 REPORT_THIS_CASE(HalPartitionIpiInterface
);
67 REPORT_THIS_CASE(HalPlatformInformation
);
68 REPORT_THIS_CASE(HalQueryProfileSourceList
);
70 #undef REPORT_THIS_CASE
73 return STATUS_NOT_IMPLEMENTED
;
78 HaliSetSystemInformation(IN HAL_SET_INFORMATION_CLASS InformationClass
,
83 return STATUS_NOT_IMPLEMENTED
;