#include "cmp.h"#include "stdlib.h"#include "parseini.h"#include "geninst.h"#include "rules.h"#include "acpitabl.h"#include "ntacpi.h"Go to the source code of this file.
Classes | |
| struct | _PNP_BIOS_TABLE |
Defines | |
| #define | TABLE_ENTRIES_FROM_RSDT_POINTER(p) (((p)->Header.Length-min((p)->Header.Length, sizeof(DESCRIPTION_HEADER))) / 4) |
| #define | SYSTEM_BIOS_LENGTH 0x10000 |
| #define | PNPBIOS_SIGNATURE 'PnP$' |
| #define | NUM_OF_RULES 14 |
Typedefs | |
| typedef BOOLEAN(* | PFN_RULE )(IN PVOID InfHandle, IN PCHAR Description, IN ULONG RuleIndex) |
| typedef _PNP_BIOS_TABLE PNP_BIOS_TABLE * | PPNP_BIOS_TABLE |
Functions | |
| ULONG | CmpComputeChecksum (IN PCHAR Address, IN ULONG Size) |
| NTSTATUS | CmpFindRSDTTable (OUT PACPI_BIOS_MULTI_NODE *Rsdt) |
| NTSTATUS | CmpGetRegistryValue (IN HANDLE KeyName, IN PWSTR ValueName, OUT PKEY_VALUE_PARTIAL_INFORMATION *Information) |
| PDESCRIPTION_HEADER | CmpFindACPITable (IN ULONG Signature, IN OUT PULONG Length) |
| BOOLEAN | CmpCheckOperator (IN PCHAR Operator, IN ULONG Lhs, IN ULONG Rhs) |
| PVOID | CmpMapPhysicalAddress (IN OUT PVOID *BaseAddress, IN ULONG Address, IN ULONG Size) |
| BOOLEAN | CmpGetInfData (IN PVOID InfHandle, IN PCHAR Section, IN ULONG KeyIndex, IN ULONG LineIndex, IN OUT PCHAR Buffer, IN OUT PULONG BufferSize) |
| PVOID | CmpFindPattern (IN PCHAR Buffer, IN ULONG BufSize, IN PCHAR Pattern, IN ULONG PatSize, IN BOOLEAN IgnoreCase, IN ULONG Step) |
| ULONG | CmpGetPnPBIOSTableAddress (VOID) |
| BOOLEAN | CmpMatchDescription (IN PVOID InfHandle, IN PCHAR Description) |
| BOOLEAN | CmpMatchDateRule (IN PVOID InfHandle, IN PCHAR Description, IN ULONG RuleIndex) |
| BOOLEAN | CmpMatchMemoryRule (IN PVOID InfHandle, IN PCHAR Description, IN ULONG RuleIndex) |
| BOOLEAN | CmpMatchSearchRule (IN PVOID InfHandle, IN PCHAR Description, IN ULONG RuleIndex) |
| BOOLEAN | CmpMatchNextMatchRule (IN PVOID InfHandle, IN PCHAR Description, IN ULONG RuleIndex) |
| BOOLEAN | CmpMatchPointerRule (IN PVOID InfHandle, IN PCHAR Description, IN ULONG RuleIndex) |
| BOOLEAN | CmpMatchOemIdRule (IN PVOID InfHandle, IN PCHAR Description, IN ULONG RuleIndex) |
| BOOLEAN | CmpMatchPModeRule (IN PVOID InfHandle, IN PCHAR Description, IN ULONG RuleIndex) |
| BOOLEAN | CmpMatchRmPmSameRule (IN PVOID InfHandle, IN PCHAR Description, IN ULONG RuleIndex) |
| BOOLEAN | CmpMatchInstallRule (IN PVOID InfHandle, IN PCHAR Description, IN ULONG RuleIndex) |
| BOOLEAN | CmpMatchAcpiOemIdRule (IN PVOID InfHandle, IN PCHAR Description, IN ULONG RuleIndex) |
| BOOLEAN | CmpMatchAcpiOemTableIdRule (IN PVOID InfHandle, IN PCHAR Description, IN ULONG RuleIndex) |
| BOOLEAN | CmpMatchAcpiOemRevisionRule (IN PVOID InfHandle, IN PCHAR Description, IN ULONG RuleIndex) |
| BOOLEAN | CmpMatchAcpiRevisionRule (IN PVOID InfHandle, IN PCHAR Description, IN ULONG RuleIndex) |
| BOOLEAN | CmpMatchAcpiCreatorRevisionRule (IN PVOID InfHandle, IN PCHAR Description, IN ULONG RuleIndex) |
| BOOLEAN | CmpMatchInfList (IN PVOID InfImage, IN ULONG ImageSize, IN PCHAR Section) |
| BOOLEAN | CmpMatchAcpiCreatorIdRule (IN PVOID InfHandle, IN PCHAR Description, IN ULONG RuleIndex) |
Variables | |
| struct { | |
| PCHAR Name | |
| PFN_RULE Action | |
| } | gRuleTable [NUM_OF_RULES] |
| PVOID | gSearchAddress = NULL |
| WCHAR | rgzMultiFunctionAdapter [] = L"\\Registry\\Machine\\Hardware\\Description\\System\\MultifunctionAdapter" |
| WCHAR | rgzAcpiConfigurationData [] = L"Configuration Data" |
| WCHAR | rgzAcpiIdentifier [] = L"Identifier" |
| WCHAR | rgzBIOSIdentifier [] = L"ACPI BIOS" |
|
|
Definition at line 252 of file rules.c. Referenced by CmpMatchDescription(). |
|
|
Definition at line 48 of file rules.c. Referenced by CmpGetPnPBIOSTableAddress(). |
|
|
|
|
|
Definition at line 35 of file rules.c. Referenced by CmpFindACPITable(). |
|
|
|
|
|
Definition at line 58 of file rules.c. Referenced by CmpGetPnPBIOSTableAddress(), CmpMatchOemIdRule(), CmpMatchPModeRule(), and CmpMatchRmPmSameRule(). |
|
||||||||||||||||
|
Definition at line 1927 of file rules.c. References DbgPrint, and FALSE. Referenced by CmpMatchAcpiCreatorRevisionRule(), CmpMatchAcpiOemRevisionRule(), CmpMatchAcpiRevisionRule(), CmpMatchDateRule(), and CmpMatchPointerRule().
|
|
||||||||||||
|
|
|
||||||||||||
|
Definition at line 2173 of file rules.c. References CmpFindRSDTTable(), DbgPrint, DESCRIPTION_HEADER, _FADT::dsdt, DSDT_SIGNATURE, ExFreePool(), FADT_SIGNATURE, _DESCRIPTION_HEADER::Length, MmCached, MmMapIoSpace(), MmUnmapIoSpace(), NT_SUCCESS, NTSTATUS(), NULL, PFADT, PRSDT, RSDT_SIGNATURE, _ACPI_BIOS_MULTI_NODE::RsdtAddress, _DESCRIPTION_HEADER::Signature, TABLE_ENTRIES_FROM_RSDT_POINTER, and _RSDT::Tables. Referenced by CmpMatchAcpiCreatorIdRule(), CmpMatchAcpiCreatorRevisionRule(), CmpMatchAcpiOemIdRule(), CmpMatchAcpiOemRevisionRule(), CmpMatchAcpiOemTableIdRule(), and CmpMatchAcpiRevisionRule().
|
|
||||||||||||||||||||||||||||
|
Definition at line 2025 of file rules.c. References Buffer, NULL, Pattern, and strlen(). Referenced by CmpMatchSearchRule().
|
|
|
Definition at line 2430 of file rules.c. References CmpGetRegistryValue(), _ACPI_BIOS_MULTI_NODE::Count, DbgPrint, ExAllocatePoolWithTag, ExFreePool(), NonPagedPool, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, rgzAcpiConfigurationData, rgzAcpiIdentifier, rgzBIOSIdentifier, rgzMultiFunctionAdapter, RtlEqualUnicodeString(), RtlInitUnicodeString(), RtlIntegerToUnicodeString(), TRUE, and USHORT. Referenced by CmpFindACPITable().
|
|
||||||||||||||||||||||||||||
|
Definition at line 1703 of file rules.c. References Buffer, BufferSize, CHAR, CmpGetSectionLineIndex(), FALSE, min, NULL, strlen(), TRUE, and type. Referenced by CmpMatchMemoryRule(), CmpMatchNextMatchRule(), CmpMatchPModeRule(), CmpMatchPointerRule(), and CmpMatchSearchRule().
|
|
|
Definition at line 2100 of file rules.c. References CmpMapPhysicalAddress(), PNPBIOS_SIGNATURE, PPNP_BIOS_TABLE, and SYSTEM_BIOS_LENGTH. Referenced by CmpMatchOemIdRule(), CmpMatchPModeRule(), and CmpMatchRmPmSameRule().
|
|
||||||||||||||||
|
Definition at line 2635 of file rules.c. References ExAllocatePoolWithTag, ExFreePool(), NonPagedPool, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, RtlInitUnicodeString(), and ValueName. Referenced by CmpFindRSDTTable().
|
|
||||||||||||||||
|
Definition at line 1854 of file rules.c. References L, NT_SUCCESS, NTSTATUS(), NULL, RtlInitUnicodeString(), and Size. Referenced by CmpGetPnPBIOSTableAddress(), CmpMatchDateRule(), CmpMatchMemoryRule(), CmpMatchNextMatchRule(), CmpMatchOemIdRule(), CmpMatchPModeRule(), CmpMatchPointerRule(), CmpMatchRmPmSameRule(), and CmpMatchSearchRule().
|
|
||||||||||||||||
|
Definition at line 1623 of file rules.c. References CHAR, CmpFindACPITable(), CmpGetSectionLineIndex(), _DESCRIPTION_HEADER::CreatorID, Description, FALSE, MmUnmapIoSpace(), and strlen().
|
|
||||||||||||||||
|
Definition at line 1540 of file rules.c. References CmpCheckOperator(), CmpFindACPITable(), CmpGetSectionLineIndex(), _DESCRIPTION_HEADER::CreatorRev, Description, FALSE, MmUnmapIoSpace(), and RtlCharToInteger().
|
|
||||||||||||||||
|
Definition at line 1171 of file rules.c. References CHAR, CmpFindACPITable(), CmpGetSectionLineIndex(), Description, FALSE, MmUnmapIoSpace(), _DESCRIPTION_HEADER::OEMID, RtlEqualString(), RtlInitString(), and TRUE.
|
|
||||||||||||||||
|
Definition at line 1372 of file rules.c. References CmpCheckOperator(), CmpFindACPITable(), CmpGetSectionLineIndex(), Description, FALSE, MmUnmapIoSpace(), _DESCRIPTION_HEADER::OEMRevision, and RtlCharToInteger().
|
|
||||||||||||||||
|
Definition at line 1288 of file rules.c. References CHAR, CmpFindACPITable(), CmpGetSectionLineIndex(), Description, FALSE, MmUnmapIoSpace(), _DESCRIPTION_HEADER::OEMTableID, and strlen().
|
|
||||||||||||||||
|
Definition at line 1456 of file rules.c. References CmpCheckOperator(), CmpFindACPITable(), CmpGetSectionLineIndex(), Description, FALSE, MmUnmapIoSpace(), _DESCRIPTION_HEADER::Revision, and RtlCharToInteger().
|
|
||||||||||||||||
|
Definition at line 476 of file rules.c. References CHAR, CmpCheckOperator(), CmpGetSectionLineIndex(), CmpMapPhysicalAddress(), Description, FALSE, NULL, and TRUE.
|
|
||||||||||||
|
Definition at line 394 of file rules.c. References CmpGetKeyName(), CmpSearchInfSection(), Description, FALSE, gRuleTable, Name, NUM_OF_RULES, and TRUE. Referenced by CmpMatchInfList().
|
|
||||||||||||||||
|
Definition at line 315 of file rules.c. References CmpCloseInfFile(), CmpGenInstall(), CmpGetSectionLineIndex(), CmpMatchDescription(), CmpOpenInfFile(), DbgPrint, FALSE, gSearchAddress, NULL, and TRUE.
|
|
||||||||||||||||
|
Definition at line 1145 of file rules.c. References CmpGenInstall(), CmpGetSectionLineIndex(), Description, FALSE, and TRUE.
|
|
||||||||||||||||
|
Definition at line 569 of file rules.c. References CHAR, CmpGetInfData(), CmpGetSectionLineIndex(), CmpMapPhysicalAddress(), Description, FALSE, MAX_DESCRIPTION_LEN, and NULL.
|
|
||||||||||||||||
|
Definition at line 764 of file rules.c. References CHAR, CmpGetInfData(), CmpGetSectionLineIndex(), CmpMapPhysicalAddress(), Description, FALSE, gSearchAddress, MAX_DESCRIPTION_LEN, and NULL.
|
|
||||||||||||||||
|
Definition at line 957 of file rules.c. References CmpGetPnPBIOSTableAddress(), CmpGetSectionLineIndex(), CmpMapPhysicalAddress(), Description, FALSE, NULL, PPNP_BIOS_TABLE, and strlen().
|
|
||||||||||||||||
|
Definition at line 1035 of file rules.c. References CHAR, CmpGetInfData(), CmpGetPnPBIOSTableAddress(), CmpMapPhysicalAddress(), Description, FALSE, MAX_DESCRIPTION_LEN, PPNP_BIOS_TABLE, PUSHORT, and SYSTEM_BIOS_LENGTH.
|
|
||||||||||||||||
|
Definition at line 853 of file rules.c. References CHAR, CmpCheckOperator(), CmpGetInfData(), CmpGetSectionLineIndex(), CmpMapPhysicalAddress(), Description, FALSE, MAX_DESCRIPTION_LEN, NULL, PUSHORT, and strlen().
|
|
||||||||||||||||
|
Definition at line 1104 of file rules.c. References CmpGetPnPBIOSTableAddress(), CmpMapPhysicalAddress(), FALSE, and PPNP_BIOS_TABLE.
|
|
||||||||||||||||
|
Definition at line 666 of file rules.c. References CHAR, CmpFindPattern(), CmpGetInfData(), CmpGetSectionLineIndex(), CmpMapPhysicalAddress(), Description, FALSE, gSearchAddress, MAX_DESCRIPTION_LEN, NULL, and TRUE.
|
|
|
|
|
|
Referenced by CmpMatchDescription(). |
|
|
Definition at line 279 of file rules.c. Referenced by CmpMatchInfList(), CmpMatchNextMatchRule(), and CmpMatchSearchRule(). |
|
|
|
|
|
Definition at line 282 of file rules.c. Referenced by CmpFindRSDTTable(). |
|
|
Definition at line 283 of file rules.c. Referenced by CmpFindRSDTTable(). |
|
|
Definition at line 284 of file rules.c. Referenced by CmpFindRSDTTable(). |
|
|
Definition at line 281 of file rules.c. Referenced by CmpFindRSDTTable(). |
1.3.7