[NTOS]: Check registry for our CardList, check if the PCI hardware matches any entry...
[reactos.git] / reactos / hal / halx86 / include / halp.h
index 6fd63fa..bc0e8fd 100644 (file)
@@ -49,6 +49,7 @@ DECLSPEC_NORETURN
 /* Usage flags */
 #define IDT_REGISTERED          0x01
 #define IDT_LATCHED             0x02
+#define IDT_READ_ONLY           0x04
 #define IDT_INTERNAL            0x11
 #define IDT_DEVICE              0x21
 
@@ -484,6 +485,18 @@ HalpHardwareInterruptLevel(
     VOID
 );
 
+//
+// Feature flags
+//
+#define HALP_CARD_FEATURE_FULL_DECODE   0x0001
+
+//
+// Match Flags
+//
+#define HALP_CHECK_CARD_REVISION_ID     0x10000
+#define HALP_CHECK_CARD_SUBVENDOR_ID    0x20000
+#define HALP_CHECK_CARD_SUBSYSTEM_ID    0x40000
+
 //
 // Mm PTE/PDE to Hal PTE/PDE
 //
@@ -681,7 +694,80 @@ HalpReleaseCmosSpinLock(
     VOID
 );
 
+ULONG
+NTAPI
+HalpAllocPhysicalMemory(
+    IN PLOADER_PARAMETER_BLOCK LoaderBlock,
+    IN ULONG MaxAddress,
+    IN ULONG PageCount,
+    IN BOOLEAN Aligned
+);
+                        
+PVOID
+NTAPI
+HalpMapPhysicalMemory64(
+    IN PHYSICAL_ADDRESS PhysicalAddress,
+    IN ULONG PageCount
+);
+
+NTSTATUS 
+NTAPI
+HalpOpenRegistryKey(
+    IN PHANDLE KeyHandle,
+    IN HANDLE RootKey,
+    IN PUNICODE_STRING KeyName,
+    IN ACCESS_MASK DesiredAccess, 
+    IN BOOLEAN Create
+);
+
+VOID
+NTAPI
+HalpGetNMICrashFlag(
+    VOID
+);
 
+BOOLEAN
+NTAPI
+HalpGetDebugPortTable(
+    VOID
+);
+
+VOID
+NTAPI
+HalpReportSerialNumber(
+    VOID
+);
+
+NTSTATUS
+NTAPI
+HalpMarkAcpiHal(
+    VOID
+);
+
+VOID
+NTAPI
+HalpBuildAddressMap(
+    VOID
+);
+
+VOID
+NTAPI
+HalpReportResourceUsage(
+    IN PUNICODE_STRING HalName,
+    IN INTERFACE_TYPE InterfaceType
+);
+
+ULONG
+NTAPI
+HalpIs16BitPortDecodeSupported(
+    VOID
+);
+
+NTSTATUS
+NTAPI
+HalpQueryAcpiResourceRequirements(
+    OUT PIO_RESOURCE_REQUIREMENTS_LIST *Requirements
+);
 
 VOID
 FASTCALL
@@ -691,6 +777,12 @@ KeUpdateSystemTime(
     IN KIRQL OldIrql
 );
 
+VOID
+NTAPI
+HalpInitBusHandlers(
+    VOID
+);
+
 #ifdef _M_AMD64
 #define KfLowerIrql KeLowerIrql
 #ifndef CONFIG_SMP
@@ -711,3 +803,9 @@ extern KSPIN_LOCK HalpSystemHardwareLock;
 extern PADDRESS_USAGE HalpAddressUsageList;
 
 extern LARGE_INTEGER HalpPerfCounter;
+
+extern KAFFINITY HalpActiveProcessors;
+
+extern BOOLEAN HalDisableFirmwareMapper;
+extern PWCHAR HalHardwareIdString;
+extern PWCHAR HalName;