# NvdimmCommon

## Function Table

| Address | Name | Description |
|---------|------|-------------|
|  | **NvdimmCommonEntryPoint** |  |
|  | **NvdimmCommonInitAcpiSmmInterface** |  |
|  | **NvdimmCommonGetAcpiDriverType** |  |
|  | **NvdimmCommonSetAcpiDriverType** |  |
|  | **DebugPortAssert** |  |
|  | **NvdimmCommonExitBootServices** |  |
|  | **NvdimmCommonVirtualAddressChange** |  |
|  | **NvdimmCommonLocateHobList** |  |
|  | **CompareGuid** |  |
|  | **ReadUnaligned64** |  |
| Globals | **//** |  |
| Initialize | **global UEFI service pointers** |  |
| gImageHandle | **= ImageHandle;** |  |
| Register | **event handlers** |  |
| Status | **= gBS->CreateEvent (** |  |
| Locate | **the HOB list** |  |
| NvdimmCommonLocateHobList | **();** |  |
| Locate | **the DXE Services Table** |  |
| Status | **= EfiGetSystemConfigurationTable (** |  |
| Initialize | **ACPI<->SMM interface** |  |
| ReturnStatus | **= NvdimmCommonInitAcpiSmmInterface (ImageHandle);** |  |
| Cleanup | **on failure** |  |
| ASSERT_EFI_ERROR | **(ReturnStatus);** |  |
| Allocate | **SMM communication buffer** |  |
| Status | **= gBS->AllocatePages (** |  |
| Zero | **the SMM communication buffer** |  |
| ZeroMem | **((VOID *) (UINTN) SmmCommBuffer, NVDIMM_SMM_COMM_BUFFER_SIZE);** |  |
| Zero | **the protocol structure** |  |
| ZeroMem | **(Protocol, sizeof (NVDIMM_ACPI_SMM_PROTOCOL));** |  |
| Install | **the ACPI<->SMM protocol** |  |
| Status | **= gBS->InstallProtocolInterface (** |  |
| Check | **debug port availability (port 0x70/0x71 I/O access)** |  |
| gDebugPort | **= IoRead8 (0x70);** |  |
| Locate | **DebugPort protocol** |  |

---
*Generated by HR650X BIOS Decompilation Project*