EFI_STATUS Status;\r
FDT_CLIENT_PROTOCOL *FdtClient;\r
CONST UINT64 *Reg;\r
- UINT32 RegElemSize, RegSize;\r
+ UINT32 RegSize;\r
+ UINTN AddressCells, SizeCells;\r
UINT64 RegBase;\r
UINT8 Sum;\r
\r
ASSERT_EFI_ERROR (Status);\r
\r
Status = FdtClient->FindCompatibleNodeReg (FdtClient, "xen,guest-acpi",\r
- (CONST VOID **)&Reg, &RegElemSize, &RegSize);\r
+ (CONST VOID **)&Reg, &AddressCells, &SizeCells,\r
+ &RegSize);\r
if (EFI_ERROR (Status)) {\r
DEBUG ((EFI_D_WARN, "%a: No 'xen,guest-acpi' compatible DT node found\n",\r
__FUNCTION__));\r
return EFI_NOT_FOUND;\r
}\r
\r
+ ASSERT (AddressCells == 2);\r
+ ASSERT (SizeCells == 2);\r
ASSERT (RegSize == 2 * sizeof (UINT64));\r
\r
RegBase = SwapBytes64(Reg[0]);\r
- RsdpStructurePtr = (EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER *)RegBase;\r
+ RsdpStructurePtr =\r
+ (EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER *)(UINTN)RegBase;\r
\r
if (RsdpStructurePtr && RsdpStructurePtr->Revision >= 2) {\r
Sum = CalculateSum8 ((CONST UINT8 *)RsdpStructurePtr,\r