#include <IndustryStandard/Acpi10.h>\r
#include <IndustryStandard/Acpi30.h>\r
\r
+#if defined(_MSC_VER) // Handle Microsoft VC++ compiler specifics.\r
#pragma warning ( disable : 4305 )\r
+#endif // defined(_MSC_VER)\r
\r
//\r
// Ensure proper structure formats\r
//\r
Status = EfiGetSystemConfigurationTable ( &gEfiAcpiTableGuid, (VOID **)&pRsdp30 );\r
if ( !EFI_ERROR ( Status )) {\r
- pRsdt = (ACPI_RSDT *)pRsdp30->RsdtAddress;\r
+ pRsdt = (ACPI_RSDT *)(UINTN)pRsdp30->RsdtAddress;\r
}\r
else {\r
Status = EfiGetSystemConfigurationTable (&gEfiAcpi10TableGuid, (VOID **)&pRsdp10b );\r
if ( EFI_ERROR ( Status )) {\r
break;\r
}\r
- pRsdt = (ACPI_RSDT *)pRsdp10b->RsdtAddress;\r
+ pRsdt = (ACPI_RSDT *)(UINTN)pRsdp10b->RsdtAddress;\r
}\r
break;\r
}\r
//\r
Status = EfiGetSystemConfigurationTable ( &gEfiAcpiTableGuid, (VOID **)&pRsdp30 );\r
if ( !EFI_ERROR ( Status )) {\r
- pRsdt = (ACPI_RSDT *)pRsdp30->RsdtAddress;\r
+ pRsdt = (ACPI_RSDT *)(UINTN)pRsdp30->RsdtAddress;\r
}\r
else {\r
Status = EfiGetSystemConfigurationTable (&gEfiAcpi10TableGuid, (VOID **)&pRsdp10b );\r
if ( EFI_ERROR ( Status )) {\r
break;\r
}\r
- pRsdt = (ACPI_RSDT *)pRsdp10b->RsdtAddress;\r
+ pRsdt = (ACPI_RSDT *)(UINTN)pRsdp10b->RsdtAddress;\r
}\r
\r
//\r
// The entry is actually a 32-bit physical table address\r
// The first entry in the table is the 32-bit table signature\r
//\r
- pSignature = (UINT32 *)*pEntry;\r
+ pSignature = (UINT32 *)(UINTN)*pEntry;\r
if ( *pSignature == Signature ) {\r
- return (CONST VOID *) *pEntry;\r
+ return (CONST VOID *)(UINTN)*pEntry;\r
}\r
\r
//\r
Status = EFI_NOT_FOUND;\r
break;\r
}\r
- pDsdt = (VOID *)pFadt->XDsdt;\r
+ pDsdt = (VOID *)(UINTN)pFadt->XDsdt;\r
\r
//\r
// Send the page and table header\r
pPort,\r
"OEMID",\r
sizeof ( pDsdt->OemId ),\r
- &pDsdt->OemId[ 0 ]);\r
+ (CONST CHAR8 *)&pDsdt->OemId[ 0 ]);\r
if ( EFI_ERROR ( Status )) {\r
break;\r
}\r
pPort,\r
"OEM Table ID",\r
sizeof ( pDsdt->OemTableId ),\r
- &pDsdt->OemTableId[ 0 ]);\r
+ (CONST CHAR8 *)&pDsdt->OemTableId[ 0 ]);\r
if ( EFI_ERROR ( Status )) {\r
break;\r
}\r
pPort,\r
"OEMID",\r
sizeof ( pFadt->OemId ),\r
- &pFadt->OemId[ 0 ]);\r
+ (CONST CHAR8 *)&pFadt->OemId[ 0 ]);\r
if ( EFI_ERROR ( Status )) {\r
break;\r
}\r
pPort,\r
"OEM Table ID",\r
sizeof ( pFadt->OemTableId ),\r
- &pFadt->OemTableId[ 0 ]);\r
+ (CONST CHAR8 *)&pFadt->OemTableId[ 0 ]);\r
if ( EFI_ERROR ( Status )) {\r
break;\r
}\r
Status = RowPointer ( SocketFD,\r
pPort,\r
"FIRMWARE_CTRL",\r
- (CONST VOID *)pFadt->FirmwareCtrl,\r
+ (CONST VOID *)(UINTN)pFadt->FirmwareCtrl,\r
NULL );\r
if ( EFI_ERROR ( Status )) {\r
break;\r
Status = RowPointer ( SocketFD,\r
pPort,\r
"DSDT",\r
- (CONST VOID *)pFadt->DSDT,\r
+ (CONST VOID *)(UINTN)pFadt->DSDT,\r
( pFadt->DSDT == pFadt->XDsdt ) ? PAGE_ACPI_DSDT : NULL );\r
if ( EFI_ERROR ( Status )) {\r
break;\r
pPort,\r
"OemId",\r
sizeof ( pRsdp10b->OemId ),\r
- &pRsdp10b->OemId[ 0 ]);\r
+ (CONST CHAR8 *)&pRsdp10b->OemId[ 0 ]);\r
if ( EFI_ERROR ( Status )) {\r
break;\r
}\r
Status = RowPointer ( SocketFD,\r
pPort,\r
"RsdtAddress",\r
- (VOID *)pRsdp10b->RsdtAddress,\r
+ (VOID *)(UINTN)pRsdp10b->RsdtAddress,\r
PAGE_ACPI_RSDT );\r
if ( EFI_ERROR ( Status )) {\r
break;\r
pPort,\r
"OemId",\r
sizeof ( pRsdp30->OemId ),\r
- &pRsdp30->OemId[ 0 ]);\r
+ (CONST CHAR8 *)&pRsdp30->OemId[ 0 ]);\r
if ( EFI_ERROR ( Status )) {\r
break;\r
}\r
Status = RowPointer ( SocketFD,\r
pPort,\r
"RsdtAddress",\r
- (VOID *)pRsdp30->RsdtAddress,\r
+ (VOID *)(UINTN)pRsdp30->RsdtAddress,\r
PAGE_ACPI_RSDT );\r
if ( EFI_ERROR ( Status )) {\r
break;\r
Status = RowPointer ( SocketFD,\r
pPort,\r
"XsdtAddress",\r
- (VOID *)pRsdp30->XsdtAddress,\r
+ (VOID *)(UINTN)pRsdp30->XsdtAddress,\r
NULL );\r
if ( EFI_ERROR ( Status )) {\r
break;\r
pPort,\r
"OEMID",\r
sizeof ( pRsdt->OemId ),\r
- &pRsdt->OemId[ 0 ]);\r
+ (CONST CHAR8 *)&pRsdt->OemId[ 0 ]);\r
if ( EFI_ERROR ( Status )) {\r
break;\r
}\r
pPort,\r
"OEM Table ID",\r
sizeof ( pRsdt->OemTableId ),\r
- &pRsdt->OemTableId[ 0 ]);\r
+ (CONST CHAR8 *)&pRsdt->OemTableId[ 0 ]);\r
if ( EFI_ERROR ( Status )) {\r
break;\r
}\r
// The entry is actually a 32-bit physical table address\r
// The first entry in the table is the 32-bit table signature\r
//\r
- TableName[ 0 ] = *(UINT32 *)*pEntry;\r
+ TableName[ 0 ] = *(UINT32 *)(UINTN)*pEntry;\r
pWebPage = SignatureLookup ( &TableName[ 0 ], &pTableName );\r
\r
//\r
Status = RowPointer ( SocketFD,\r
pPort,\r
pTableName,\r
- (VOID *)*pEntry,\r
+ (VOID *)(UINTN)*pEntry,\r
pWebPage );\r
if ( EFI_ERROR ( Status )) {\r
break;\r