summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGraeme Gregory <graeme.gregory@linaro.org>2014-01-23 12:05:54 +0000
committerLeif Lindholm <leif.lindholm@linaro.org>2014-01-24 15:55:54 +0000
commitea0309b85000f9f3455031a8e8af1f558f1a2702 (patch)
tree9061825c6c9f5c8bed33d5b2087101ce38f23fdf
parent697e6bfeab7033eca994c69c3ae633ab90e53236 (diff)
rtsm_ve-aemv8a: import ASL files from acpi-asl repo
Replace the hard coded .aslc files with the latest version of the files from the acpi-asl repository. These are essential for booting the FVP Base model from ACPI. Signed-off-by: Graeme Gregory <graeme.gregory@linaro.org>
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/AcpiTables.inf71
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Apic.aslc216
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Bert.aslc84
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Dsdt.asl255
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Ecdt.aslc70
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Einj.aslc202
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Erst.aslc319
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Facp.aslc175
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Facs.aslc86
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Gtdt.aslc51
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Hest.aslc84
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Mcfg.aslc62
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Mpst.aslc141
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Msct.aslc106
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Oem0.aslc48
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Platform.h75
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Pmtt.aslc216
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Slit.aslc87
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Spmi.aslc86
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Srat.aslc106
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Ssdt0.asl17
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Uefi.aslc57
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/apic.asl153
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/bert.asl48
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/cpep.asl53
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/dsdt.asl758
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/ecdt.asl64
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/einj.asl178
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/erst.asl305
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/facp.asl194
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/facs.asl48
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/fpdt.asl62
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/gtdt.asl80
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/hest.asl76
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/mcfg.asl53
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/mchi.asl65
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/mpst.asl114
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/msct.asl78
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/oem0.asl45
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/pmtt.asl132
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/rsdp.asl44
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/slit.asl87
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/spmi.asl67
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/srat.asl84
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/ssdt0.asl44
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/tpm2.asl22
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/uefi.asl48
-rw-r--r--ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/xsdt.asl66
-rw-r--r--ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.fdf2
49 files changed, 2994 insertions, 2590 deletions
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/AcpiTables.inf b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/AcpiTables.inf
index ae3a66b68..46dc925fd 100644
--- a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/AcpiTables.inf
+++ b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/AcpiTables.inf
@@ -1,9 +1,10 @@
-## @file
+##
# Component description file for PlatformAcpiTables module.
#
# ACPI table data and ASL sources required to boot the platform.
#
-# Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2013, Linaro Ltd.
+#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
@@ -14,57 +15,37 @@
#
##
-/*
- * Copyright (c) 2013 Linaro Limited
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the BSD License which accompanies
- * this distribution, and is available at
- * http://opensource.org/licenses/bsd-license.php
- *
- * Contributors:
- * Yi Li - yi.li@linaro.org
-*/
[Defines]
INF_VERSION = 0x00010005
BASE_NAME = PlatformAcpiTables
FILE_GUID = 7E374E25-8E01-4FEE-87F2-390C23C606CD
MODULE_TYPE = USER_DEFINED
VERSION_STRING = 1.0
- FFS_EXT = SEC
- COMPILE_SELECT = .c=acpi_c
[Sources]
- Platform.h
- Apic.aslc
- Bert.aslc
- Dsdt.asl
- Ecdt.aslc
- Einj.aslc
- Erst.aslc
- Facp.aslc
- Facs.aslc
- Gtdt.aslc
- Hest.aslc
- Mcfg.aslc
- Mpst.aslc
- Msct.aslc
- Oem0.aslc
- Pmtt.aslc
- Slit.aslc
- Spmi.aslc
- Srat.aslc
- Ssdt0.asl
- Uefi.aslc
-
- ###rsdp/xsdt created by building the acpi table
- ###tables need to change format
- #asf!.asl
- #bgrt.asl
- #boot.asl
- #cpep.asl
- #fpdt.asl
- #tpm2.asl
+ facp.asl
+ dsdt.asl
+ ssdt0.asl
+ bert.asl
+ ecdt.asl
+ facs.asl
+ gtdt.asl
+ hest.asl
+ apic.asl
+ mcfg.asl
+ mpst.asl
+ oem0.asl
+ slit.asl
+ spmi.asl
+ srat.asl
+ uefi.asl
+ cpep.asl
+ einj.asl
+ erst.asl
+ fpdt.asl
+ mchi.asl
+ msct.asl
+ pmtt.asl
[Packages]
MdePkg/MdePkg.dec
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Apic.aslc b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Apic.aslc
deleted file mode 100644
index e18c1a555..000000000
--- a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Apic.aslc
+++ /dev/null
@@ -1,216 +0,0 @@
-/** @file
- MADT Table
-
- This file contains a structure definition for the ACPI 1.0 Multiple APIC
- Description Table (MADT).
-
- Copyright (c) 2008 - 2012, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are
- licensed and made available under the terms and conditions of the BSD License
- which accompanies this distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-**/
-
-/*
- * Copyright (c) 2013 Linaro Limited
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the BSD License which accompanies
- * this distribution, and is available at
- * http://opensource.org/licenses/bsd-license.php
- *
- * Contributors:
- * Yi Li - yi.li@linaro.org
-*/
-#include <IndustryStandard/Acpi.h>
-#include <Platform.h>
-
-//
-// Local APIC address
-//
-#define EFI_ACPI_LOCAL_APIC_ADDRESS 0x2C002000 // TBD
-
-
-#define ACPI_PROCESSOR_LOCAL_GIC 0xb
-#define ACPI_GIC_DISTRIBUTOR 0xc
-
-//These addresses are defined by the MP shared region defined in the UEFI memory map.
-#define MP_REGISTER_ADDRESS_GIC0 0x80301000
-#define DISTRIBUTOR_PHYSICAL_ADDRESS 0x02000000
-
-#define ACPI_GICC_NUM 0x8
-
-//
-// Ensure proper structure formats
-//
-#pragma pack (1)
-//
-// ACPI 5.0 MADT structure
-//
-typedef struct {
- EFI_ACPI_5_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER Header;
- EFI_ACPI_5_0_GIC_STRUCTURE Gic[ACPI_GICC_NUM];
- EFI_ACPI_5_0_GIC_DISTRIBUTOR_STRUCTURE Distributor;
-
-} EFI_ACPI_5_0_MULTIPLE_APIC_DESCRIPTION_TABLE;
-
-#pragma pack ()
-
-//
-// Multiple APIC Description Table
-//
-EFI_ACPI_5_0_MULTIPLE_APIC_DESCRIPTION_TABLE Madt = {
- {
- {
- EFI_ACPI_5_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE,
- sizeof (EFI_ACPI_5_0_MULTIPLE_APIC_DESCRIPTION_TABLE),
- EFI_ACPI_5_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION,
- 0x00, // Checksum will be updated at runtime
- {EFI_ACPI_OEM_ID},
- EFI_ACPI_OEM_TABLE_ID,
- EFI_ACPI_OEM_REVISION,
- EFI_ACPI_CREATOR_ID,
- EFI_ACPI_CREATOR_REVISION
- },
-
- //
- // MADT specific fields
- //
- EFI_ACPI_LOCAL_APIC_ADDRESS,
- 0x00000000
- },
- {
- //LocalGic0
- {
- ACPI_PROCESSOR_LOCAL_GIC, //Type
- sizeof (EFI_ACPI_5_0_GIC_STRUCTURE), //Length
- 0x00, //Reserved
- 0x00, //GicId
- 0x00, //AcpiProcessorUid
- 0x00000001, //Flags
- 0x00000000, //ParkingProtocolVersion
- 0x00000000, //PerformanceInterruptGsiv
- 0x0000000000000000, //ParkedAddress
- 0x000000002C002000, //PhysicalBaseAddress
- },
- //LocalGic1
- {
- ACPI_PROCESSOR_LOCAL_GIC, //Type
- sizeof (EFI_ACPI_5_0_GIC_STRUCTURE), //Length
- 0x00, //Reserved
- 0x01, //GicId
- 0x01, //AcpiProcessorUid
- EFI_ACPI_5_0_GIC_ENABLED, //Flags
- 0x00000000, //ParkingProtocolVersion
- 0x00000000, //PerformanceInterruptGsiv
- 0x0000000000000000, //ParkedAddress
- 0x000000002C002000 //PhysicalBaseAddress
- },
- //LocalGic2
- {
- ACPI_PROCESSOR_LOCAL_GIC, //Type:
- sizeof (EFI_ACPI_5_0_GIC_STRUCTURE), //Length
- 0x00, //Reserved
- 0x02, //GicId
- 0x02, //AcpiProcessorUid
- EFI_ACPI_5_0_GIC_ENABLED, //Flags
- 0x00000000, //ParkingProtocolVersion
- 0x00000000, //PerformanceInterruptGsiv
- 0x0000000000000000, //ParkedAddress
- 0x000000002C002000, //PhysicalBaseAddress
- },
- //LocalGic3
- {
- ACPI_PROCESSOR_LOCAL_GIC, //Type
- sizeof (EFI_ACPI_5_0_GIC_STRUCTURE), //Length
- 0x00, //Reserved
- 0x03, //GicId
- 0x03, //AcpiProcessorUid
- EFI_ACPI_5_0_GIC_ENABLED, //Flags
- 0x00000000, //ParkingProtocolVersion
- 0x00000000, //PerformanceInterruptGsiv
- 0x0000000000000000, //ParkedAddress
- 0x000000002C002000, //PhysicalBaseAddress
- },
- //LocalGic4
- {
- ACPI_PROCESSOR_LOCAL_GIC, //Type
- sizeof (EFI_ACPI_5_0_GIC_STRUCTURE), //Length
- 0x00, //Reserved
- 0x04, //GicId
- 0x04, //AcpiProcessorUid
- 0, //Flags
- 0x00000000, //ParkingProtocolVersion
- 0x00000000, //PerformanceInterruptGsiv
- 0x0000000000000000, //ParkedAddress
- 0x000000002C002000, //PhysicalBaseAddress
- },
- //LocalGic5
- {
- ACPI_PROCESSOR_LOCAL_GIC, //Type
- sizeof (EFI_ACPI_5_0_GIC_STRUCTURE), //Length
- 0x00, //Reserved
- 0x05, //GicId
- 0x05, //AcpiProcessorUid
- 0x0, //Flags
- 0x00000000, //ParkingProtocolVersion
- 0x00000000, //PerformanceInterruptGsiv
- 0x0000000000000000, //ParkedAddress
- 0x000000002C002000, //PhysicalBaseAddress
- },
- //LocalGic6
- {
- ACPI_PROCESSOR_LOCAL_GIC, //Type
- sizeof (EFI_ACPI_5_0_GIC_STRUCTURE), //Length
- 0x00, //Reserved
- 0x06, //GicId
- 0x06, //AcpiProcessorUid
- 0x0, //Flags
- 0x00000000, //ParkingProtocolVersion
- 0x00000000, //PerformanceInterruptGsiv
- 0x0000000000000000, //ParkedAddress
- 0x000000002C002000 , //PhysicalBaseAddress
- },
- //LocalGic7
- {
- ACPI_PROCESSOR_LOCAL_GIC, //Type
- sizeof (EFI_ACPI_5_0_GIC_STRUCTURE), //Length
- 0x00, //Reserved
- 0x07, //GicId
- 0x07, //AcpiProcessorUid
- 0x0, //Flags
- 0x00000000, //ParkingProtocolVersion
- 0x00000000, //PerformanceInterruptGsiv
- 0x0000000000000000, //ParkedAddress
- 0x000000002C002000, //PhysicalBaseAddress
- },
- },
- //Distributor
- {
- ACPI_GIC_DISTRIBUTOR, //Type
- sizeof (EFI_ACPI_5_0_GIC_DISTRIBUTOR_STRUCTURE), //Length
- 0, //Reserved1
- 0, //GicId
- 0x000000002C001000, //PhysicalBaseAddress
- 0, //SystemVectorBase
- 0 //Reserved2
- }
-
-};
-
-
-VOID*
-ReferenceAcpiTable (
- VOID
- )
-{
- //
- // Reference the table being generated to prevent the optimizer from removing the
- // data structure from the exeutable
- //
- return (VOID*)&Madt;
-}
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Bert.aslc b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Bert.aslc
deleted file mode 100644
index 0fe2bc43a..000000000
--- a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Bert.aslc
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (c) 2013 Linaro Limited
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the BSD License which accompanies
- * this distribution, and is available at
- * http://opensource.org/licenses/bsd-license.php
- *
- * Contributors:
- * Yi Li - yi.li@linaro.org
-*/
-
-#include <IndustryStandard/Acpi.h>
-#include <Platform.h>
-
-// Generic error severity in data entry
-#define BOOT_ERROR_SEVERITY_RECOVERABLE 0
-#define BOOT_ERROR_SEVERITY_FATAL 1
-#define BOOT_ERROR_SEVERITY_CORRECTED 2
-#define BOOT_ERROR_SEVERITY_NONE 3
-
-#pragma pack(1)
-
-// ErrorStatus block record definitions for various errors
-typedef struct {
- UINT32 UeValid:1;
- UINT32 CeValid:1;
- UINT32 MultipleUeValid:1;
- UINT32 MultipleCeValid:1;
- UINT32 NumErrorDataEntry:10;
- UINT32 Resv1:18;
-} BOOT_ERROR_BLOCK_STATUS;
-
-
-typedef struct {
- // Error Status block
- BOOT_ERROR_BLOCK_STATUS BlockStatus;
- UINT32 RawDataOffset;
- UINT32 RawDataSize;
- UINT32 ErrDataSize;
- UINT32 Severity;
- // Error Status data...
-} EFI_ACPI_5_0_BOOT_ERROR_REGION;
-
-
-typedef struct {
- EFI_ACPI_DESCRIPTION_HEADER Header;
- UINT32 BootErrorRegionLen;
- UINT64 BootErrorRegion;
-} EFI_ACPI_5_0_BOOT_ERROR_RECORD_TABLE;
-
-#pragma pack()
-
-
-
-EFI_ACPI_5_0_BOOT_ERROR_RECORD_TABLE Bert = {
- {
- EFI_ACPI_5_0_BOOT_ERROR_RECORD_TABLE_SIGNATURE,
- sizeof (EFI_ACPI_5_0_BOOT_ERROR_RECORD_TABLE),
- EFI_ACPI_5_0_BOOT_ERROR_RECORD_TABLE_REVISION,
- 0x00, // Checksum will be updated at runtime
- {EFI_ACPI_OEM_ID},
- EFI_ACPI_OEM_TABLE_ID,
- 0x02,
- EFI_ACPI_CREATOR_ID,
- EFI_ACPI_CREATOR_REVISION
- },
- 0x9D, //BootErrorRegionLen
- 0xFFFF0008 //BootErrorRegion
-
-};
-
-
-VOID*
-ReferenceAcpiTable (
- VOID
- )
-{
- //
- // Reference the table being generated to prevent the optimizer from removing the
- // data structure from the exeutable
- //
- return (VOID*)&Bert;
-}
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Dsdt.asl b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Dsdt.asl
deleted file mode 100644
index c4185fecb..000000000
--- a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Dsdt.asl
+++ /dev/null
@@ -1,255 +0,0 @@
-/*
- * Copyright (c) 2013, Al Stone <al.stone@linaro.org>
- *
- * [DSDT] Description of the armv8 VE Model
- *
- * This source is released under the terms of the GPLv2.
- */
-
-DefinitionBlock (
- "dsdt.aml", // output filename
- "DSDT", // table signature
- 2, // DSDT compliance revision
- "LINARO", // OEM ID
- "RTSMVEV8", // table ID
- 0x00000003) // OEM revision
-{
- Scope (\_SB)
- {
- Method (_OSC, 4, NotSerialized)
- {
- /* Platform-Wide OSPM Capabilities */
- If(LEqual(Arg0,ToUUID("0811B06E-4A27-44F9-8D60-3CBBC22E7B48")))
- {
- /* APEI support unconditionally */
- Return (Arg3)
- } Else {
- CreateDWordField (Arg3, Zero, CDW1)
- /* Set invalid UUID error bit */
- Or (CDW1, 0x04, CDW1)
- Return (Arg3)
- }
- }
-
- Device (HED)
- {
- Name (_HID, EisaId ("PNP0C33"))
- Name (_UID, 0x00)
- }
-
- Device (SCK0)
- {
- Name (_HID, "ACPI0004")
- Name (_UID, 0x00)
- Method (_STA, 0, NotSerialized)
- {
- Return (0x0F)
- }
-
- Device (PRC0)
- {
- Name (_HID, "ACPI0007")
- Name (_UID, 0x00)
-
- /* CPU0 will be always present */
- Method (_STA, 0, NotSerialized)
- {
- Return (0x0F)
- }
-
- Name (MAT0, Buffer (0x28)
- {
- /* 0000 */ 0x0B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* type, len, reserved, gic_id */
- /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, /* uid, flags */
- /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* parking_version, performance_interrupt */
- /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* parked_address */
- /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* base_address */
- })
-
- Name (MAT1, Buffer (0x28)
- {
- /* 0000 */ 0x0B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- })
-
- Method (_MAT, 0, NotSerialized)
- {
- If (_STA())
- {
- Return (MAT0)
- }
- Else
- {
- Return (MAT1)
- }
- }
- }
-
- Device (PRC1)
- {
- Name (_HID, "ACPI0007")
- Name (_UID, 0x01)
-
- Name (STA1, 0x0F)
- Method (_STA, 0, NotSerialized)
- {
- Return (STA1)
- }
-
- Method (_EJ0, 1, NotSerialized)
- {
- If (LEqual (STA1, 0x0F))
- {
- Store (0x00, STA1)
- }
- }
-
- Name (MAT0, Buffer (0x28)
- {
- /* 0000 */ 0x0B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- /* 0008 */ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
- /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- })
-
- Name (MAT1, Buffer (0x28)
- {
- /* 0000 */ 0x0B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- /* 0008 */ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
- /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- })
-
- Method (_MAT, 0, NotSerialized)
- {
- If (_STA())
- {
- Return (MAT0)
- }
- Else
- {
- Return (MAT1)
- }
- }
- }
-
- Device (PRC2)
- {
- Name (_HID, "ACPI0007")
- Name (_UID, 0x02)
-
- Name (STA2, 0x0F)
- Method (_STA, 0, NotSerialized)
- {
- Return (STA2)
- }
-
- Method (_EJ0, 1, NotSerialized)
- {
- If (LEqual (STA2, 0x0F))
- {
- Store (0x00, STA2)
- }
- }
-
- Name (MAT0, Buffer (0x28)
- {
- /* 0000 */ 0x0B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
- /* 0008 */ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
- /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- })
-
- Name (MAT1, Buffer (0x28)
- {
- /* 0000 */ 0x0B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
- /* 0008 */ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
- /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- })
-
- Method (_MAT, 0, NotSerialized)
- {
- If (_STA())
- {
- Return (MAT0)
- }
- Else
- {
- Return (MAT1)
- }
- }
- }
-
- Device (PRC3)
- {
- Name (_HID, "ACPI0007")
- Name (_UID, 0x03)
-
- Name (STA3, 0x0F)
- Method (_STA, 0, NotSerialized)
- {
- Return (STA3)
- }
-
- Method (_EJ0, 1, NotSerialized)
- {
- If (LEqual (STA3, 0x0F))
- {
- Store (0x00, STA3)
- }
- }
-
- Name (MAT0, Buffer (0x28)
- {
- /* 0000 */ 0x0B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
- /* 0008 */ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
- /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- })
-
- Name (MAT1, Buffer (0x28)
- {
- /* 0000 */ 0x0B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
- /* 0008 */ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
- /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- })
-
- Method (_MAT, 0, NotSerialized)
- {
- If (_STA())
- {
- Return (MAT0)
- }
- Else
- {
- Return (MAT1)
- }
- }
- }
- }
-
- Device (NET0) {
- Name (_HID, "LINA0003")
- Name (_UID, 0)
-
- Method (_CRS, 0x0, Serialized) {
- Name (RBUF, ResourceTemplate () {
- Memory32Fixed (ReadWrite, 0x1a000000, 0x00010000)
- Interrupt (ResourceConsumer, Edge, ActiveBoth, Exclusive, , , ) {0x2F}
- })
- Return (RBUF)
- }
- }
- }
-}
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Ecdt.aslc b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Ecdt.aslc
deleted file mode 100644
index d817d5988..000000000
--- a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Ecdt.aslc
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 2013 Linaro Limited
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the BSD License which accompanies
- * this distribution, and is available at
- * http://opensource.org/licenses/bsd-license.php
- *
- * Contributors:
- * Yi Li - yi.li@linaro.org
-*/
-
-#include <IndustryStandard/Acpi.h>
-#include <Platform.h>
-
-typedef struct
-{
- EFI_ACPI_5_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE table;
- UINT8 ucNamepath;
-}EFI_ACPI_5_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_EX;
-
-
-EFI_ACPI_5_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_EX Ecdt= {
- {
- {
- EFI_ACPI_5_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_SIGNATURE,
- sizeof (EFI_ACPI_5_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_EX),
- EFI_ACPI_5_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_REVISION,
- 0x00, // Checksum will be updated at runtime
- {EFI_ACPI_OEM_ID},
- EFI_ACPI_OEM_TABLE_ID,
- EFI_ACPI_OEM_REVISION,
- EFI_ACPI_CREATOR_ID,
- EFI_ACPI_CREATOR_REVISION
- },
- /*Command/Status Register Generic Address Structure*/
- {
- 0x01, //Space ID:SystemIO
- 0x08, //Bit Width
- 0x00, //Bit Offset
- 0x00, //Encoded Access Width
- 0x0000000000000066, //Address
- },
- /*Data Register Generic Address Structure*/
- {
- 0x01, //Space ID:SystemIO
- 0x08, //Bit Width
- 0x00, //Bit Offset
- 0x00, //Encoded Access Width
- 0x0000000000000062, //Address
- },
- 0x00000000, //UID
- 0x9, //GPE Number
- },
- 0x0 //Namepath
-};
-
-
-VOID*
-ReferenceAcpiTable (
- VOID
- )
-{
- //
- // Reference the table being generated to prevent the optimizer from removing the
- // data structure from the exeutable
- //
- return (VOID*)&Ecdt;
-}
-
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Einj.aslc b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Einj.aslc
deleted file mode 100644
index 7392cc2f3..000000000
--- a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Einj.aslc
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * Copyright (c) 2013 Linaro Limited
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the BSD License which accompanies
- * this distribution, and is available at
- * http://opensource.org/licenses/bsd-license.php
- *
- * Contributors:
- * Yi Li - yi.li@linaro.org
-*/
-
-#include <IndustryStandard/Acpi.h>
-#include <Platform.h>
-
-#pragma pack (1)
-typedef struct {
- UINT8 Operation;
- UINT8 Instruction;
- UINT8 Flags;
- UINT8 Reserved8;
- EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE Register;
- UINT64 Value;
- UINT64 Mask;
-} EFI_ACPI_WHEA_SERIALIZATION_ACTION;
-
-typedef struct {
- EFI_ACPI_DESCRIPTION_HEADER Header;
- UINT32 InjectionHeaderSize;
- UINT32 Resv1;
- UINT32 InstructionEntryCount;
-} EFI_ACPI_WHEA_ERROR_INJECTION_HEADER;
-
-typedef struct {
- EFI_ACPI_WHEA_ERROR_INJECTION_HEADER header;
- EFI_ACPI_WHEA_SERIALIZATION_ACTION InstructionEntry[8];
-} EFI_ACPI_5_0_ERROR_INJECTION_TABLE;
-
-#pragma pack ()
-
-
-EFI_ACPI_5_0_ERROR_INJECTION_TABLE Einj = {
- {
- {
- EFI_ACPI_5_0_ERROR_INJECTION_TABLE_SIGNATURE,
- sizeof (EFI_ACPI_5_0_ERROR_INJECTION_TABLE),
- EFI_ACPI_5_0_ERROR_INJECTION_TABLE_REVISION,
- 0x00, // Checksum will be updated at runtime
- {EFI_ACPI_OEM_ID},
- EFI_ACPI_OEM_TABLE_ID,
- 0x00000002,
- EFI_ACPI_CREATOR_ID,
- EFI_ACPI_CREATOR_REVISION
- },
- sizeof(EFI_ACPI_WHEA_ERROR_INJECTION_HEADER),
- EFI_ACPI_RESERVED_DWORD,
- 0x08, /*Injection Entry Count*/
- },
-
- {
- { //Action0
- 0x00, // Action:Begin Operation
- 0x0, // Instruction:Read Register
- 0x0, // Flags
- 0x00, // Reserved
- /*Register Region*/
- {
- EFI_ACPI_3_0_SYSTEM_MEMORY, //Space ID
- 0x40, //Bit Width
- 0x0, //Bit Offset
- 0x4, //Encoded Access Width
- 0x0000000000000000, //Address
- },
- 0x0000000000000000, // Value for InjectError()
- 0xFFFFFFFFFFFFFFFF // Mask is only valid for 32-bits
- },
- { //Action1
- 0x01, // Action:Get Trigger Table
- 0x0, // Instruction:Read Register
- 0x0, // Flags
- 0x00, // Reserved
- /*Register Region*/
- {
- EFI_ACPI_3_0_SYSTEM_MEMORY, //Space ID
- 0x40, //Bit Width
- 0x0, //Bit Offset
- 0x4, //Encoded Access Width
- 0x0000000000000000, //Address
- },
- 0x0000000000000000, // Value for InjectError()
- 0xFFFFFFFFFFFFFFFF // Mask is only valid for 32-bits
- },
- { //Action2
- 0x02, // Action:Set Error Type
- 0x2, // Instruction:Write Register
- 0x1, // Flags
- 0x00, // Reserved
- /*Register Region*/
- {
- EFI_ACPI_3_0_SYSTEM_MEMORY, //Space ID
- 0x40, //Bit Width
- 0x0, //Bit Offset
- 0x4, //Encoded Access Width
- 0x0000000000000000, //Address
- },
- 0x0000000000000000, // Value for InjectError()
- 0xFFFFFFFFFFFFFFFF // Mask is only valid for 32-bits
- },
- { //Action3
- 0x03, // Action:Get Error Type
- 0x0, // Instruction:Read Register
- 0x0, // Flags
- 0x00, // Reserved
- /*Register Region*/
- {
- EFI_ACPI_3_0_SYSTEM_MEMORY, //Space ID
- 0x40, //Bit Width
- 0x0, //Bit Offset
- 0x4, //Encoded Access Width
- 0x0000000000000000, //Address
- },
- 0x0000000000000000, // Value for InjectError()
- 0xFFFFFFFFFFFFFFFF // Mask is only valid for 32-bits
- },
- { //Action4
- 0x04, // Action:End Operation
- 0x3, // Instruction:Write Register
- 0x1, // Flags
- 0x00, // Reserved
- /*Register Region*/
- {
- EFI_ACPI_3_0_SYSTEM_MEMORY, //Space ID
- 0x40, //Bit Width
- 0x0, //Bit Offset
- 0x4, //Encoded Access Width
- 0x0000000000000000, //Address
- },
- 0x0000000000000000, // Value for InjectError()
- 0xFFFFFFFFFFFFFFFF // Mask is only valid for 32-bits
- },
- { //Action5
- 0x05, // Action:Execute Operation
- 0x3, // Instruction:Write Register
- 0x1, // Flags
- 0x00, // Reserved
- /*Register Region*/
- {
- EFI_ACPI_3_0_SYSTEM_IO, //Space ID
- 0x10, //Bit Width
- 0x0, //Bit Offset
- 0x2, //Encoded Access Width
- 0x0000000000000000, //Address
- },
- 0x0000000000000000, // Value for InjectError()
- 0xFFFFFFFFFFFFFFFF // Mask is only valid for 32-bits
- },
- { //Action6
- 0x06, // Action:Check Busy Status
- 0x1, // Instruction:Read Register
- 0x0, // Flags
- 0x00, // Reserved
- /*Register Region*/
- {
- EFI_ACPI_3_0_SYSTEM_MEMORY, //Space ID
- 0x40, //Bit Width
- 0x0, //Bit Offset
- 0x4, //Encoded Access Width
- 0x0000000000000000, //Address
- },
- 0x0000000000000000, // Value for InjectError()
- 0xFFFFFFFFFFFFFFFF // Mask is only valid for 32-bits
- },
- { //Action7
- 0x07, // Action:Get Command Status
- 0x0, // Instruction:Read Register
- 0x1, // Flags
- 0x00, // Reserved
- /*Register Region*/
- {
- EFI_ACPI_3_0_SYSTEM_MEMORY, //Space ID
- 0x40, //Bit Width
- 0x0, //Bit Offset
- 0x4, //Encoded Access Width
- 0x0000000000000000, //Address
- },
- 0x0000000000000000, // Value for InjectError()
- 0xFFFFFFFFFFFFFFFF // Mask is only valid for 32-bits
- },
- },
-};
-
-VOID*
-ReferenceAcpiTable (
- VOID
- )
-{
- //
- // Reference the table being generated to prevent the optimizer from removing the
- // data structure from the exeutable
- //
- return (VOID*)&Einj;
-}
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Erst.aslc b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Erst.aslc
deleted file mode 100644
index 0170b99f4..000000000
--- a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Erst.aslc
+++ /dev/null
@@ -1,319 +0,0 @@
-/*
- * Copyright (c) 2013 Linaro Limited
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the BSD License which accompanies
- * this distribution, and is available at
- * http://opensource.org/licenses/bsd-license.php
- *
- * Contributors:
- * Yi Li - yi.li@linaro.org
-*/
-
-#include <IndustryStandard/Acpi.h>
-#include <Platform.h>
-
-#define ACTION_BEGIN_WRITE_OPERATION 0x00
-#define ACTION_BEGIN_READ_OPERATION 0x01
-#define ACTION_BEGIN_CLEAR_OPERATION 0x02
-#define ACTION_END_OPERATION 0x03
-#define ACTION_SET_RECORD_OFFSET 0x04
-#define ACTION_EXECUTE_OPEARTION 0x05
-#define ACTION_CHECK_BUSY_STATUS 0x06
-#define ACTION_GET_COMMAND_STATUS 0x07
-#define ACTION_GET_RECORD_IDENTIFIER 0x08
-#define ACTION_SET_RECORD_IDENTIFIER 0x09
-#define ACTION_GET_RECORD_COUNT 0x0A
-#define ACTION_BEGIN_DUMMY_WRITE_OPERATION 0x0B
-#define ACTION_GET_NEXT_RECORD_IDENTIFIER 0x0C
-#define ACTION_GET_ERROR_LOG_ADDRESS_RANGE 0x0D
-#define ACTION_GET_ERROR_LOG_ADDRESS_RANGE_LENGTH 0x0E
-#define ACTION_GET_ERROR_LOG_ADDRESS_RANGE_ATTRIBUTES 0x0F
-
-
-#pragma pack (1)
-
-typedef struct {
- UINT8 Operation;
- UINT8 Instruction;
- UINT8 Flags;
- UINT8 Reserved8;
- EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE Register;
- UINT64 Value;
- UINT64 Mask;
-} EFI_ACPI_5_0_SERIALIZATION_ACTION;
-
-
-typedef struct {
- EFI_ACPI_DESCRIPTION_HEADER Header;
- UINT32 SerializationHeaderSize;
- UINT32 Resv1;
- UINT32 InstructionEntryCount;
- EFI_ACPI_5_0_SERIALIZATION_ACTION InstructionEntry[16];
-} EFI_ACPI_5_0_BOOT_ERROR_RECORD_SERIALIZATION_TABLE;
-
-typedef struct {
- EFI_ACPI_DESCRIPTION_HEADER Header;
- UINT32 SerializationHeaderSize;
- UINT32 Resv1;
- UINT32 InstructionEntryCount;
-} EFI_ACPI_5_0_SERIALIZATION_ACTION_HEADER;
-#pragma pack ()
-
-
-
-EFI_ACPI_5_0_BOOT_ERROR_RECORD_SERIALIZATION_TABLE Erst = {
- {
- EFI_ACPI_5_0_ERROR_RECORD_SERIALIZATION_TABLE_SIGNATURE,
- sizeof (EFI_ACPI_5_0_BOOT_ERROR_RECORD_SERIALIZATION_TABLE),
- EFI_ACPI_5_0_ERROR_RECORD_SERIALIZATION_TABLE_REVISION,
- 0x00, // Checksum will be updated at runtime
- {EFI_ACPI_OEM_ID},
- EFI_ACPI_OEM_TABLE_ID,
- 0x00000002,
- EFI_ACPI_CREATOR_ID,
- EFI_ACPI_CREATOR_REVISION
- },
- sizeof(EFI_ACPI_5_0_SERIALIZATION_ACTION_HEADER),
- EFI_ACPI_RESERVED_DWORD,
- 0x10,
- {
- { //Action0
- 0x00, // Action:Begin Operation
- 0x3, // Instruction:Write Register
- 0x0, // Flags
- 0x00, // Reserved
- /*Register Region*/
- EFI_ACPI_3_0_SYSTEM_MEMORY, //Space ID
- 0x40, //Bit Width
- 0x0, //Bit Offset
- 0x4, //Encoded Access Width
- 0xFFFF0100, //Address
- 0x0000000000000000, // Value for InjectError()
- 0xFFFFFFFFFFFFFFFF // Mask is only valid for 32-bits
- },
- { //Action1
- 0x01, // Action:Begin Read Operation
- 0x3, // Instruction:Write Register
- 0x0, // Flags
- 0x00, // Reserved
- /*Register Region*/
- EFI_ACPI_3_0_SYSTEM_MEMORY, //Space ID
- 0x40, //Bit Width
- 0x0, //Bit Offset
- 0x4, //Encoded Access Width
- 0xFFFF0108, //Address
- 0x0000000000000000, // Value for InjectError()
- 0xFFFFFFFFFFFFFFFF // Mask is only valid for 32-bits
- },
- { //Action2
- 0x02, // Action:Begin Clear Operation
- 0x3, // Instruction:Write Register
- 0x0, // Flags
- 0x00, // Reserved
- /*Register Region*/
- EFI_ACPI_3_0_SYSTEM_MEMORY, //Space ID
- 0x40, //Bit Width
- 0x0, //Bit Offset
- 0x4, //Encoded Access Width
- 0xFFFF0110, //Address
- 0x0000000000000000, // Value for InjectError()
- 0xFFFFFFFFFFFFFFFF // Mask is only valid for 32-bits
- },
- { //Action3
- 0x03, // Action:Begin Clear Operation
- 0x4, // Instruction:Noop
- 0x1, // Flags
- 0x00, // Reserved
- /*Register Region*/
- EFI_ACPI_3_0_SYSTEM_MEMORY, //Space ID
- 0x40, //Bit Width
- 0x0, //Bit Offset
- 0x4, //Encoded Access Width
- 0xFFFF0118, //Address
- 0x0000000000000000, // Value for InjectError()
- 0xFFFFFFFFFFFFFFFF // Mask is only valid for 32-bits
- },
- { //Action4
- 0x04, // Action:Begin Clear Operation
- 0x2, // Instruction:Write Register
- 0x0, // Flags
- 0x00, // Reserved
- /*Register Region*/
- EFI_ACPI_3_0_SYSTEM_MEMORY, //Space ID
- 0x40, //Bit Width
- 0x0, //Bit Offset
- 0x4, //Encoded Access Width
- 0xFFFF0120, //Address
- 0x0000000000000000, // Value for InjectError()
- 0xFFFFFFFFFFFFFFFF // Mask is only valid for 32-bits
- },
- { //Action5
- 0x05, // Action:Execute Operation
- 0x3, // Instruction:Write Register
- 0x0, // Flags
- 0x00, // Reserved
- /*Register Region*/
- EFI_ACPI_5_0_SYSTEM_MEMORY, //Space ID
- 0x8, //Bit Width
- 0x0, //Bit Offset
- 0x1, //Encoded Access Width
- 0xFFFF0128, //Address
- 0x0000000000000000, // Value for InjectError()
- 0xFFFFFFFFFFFFFFFF // Mask is only valid for 32-bits
- },
- { //Action6
- 0x06, // Action:Check Busy Status
- 0x1, // Instruction:Read Register
- 0x0, // Flags
- 0x00, // Reserved
- /*Register Region*/
- EFI_ACPI_3_0_SYSTEM_MEMORY, //Space ID
- 0x40, //Bit Width
- 0x0, //Bit Offset
- 0x4, //Encoded Access Width
- 0xFFFF0130, //Address
- 0x0000000000000000, // Value for InjectError()
- 0xFFFFFFFFFFFFFFFF // Mask is only valid for 32-bits
- },
- { //Action7
- 0x07, // Action:Get Command Status
- 0x0, // Instruction:Read Register
- 0x0, // Flags
- 0x00, // Reserved
- /*Register Region*/
- EFI_ACPI_3_0_SYSTEM_MEMORY, //Space ID
- 0x40, //Bit Width
- 0x0, //Bit Offset
- 0x4, //Encoded Access Width
- 0xFFFF0138, //Address
- 0x0000000000000000, // Value for InjectError()
- 0xFFFFFFFFFFFFFFFF // Mask is only valid for 32-bits
- },
- { //Action8
- 0x08, // Action:Get Command Status
- 0x0, // Instruction:Read Register
- 0x0, // Flags
- 0x00, // Reserved
- /*Register Region*/
- EFI_ACPI_3_0_SYSTEM_MEMORY, //Space ID
- 0x40, //Bit Width
- 0x0, //Bit Offset
- 0x4, //Encoded Access Width
- 0xFFFF0140, //Address
- 0x0000000000000000, // Value for InjectError()
- 0xFFFFFFFFFFFFFFFF // Mask is only valid for 32-bits
- },
- { //Action9
- 0x09, // Action:Set Record Identifier
- 0x2, // Instruction:Write Register
- 0x0, // Flags
- 0x00, // Reserved
- /*Register Region*/
- EFI_ACPI_3_0_SYSTEM_MEMORY, //Space ID
- 0x40, //Bit Width
- 0x0, //Bit Offset
- 0x4, //Encoded Access Width
- 0xFFFF0148, //Address
- 0x0000000000000000, // Value for InjectError()
- 0xFFFFFFFFFFFFFFFF // Mask is only valid for 32-bits
- },
- { //Action10
- 0x0A, // Action:Get Record Count
- 0x0, // Instruction:Read Register
- 0x0, // Flags
- 0x00, // Reserved
- /*Register Region*/
- EFI_ACPI_3_0_SYSTEM_MEMORY, //Space ID
- 0x40, //Bit Width
- 0x0, //Bit Offset
- 0x4, //Encoded Access Width
- 0xFFFF0150, //Address
- 0x0000000000000000, // Value for InjectError()
- 0xFFFFFFFFFFFFFFFF // Mask is only valid for 32-bits
- },
- { //Action11
- 0x0B, // Action:Begin Dummy Write
- 0x3, // Instruction:Write Register
- 0x0, // Flags
- 0x00, // Reserved
- /*Register Region*/
- EFI_ACPI_3_0_SYSTEM_MEMORY, //Space ID
- 0x40, //Bit Width
- 0x0, //Bit Offset
- 0x4, //Encoded Access Width
- 0xFFFF0158, //Address
- 0x0000000000000000, // Value for InjectError()
- 0xFFFFFFFFFFFFFFFF // Mask is only valid for 32-bits
- },
- { //Action12
- 0x0C, // Action:Unused/Unknown Action
- 0x0, // Instruction:Read Register
- 0x0, // Flags
- 0x00, // Reserved
- /*Register Region*/
- EFI_ACPI_3_0_SYSTEM_MEMORY, //Space ID
- 0x40, //Bit Width
- 0x0, //Bit Offset
- 0x4, //Encoded Access Width
- 0xFFFF0160, //Address
- 0x0000000000000000, // Value for InjectError()
- 0xFFFFFFFFFFFFFFFF // Mask is only valid for 32-bits
- },
- { //Action13
- 0x0D, // Action:Get Error Address Range
- 0x0, // Instruction:Read Register
- 0x0, // Flags
- 0x00, // Reserved
- /*Register Region*/
- EFI_ACPI_3_0_SYSTEM_MEMORY, //Space ID
- 0x40, //Bit Width
- 0x0, //Bit Offset
- 0x4, //Encoded Access Width
- 0xFFFF0168, //Address
- 0x0000000000000000, // Value for InjectError()
- 0xFFFFFFFFFFFFFFFF // Mask is only valid for 32-bits
- },
- { //Action14
- 0x0E, // Action:Get Error Address Length
- 0x0, // Instruction:Read Register
- 0x0, // Flags
- 0x00, // Reserved
- /*Register Region*/
- EFI_ACPI_3_0_SYSTEM_MEMORY, //Space ID
- 0x40, //Bit Width
- 0x0, //Bit Offset
- 0x4, //Encoded Access Width
- 0xFFFF0170, //Address
- 0x0000000000000000, // Value for InjectError()
- 0xFFFFFFFFFFFFFFFF // Mask is only valid for 32-bits
- },
- { //Action15
- 0x0F, // Action:Get Error Attributes
- 0x0, // Instruction:Read Register
- 0x0, // Flags
- 0x00, // Reserved
- /*Register Region*/
- EFI_ACPI_3_0_SYSTEM_MEMORY, //Space ID
- 0x40, //Bit Width
- 0x0, //Bit Offset
- 0x4, //Encoded Access Width
- 0xFFFF0178, //Address
- 0x0000000000000000, // Value for InjectError()
- 0xFFFFFFFFFFFFFFFF // Mask is only valid for 32-bits
- },
- }
-
-};
-
-VOID*
-ReferenceAcpiTable (
- VOID
- )
-{
- //
- // Reference the table being generated to prevent the optimizer from removing the
- // data structure from the exeutable
- //
- return (VOID*)&Erst;
-}
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Facp.aslc b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Facp.aslc
deleted file mode 100644
index 729c5bc38..000000000
--- a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Facp.aslc
+++ /dev/null
@@ -1,175 +0,0 @@
-/** @file
- FACP Table
-
- Copyright (c) 2008 - 2012, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are
- licensed and made available under the terms and conditions of the BSD License
- which accompanies this distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-**/
-/*
- * Copyright (c) 2013 Linaro Limited
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the BSD License which accompanies
- * this distribution, and is available at
- * http://opensource.org/licenses/bsd-license.php
- *
- * Contributors:
- * Yi Li - yi.li@linaro.org
-*/
-
-#include "Platform.h"
-
-EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Facp = {
- {
- EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE,
- sizeof (EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE),
- EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION,
- 0, // to make sum of entire table == 0
- {EFI_ACPI_OEM_ID}, // OEMID is a 6 bytes long field
- EFI_ACPI_OEM_TABLE_ID, // OEM table identification(8 bytes long)
- 0x00, // OEM revision number
- EFI_ACPI_CREATOR_ID, // ASL compiler vendor ID
- EFI_ACPI_CREATOR_REVISION // ASL compiler revision number
- },
- 0, // Physical addesss of FACS
- 0x00000010, // Physical address of DSDT
- 0x0, // System Interrupt Model
- 0x4, // PM Profile
- SCI_INT_VECTOR, // System vector of SCI interrupt
- SMI_CMD_IO_PORT, // Port address of SMI command port
- ACPI_ENABLE, // value to write to port smi_cmd to enable ACPI
- ACPI_DISABLE, // value to write to port smi_cmd to disable ACPI
- S4BIOS_REQ, // Value to write to SMI CMD port to enter the S4BIOS state
- 0, // PState control
- PM1a_EVT_BLK, // Port address of Power Mgt 1a Event Reg Blk
- PM1b_EVT_BLK, // Port address of Power Mgt 1b Event Reg Blk
- PM1a_CNT_BLK, // Port address of Power Mgt 1a Ctrl Reg Blk
- PM1b_CNT_BLK, // Port address of Power Mgt 1b Ctrl Reg Blk
- PM2_CNT_BLK, // Port address of Power Mgt 2 Ctrl Reg Blk
- PM_TMR_BLK, // Port address of Power Mgt Timer Ctrl Reg Blk
- GPE0_BLK, // Port addr of General Purpose Event 0 Reg Blk
- GPE1_BLK, // Port addr of General Purpose Event 1 Reg Blk
- PM1_EVT_LEN, // Byte Length of ports at pm1X_evt_blk
- PM1_CNT_LEN, // Byte Length of ports at pm1X_cnt_blk
- PM2_CNT_LEN, // Byte Length of ports at pm2_cnt_blk
- PM_TM_LEN, // Byte Length of ports at pm_tm_blk
- GPE0_BLK_LEN, // Byte Length of ports at gpe0_blk
- GPE1_BLK_LEN, // Byte Length of ports at gpe1_blk
- GPE1_BASE, // offset in gpe model where gpe1 events start
- 0, // _CST support
- P_LVL2_LAT, // worst case HW latency to enter/exit C2 state
- P_LVL3_LAT, // worst case HW latency to enter/exit C3 state
- FLUSH_SIZE, // Size of area read to flush caches
- FLUSH_STRIDE, // Stride used in flushing caches
- DUTY_OFFSET, // bit location of duty cycle field in p_cnt reg
- DUTY_WIDTH, // bit width of duty cycle field in p_cnt reg
- DAY_ALRM, // index to day-of-month alarm in RTC CMOS RAM
- MON_ALRM, // index to month-of-year alarm in RTC CMOS RAM
- CENTURY, // index to century in RTC CMOS RAM
- 0x0000, // Boot architecture flag
- 0x00, // reserved
- FLAG,
-
- {
- 0x01, //Space ID
- 0x8, //Bit Width
- 0x0, //Bit Offset
- 0x1, //Encoded Access Width
- 0x0000000000000001,//Address
- },
-
- 0x0, //Value to cause reset
- {0,0,0}, //Reserved
- 0x0000000000000000,//FACS Address
- 0x0000000000000010,//DSDT Address
-
-
- /*PM1A Event Block*/
- 0x1, //Space ID:SystemIO
- 0x20, //Bit Width
- 0x0, //Bit Offset
- 0x2, //Encoded Access Width
- 0x0000000000000001, //Address
-
- /*PM1B Event Block*/
- 0x1, //Space ID:SystemIO
- 0x0, //Bit Width
- 0x0, //Bit Offset
- 0x0, //Encoded Access Width
- 0x0000000000000000, //Address
-
- /*PM1A Control Block*/
- 0x1, //Space ID:SystemIO
- 0x10, //Bit Width
- 0x0, //Bit Offset
- 0x02, //Encoded Access Width
- 0000000000000001, //Address
-
- /*PM1B Control Block*/
- 0x1, //Space ID:SystemIO
- 0x00, //Bit Width
- 0x0, //Bit Offset
- 0x0, //Encoded Access Width
- 0x0000000000000000, //Address
-
- /*PM2 Control Block*/
- 0x1, //Space ID:SystemIO
- 0x08, //Bit Width
- 0x0, //Bit Offset
- 0x0, //Encoded Access Width
- 0x0000000000000001, //Address
-
- /*PM Timer Block*/
- 0x1, //Space ID:SystemIO
- 0x20, //Bit Width
- 0x0, //Bit Offset
- 0x3, //Encoded Access Width
- 0x0000000000000001, //Address
-
- /*GPE0 Block*/
- 0x1, //Space ID:SystemIO
- 0x80, //Bit Width
- 0x0, //Bit Offset
- 0x1, //Encoded Access Width
- 0x0000000000000001, //Address
-
- /*GPE1 Block*/
- 0x1, //Space ID:SystemIO
- 0x00, //Bit Width
- 0x0, //Bit Offset
- 0x0, //Encoded Access Width
- 0x0000000000000000, //Address
-
- /*Sleep Control Register*/
- 0x1, //Space ID:SystemIO
- 0x08, //Bit Width
- 0x0, //Bit Offset
- 0x1, //Encoded Access Width
- 0x0000000000000000, //Address
-
- /*Sleep Status Register*/
- 0x1, //Space ID:SystemIO
- 0x08, //Bit Width
- 0x0, //Bit Offset
- 0x1, //Encoded Access Width
- 0x0000000000000000, //Address
-
-};
-
-VOID*
-ReferenceAcpiTable (
- VOID
- )
-{
- //
- // Reference the table being generated to prevent the optimizer from removing the
- // data structure from the exeutable
- //
- return (VOID*)&Facp;
-}
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Facs.aslc b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Facs.aslc
deleted file mode 100644
index 9bcddeaad..000000000
--- a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Facs.aslc
+++ /dev/null
@@ -1,86 +0,0 @@
-/** @file
- FACS Table
-
- Copyright (c) 2008 - 2012, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are
- licensed and made available under the terms and conditions of the BSD License
- which accompanies this distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-**/
-
-/*
- * Copyright (c) 2013 Linaro Limited
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the BSD License which accompanies
- * this distribution, and is available at
- * http://opensource.org/licenses/bsd-license.php
- *
- * Contributors:
- * Yi Li - yi.li@linaro.org
-*/
-
-#include <IndustryStandard/Acpi.h>
-
-EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE Facs = {
- EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE,
- sizeof (EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE),
-
- //
- // Hardware Signature will be updated at runtime
- //
- 0x00000000, //HardwareSignature
- 0x00, //FirmwareWakingVector
- 0x00, //GlobalLock
- 0x00, //Flags
- 0x0000000000000000, //XFirmwareWakingVector
- 0x02, //Version
- {
- EFI_ACPI_RESERVED_BYTE,
- EFI_ACPI_RESERVED_BYTE,
- EFI_ACPI_RESERVED_BYTE
- },
- 0x00,
- {
- EFI_ACPI_RESERVED_BYTE,
- EFI_ACPI_RESERVED_BYTE,
- EFI_ACPI_RESERVED_BYTE,
- EFI_ACPI_RESERVED_BYTE,
- EFI_ACPI_RESERVED_BYTE,
- EFI_ACPI_RESERVED_BYTE,
- EFI_ACPI_RESERVED_BYTE,
- EFI_ACPI_RESERVED_BYTE,
- EFI_ACPI_RESERVED_BYTE,
- EFI_ACPI_RESERVED_BYTE,
- EFI_ACPI_RESERVED_BYTE,
- EFI_ACPI_RESERVED_BYTE,
- EFI_ACPI_RESERVED_BYTE,
- EFI_ACPI_RESERVED_BYTE,
- EFI_ACPI_RESERVED_BYTE,
- EFI_ACPI_RESERVED_BYTE,
- EFI_ACPI_RESERVED_BYTE,
- EFI_ACPI_RESERVED_BYTE,
- EFI_ACPI_RESERVED_BYTE,
- EFI_ACPI_RESERVED_BYTE,
- EFI_ACPI_RESERVED_BYTE,
- EFI_ACPI_RESERVED_BYTE,
- EFI_ACPI_RESERVED_BYTE,
- EFI_ACPI_RESERVED_BYTE
- }
-};
-
-VOID*
-ReferenceAcpiTable (
- VOID
- )
-{
- //
- // Reference the table being generated to prevent the optimizer from removing the
- // data structure from the exeutable
- //
- return (VOID*)&Facs;
-}
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Gtdt.aslc b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Gtdt.aslc
deleted file mode 100644
index ab8a60ac0..000000000
--- a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Gtdt.aslc
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2013 Linaro Limited
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the BSD License which accompanies
- * this distribution, and is available at
- * http://opensource.org/licenses/bsd-license.php
- *
- * Contributors:
- * Yi Li - yi.li@linaro.org
-*/
-
-#include <IndustryStandard/Acpi.h>
-#include <Platform.h>
-
-EFI_ACPI_5_0_GENERIC_TIMER_DESCRIPTION_TABLE Gtdt =
-{
- {
- EFI_ACPI_5_0_GENERIC_TIMER_DESCRIPTION_TABLE_SIGNATURE,
- sizeof (EFI_ACPI_5_0_GENERIC_TIMER_DESCRIPTION_TABLE),
- EFI_ACPI_5_0_GENERIC_TIMER_DESCRIPTION_TABLE_REVISION,
- 0x00, // Checksum will be updated at runtime
- {EFI_ACPI_OEM_ID},
- EFI_ACPI_OEM_TABLE_ID,
- EFI_ACPI_OEM_REVISION,
- EFI_ACPI_CREATOR_ID,
- EFI_ACPI_CREATOR_REVISION
- },
- 0x0000000000000000, //Timer Address
- 0x00000001, //Flags
- 0x00000000, //Secure PL1 Interrupt
- 0x00000000, //SPL1 Flags
- 0x00000000, //Non-Secure PL1 Interrupt
- 0x00000000, //NSPL1 Flags
- 0x00000000, //Virtual Timer Interrupt
- 0x00000000, //VT Flags
- 0x00000000, //Non-Secure PL2 Interrupt
- 0x00000000, //NSPL2 Flags
-};
-
-VOID*
-ReferenceAcpiTable (
- VOID
- )
-{
- //
- // Reference the table being generated to prevent the optimizer from removing the
- // data structure from the exeutable
- //
- return (VOID*)&Gtdt;
-}
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Hest.aslc b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Hest.aslc
deleted file mode 100644
index 08092acea..000000000
--- a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Hest.aslc
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (c) 2013 Linaro Limited
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the BSD License which accompanies
- * this distribution, and is available at
- * http://opensource.org/licenses/bsd-license.php
- *
- * Contributors:
- * Yi Li - yi.li@linaro.org
-*/
-
-#include <IndustryStandard/Acpi.h>
-#include <Platform.h>
-
-#pragma pack(1)
-
-typedef struct {
- EFI_ACPI_DESCRIPTION_HEADER Header;
- UINT32 ErrorEntryCount;
- EFI_ACPI_5_0_GENERIC_HARDWARE_ERROR_SOURCE_STRUCTURE GenHardWareError;
-
-} EFI_ACPI_5_0_HARDWARE_ERROR_SOURCE_TABLE;
-
-#pragma pack()
-
-EFI_ACPI_5_0_HARDWARE_ERROR_SOURCE_TABLE Hest = {
- {
- EFI_ACPI_5_0_HARDWARE_ERROR_SOURCE_TABLE_SIGNATURE,
- sizeof (EFI_ACPI_5_0_HARDWARE_ERROR_SOURCE_TABLE),
- EFI_ACPI_5_0_HARDWARE_ERROR_SOURCE_TABLE_REVISION,
- 0x00, // Checksum will be updated at runtime
- {EFI_ACPI_OEM_ID},
- EFI_ACPI_OEM_TABLE_ID,
- 0x02,
- EFI_ACPI_CREATOR_ID,
- EFI_ACPI_CREATOR_REVISION
- },
- 0x00000001, //Error Source Count
-{
- 0x0009, //Subtable Type:Generic Hardware Error Source
- 0x0002, //Source Id
- 0xFFFF, //Related Source Id
- 0x00, //Reserved
- 0x01, //Enabled
- 0x00000001, //Records To Preallocate
- 0x00000001, //Max Sections Per Record
- 0x00001000, //Max Raw Data Length
-
- /* Error Status Address : [Generic Address Structure]*/
- {
- 0x00, //Space ID:SystemMemory
- 0x40, //Bit Width
- 0x00, //Bit Offset
- 0x04, //Encoded Access Width
- 0xFFFF0000, //Address
- },
- /*Notify : [Hardware Error Notification Structure]*/
- {
- 0x03, //Notify Type:SCI
- 0x1c, //Notify Length
- 0x0000, //Configuration Write Enable
- 0x00000000, //PollInterval
- 0x00000000, //Vector
- 0x00000000, //Polling Threshold Value
- 0x00000000, //Polling Threshold Window
- 0x00000000, //Error Threshold Value
- 0x00000000, //Error Threshold Window
- },
- 0x00001000, //Error Status Block Length
-},
-};
-
-VOID*
-ReferenceAcpiTable (
- VOID
- )
-{
- //
- // Reference the table being generated to prevent the optimizer from removing the
- // data structure from the exeutable
- //
- return (VOID*)&Hest;
-}
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Mcfg.aslc b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Mcfg.aslc
deleted file mode 100644
index 9451e9c50..000000000
--- a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Mcfg.aslc
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (c) 2013 Linaro Limited
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the BSD License which accompanies
- * this distribution, and is available at
- * http://opensource.org/licenses/bsd-license.php
- *
- * Contributors:
- * Yi Li - yi.li@linaro.org
-*/
-
-#include <IndustryStandard/Acpi.h>
-#include <Platform.h>
-
-#define ACPI_5_0_MCFG_VERSION 0x1
-
-#pragma pack(1)
-typedef struct
-{
- EFI_ACPI_DESCRIPTION_HEADER Header;
- UINT64 Reserved1;
- UINT64 ullBaseAddress;
- UINT16 usSegGroupNum;
- UINT8 ucStartBusNum;
- UINT8 ucEndBusNum;
- UINT32 Reserved2;
-}EFI_ACPI_5_0_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_TABLE;
-#pragma pack()
-
-EFI_ACPI_5_0_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_TABLE Mcfg=
-{
- {
- EFI_ACPI_5_0_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE,
- sizeof (EFI_ACPI_5_0_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_TABLE),
- ACPI_5_0_MCFG_VERSION,
- 0x00, // Checksum will be updated at runtime
- {EFI_ACPI_OEM_ID},
- EFI_ACPI_OEM_TABLE_ID,
- EFI_ACPI_OEM_REVISION,
- EFI_ACPI_CREATOR_ID,
- EFI_ACPI_CREATOR_REVISION
- },
- 0x0000000000000000, //Reserved
- 0x0000000000000000, //Base Address
- 0x0000, //Segment Group Number
- 0x00, //Start Bus Number
- 0x00, //End Bus Number
- 0x00000000, //Reserved
-};
-
-VOID*
-ReferenceAcpiTable (
- VOID
- )
-{
- //
- // Reference the table being generated to prevent the optimizer from removing the
- // data structure from the exeutable
- //
- return (VOID*)&Mcfg;
-}
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Mpst.aslc b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Mpst.aslc
deleted file mode 100644
index dfdda34a5..000000000
--- a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Mpst.aslc
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (c) 2013 Linaro Limited
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the BSD License which accompanies
- * this distribution, and is available at
- * http://opensource.org/licenses/bsd-license.php
- *
- * Contributors:
- * Yi Li - yi.li@linaro.org
-*/
-
-#include <IndustryStandard/Acpi.h>
-#include <Platform.h>
-
-#define MAX_POWER_STATES_NUM 0x2
-#define MAX_PHYSICAL_COMPONENTS_NUM 0x3
-#define MAX_MEMORY_POWER_NODE_COUNT 0x2
-#define MAX_CHARACTERISTICS_COUNT 0x2
-
-#pragma pack (1)
-typedef struct
-{
- EFI_ACPI_5_0_MPST_MEMORY_POWER_STRUCTURE structre;
- EFI_ACPI_5_0_MPST_MEMORY_POWER_STATE state[MAX_POWER_STATES_NUM];
- UINT16 components[MAX_PHYSICAL_COMPONENTS_NUM];
-}EFI_ACPI_5_0_MPST_MEMORY_POWER_STRUCTURE_EX;
-
-typedef struct
-{
- EFI_ACPI_5_0_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE structre;
- UINT64 ulResverd;
-}EFI_ACPI_5_0_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_EX;
-
-typedef struct
-{
- EFI_ACPI_5_0_MEMORY_POWER_STATUS_TABLE table;
- EFI_ACPI_5_0_MPST_MEMORY_POWER_NODE_TABLE node;
- EFI_ACPI_5_0_MPST_MEMORY_POWER_STRUCTURE_EX powerNode[MAX_MEMORY_POWER_NODE_COUNT];
- EFI_ACPI_5_0_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_TABLE Characteristics;
- EFI_ACPI_5_0_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_EX powerChar[MAX_CHARACTERISTICS_COUNT];
-}EFI_ACPI_5_0_MEMORY_POWER_STATUS_TABLE_EX;
-#pragma pack ()
-
-
-EFI_ACPI_5_0_MEMORY_POWER_STATUS_TABLE_EX Mpst ={
- {
- {
- EFI_ACPI_5_0_MEMORY_POWER_STATE_TABLE_SIGNATURE,
- 0x000000B6,
- EFI_ACPI_5_0_MEMORY_POWER_STATE_TABLE_REVISION,
- 0x00, // Checksum will be updated at runtime
- {EFI_ACPI_OEM_ID},
- EFI_ACPI_OEM_TABLE_ID,
- EFI_ACPI_OEM_REVISION,
- EFI_ACPI_CREATOR_ID,
- EFI_ACPI_CREATOR_REVISION
- },
- 0x00, //Channel ID
- {0,0,0}, //Reserved
-
- },
- 0x0002, //Power Node Count
- {0,0}, //Reserved
- {
- {
- 0x00, //Flags
- 0x00, //Reserved
- 0x0000, //Node ID
- 0x0000000000, //Length
- 0x00000000000000000000, //ange Address
- 0x00000000000000000000, //Range Length
- 0x00000002, // Num Power
- 0x00000003, // Num Physical Components
- {
- {
- 0x00, //Power State
- 0x00, //InfoIndex
- },
- {
- 0x00, //Power State
- 0x00, //InfoIndex
- },
- },
- 0x0000, //Component Id
- 0x0001, //Component Id
- 0x0002, //Component Id
- },
- {
- 0x00, //Flags
- 0x00, //Reserved
- 0x0000, //Node ID
- 0x0000000000, //Length
- 0x00000000000000000000, //ange Address
- 0x00000000000000000000, //Range Length
- 0x00000001, // Num Power
- 0x00000001, // Num Physical Components
- {
- 0x00, //Power State
- 0x00, //InfoIndex
- },
- 0x0000, //Component Id
-
- },
- },
-
- 0x0002, //Characteristics Count
- {0,0}, //Reserved
- {
- {
- 0x01, //Structure ID
- 0x00, //Flags
- 0x0000, //Reserved
- 0x00000000, //Average Power
- 0x00000000, //Power Saving
- 0x0000000000000000, //Exit Latency
- 0x0000000000000000, //Reserved
- },
- {
- 0x01, //Structure ID
- 0x00, //Flags
- 0x0000, //Reserved
- 0x00000000, //Average Power
- 0x00000000, //Power Saving
- 0x0000000000000000, //Exit Latency
- 0x0000000000000000, //Reserved
- },
- },
-};
-
-VOID*
-ReferenceAcpiTable (
- VOID
- )
-{
- //
- // Reference the table being generated to prevent the optimizer from removing the
- // data structure from the exeutable
- //
- return (VOID*)&Mpst;
-}
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Msct.aslc b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Msct.aslc
deleted file mode 100644
index 80c9d59b4..000000000
--- a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Msct.aslc
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright (c) 2013 Linaro Limited
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the BSD License which accompanies
- * this distribution, and is available at
- * http://opensource.org/licenses/bsd-license.php
- *
- * Contributors:
- * Yi Li - yi.li@linaro.org
-*/
-
-#include <IndustryStandard/Acpi.h>
-#include <Platform.h>
-
-#define EFI_ACPI_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE_REVISION 0x1
-//
-// MSCT Table definition
-//
-#pragma pack (1)
-typedef struct {
- UINT8 Revision;
- UINT8 Length;
- UINT32 ProxDomRangeLow;
- UINT32 ProxDomRangeHigh;
- UINT32 MaxProcessorCapacity;
- UINT64 MaxMemoryCapacity;
-} EFI_ACPI_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE;
-
-typedef struct {
- EFI_ACPI_5_0_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_HEADER Header;
- EFI_ACPI_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE ProxDomInfoStructure[4];
-} EFI_ACPI_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE;
-
-#pragma pack ()
-
-EFI_ACPI_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE Msct = {
- {
- {
- EFI_ACPI_5_0_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_SIGNATURE,
- sizeof (EFI_ACPI_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE),
- EFI_ACPI_5_0_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_REVISION,
- 0x00, // Checksum will be updated at runtime
- {EFI_ACPI_OEM_ID},
- EFI_ACPI_OEM_TABLE_ID,
- EFI_ACPI_OEM_REVISION,
- EFI_ACPI_CREATOR_ID,
- EFI_ACPI_CREATOR_REVISION
- },
- //
- // Beginning of MSCT specific fields
- //
- 0x00000038, // OffsetProxDomInfo
- 4 - 1, // MaxNumProxDom
- 0x00000000, // MaxNumClockDom
- 0x00000FFFFFFFFFFF, // MaxPhysicalAddress
- },
- {
- {
- EFI_ACPI_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE_REVISION, // Revision
- sizeof (EFI_ACPI_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE), // Length
- 0x00000000, // ProxDomRangeLow
- 0x00000003, // ProxDomRangeHigh
- 0x00000010, // MaxProcessorCapacity
- 0x0000004000000000 // MaxMemoryCapacity
- },
- {
- EFI_ACPI_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE_REVISION, // Revision
- sizeof (EFI_ACPI_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE), // Length
- 0x00000000, // ProxDomRangeLow
- 0x00000000, // ProxDomRangeHigh
- 0x00000000, // MaxProcessorCapacity
- 0x0000000000000000, // MaxMemoryCapacity
- },
-
- {
- EFI_ACPI_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE_REVISION, // Revision
- sizeof (EFI_ACPI_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE), // Length
- 0x00000000, // ProxDomRangeLow
- 0x00000000, // ProxDomRangeHigh
- 0x00000000, // MaxProcessorCapacity
- 0x0000000000000000, // MaxMemoryCapacity
- },
-
- {
- EFI_ACPI_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE_REVISION, // Revision
- sizeof (EFI_ACPI_MAXIMUM_PROXIMITY_DOMAIN_INFORMATION_STRUCTURE), // Length
- 0x00000000, // ProxDomRangeLow
- 0x00000000, // ProxDomRangeHigh
- 0x00000000, // MaxProcessorCapacity
- 0x0000000000000000, // MaxMemoryCapacity
- },
- },
-};
-
-VOID*
-ReferenceAcpiTable (
- VOID
- )
-{
- //
- // Reference the table being generated to prevent the optimizer from removing the
- // data structure from the exeutable
- //
- return (VOID*)&Msct;
-}
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Oem0.aslc b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Oem0.aslc
deleted file mode 100644
index 2e84daf4a..000000000
--- a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Oem0.aslc
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2013 Linaro Limited
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the BSD License which accompanies
- * this distribution, and is available at
- * http://opensource.org/licenses/bsd-license.php
- *
- * Contributors:
- * Yi Li - yi.li@linaro.org
-*/
-
-#include <IndustryStandard/Acpi.h>
-#include <Platform.h>
-
-#define EFI_ACPI_5_0_OEM0_SIGNATURE SIGNATURE_32('O', 'E', 'M', '0')
-#define ACPI_5_0_OEM0_REVISION 0x1
-
-typedef struct{
- EFI_ACPI_DESCRIPTION_HEADER Header;
-}EFI_ACPI_5_0_OEM0_TABLE;
-
-EFI_ACPI_5_0_OEM0_TABLE Oem0=
-{
- {
- EFI_ACPI_5_0_OEM0_SIGNATURE,
- sizeof (EFI_ACPI_5_0_OEM0_TABLE),
- ACPI_5_0_OEM0_REVISION,
- 0x00, // Checksum will be updated at runtime
- {EFI_ACPI_OEM_ID},
- EFI_ACPI_OEM_TABLE_ID,
- 0x0000000A,
- EFI_ACPI_CREATOR_ID,
- EFI_ACPI_CREATOR_REVISION
- },
-};
-
-VOID*
-ReferenceAcpiTable (
- VOID
- )
-{
- //
- // Reference the table being generated to prevent the optimizer from removing the
- // data structure from the exeutable
- //
- return (VOID*)&Oem0;
-}
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Platform.h b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Platform.h
deleted file mode 100644
index 147d3324e..000000000
--- a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Platform.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/** @file
- Platform specific defines for constructing ACPI tables
-
- Copyright (c) 2008, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are
- licensed and made available under the terms and conditions of the BSD License
- which accompanies this distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-**/
-
-/*
- * Copyright (c) 2013 Linaro Limited
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the BSD License which accompanies
- * this distribution, and is available at
- * http://opensource.org/licenses/bsd-license.php
- *
- * Contributors:
- * Yi Li - yi.li@linaro.org
-*/
-
-#ifndef _Platform_h_INCLUDED_
-#define _Platform_h_INCLUDED_
-
-#include <PiDxe.h>
-#include <IndustryStandard/Acpi.h>
-
-//
-// ACPI table information used to initialize tables.RTSMVEV8
-//
-#define EFI_ACPI_OEM_ID 'L','I','N','A','R','O' // OEMID 6 bytes long
-#define EFI_ACPI_OEM_TABLE_ID SIGNATURE_64('R','T','S','M','V','E','V','8' ) // OEM table id 8 bytes long
-#define EFI_ACPI_OEM_REVISION 0x00000001
-#define EFI_ACPI_CREATOR_ID SIGNATURE_32('I','N','T','L')
-#define EFI_ACPI_CREATOR_REVISION 0x20130517
-
-#define INT_MODEL 0x01
-#define SCI_INT_VECTOR 0x0
-#define SMI_CMD_IO_PORT 0x0
-#define ACPI_ENABLE 0x0
-#define ACPI_DISABLE 0x0
-#define S4BIOS_REQ 0x00
-#define PM1a_EVT_BLK 0x00000001
-#define PM1b_EVT_BLK 0x00000000
-#define PM1a_CNT_BLK 0x00000001
-#define PM1b_CNT_BLK 0x00000000
-#define PM2_CNT_BLK 0x00000001
-#define PM_TMR_BLK 0x00000001
-#define GPE0_BLK 0x00000001
-#define GPE1_BLK 0x00000000
-#define PM1_EVT_LEN 0x04
-#define PM1_CNT_LEN 0x02
-#define PM2_CNT_LEN 0x01
-#define PM_TM_LEN 0x04
-#define GPE0_BLK_LEN 0x08
-#define GPE1_BLK_LEN 0x00
-#define GPE1_BASE 0x00
-#define RESERVED 0x00
-#define P_LVL2_LAT 0x0000
-#define P_LVL3_LAT 0x0000
-#define FLUSH_SIZE 0x0000
-#define FLUSH_STRIDE 0x0000
-#define DUTY_OFFSET 0x00
-#define DUTY_WIDTH 0x00
-#define DAY_ALRM 0x00
-#define MON_ALRM 0x00
-#define CENTURY 0x00
-#define FLAG 0x00321033
-#endif
-
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Pmtt.aslc b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Pmtt.aslc
deleted file mode 100644
index f0b4f6cfe..000000000
--- a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Pmtt.aslc
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
- * Copyright (c) 2013 Linaro Limited
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the BSD License which accompanies
- * this distribution, and is available at
- * http://opensource.org/licenses/bsd-license.php
- *
- * Contributors:
- * Yi Li - yi.li@linaro.org
-*/
-
-#include <IndustryStandard/Acpi.h>
-#include <Platform.h>
-
-#define EFI_ACPI_MEMORY_AGGREGATOR_TYPE_SOCKET 00 //socket
-#define EFI_ACPI_MEMORY_AGGREGATOR_TYPE_MEMCTRL 01 //Memory Controller
-#define EFI_ACPI_MEMORY_AGGREGATOR_TYPE_DIMM 02 //DIMM
-#define EFI_ACPI_MEMORY_AGGREGATOR_TYPE_RESVERVED 03 //RESVERVED
-
-#define EFI_ACPI_MEMORY_AGGREGATOR_FLAG_TLAD 01
-#define EFI_ACPI_MEMORY_AGGREGATOR_FLAG_PHYELEMENT 02 // BIT1 - set to 1 since socket is a physical element of the topology
-//Bit 2 and 3 - If 00, indicates that all components aggregated by this device implements volatile memory
-// If 01, indicates that components aggregated by this device implements both volatile and non-volatile memory
-// If 10, indicates that all components aggregated by this device implements non-volatile memory
-#define EFI_ACPI_MEMORY_AGGREGATOR_FLAG__VOLATILE 00
-#define EFI_ACPI_MEMORY_AGGREGATOR_FLAG__MIXED 4
-#define EFI_ACPI_MEMORY_AGGREGATOR_FLAG__NONVOLATILE 0x08
-#define EFI_ACPI_MEMORY_AGGREGATOR_FLAG__RSVD 0x0C
-
-#define MAXNUMBER_OF_PROXIMITY_DOMAINS 0x3
-
-#define MAX_SOCKET 0x2
-#define NUM_MEM_CONTROLLERS 0x2
-#define MAX_DIMM 0x02
-
-#pragma pack (1)
-// PMMT Table fields
-typedef struct {
- UINT32 ReadLatency;
- UINT32 WriteLatency;
- UINT32 ReadBW;
- UINT32 WriteBW;
- UINT16 OptimalAccUnit;
- UINT16 OptimalAccAlignment;
-} EFI_ACPI_MEMCTRL_CHAR_TABLE;
-
-typedef struct {
- UINT8 Type;
- UINT8 Rsvd;
- UINT16 Length;
- UINT16 Flag;
- UINT16 Rsvd1;
- UINT16 PhyCompIdentifier;
- UINT16 Rsvd2;
- UINT32 Size;
- UINT32 SmBiosHandle;
-} EFI_ACPI_MEMORY_AGGREGATOR_DIMM_STRUC;
-
-typedef struct {
- UINT8 Type;
- UINT8 Rsvd;
- UINT16 Length;
- UINT16 Flag;
- UINT16 Rsvd1;
- EFI_ACPI_MEMCTRL_CHAR_TABLE MemCtrlCharTable;
- UINT16 Rsvd2;
- UINT16 NumProxDomains;
- UINT32 ProxDomain[MAXNUMBER_OF_PROXIMITY_DOMAINS];
- EFI_ACPI_MEMORY_AGGREGATOR_DIMM_STRUC PhyCompIdentStruc[MAX_DIMM];
-} EFI_ACPI_MEMORY_AGGREGATOR_MEMCTRL_STRUC;
-
-typedef struct {
- UINT8 Type;
- UINT8 Rsvd;
- UINT16 Length;
- UINT16 Flag;
- UINT16 Rsvd1;
- UINT16 SckIdent;
- UINT16 Rsvd2;
- EFI_ACPI_MEMORY_AGGREGATOR_MEMCTRL_STRUC MemCtrlStruc[NUM_MEM_CONTROLLERS];
-} EFI_ACPI_MEMORY_AGGREGATOR_SOCKET_STRUC;
-
-typedef struct {
- EFI_ACPI_5_0_MEMORY_TOPOLOGY_TABLE Header;
- EFI_ACPI_MEMORY_AGGREGATOR_SOCKET_STRUC TopLevelmemAggrDevStruc[MAX_SOCKET];
-} EFI_ACPI_5_0_PLATFORM_MEMORY_TOPOLOGY_TABLE;
-#pragma pack ()
-
-
-EFI_ACPI_5_0_PLATFORM_MEMORY_TOPOLOGY_TABLE Pmtt = {
- {
- {
- EFI_ACPI_5_0_PLATFORM_MEMORY_TOPOLOGY_TABLE_SIGNATURE,
- sizeof (EFI_ACPI_5_0_PLATFORM_MEMORY_TOPOLOGY_TABLE), // Length
- EFI_ACPI_5_0_MEMORY_TOPOLOGY_TABLE_REVISION, // Revision
- 0x00, // Checksum will be updated at runtime
- {EFI_ACPI_OEM_ID},
- EFI_ACPI_OEM_TABLE_ID,
- EFI_ACPI_OEM_REVISION,
- EFI_ACPI_CREATOR_ID,
- EFI_ACPI_CREATOR_REVISION
- },
- EFI_ACPI_RESERVED_DWORD, // Reserved[0]
- },
- {
- /*Socket 0*/
- {
- 0x00, //Subtable Type:Socket
- 0x00, //Reserved
- 0x0080, //Length
- 0x0001, //Flags
- 0x0000, //Reserved
- 0x0000, //Socket ID
- 0x0000, //Reserved
- {
- /*Memory Controller 1*/
-
- {
- 0x01, //Subtable Type:Memory Controller
- 0x00, //Reserved
- 0x0054, //Length
- 0x0005, //Flags
- 0x0000, //Reserved
- {
- 0x00000000, //Read Latency
- 0x00000000, //Write Latency
- 0x00000000, //Read Bandwidth
- 0x00000000, //Write Bandwidth
- 0x0000, //Access Width
- 0x0000, //Alignment
- },
- 0x0000, //Reserved
- MAXNUMBER_OF_PROXIMITY_DOMAINS, //Domain Count
- 0x00000000, //Proximity Domain
- 0x00000000, //Proximity Domain
- 0x00000000, //Proximity Domain
- {
- /*DIMM 0*/
- {
- 0x02, //Subtable Type:Physical Component (DIMM)
- 0x00, //Reserved
- 0x0014, //Length
- 0x0002, //Flags
- 0x0000, //Reserved
- 0x0000, //Component ID
- 0x0000, //Reserved
- 0x00000000, //Memory Size
- 0x00000000, //Bios Handle
- },
- /*DIMM 1*/
- {
- 0x02, //Subtable Type:Physical Component (DIMM)
- 0x00, //Reserved
- 0x0014, //Length
- 0x0002, //Flags
- 0x0000, //Reserved
- 0x0000, //Component ID
- 0x0000, //Reserved
- 0x00000000, //Memory Size
- 0x00000000, //Bios Handle
- },
- },
- },
-
- /*Memory Controller 2*/
- {
- 0x01, //Subtable Type:Memory Controller
- 0x00, //Reserved
- 0x0020, //Length
- 0x0001, //Flags
- 0x0000, //Reserved
- {
- 0x00000000, //Read Latency
- 0x00000000, //Write Latency
- 0x00000000, //Read Bandwidth
- 0x00000000, //Write Bandwidth
- 0x0000, //Access Width
- 0x0000 //Alignment
- },
- 0x0000, //Reserved
- 0x0000, //Domain Count
- {0},
- {0},
-
- },
- },
- },
-
-
- /*Socket 1*/
- {
- 0x00, //Subtable Type:Socket
- 0x00, //Reserved
- 0x000c, //Length
- 0x0001, //Flags
- 0x0000, //Reserved
- 0x0000, //Socket ID
- 0x0000 //Reserved
- },
- },
-
-
-};
-
-VOID*
-ReferenceAcpiTable (
- VOID
- )
-{
- //
- // Reference the table being generated to prevent the optimizer from removing the
- // data structure from the exeutable
- //
- return (VOID*)&Pmtt;
-}
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Slit.aslc b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Slit.aslc
deleted file mode 100644
index 05d96e029..000000000
--- a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Slit.aslc
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (c) 2013 Linaro Limited
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the BSD License which accompanies
- * this distribution, and is available at
- * http://opensource.org/licenses/bsd-license.php
- *
- * Contributors:
- * Yi Li - yi.li@linaro.org
-*/
-
-#include <IndustryStandard/Acpi.h>
-#include <Platform.h>
-
-#define EFI_ACPI_SYSTEM_LOCALITIES_ENTRY_COUNT 0x0000000000000014
-
-#pragma pack(1)
-typedef struct {
- UINT8 Entry[EFI_ACPI_SYSTEM_LOCALITIES_ENTRY_COUNT];
-} EFI_ACPI_5_0_NUMBER_OF_SYSTEM_LOCALITIES_STRUCTURE;
-
-typedef struct {
- EFI_ACPI_5_0_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_HEADER Header;
- EFI_ACPI_5_0_NUMBER_OF_SYSTEM_LOCALITIES_STRUCTURE NumSlit[EFI_ACPI_SYSTEM_LOCALITIES_ENTRY_COUNT];
-
-} EFI_ACPI_5_0_SYSTEM_LOCALITY_INFORMATION_TABLE;
-#pragma pack()
-
-//
-// System Locality Information Table
-// Please modify all values in Slit.h only.
-//
-EFI_ACPI_5_0_SYSTEM_LOCALITY_INFORMATION_TABLE Slit = {
- {
- {
- EFI_ACPI_5_0_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE,
- sizeof (EFI_ACPI_5_0_SYSTEM_LOCALITY_INFORMATION_TABLE),
- EFI_ACPI_5_0_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_REVISION,
- 0x00, // Checksum will be updated at runtime
- {EFI_ACPI_OEM_ID},
- EFI_ACPI_OEM_TABLE_ID,
- EFI_ACPI_OEM_REVISION,
- EFI_ACPI_CREATOR_ID,
- EFI_ACPI_CREATOR_REVISION,
- },
- //
- // Beginning of SLIT specific fields
- //
- EFI_ACPI_SYSTEM_LOCALITIES_ENTRY_COUNT,
- },
- {
- {0x0A, 0x10, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27}, //Locality 0
- {0x10, 0x0A, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,}, //Locality 1
- {0x16, 0x15, 0x0A, 0x10, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,}, //Locality 2
- {0x17, 0x16, 0x10, 0x0A, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24,}, //Locality 3
- {0x18, 0x17, 0x16, 0x15, 0x0A, 0x10, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23,}, //Locality 4
- {0x19, 0x18, 0x17, 0x16, 0x10, 0x0A, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22,}, //Locality 5
- {0x1A, 0x19, 0x18, 0x17, 0x16, 0x15, 0x0A, 0x10, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21,}, //Locality 6
- {0x1B, 0x1A, 0x19, 0x18, 0x17, 0x16, 0x10, 0x0A, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20,}, //Locality 7
- {0x1C, 0x1B, 0x1A, 0x19, 0x18, 0x17, 0x16, 0x15, 0x0A, 0x10, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F,}, //Locality 8
- {0x1D, 0x1C, 0x1B, 0x1A, 0x19, 0x18, 0x17, 0x16, 0x10, 0x0A, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E,}, //Locality 9
- {0x1E, 0x1D, 0x1C, 0x1B, 0x1A, 0x19, 0x18, 0x17, 0x16, 0x15, 0x0A, 0x10, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D,}, //Locality 10
- {0x1F, 0x1E, 0x1D, 0x1C, 0x1B, 0x1A, 0x19, 0x18, 0x17, 0x16, 0x10, 0x0A, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C,}, //Locality 11
- {0x20, 0x1F, 0x1E, 0x1D, 0x1C, 0x1B, 0x1A, 0x19, 0x18, 0x17, 0x16, 0x15, 0x0A, 0x10, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B,}, //Locality 12
- {0x21, 0x20, 0x1F, 0x1E, 0x1D, 0x1C, 0x1B, 0x1A, 0x19, 0x18, 0x17, 0x16, 0x10, 0x0A, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A,}, //Locality 13
- {0x22, 0x21, 0x20, 0x1F, 0x1E, 0x1D, 0x1C, 0x1B, 0x1A, 0x19, 0x18, 0x17, 0x16, 0x15, 0x0A, 0x10, 0x16, 0x17, 0x18, 0x19,}, //Locality 14
- {0x23, 0x22, 0x21, 0x20, 0x1F, 0x1E, 0x1D, 0x1C, 0x1B, 0x1A, 0x19, 0x18, 0x17, 0x16, 0x10, 0x0A, 0x15, 0x16, 0x17, 0x18,}, //Locality 15
- {0x24, 0x23, 0x22, 0x21, 0x20, 0x1F, 0x1E, 0x1D, 0x1C, 0x1B, 0x1A, 0x19, 0x18, 0x17, 0x16, 0x15, 0x0A, 0x10, 0x16, 0x17,}, //Locality 16
- {0x25, 0x24, 0x23, 0x22, 0x21, 0x20, 0x1F, 0x1E, 0x1D, 0x1C, 0x1B, 0x1A, 0x19, 0x18, 0x17, 0x16, 0x10, 0x0A, 0x15, 0x16,}, //Locality 17
- {0x26, 0x25, 0x24, 0x23, 0x22, 0x21, 0x20, 0x1F, 0x1E, 0x1D, 0x1C, 0x1B, 0x1A, 0x19, 0x18, 0x17, 0x16, 0x15, 0x0A, 0x10,}, //Locality 18
- {0x27, 0x26, 0x25, 0x24, 0x23, 0x22, 0x21, 0x20, 0x1F, 0x1E, 0x1D, 0x1C, 0x1B, 0x1A, 0x19, 0x18, 0x17, 0x16, 0x10, 0x0A,}, //Locality 19
- },
-};
-
-
-VOID*
-ReferenceAcpiTable (
- VOID
- )
-{
- //
- // Reference the table being generated to prevent the optimizer from removing the
- // data structure from the exeutable
- //
- return (VOID*)&Slit;
-}
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Spmi.aslc b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Spmi.aslc
deleted file mode 100644
index 77836a471..000000000
--- a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Spmi.aslc
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) 2013 Linaro Limited
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the BSD License which accompanies
- * this distribution, and is available at
- * http://opensource.org/licenses/bsd-license.php
- *
- * Contributors:
- * Yi Li - yi.li@linaro.org
-*/
-
-#include <IndustryStandard/Acpi.h>
-#include <Platform.h>
-
-#define ACPI_5_0_SPMI_REVISION 0x4
-
-#pragma pack(1)
-typedef struct
-{
-
- EFI_ACPI_DESCRIPTION_HEADER Header;
- UINT8 ucInterfaceType;
- UINT8 Reserved;
- UINT16 usIPMISpecVersion;
- UINT8 ucInterruptType;
- UINT8 ucGPENumber;
- UINT8 Reserved2;
- UINT8 ucPCIDeviceFlag;
- UINT32 uwInterrupt;
- EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE IPMIRegister;
- UINT8 ucPCISegment;
- UINT8 ucPCIBus;
- UINT8 ucPCIDevice;
- UINT8 ucPCIFunction;
- UINT8 Reserved3;
-}EFI_ACPI_5_0_SERVER_PLATFORM_MANAGEMENT_INTERFACE_TABLE;
-#pragma pack()
-
-EFI_ACPI_5_0_SERVER_PLATFORM_MANAGEMENT_INTERFACE_TABLE Spmi =
-{
- {
- EFI_ACPI_5_0_SERVER_PLATFORM_MANAGEMENT_INTERFACE_TABLE_SIGNATURE,
- sizeof (EFI_ACPI_5_0_SERVER_PLATFORM_MANAGEMENT_INTERFACE_TABLE),
- ACPI_5_0_SPMI_REVISION,
- 0x00, // Checksum will be updated at runtime
- {EFI_ACPI_OEM_ID},
- EFI_ACPI_OEM_TABLE_ID,
- 0x00,
- EFI_ACPI_CREATOR_ID,
- EFI_ACPI_CREATOR_REVISION
- },
- 0x00, //Interface Type
- 0x00, //Reserved
- 0x0000, //IPMI Spec Version
- 0x00, //Interrupt Type
- 0x00, //GPE Number
- 0x00, //Reserved
- 0x00, //PCI Device Flag
- 0x00000000, //Interrupt
- {
- 0x00, //Space ID:SystemMemory
- 0x08, //Bit Width
- 0x00, //Bit Offset
- 0x01, //Encoded Access Width
- 0x0000000000000000, //Address
- },
- 0x00, //PCI Segment
- 0x00, //PCI Bus
- 0x00, //PCI Device
- 0x00, //PCI Function
- 0x00, //Reserved
-};
-
-VOID*
-ReferenceAcpiTable (
- VOID
- )
-{
-
- //
- // Reference the table being generated to prevent the optimizer from removing the
- // data structure from the exeutable
- //
- return (VOID*)&Spmi;
-}
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Srat.aslc b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Srat.aslc
deleted file mode 100644
index d5c433ffc..000000000
--- a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Srat.aslc
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright (c) 2013 Linaro Limited
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the BSD License which accompanies
- * this distribution, and is available at
- * http://opensource.org/licenses/bsd-license.php
- *
- * Contributors:
- * Yi Li - yi.li@linaro.org
-*/
-
-#include <IndustryStandard/Acpi.h>
-#include <Platform.h>
-
-
-//
-// Define the number of each table type.
-// This is where the table layout is modified.
-//
-#define EFI_ACPI_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY_STRUCTURE_COUNT 4
-#define EFI_ACPI_MEMORY_AFFINITY_STRUCTURE_COUNT 4
-
-
-#pragma pack(1)
-typedef struct {
- EFI_ACPI_5_0_SYSTEM_RESOURCE_AFFINITY_TABLE_HEADER Header;
- EFI_ACPI_5_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY_STRUCTURE Apic;
- EFI_ACPI_5_0_MEMORY_AFFINITY_STRUCTURE Memory;
- EFI_ACPI_5_0_PROCESSOR_LOCAL_X2APIC_AFFINITY_STRUCTURE x2APIC;
-} EFI_ACPI_5_0_SYSTEM_RESOURCE_AFFINITY_TABLE;
-
-#pragma pack()
-
-
-//
-// Static Resource Affinity Table definition
-//
-EFI_ACPI_5_0_SYSTEM_RESOURCE_AFFINITY_TABLE Srat = {
- {
- EFI_ACPI_5_0_SYSTEM_RESOURCE_AFFINITY_TABLE_SIGNATURE,
- sizeof (EFI_ACPI_5_0_SYSTEM_RESOURCE_AFFINITY_TABLE),
- EFI_ACPI_5_0_SYSTEM_RESOURCE_AFFINITY_TABLE_REVISION,
- 0x00, // Checksum will be updated at runtime
- {EFI_ACPI_OEM_ID},
- EFI_ACPI_OEM_TABLE_ID,
- EFI_ACPI_OEM_REVISION,
- EFI_ACPI_CREATOR_ID,
- EFI_ACPI_CREATOR_REVISION,
- /*Reserved*/
- 0x00000001, // Reserved to be 1 for backward compatibility
- EFI_ACPI_RESERVED_QWORD
- },
- /**/
- {
- 0x00, // Subtable Type:Processor Local APIC/SAPIC Affinity
- sizeof(EFI_ACPI_5_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY_STRUCTURE), //Length
- 0x00, //Proximity Domain Low(8)
- 0x00, //Apic ID
- 0x00000001, //Flags
- 0x00, //Local Sapic EID
- {0,0,0}, //Proximity Domain High(24)
- 0x00000000, //ClockDomain
- },
- //
- //
- // Memory Affinity
- //
- {
- 0x01, // Subtable Type:Memory Affinity
- sizeof (EFI_ACPI_5_0_MEMORY_AFFINITY_STRUCTURE), // Length
- 0x00000000, // Proximity Domain
- EFI_ACPI_RESERVED_WORD, // Reserved
- 0x00000000, // Address Base Low
- 0x00000000, // Address Base High
- 0x0009FC00, // Length Low
- 0x00000000, // Length High
- EFI_ACPI_RESERVED_DWORD, // Reserved
- 0x00000001, // Flags disabled, until enabled by Platform driver
- EFI_ACPI_RESERVED_QWORD , // Reserved
- },
-
- /*Processor Local x2APIC Affinity*/
- {
- 0x02, // Subtable Type:Processor Local x2APIC Affinity
- sizeof(EFI_ACPI_5_0_PROCESSOR_LOCAL_X2APIC_AFFINITY_STRUCTURE),
- {0,0}, //Reserved1
- 0x00000000, //Proximity Domain
- 0x00000000, //Apic ID
- 0x00000001, //Flags
- 0x00000000, //Clock Domain
- {0,0,0,0}, //Reserved2
- },
-};
-
-VOID*
-ReferenceAcpiTable (
- VOID
- )
-{
- //
- // Reference the table being generated to prevent the optimizer from removing the
- // data structure from the exeutable
- //
- return (VOID*)&Srat;
-}
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Ssdt0.asl b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Ssdt0.asl
deleted file mode 100644
index c13ceef56..000000000
--- a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Ssdt0.asl
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright (c) 2013, Al Stone <al.stone@linaro.org>
- *
- * [SSDT] Description of the armv8 VE Model
- *
- * This source is released under the terms of the GPLv2.
- */
-
-DefinitionBlock (
- "ssdt0.aml", // output filename
- "SSDT", // table signature
- 2, // SSDT compliance revision
- "LINARO", // OEM ID
- "RTSMVEV8", // table ID
- 0x00000001) // OEM revision
-{
-}
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Uefi.aslc b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Uefi.aslc
deleted file mode 100644
index c3bbce3ed..000000000
--- a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/Uefi.aslc
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2013 Linaro Limited
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the BSD License which accompanies
- * this distribution, and is available at
- * http://opensource.org/licenses/bsd-license.php
- *
- * Contributors:
- * Yi Li - yi.li@linaro.org
-*/
-
-#include <IndustryStandard/Acpi.h>
-#include <Platform.h>
-
-
-#define ACPI_5_0_UEFI_REVISION 0x1
-
-#pragma pack(1)
-
-typedef struct
-{
- EFI_ACPI_DESCRIPTION_HEADER Header;
- EFI_GUID guid;
- UINT16 usDataOffset;
-}EFI_ACPI_5_0_UEFI_TABLE;
-#pragma pack()
-
-EFI_ACPI_5_0_UEFI_TABLE Uefi=
-{
- {
- EFI_ACPI_5_0_UEFI_ACPI_DATA_TABLE_SIGNATURE,
- sizeof (EFI_ACPI_5_0_UEFI_TABLE),
- ACPI_5_0_UEFI_REVISION,
- 0x00, // Checksum will be updated at runtime
- {EFI_ACPI_OEM_ID},
- EFI_ACPI_OEM_TABLE_ID,
- EFI_ACPI_OEM_REVISION,
- EFI_ACPI_CREATOR_ID,
- EFI_ACPI_CREATOR_REVISION
- },
- //03020100-0504-0706-0809-0A0B0C0D0E0F
- { 0x03020100, 0x0504, 0x0706, { 0x08, 0x09, 0x0A, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f } },
- 0x0036 //Data Offset
-};
-
-VOID*
-ReferenceAcpiTable (
- VOID
- )
-{
- //
- // Reference the table being generated to prevent the optimizer from removing the
- // data structure from the exeutable
- //
- return (VOID*)&Uefi;
-}
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/apic.asl b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/apic.asl
new file mode 100644
index 000000000..81351c3cc
--- /dev/null
+++ b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/apic.asl
@@ -0,0 +1,153 @@
+/*
+ * Copyright (c) 2013, Al Stone <al.stone@linaro.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * NB: This License is also known as the "BSD 2-Clause License".
+ *
+ *
+ * [APIC] Multiple APIC Description Table (MADT)
+ * Format: [ByteLength] FieldName : HexFieldValue
+ *
+ */
+
+[0004] Signature : "APIC"
+[0004] Table Length : 000000F6
+[0001] Revision : 03
+[0001] Checksum : B0
+[0006] Oem ID : "LINARO"
+[0008] Oem Table ID : "RTSMVEV8"
+[0004] Oem Revision : 00000001
+[0004] Asl Compiler ID : "INTL"
+[0004] Asl Compiler Revision : 20110623
+
+[0004] Local Apic Address : 2C000000
+[0004] Flags (decoded below) : 00000001
+ PC-AT Compatibility : 0
+
+[0001] Subtable Type : 0B [Generic Interrupt Controller]
+[0001] Length : 28
+[0002] Reserved : 0000
+[0004] Local GIC Hardware ID : 00000000 /* Should be equal to FDT provided or CPU hardware ID */
+[0004] Processor UID : 00000000
+[0004] Flags (decoded below) : 00000001
+ Processor Enabled : 1
+[0004] Parking Protocol Version : 00000000
+[0004] Performance Interrupt : 00000000
+[0008] Parked Address : 0000000000000000
+[0008] Base Address : 000000002C000000 /* armv8 FVP Base GIC address */
+
+[0001] Subtable Type : 0B [Generic Interrupt Controller]
+[0001] Length : 28
+[0002] Reserved : 0000
+[0004] Local GIC Hardware ID : 00000001
+[0004] Processor UID : 00000001
+[0004] Flags (decoded below) : 00000001
+ Processor Enabled : 1
+[0004] Parking Protocol Version : 00000000
+[0004] Performance Interrupt : 00000000
+[0008] Parked Address : 0000000000000000
+[0008] Base Address : 000000002C000000
+
+[0001] Subtable Type : 0B [Generic Interrupt Controller]
+[0001] Length : 28
+[0002] Reserved : 0000
+[0004] Local GIC Hardware ID : 00000002
+[0004] Processor UID : 00000002
+[0004] Flags (decoded below) : 00000001
+ Processor Enabled : 1
+[0004] Parking Protocol Version : 00000000
+[0004] Performance Interrupt : 00000000
+[0008] Parked Address : 0000000000000000
+[0008] Base Address : 000000002C000000
+
+[0001] Subtable Type : 0B [Generic Interrupt Controller]
+[0001] Length : 28
+[0002] Reserved : 0000
+[0004] Local GIC Hardware ID : 00000003
+[0004] Processor UID : 00000003
+[0004] Flags (decoded below) : 00000001
+ Processor Enabled : 1
+[0004] Parking Protocol Version : 00000000
+[0004] Performance Interrupt : 00000000
+[0008] Parked Address : 0000000000000000
+[0008] Base Address : 000000002C000000
+
+[0001] Subtable Type : 0B [Generic Interrupt Controller]
+[0001] Length : 28
+[0002] Reserved : 0000
+[0004] Local GIC Hardware ID : 00000004
+[0004] Processor UID : 00000004
+[0004] Flags (decoded below) : 00000000
+ Processor Enabled : 0
+[0004] Parking Protocol Version : 00000000
+[0004] Performance Interrupt : 00000000
+[0008] Parked Address : 0000000000000000
+[0008] Base Address : 000000002C000000
+
+[0001] Subtable Type : 0B [Generic Interrupt Controller]
+[0001] Length : 28
+[0002] Reserved : 0000
+[0004] Local GIC Hardware ID : 00000005
+[0004] Processor UID : 00000005
+[0004] Flags (decoded below) : 00000000
+ Processor Enabled : 0
+[0004] Parking Protocol Version : 00000000
+[0004] Performance Interrupt : 00000000
+[0008] Parked Address : 0000000000000000
+[0008] Base Address : 000000002C000000
+
+[0001] Subtable Type : 0B [Generic Interrupt Controller]
+[0001] Length : 28
+[0002] Reserved : 0000
+[0004] Local GIC Hardware ID : 00000006
+[0004] Processor UID : 00000006
+[0004] Flags (decoded below) : 00000000
+ Processor Enabled : 0
+[0004] Parking Protocol Version : 00000000
+[0004] Performance Interrupt : 00000000
+[0008] Parked Address : 0000000000000000
+[0008] Base Address : 000000002C000000
+
+[0001] Subtable Type : 0B [Generic Interrupt Controller]
+[0001] Length : 28
+[0002] Reserved : 0000
+[0004] Local GIC Hardware ID : 00000007
+[0004] Processor UID : 00000007
+[0004] Flags (decoded below) : 00000000
+ Processor Enabled : 0
+[0004] Parking Protocol Version : 00000000
+[0004] Performance Interrupt : 00000000
+[0008] Parked Address : 0000000000000000
+[0008] Base Address : 000000002C000000
+
+[0001] Subtable Type : 0C [Generic Interrupt Distributor]
+[0001] Length : 18
+[0002] Reserved : 0000
+[0004] Local GIC Hardware ID : 00000000
+[0008] Base Address : 000000002F000000 /* armv8 FVP Base GIC distributor base addr */
+[0004] Interrupt Base : 00000000
+[0004] Reserved : 00000000
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/bert.asl b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/bert.asl
new file mode 100644
index 000000000..1b9f3d61c
--- /dev/null
+++ b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/bert.asl
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2013, Al Stone <al.stone@linaro.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * NB: This License is also known as the "BSD 2-Clause License".
+ *
+ *
+ * [BERT] Boot Error Record Table
+ * Format: [ByteLength] FieldName : HexFieldValue
+ *
+ */
+
+[0004] Signature : "BERT"
+[0004] Table Length : 00000030
+[0001] Revision : 01
+[0001] Checksum : 15
+[0006] Oem ID : "LINARO"
+[0008] Oem Table ID : "RTSMVEV8"
+[0004] Oem Revision : 00000002
+[0004] Asl Compiler ID : "INTL"
+[0004] Asl Compiler Revision : 20100528
+
+[0004] Boot Error Region Length : 0x9D
+[0008] Boot Error Region Address : 0xFFFF0008
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/cpep.asl b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/cpep.asl
new file mode 100644
index 000000000..c84d07d4e
--- /dev/null
+++ b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/cpep.asl
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2013, Al Stone <al.stone@linaro.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * NB: This License is also known as the "BSD 2-Clause License".
+ *
+ *
+ * [CPEP] Corrected Platform Error Polling Table
+ * Format: [ByteLength] FieldName : HexFieldValue
+ *
+ */
+
+[0004] Signature : "CPEP"
+[0004] Table Length : 00000034
+[0001] Revision : 01
+[0001] Checksum : 0F
+[0006] Oem ID : "LINARO"
+[0008] Oem Table ID : "RTSMVEV8"
+[0004] Oem Revision : 00000000
+[0004] Asl Compiler ID : "INTL"
+[0004] Asl Compiler Revision : 20100528
+
+[0008] Reserved : 0000000000000000
+
+[0001] Subtable Type : 00
+[0001] Length : 08
+[0001] Processor ID : 00
+[0001] Processor EID : 00
+[0004] Polling Interval : 00000000
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/dsdt.asl b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/dsdt.asl
new file mode 100644
index 000000000..43ac1706c
--- /dev/null
+++ b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/dsdt.asl
@@ -0,0 +1,758 @@
+/*
+ * Copyright (c) 2013, Al Stone <al.stone@linaro.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * NB: This License is also known as the "BSD 2-Clause License".
+ *
+ *
+ * [DSDT] Description of the armv8 VE Model
+ *
+ */
+
+DefinitionBlock (
+ "dsdt.aml", // output filename
+ "DSDT", // table signature
+ 2, // DSDT compliance revision
+ "LINARO", // OEM ID
+ "RTSMVEV8", // table ID
+ 0x00000004) // OEM revision
+{
+ Scope (\_SB)
+ {
+ Method (_OSC, 4, NotSerialized)
+ {
+ /* Platform-Wide OSPM Capabilities */
+ If(LEqual(Arg0,ToUUID("0811B06E-4A27-44F9-8D60-3CBBC22E7B48")))
+ {
+ /* APEI support unconditionally */
+ Return (Arg3)
+ } Else {
+ CreateDWordField (Arg3, Zero, CDW1)
+ /* Set invalid UUID error bit */
+ Or (CDW1, 0x04, CDW1)
+ Return (Arg3)
+ }
+ }
+
+ Device (HED)
+ {
+ Name (_HID, EisaId ("PNP0C33"))
+ Name (_UID, 0x00)
+ }
+
+ Device (SCK0)
+ {
+ Name (_HID, "ACPI0004")
+ Name (_UID, 0x00)
+ Method (_STA, 0, NotSerialized)
+ {
+ Return (0x0F)
+ }
+
+ Device (PRC0)
+ {
+ Name (_HID, "ACPI0007")
+ Name (_UID, 0x00)
+
+ /* CPU0 will be always present */
+ Method (_STA, 0, NotSerialized)
+ {
+ Return (0x0F)
+ }
+
+ Name (MAT0, Buffer (0x28)
+ {
+ /* 0000 */ 0x0B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* type, len, reserved, gic_id */
+ /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, /* uid, flags */
+ /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* parking_version, performance_interrupt */
+ /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* parked_address */
+ /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* base_address */
+ })
+
+ Name (MAT1, Buffer (0x28)
+ {
+ /* 0000 */ 0x0B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ })
+
+ Method (_MAT, 0, NotSerialized)
+ {
+ If (_STA())
+ {
+ Return (MAT0)
+ }
+ Else
+ {
+ Return (MAT1)
+ }
+ }
+ }
+
+ Device (PRC1)
+ {
+ Name (_HID, "ACPI0007")
+ Name (_UID, 0x01)
+
+ Name (STA1, 0x0F)
+ Method (_STA, 0, NotSerialized)
+ {
+ Return (STA1)
+ }
+
+ Method (_EJ0, 1, NotSerialized)
+ {
+ If (LEqual (STA1, 0x0F))
+ {
+ Store (0x00, STA1)
+ }
+ }
+
+ Name (MAT0, Buffer (0x28)
+ {
+ /* 0000 */ 0x0B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ /* 0008 */ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ })
+
+ Name (MAT1, Buffer (0x28)
+ {
+ /* 0000 */ 0x0B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ /* 0008 */ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ })
+
+ Method (_MAT, 0, NotSerialized)
+ {
+ If (_STA())
+ {
+ Return (MAT0)
+ }
+ Else
+ {
+ Return (MAT1)
+ }
+ }
+ }
+
+ Device (PRC2)
+ {
+ Name (_HID, "ACPI0007")
+ Name (_UID, 0x02)
+
+ Name (STA2, 0x0F)
+ Method (_STA, 0, NotSerialized)
+ {
+ Return (STA2)
+ }
+
+ Method (_EJ0, 1, NotSerialized)
+ {
+ If (LEqual (STA2, 0x0F))
+ {
+ Store (0x00, STA2)
+ }
+ }
+
+ Name (MAT0, Buffer (0x28)
+ {
+ /* 0000 */ 0x0B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ /* 0008 */ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ })
+
+ Name (MAT1, Buffer (0x28)
+ {
+ /* 0000 */ 0x0B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ /* 0008 */ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ })
+
+ Method (_MAT, 0, NotSerialized)
+ {
+ If (_STA())
+ {
+ Return (MAT0)
+ }
+ Else
+ {
+ Return (MAT1)
+ }
+ }
+ }
+
+ Device (PRC3)
+ {
+ Name (_HID, "ACPI0007")
+ Name (_UID, 0x03)
+
+ Name (STA3, 0x0F)
+ Method (_STA, 0, NotSerialized)
+ {
+ Return (STA3)
+ }
+
+ Method (_EJ0, 1, NotSerialized)
+ {
+ If (LEqual (STA3, 0x0F))
+ {
+ Store (0x00, STA3)
+ }
+ }
+
+ Name (MAT0, Buffer (0x28)
+ {
+ /* 0000 */ 0x0B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
+ /* 0008 */ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
+ /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ })
+
+ Name (MAT1, Buffer (0x28)
+ {
+ /* 0000 */ 0x0B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
+ /* 0008 */ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ })
+
+ Method (_MAT, 0, NotSerialized)
+ {
+ If (_STA())
+ {
+ Return (MAT0)
+ }
+ Else
+ {
+ Return (MAT1)
+ }
+ }
+ }
+ }
+
+ Device (PMU0) {
+ Name (_HID, "LNRO0007")
+ Name (_UID, 0)
+
+ Method (_CRS, 0x0, Serialized) {
+ Name (RBUF, ResourceTemplate () {
+ Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, , , ) {92, 93, 94, 95}
+ })
+ Return (RBUF)
+ }
+ }
+
+ Device (SMB) {
+ Name (_HID, "ACPI0004")
+ Name (_UID, 0)
+
+ Name (_CRS, ResourceTemplate () {
+
+ DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
+ 0x00000000, // Address Space Granularity
+ 0x08000000, // Address Range Minimum (base address in FDT)
+ 0x0BFFFFFF, // Address Range Maximum (base + (len-1))
+ 0x00000000, // Address Translation Offset
+ 0x04000000, // Address Length (len in FDT)
+ ,, , AddressRangeMemory, TypeStatic)
+
+ DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
+ 0x00000000, // Address Space Granularity
+ 0x14000000, // Address Range Minimum (base address in FDT)
+ 0x17FFFFFF, // Address Range Maximum (base + (len-1))
+ 0x00000000, // Address Translation Offset
+ 0x04000000, // Address Length (len in FDT)
+ ,, , AddressRangeMemory, TypeStatic)
+
+ DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
+ 0x00000000, // Address Space Granularity
+ 0x18000000, // Address Range Minimum (base address in FDT)
+ 0x1BFFFFFF, // Address Range Maximum (base + (len-1))
+ 0x00000000, // Address Translation Offset
+ 0x04000000, // Address Length (len in FDT)
+ ,, , AddressRangeMemory, TypeStatic)
+
+ DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
+ 0x00000000, // Address Space Granularity
+ 0x1C000000, // Address Range Minimum (base address in FDT)
+ 0x1FFFFFFF, // Address Range Maximum (base + (len -1))
+ 0x00000000, // Address Translation Offset
+ 0x04000000, // Address Length (len in FDT)
+ ,, , AddressRangeMemory, TypeStatic)
+
+ DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
+ 0x00000000, // Address Space Granularity
+ 0x0C000000, // Address Range Minimum (base address in FDT)
+ 0x0FFFFFFF, // Address Range Maximum (base + (len-1))
+ 0x00000000, // Address Translation Offset
+ 0x04000000, // Address Length (len in FDT)
+ ,, , AddressRangeMemory, TypeStatic)
+
+ DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
+ 0x00000000, // Address Space Granularity
+ 0x10000000, // Address Range Minimum (base address in FDT)
+ 0x13FFFFFF, // Address Range Maximum (base + (len-1))
+ 0x00000000, // Address Translation Offset
+ 0x04000000, // Address Length (len in FDT)
+ ,, , AddressRangeMemory, TypeStatic)
+
+ })
+
+ Device (NET0) {
+ Name (_HID, "LNRO0003")
+ Name (_UID, 0)
+
+ Method (_CRS, 0x0, Serialized) {
+ Name (RBUF, ResourceTemplate () {
+ Memory32Fixed (ReadWrite, 0x1a000000, 0x00010000)
+ Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, , , ) {0x2F}
+ })
+ Return (RBUF)
+ }
+ }
+
+ Device (CLK0) {
+ Name (_HID, "LNRO0008")
+ Name (_UID, 0)
+
+ Method (FREQ, 0x0, NotSerialized) {
+ Return (24000000)
+ }
+ }
+
+ Device (CLK1) {
+ Name (_HID, "LNRO0008")
+ Name (_UID, 1)
+
+ Method (FREQ, 0x0, NotSerialized) {
+ Return (1000000)
+ }
+ }
+
+ Device (CLK2) {
+ Name (_HID, "LNRO0008")
+ Name (_UID, 2)
+
+ Method (FREQ, 0x0, NotSerialized) {
+ Return (32768)
+ }
+ }
+
+ Device (FPGA) {
+ Name (_HID, "ACPI0004")
+ Name (_UID, 0)
+
+ Name (_CRS, ResourceTemplate () {
+
+ DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
+ 0x00000000, // Address Space Granularity
+ 0x1C000000, // Address Range Minimum (base address in FDT)
+ 0x1C1FFFFF, // Address Range Maximum (base + (len-1))
+ 0x00000000, // Address Translation Offset
+ 0x00200000, // Address Length (len in FDT)
+ ,, , AddressRangeMemory, TypeStatic)
+ })
+
+ Device (SREG) {
+ Name (_HID, "LNRO0009")
+ Name (_UID, 0)
+
+ Method (_CRS, 0x0, Serialized) {
+ Name (RBUF, ResourceTemplate() {
+ Memory32Fixed (ReadWrite, 0x1c010000, 0x1000)
+ })
+ Return (RBUF)
+ }
+ }
+
+ Device (VIRT) {
+ Name (_HID, "LNRO0005")
+ Name (_UID, 0)
+
+ Method (_CRS, 0x0, Serialized) {
+ Name (RBUF, ResourceTemplate() {
+ Memory32Fixed (ReadWrite, 0x1c130000, 0x1000)
+ Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, , , ) {0x4A}
+ })
+ Return (RBUF)
+ }
+ }
+ } // End of FPGA
+ } // End SMB
+
+ Method (DTGP, 5, NotSerialized)
+ {
+ If (LEqual (Arg0, Buffer (0x10)
+ {
+ /* UUID: a706b112-bf0b-48d2-9fa3-95591a3c4c06 */
+ /* 0000 */ 0xa7, 0x06, 0xb1, 0x12, 0xbf, 0x0b, 0x48, 0xd2,
+ /* 0008 */ 0x9f, 0xa3, 0x95, 0x59, 0x1a, 0x3c, 0x4c, 0x06
+ }))
+ {
+ If (LEqual (Arg1, 0x01)) {
+ If (LEqual (Arg2, 0x00)) {
+ Store (Buffer (0x01)
+ {
+ 0x03
+ }, Arg4)
+ Return (0x01)
+ }
+
+ If (LEqual (Arg2, 0x01)) {
+ Return (0x01)
+ }
+ }
+ }
+
+ Store (Buffer (0x01)
+ {
+ 0x00
+ }, Arg4)
+
+ Return (0x00)
+ }
+
+ Device (REG0) {
+ Name (_HID, "LNRO0019")
+ Name (_UID, 0)
+
+ Method(_DSM, 4, NotSerialized) {
+ Store (Package (8)
+ {
+ "regulator-name", "3V3",
+ "regulator-min-microvolt", "3300000",
+ "regulator-max-microvolt", "3300000",
+ "regulator-always-on", "1",
+ }, Local0)
+
+ DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
+
+ Return (Local0)
+ }
+ }
+
+ Device (FLH0) {
+ Name (_HID, "LNRO0015")
+ Name (_UID, 0)
+ Method (_CRS, 0x0, Serialized) {
+ Name (RBUF, ResourceTemplate () {
+ Memory32Fixed (ReadWrite, 0x08000000, 0x04000000)
+ Memory32Fixed (ReadWrite, 0x0C000000, 0x04000000)
+ })
+ Return (RBUF)
+ }
+
+ Method(_DSM, 4, NotSerialized) {
+ Store (Package ()
+ {
+ "bank-width", "4",
+ }, Local0)
+
+ DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
+
+ Return (Local0)
+ }
+ }
+
+ Device (AMBA) {
+ Name (_HID, "AMBA0000")
+ Name (_UID, 0)
+
+ /* Define 'apb_pclk' as a default clock source since it is
+ common with devices below */
+
+ Method(_DSM, 4, NotSerialized) {
+ Store (Package (2)
+ {
+ "clock-name", "apb_pclk \\_SB.SMB.CLK0",
+ }, Local0)
+
+ DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
+
+ Return (Local0)
+ }
+
+ Device (SCT0) {
+ Name (_HID, "LNRO000C")
+ Name (_UID, 0)
+ Name (_ADR, 0x1c020000) /* SYSCTL */
+ Method (_CRS, 0x0, Serialized) {
+ Name (RBUF, ResourceTemplate () {
+ Memory32Fixed (ReadWrite, 0x1c020000, 0x00001000)
+ })
+ Return (RBUF)
+ }
+ Method(_DSM, 4, Serialized) {
+ Store (Package (4)
+ {
+ "clock-name", "refclk \\_SB.SMB.CLK2",
+ "clock-name", "timclk \\_SB.SMB.CLK1",
+ }, Local0)
+
+ DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
+
+ Return (Local0)
+ }
+ }
+
+ Device (AAC0) {
+ Name (_HID, "LNRO000D")
+ Name (_UID, 0)
+ Name (_ADR, 0x1c040000) /* AACI */
+ Method (_CRS, 0x0, Serialized) {
+ Name (RBUF, ResourceTemplate () {
+ Memory32Fixed (ReadWrite, 0x1c040000, 0x00001000)
+ Interrupt (ResourceConsumer, Edge, ActiveBoth,
+ Exclusive, , , ) {43}
+ })
+ Return (RBUF)
+ }
+ }
+
+ Device (MMC0) {
+ Name (_HID, "LNRO000E")
+ Name (_UID, 0)
+ Name (_ADR, 0x1c050000) /* MMCI */
+ Method (_CRS, 0x0, Serialized) {
+ Name (RBUF, ResourceTemplate () {
+ Memory32Fixed (ReadWrite, 0x1c050000, 0x00001000)
+ Interrupt (ResourceConsumer, Edge, ActiveBoth,
+ Exclusive, , , ) {41, 42}
+ })
+ Return (RBUF)
+ }
+ Method(_DSM, 4, Serialized) {
+ Store (Package (2)
+ {
+ "clock-name", "MCLK \\_SB.SMB.CLK0",
+ }, Local0)
+
+ DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
+
+ Return (Local0)
+ }
+ }
+
+ Device (KMI0) {
+ Name (_HID, "LNRO000F")
+ Name (_UID, 0)
+ Name (_ADR, 0x1c060000)
+ Method (_CRS, 0x0, Serialized) {
+ Name (RBUF, ResourceTemplate () {
+ Memory32Fixed (ReadWrite, 0x1c060000, 0x00001000)
+ Interrupt (ResourceConsumer, Edge, ActiveBoth,
+ Exclusive, , , ) {44}
+ })
+ Return (RBUF)
+ }
+ Method(_DSM, 4, Serialized) {
+ Store (Package (2)
+ {
+ "clock-name", "KMIREFCLK \\_SB.SMB.CLK0",
+ }, Local0)
+
+ DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
+
+ Return (Local0)
+ }
+ }
+
+ Device (KMI1) {
+ Name (_HID, "LNRO000F")
+ Name (_UID, 1)
+ Name (_ADR, 0x1c070000)
+ Method (_CRS, 0x0, Serialized) {
+ Name (RBUF, ResourceTemplate () {
+ Memory32Fixed (ReadWrite, 0x1c070000, 0x00001000)
+ Interrupt (ResourceConsumer, Edge, ActiveBoth,
+ Exclusive, , , ) {45}
+ })
+ Return (RBUF)
+ }
+ Method(_DSM, 4, NotSerialized) {
+ Store (Package (2)
+ {
+ "clock-name", "KMIREFCLK \\_SB.SMB.CLK0",
+ }, Local0)
+
+ DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
+
+ Return (Local0)
+ }
+ }
+
+ Device (SER0) {
+ Name (_HID, "LNRO000A")
+ Name (_ADR, 0x1c090000)
+ Name (_UID, 0)
+
+ Method (_CRS, 0x0, Serialized) {
+ Name (RBUF, ResourceTemplate() {
+ Memory32Fixed (ReadWrite, 0x1c090000, 0x1000)
+ Interrupt (ResourceConsumer, Edge, ActiveBoth, Exclusive, , , ) {0x25}
+ })
+ Return (RBUF)
+ }
+ }
+
+ Device (SER1) {
+ Name (_HID, "LNRO000A")
+ Name (_ADR, 0x1c0a0000)
+ Name (_UID, 1)
+
+ Method (_CRS, 0x0, Serialized) {
+ Name (RBUF, ResourceTemplate() {
+ Memory32Fixed (ReadWrite, 0x1c0a0000, 0x1000)
+ Interrupt (ResourceConsumer, Edge, ActiveBoth, Exclusive, , , ) {0x26}
+ })
+ Return (RBUF)
+ }
+ }
+
+ Device (SER2) {
+ Name (_HID, "LNRO000A")
+ Name (_ADR, 0x1c0b0000)
+ Name (_UID, 2)
+
+ Method (_CRS, 0x0, Serialized) {
+ Name (RBUF, ResourceTemplate() {
+ Memory32Fixed (ReadWrite, 0x1c0b0000, 0x1000)
+ Interrupt (ResourceConsumer, Edge, ActiveBoth, Exclusive, , , ) {0x27}
+ })
+ Return (RBUF)
+ }
+ }
+
+ Device (SER3) {
+ Name (_HID, "LNRO000A")
+ Name (_ADR, 0x1c0c0000)
+ Name (_UID, 3)
+
+ Method (_CRS, 0x0, Serialized) {
+ Name (RBUF, ResourceTemplate() {
+ Memory32Fixed (ReadWrite, 0x1c0c0000, 0x1000)
+ Interrupt (ResourceConsumer, Edge, ActiveBoth, Exclusive, , , ) {0x28}
+ })
+ Return (RBUF)
+ }
+ }
+
+ Device (WDT0) {
+ Name (_HID, "LNRO0011")
+ Name (_UID, 0)
+ Name (_ADR, 0x1c0f0000) /* WDT */
+ Method (_CRS, 0x0, Serialized) {
+ Name (RBUF, ResourceTemplate () {
+ Memory32Fixed (ReadWrite, 0x1c0f0000, 0x00001000)
+ Interrupt (ResourceConsumer, Edge, ActiveBoth,
+ Exclusive, , , ) {32}
+ })
+ Return (RBUF)
+ }
+ }
+
+ Device (TIM0) {
+ Name (_HID, "LNRO0012")
+ Name (_UID, 0)
+ Name (_ADR, 0x1c110000) /* TIMER01 */
+ Method (_CRS, 0x0, Serialized) {
+ Name (RBUF, ResourceTemplate () {
+ Memory32Fixed (ReadWrite, 0x1c110000, 0x00001000)
+ Interrupt (ResourceConsumer, Edge, ActiveBoth,
+ Exclusive, , , ) {34}
+ })
+ Return (RBUF)
+ }
+ }
+
+ Device (TIM2) {
+ Name (_HID, "LNRO0012")
+ Name (_UID, 1)
+ Name (_ADR, 0x1c120000) /* TIMER23 */
+ Method (_CRS, 0x0, Serialized) {
+ Name (RBUF, ResourceTemplate () {
+ Memory32Fixed (ReadWrite, 0x1c120000, 0x00001000)
+ Interrupt (ResourceConsumer, Edge, ActiveBoth,
+ Exclusive, , , ) {35}
+ })
+ Return (RBUF)
+ }
+ }
+
+ Device (RTC0) {
+ Name (_HID, "LNRO0013")
+ Name (_UID, 0)
+ Name (_ADR, 0x1c170000) /* RTC */
+ Method (_CRS, 0x0, Serialized) {
+ Name (RBUF, ResourceTemplate () {
+ Memory32Fixed (ReadWrite, 0x1c170000, 0x00001000)
+ Interrupt (ResourceConsumer, Edge, ActiveBoth,
+ Exclusive, , , ) {36}
+ })
+ Return (RBUF)
+ }
+ }
+
+ Device (CLCD) {
+ Name (_HID, "LNRO0014")
+ Name (_UID, 0)
+ Name (_ADR, 0x1c1f0000) /* CLCD */
+ Method (_CRS, 0x0, Serialized) {
+ Name (RBUF, ResourceTemplate () {
+ Memory32Fixed (ReadWrite, 0x1c1f0000, 0x00001000)
+ Interrupt (ResourceConsumer, Edge, ActiveBoth,
+ Exclusive, , , ) {46}
+ })
+ Return (RBUF)
+ }
+ Method(_DSM, 4, Serialized) {
+ Store (Package (2)
+ {
+ "clock-name", "CCLDCLK \\_SB.SMB.CLK0",
+ }, Local0)
+
+ DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
+
+ Return (Local0)
+ }
+ }
+
+ } // End of AMBA
+ }
+}
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/ecdt.asl b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/ecdt.asl
new file mode 100644
index 000000000..2eb0acf92
--- /dev/null
+++ b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/ecdt.asl
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2013, Al Stone <al.stone@linaro.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * NB: This License is also known as the "BSD 2-Clause License".
+ *
+ *
+ * [ECDT] Embedded Controller Boot Resources Table
+ * Format: [ByteLength] FieldName : HexFieldValue
+ *
+ */
+
+[0004] Signature : "ECDT"
+[0004] Table Length : 00000042
+[0001] Revision : 01
+[0001] Checksum : 2D
+[0006] Oem ID : "LINARO"
+[0008] Oem Table ID : "RTSMVEV8"
+[0004] Oem Revision : 00000001
+[0004] Asl Compiler ID : "INTL"
+[0004] Asl Compiler Revision : 20100528
+
+
+[0012] Command/Status Register : [Generic Address Structure]
+[0001] Space ID : 01 [SystemIO]
+[0001] Bit Width : 08
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 00 [Undefined/Legacy]
+[0008] Address : 0000000000000066
+
+[0012] Data Register : [Generic Address Structure]
+[0001] Space ID : 01 [SystemIO]
+[0001] Bit Width : 08
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 00 [Undefined/Legacy]
+[0008] Address : 0000000000000062
+
+[0004] UID : 00000000
+[0001] GPE Number : 09
+[0001] Namepath : ""
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/einj.asl b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/einj.asl
new file mode 100644
index 000000000..63044fc25
--- /dev/null
+++ b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/einj.asl
@@ -0,0 +1,178 @@
+/*
+ * Copyright (c) 2013, Al Stone <al.stone@linaro.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * NB: This License is also known as the "BSD 2-Clause License".
+ *
+ *
+ * [EINJ] Error Injection Table
+ * Format: [ByteLength] FieldName : HexFieldValue
+ *
+ */
+
+[0004] Signature : "EINJ"
+[0004] Table Length : 00000130
+[0001] Revision : 01
+[0001] Checksum : 09
+[0006] Oem ID : "LINARO"
+[0008] Oem Table ID : "RTSMVEV8"
+[0004] Oem Revision : 00000003
+[0004] Asl Compiler ID : "INTL"
+[0004] Asl Compiler Revision : 20100528
+
+[0004] Injection Header Length : 00000030
+[0001] Flags : 00
+[0003] Reserved : 000000
+[0004] Injection Entry Count : 00000008
+
+[0001] Action : 00 [Begin Operation]
+[0001] Instruction : 00 [Read Register]
+[0001] Flags (decoded below) : 00
+ Preserve Register Bits : 0
+[0001] Reserved : 00
+
+[0012] Register Region : [Generic Address Structure]
+[0001] Space ID : 00 [SystemMemory]
+[0001] Bit Width : 40
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 04 [QWord Access:64]
+[0008] Address : 0xFFFF0200
+
+[0008] Value : 0000000000000000
+[0008] Mask : FFFFFFFFFFFFFFFF
+
+[0001] Action : 01 [Get Trigger Table]
+[0001] Instruction : 00 [Read Register]
+[0001] Flags (decoded below) : 00
+ Preserve Register Bits : 0
+[0001] Reserved : 00
+
+[0012] Register Region : [Generic Address Structure]
+[0001] Space ID : 00 [SystemMemory]
+[0001] Bit Width : 40
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 04 [QWord Access:64]
+[0008] Address : 0xFFFF0208
+
+[0008] Value : 0000000000000000
+[0008] Mask : FFFFFFFFFFFFFFFF
+
+[0001] Action : 02 [Set Error Type]
+[0001] Instruction : 02 [Write Register]
+[0001] Flags (decoded below) : 01
+ Preserve Register Bits : 1
+[0001] Reserved : 00
+
+[0012] Register Region : [Generic Address Structure]
+[0001] Space ID : 00 [SystemMemory]
+[0001] Bit Width : 40
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 04 [QWord Access:64]
+[0008] Address : 0xFFFF0210
+
+[0008] Value : 0000000000000000
+[0008] Mask : FFFFFFFFFFFFFFFF
+
+[0001] Action : 03 [Get Error Type]
+[0001] Instruction : 00 [Read Register]
+[0001] Flags (decoded below) : 00
+ Preserve Register Bits : 0
+[0001] Reserved : 00
+
+[0012] Register Region : [Generic Address Structure]
+[0001] Space ID : 00 [SystemMemory]
+[0001] Bit Width : 40
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 04 [QWord Access:64]
+[0008] Address : 0xFFFF0218
+
+[0008] Value : 0000000000000000
+[0008] Mask : FFFFFFFFFFFFFFFF
+
+[0001] Action : 04 [End Operation]
+[0001] Instruction : 03 [Write Register Value]
+[0001] Flags (decoded below) : 01
+ Preserve Register Bits : 1
+[0001] Reserved : 00
+
+[0012] Register Region : [Generic Address Structure]
+[0001] Space ID : 00 [SystemMemory]
+[0001] Bit Width : 40
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 04 [QWord Access:64]
+[0008] Address : 0xFFFF0220
+
+[0008] Value : 0000000000000000
+[0008] Mask : FFFFFFFFFFFFFFFF
+
+[0001] Action : 05 [Execute Operation]
+[0001] Instruction : 03 [Write Register Value]
+[0001] Flags (decoded below) : 01
+ Preserve Register Bits : 1
+[0001] Reserved : 00
+
+[0012] Register Region : [Generic Address Structure]
+[0001] Space ID : 00 [SystemMemory]
+[0001] Bit Width : 10
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 02 [Word Access:16]
+[0008] Address : 0xFFFF0228
+
+[0008] Value : 0000000000000000
+[0008] Mask : FFFFFFFFFFFFFFFF
+
+[0001] Action : 06 [Check Busy Status]
+[0001] Instruction : 01 [Read Register Value]
+[0001] Flags (decoded below) : 00
+ Preserve Register Bits : 0
+[0001] Reserved : 00
+
+[0012] Register Region : [Generic Address Structure]
+[0001] Space ID : 00 [SystemMemory]
+[0001] Bit Width : 40
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 04 [QWord Access:64]
+[0008] Address : 0xFFFF0230
+
+[0008] Value : 0000000000000000
+[0008] Mask : FFFFFFFFFFFFFFFF
+
+[0001] Action : 07 [Get Command Status]
+[0001] Instruction : 00 [Read Register]
+[0001] Flags (decoded below) : 01
+ Preserve Register Bits : 1
+[0001] Reserved : 00
+
+[0012] Register Region : [Generic Address Structure]
+[0001] Space ID : 00 [SystemMemory]
+[0001] Bit Width : 40
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 04 [QWord Access:64]
+[0008] Address : 0xFFFF0238
+
+[0008] Value : 0000000000000000
+[0008] Mask : FFFFFFFFFFFFFFFF
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/erst.asl b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/erst.asl
new file mode 100644
index 000000000..2bf2aff26
--- /dev/null
+++ b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/erst.asl
@@ -0,0 +1,305 @@
+/*
+ * Copyright (c) 2013, Al Stone <al.stone@linaro.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * NB: This License is also known as the "BSD 2-Clause License".
+ *
+ *
+ * [ERST] Error Record Serialization Table
+ * Format: [ByteLength] FieldName : HexFieldValue
+ *
+ */
+
+[0004] Signature : "ERST"
+[0004] Table Length : 00000230
+[0001] Revision : 01
+[0001] Checksum : AB
+[0006] Oem ID : "LINARO"
+[0008] Oem Table ID : "RTSMVEV8"
+[0004] Oem Revision : 00000002
+[0004] Asl Compiler ID : "INTL"
+[0004] Asl Compiler Revision : 20100528
+
+[0004] Serialization Header Length : 00000030
+[0004] Reserved : 00000000
+[0004] Instruction Entry Count : 00000010
+
+[0001] Action : 00 [Begin Write Operation]
+[0001] Instruction : 03 [Write Register Value]
+[0001] Flags (decoded below) : 00
+ Preserve Register Bits : 0
+[0001] Reserved : 00
+
+[0012] Register Region : [Generic Address Structure]
+[0001] Space ID : 00 [SystemMemory]
+[0001] Bit Width : 40
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 04 [QWord Access:64]
+[0008] Address : 0xFFFF0100
+
+[0008] Value : 0000000000000000
+[0008] Mask : FFFFFFFFFFFFFFFF
+
+[0001] Action : 01 [Begin Read Operation]
+[0001] Instruction : 03 [Write Register Value]
+[0001] Flags (decoded below) : 00
+ Preserve Register Bits : 0
+[0001] Reserved : 00
+
+[0012] Register Region : [Generic Address Structure]
+[0001] Space ID : 00 [SystemMemory]
+[0001] Bit Width : 40
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 04 [QWord Access:64]
+[0008] Address : 0xFFFF0108
+
+[0008] Value : 0000000000000000
+[0008] Mask : FFFFFFFFFFFFFFFF
+
+[0001] Action : 02 [Begin Clear Operation]
+[0001] Instruction : 03 [Write Register Value]
+[0001] Flags (decoded below) : 00
+ Preserve Register Bits : 0
+[0001] Reserved : 00
+
+[0012] Register Region : [Generic Address Structure]
+[0001] Space ID : 00 [SystemMemory]
+[0001] Bit Width : 40
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 04 [QWord Access:64]
+[0008] Address : 0xFFFF0110
+
+[0008] Value : 0000000000000000
+[0008] Mask : FFFFFFFFFFFFFFFF
+
+[0001] Action : 03 [End Operation]
+[0001] Instruction : 04 [Noop]
+[0001] Flags (decoded below) : 01
+ Preserve Register Bits : 1
+[0001] Reserved : 00
+
+[0012] Register Region : [Generic Address Structure]
+[0001] Space ID : 00 [SystemMemory]
+[0001] Bit Width : 40
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 04 [QWord Access:64]
+[0008] Address : 0xFFFF0118
+
+[0008] Value : 0000000000000000
+[0008] Mask : FFFFFFFFFFFFFFFF
+
+[0001] Action : 04 [Set Record Offset]
+[0001] Instruction : 02 [Write Register]
+[0001] Flags (decoded below) : 00
+ Preserve Register Bits : 0
+[0001] Reserved : 00
+
+[0012] Register Region : [Generic Address Structure]
+[0001] Space ID : 00 [SystemMemory]
+[0001] Bit Width : 40
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 04 [QWord Access:64]
+[0008] Address : 0xFFFF0120
+
+[0008] Value : 0000000000000000
+[0008] Mask : FFFFFFFFFFFFFFFF
+
+[0001] Action : 05 [Execute Operation]
+[0001] Instruction : 03 [Write Register Value]
+[0001] Flags (decoded below) : 00
+ Preserve Register Bits : 0
+[0001] Reserved : 00
+
+[0012] Register Region : [Generic Address Structure]
+[0001] Space ID : 00 [SystemMemory]
+[0001] Bit Width : 08
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 01 [Byte Access:8]
+[0008] Address : 0xFFFF0128
+
+[0008] Value : 0000000000000000
+[0008] Mask : FFFFFFFFFFFFFFFF
+
+[0001] Action : 06 [Check Busy Status]
+[0001] Instruction : 01 [Read Register Value]
+[0001] Flags (decoded below) : 00
+ Preserve Register Bits : 0
+[0001] Reserved : 00
+
+[0012] Register Region : [Generic Address Structure]
+[0001] Space ID : 00 [SystemMemory]
+[0001] Bit Width : 40
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 04 [QWord Access:64]
+[0008] Address : 0xFFFF0130
+
+[0008] Value : 0000000000000000
+[0008] Mask : FFFFFFFFFFFFFFFF
+
+[0001] Action : 07 [Get Command Status]
+[0001] Instruction : 00 [Read Register]
+[0001] Flags (decoded below) : 00
+ Preserve Register Bits : 0
+[0001] Reserved : 00
+
+[0012] Register Region : [Generic Address Structure]
+[0001] Space ID : 00 [SystemMemory]
+[0001] Bit Width : 40
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 04 [QWord Access:64]
+[0008] Address : 0xFFFF0138
+
+[0008] Value : 0000000000000000
+[0008] Mask : FFFFFFFFFFFFFFFF
+
+[0001] Action : 08 [Get Record Identifier]
+[0001] Instruction : 00 [Read Register]
+[0001] Flags (decoded below) : 00
+ Preserve Register Bits : 0
+[0001] Reserved : 00
+
+[0012] Register Region : [Generic Address Structure]
+[0001] Space ID : 00 [SystemMemory]
+[0001] Bit Width : 40
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 04 [QWord Access:64]
+[0008] Address : 0xFFFF0140
+
+[0008] Value : 0000000000000000
+[0008] Mask : FFFFFFFFFFFFFFFF
+
+[0001] Action : 09 [Set Record Identifier]
+[0001] Instruction : 02 [Write Register]
+[0001] Flags (decoded below) : 00
+ Preserve Register Bits : 0
+[0001] Reserved : 00
+
+[0012] Register Region : [Generic Address Structure]
+[0001] Space ID : 00 [SystemMemory]
+[0001] Bit Width : 40
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 04 [QWord Access:64]
+[0008] Address : 0xFFFF0148
+
+[0008] Value : 0000000000000000
+[0008] Mask : FFFFFFFFFFFFFFFF
+
+[0001] Action : 0A [Get Record Count]
+[0001] Instruction : 00 [Read Register]
+[0001] Flags (decoded below) : 00
+ Preserve Register Bits : 0
+[0001] Reserved : 00
+
+[0012] Register Region : [Generic Address Structure]
+[0001] Space ID : 00 [SystemMemory]
+[0001] Bit Width : 40
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 04 [QWord Access:64]
+[0008] Address : 0xFFFF0150
+
+[0008] Value : 0000000000000000
+[0008] Mask : FFFFFFFFFFFFFFFF
+
+[0001] Action : 0B [Begin Dummy Write]
+[0001] Instruction : 03 [Write Register Value]
+[0001] Flags (decoded below) : 00
+ Preserve Register Bits : 0
+[0001] Reserved : 00
+
+[0012] Register Region : [Generic Address Structure]
+[0001] Space ID : 00 [SystemMemory]
+[0001] Bit Width : 40
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 04 [QWord Access:64]
+[0008] Address : 0xFFFF0158
+
+[0008] Value : 0000000000000000
+[0008] Mask : FFFFFFFFFFFFFFFF
+
+[0001] Action : 0C [Unused/Unknown Action]
+[0001] Instruction : 00 [Read Register]
+[0001] Flags (decoded below) : 00
+ Preserve Register Bits : 0
+[0001] Reserved : 00
+
+[0012] Register Region : [Generic Address Structure]
+[0001] Space ID : 00 [SystemMemory]
+[0001] Bit Width : 40
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 04 [QWord Access:64]
+[0008] Address : 0xFFFF0160
+
+[0008] Value : 0000000000000000
+[0008] Mask : FFFFFFFFFFFFFFFF
+
+[0001] Action : 0D [Get Error Address Range]
+[0001] Instruction : 00 [Read Register]
+[0001] Flags (decoded below) : 00
+ Preserve Register Bits : 0
+[0001] Reserved : 00
+
+[0012] Register Region : [Generic Address Structure]
+[0001] Space ID : 00 [SystemMemory]
+[0001] Bit Width : 40
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 04 [QWord Access:64]
+[0008] Address : 0xFFFF0168
+
+[0008] Value : 0000000000000000
+[0008] Mask : FFFFFFFFFFFFFFFF
+
+[0001] Action : 0E [Get Error Address Length]
+[0001] Instruction : 00 [Read Register]
+[0001] Flags (decoded below) : 00
+ Preserve Register Bits : 0
+[0001] Reserved : 00
+
+[0012] Register Region : [Generic Address Structure]
+[0001] Space ID : 00 [SystemMemory]
+[0001] Bit Width : 40
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 04 [QWord Access:64]
+[0008] Address : 0xFFFF0170
+
+[0008] Value : 0000000000000000
+[0008] Mask : FFFFFFFFFFFFFFFF
+
+[0001] Action : 0F [Get Error Attributes]
+[0001] Instruction : 00 [Read Register]
+[0001] Flags (decoded below) : 00
+ Preserve Register Bits : 0
+[0001] Reserved : 00
+
+[0012] Register Region : [Generic Address Structure]
+[0001] Space ID : 00 [SystemMemory]
+[0001] Bit Width : 40
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 04 [QWord Access:64]
+[0008] Address : 0xFFFF0178
+
+[0008] Value : 0000000000000000
+[0008] Mask : FFFFFFFFFFFFFFFF
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/facp.asl b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/facp.asl
new file mode 100644
index 000000000..8d742f7ce
--- /dev/null
+++ b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/facp.asl
@@ -0,0 +1,194 @@
+/*
+ * Copyright (c) 2013, Al Stone <al.stone@linaro.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * NB: This License is also known as the "BSD 2-Clause License".
+ *
+ *
+ * [FACP] ACPI Table
+ *
+ */
+
+[0004] Signature : "FACP"
+[0004] Table Length : 0000010C
+[0001] Revision : 05
+[0001] Checksum : 18
+[0006] Oem ID : "LINARO"
+[0008] Oem Table ID : "RTSMVEV8"
+[0004] Oem Revision : 00000000
+[0004] Asl Compiler ID : "INTL"
+[0004] Asl Compiler Revision : 20111123
+
+[0004] FACS Address : 00000000
+[0004] DSDT Address : 00000010
+[0001] Model : 00
+[0001] PM Profile : 04 /* Enterprise Server */
+[0002] SCI Interrupt : 0000
+[0004] SMI Command Port : 00000000
+[0001] ACPI Enable Value : 00
+[0001] ACPI Disable Value : 00
+[0001] S4BIOS Command : 00
+[0001] P-State Control : 00
+[0004] PM1A Event Block Address : 00000001
+[0004] PM1B Event Block Address : 00000000
+[0004] PM1A Control Block Address : 00000001
+[0004] PM1B Control Block Address : 00000000
+[0004] PM2 Control Block Address : 00000001
+[0004] PM Timer Block Address : 00000001
+[0004] GPE0 Block Address : 00000001
+[0004] GPE1 Block Address : 00000000
+[0001] PM1 Event Block Length : 04
+[0001] PM1 Control Block Length : 02
+[0001] PM2 Control Block Length : 01
+[0001] PM Timer Block Length : 04
+[0001] GPE0 Block Length : 08
+[0001] GPE1 Block Length : 00
+[0001] GPE1 Base Offset : 00
+[0001] _CST Support : 00
+[0002] C2 Latency : 0000
+[0002] C3 Latency : 0000
+[0002] CPU Cache Size : 0000
+[0002] Cache Flush Stride : 0000
+[0001] Duty Cycle Offset : 00
+[0001] Duty Cycle Width : 00
+[0001] RTC Day Alarm Index : 00
+[0001] RTC Month Alarm Index : 00
+[0001] RTC Century Index : 00
+[0002] Boot Flags (decoded below) : 0000
+ Legacy Devices Supported (V2) : 0
+ 8042 Present on ports 60/64 (V2) : 0
+ VGA Not Present (V4) : 0
+ MSI Not Supported (V4) : 0
+ PCIe ASPM Not Supported (V4) : 0
+ CMOS RTC Not Present (V5) : 0
+[0001] Reserved : 00
+[0004] Flags (decoded below) : 00000000
+ WBINVD instruction is operational (V1) : 1
+ WBINVD flushes all caches (V1) : 1
+ All CPUs support C1 (V1) : 0
+ C2 works on MP system (V1) : 0
+ Control Method Power Button (V1) : 1
+ Control Method Sleep Button (V1) : 1
+ RTC wake not in fixed reg space (V1) : 0
+ RTC can wake system from S4 (V1) : 0
+ 32-bit PM Timer (V1) : 0
+ Docking Supported (V1) : 0
+ Reset Register Supported (V2) : 0
+ Sealed Case (V3) : 0
+ Headless - No Video (V3) : 1
+ Use native instr after SLP_TYPx (V3) : 0
+ PCIEXP_WAK Bits Supported (V4) : 0
+ Use Platform Timer (V4) : 0
+ RTC_STS valid on S4 wake (V4) : 0
+ Remote Power-on capable (V4) : 1
+ Use APIC Cluster Model (V4) : 0
+ Use APIC Physical Destination Mode (V4) : 0
+ Hardware Reduced (V5) : 1
+ Low Power S0 Idle (V5) : 1
+
+[0012] Reset Register : [Generic Address Structure]
+[0001] Space ID : 01 [SystemIO]
+[0001] Bit Width : 08
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 01 [Byte Access:8]
+[0008] Address : 0000000000000001
+
+[0001] Value to cause reset : 00
+[0003] Reserved : 000000
+[0008] FACS Address : 0000000000000000
+[0008] DSDT Address : 0000000000000010
+[0012] PM1A Event Block : [Generic Address Structure]
+[0001] Space ID : 01 [SystemIO]
+[0001] Bit Width : 20
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 02 [Word Access:16]
+[0008] Address : 0000000000000001
+
+[0012] PM1B Event Block : [Generic Address Structure]
+[0001] Space ID : 01 [SystemIO]
+[0001] Bit Width : 00
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 00 [Undefined/Legacy]
+[0008] Address : 0000000000000000
+
+[0012] PM1A Control Block : [Generic Address Structure]
+[0001] Space ID : 01 [SystemIO]
+[0001] Bit Width : 10
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 02 [Word Access:16]
+[0008] Address : 0000000000000001
+
+[0012] PM1B Control Block : [Generic Address Structure]
+[0001] Space ID : 01 [SystemIO]
+[0001] Bit Width : 00
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 00 [Undefined/Legacy]
+[0008] Address : 0000000000000000
+
+[0012] PM2 Control Block : [Generic Address Structure]
+[0001] Space ID : 01 [SystemIO]
+[0001] Bit Width : 08
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 00 [Undefined/Legacy]
+[0008] Address : 0000000000000001
+
+[0012] PM Timer Block : [Generic Address Structure]
+[0001] Space ID : 01 [SystemIO]
+[0001] Bit Width : 20
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 03 [DWord Access:32]
+[0008] Address : 0000000000000001
+
+[0012] GPE0 Block : [Generic Address Structure]
+[0001] Space ID : 01 [SystemIO]
+[0001] Bit Width : 80
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 01 [Byte Access:8]
+[0008] Address : 0000000000000001
+
+[0012] GPE1 Block : [Generic Address Structure]
+[0001] Space ID : 01 [SystemIO]
+[0001] Bit Width : 00
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 00 [Undefined/Legacy]
+[0008] Address : 0000000000000000
+
+
+[0012] Sleep Control Register : [Generic Address Structure]
+[0001] Space ID : 01 [SystemIO]
+[0001] Bit Width : 08
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 01 [Byte Access:8]
+[0008] Address : 0000000000000000
+
+[0012] Sleep Status Register : [Generic Address Structure]
+[0001] Space ID : 01 [SystemIO]
+[0001] Bit Width : 08
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 01 [Byte Access:8]
+[0008] Address : 0000000000000000
+
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/facs.asl b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/facs.asl
new file mode 100644
index 000000000..8dbb38b38
--- /dev/null
+++ b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/facs.asl
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2013, Al Stone <al.stone@linaro.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * NB: This License is also known as the "BSD 2-Clause License".
+ *
+ *
+ * [FACS] ACPI Table
+ *
+ */
+
+[0004] Signature : "FACS"
+[0004] Length : 00000040
+[0004] Hardware Signature : 00000000
+[0004] 32 Firmware Waking Vector : 00000000
+[0004] Global Lock : 00000000
+[0004] Flags (decoded below) : 00000000
+ S4BIOS Support Present : 0
+ 64-bit Wake Supported (V2) : 0
+[0008] 64 Firmware Waking Vector : 0000000000000000
+[0001] Version : 02
+[0003] Reserved : 000000
+[0004] OspmFlags (decoded below) : 00000000
+ 64-bit Wake Env Required (V2) : 0
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/fpdt.asl b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/fpdt.asl
new file mode 100644
index 000000000..53afa6676
--- /dev/null
+++ b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/fpdt.asl
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2013, Al Stone <al.stone@linaro.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * NB: This License is also known as the "BSD 2-Clause License".
+ *
+ *
+ * [FPDT] Firmware Performance Data Table
+ * Format: [ByteLength] FieldName : HexFieldValue
+ *
+ */
+
+[0004] Signature : "FPDT"
+[0004] Table Length : 00000064
+[0001] Revision : 01
+[0001] Checksum : BD
+[0006] Oem ID : "LINARO"
+[0008] Oem Table ID : "RTSMVEV8"
+[0004] Oem Revision : 00000001
+[0004] Asl Compiler ID : "INTL"
+[0004] Asl Compiler Revision : 20110804
+
+
+[0002] Subtable Type : 0000
+[0001] Length : 30
+[0001] Revision : 01
+[0004] Reserved : 00000000
+[0008] Reset End : 0000000000000000
+[0008] Load Image Start : 0000000000000000
+[0008] Start Image Start : 0000000000000000
+[0008] Exit Services Entry : 0000000000000000
+[0008] Exit Services Exit : 0000000000000000
+
+[0002] Subtable Type : 0001
+[0001] Length : 10
+[0001] Revision : 01
+[0004] Reserved : 00000000
+[0008] S3PT Address : 0000000000000000
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/gtdt.asl b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/gtdt.asl
new file mode 100644
index 000000000..afaf9f41b
--- /dev/null
+++ b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/gtdt.asl
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2013, Al Stone <al.stone@linaro.org>
+ * Hanjun Guo <hanjun.guo@linaro.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * NB: This License is also known as the "BSD 2-Clause License".
+ *
+ *
+ * [GTDT] Generic Timer Description Table
+ * Format: [ByteLength] FieldName : HexFieldValue
+ *
+ */
+
+[0004] Signature : "GTDT"
+[0004] Table Length : 00000050
+[0001] Revision : 01
+[0001] Checksum : F1
+[0006] Oem ID : "LINARO"
+[0008] Oem Table ID : "RTSMVEV8"
+[0004] Oem Revision : 00000001
+[0004] Asl Compiler ID : "INTL"
+[0004] Asl Compiler Revision : 20110623
+
+[0008] Timer Address : 0000000000000000
+[0004] Flags (decoded below) : 00000001
+ Memory Present : 1
+
+/* In RTSM model's dts file, the last cell of interrupts
+ * is 0xff01, it means its cpu mask is FF, and trigger type
+ * and flag is 1 = low-to-high edge triggered.
+ *
+ * so in ACPI the Trigger Mode is 1 - Edge triggered, and
+ * Polarity is 0 - Active high as ACPI spec describled.
+ *
+ * using direct mapping for hwirqs, it means that we using
+ * ID [16, 31] for PPI, not [0, 15] used in FDT.
+ */
+[0004] Secure PL1 Interrupt : 0000001d
+[0004] SPL1 Flags (decoded below) : 00000001
+ Trigger Mode : 1
+ Polarity : 0
+
+[0004] Non-Secure PL1 Interrupt : 0000001e
+[0004] NSPL1 Flags (decoded below) : 00000001
+ Trigger Mode : 1
+ Polarity : 0
+
+[0004] Virtual Timer Interrupt : 0000001b
+[0004] VT Flags (decoded below) : 00000001
+ Trigger Mode : 1
+ Polarity : 0
+
+[0004] Non-Secure PL2 Interrupt : 0000001a
+[0004] NSPL2 Flags (decoded below) : 00000001
+ Trigger Mode : 1
+ Polarity : 0
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/hest.asl b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/hest.asl
new file mode 100644
index 000000000..70ba8f2f1
--- /dev/null
+++ b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/hest.asl
@@ -0,0 +1,76 @@
+/*
+ * Copyright (c) 2013, Al Stone <al.stone@linaro.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * NB: This License is also known as the "BSD 2-Clause License".
+ *
+ *
+ * [HEST] Hardware Error Source Table
+ * Format: [ByteLength] FieldName : HexFieldValue
+ *
+ */
+
+[0004] Signature : "HEST"
+[0004] Table Length : 000001D4
+[0001] Revision : 01
+[0001] Checksum : 20
+[0006] Oem ID : "LINARO"
+[0008] Oem Table ID : "RTSMVEV8"
+[0004] Oem Revision : 00000002
+[0004] Asl Compiler ID : "INTL"
+[0004] Asl Compiler Revision : 20100528
+
+[0004] Error Source Count : 00000001
+
+[0002] Subtable Type : 0009 [Generic Hardware Error Source]
+[0002] Source Id : 0002
+[0002] Related Source Id : FFFF
+[0001] Reserved : 00
+[0001] Enabled : 01
+[0004] Records To Preallocate : 00000001
+[0004] Max Sections Per Record : 00000001
+[0004] Max Raw Data Length : 00001000
+
+[0012] Error Status Address : [Generic Address Structure]
+[0001] Space ID : 00 [SystemMemory]
+[0001] Bit Width : 40
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 04 [QWord Access:64]
+[0008] Address : 0xFFFF0000
+
+[0028] Notify : [Hardware Error Notification Structure]
+[0001] Notify Type : 03 [SCI]
+[0001] Notify Length : 1C
+[0002] Configuration Write Enable : 0000
+[0004] PollInterval : 00000000
+[0004] Vector : 00000000
+[0004] Polling Threshold Value : 00000000
+[0004] Polling Threshold Window : 00000000
+[0004] Error Threshold Value : 00000000
+[0004] Error Threshold Window : 00000000
+
+[0004] Error Status Block Length : 00001000
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/mcfg.asl b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/mcfg.asl
new file mode 100644
index 000000000..470637e07
--- /dev/null
+++ b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/mcfg.asl
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2013, Al Stone <al.stone@linaro.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * NB: This License is also known as the "BSD 2-Clause License".
+ *
+ *
+ * [MCFG] PCIe Memory Mapped Configuration Table
+ * Format: [ByteLength] FieldName : HexFieldValue
+ *
+ */
+
+[0004] Signature : "MCFG"
+[0004] Table Length : 0000003C
+[0001] Revision : 01
+[0001] Checksum : 19
+[0006] Oem ID : "LINARO"
+[0008] Oem Table ID : "RTSMVEV8"
+[0004] Oem Revision : 00000001
+[0004] Asl Compiler ID : "INTL"
+[0004] Asl Compiler Revision : 20100528
+
+[0008] Reserved : 0000000000000000
+
+[0008] Base Address : 0000000000000000
+[0002] Segment Group Number : 0000
+[0001] Start Bus Number : 00
+[0001] End Bus Number : 00
+[0004] Reserved : 00000000
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/mchi.asl b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/mchi.asl
new file mode 100644
index 000000000..759ff193c
--- /dev/null
+++ b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/mchi.asl
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2013, Al Stone <al.stone@linaro.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * NB: This License is also known as the "BSD 2-Clause License".
+ *
+ *
+ * [MCHI] Management Controller Host Interface Table
+ * Format: [ByteLength] FieldName : HexFieldValue
+ *
+ */
+
+[0004] Signature : "MCHI"
+[0004] Table Length : 00000045
+[0001] Revision : 01
+[0001] Checksum : E4
+[0006] Oem ID : "LINARO"
+[0008] Oem Table ID : "RTSMVEV8"
+[0004] Oem Revision : 02000715
+[0004] Asl Compiler ID : "INTL"
+[0004] Asl Compiler Revision : 20100528
+
+[0001] Interface Type : 01
+[0001] Protocol : 00
+[0008] Protocol Data : 0000000000000000
+[0001] Interrupt Type : 00
+[0001] Gpe : 00
+[0001] Pci Device Flag : 00
+[0004] Global Interrupt : 00000000
+
+[0012] Control Register : [Generic Address Structure]
+[0001] Space ID : 02 [PCI_Config]
+[0001] Bit Width : 08
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 00 [Undefined/Legacy]
+[0008] Address : 0000000000000000
+
+[0001] Pci Segment : 00
+[0001] Pci Bus : 00
+[0001] Pci Device : 00
+[0001] Pci Function : 00
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/mpst.asl b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/mpst.asl
new file mode 100644
index 000000000..d8b0d8cf5
--- /dev/null
+++ b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/mpst.asl
@@ -0,0 +1,114 @@
+/*
+ * Copyright (c) 2013, Al Stone <al.stone@linaro.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * NB: This License is also known as the "BSD 2-Clause License".
+ *
+ *
+ * [MPST] Memory Power State Table
+ * Format: [ByteLength] FieldName : HexFieldValue
+ *
+ */
+
+[0004] Signature : "MPST"
+[0004] Table Length : 000000B6
+[0001] Revision : 01
+[0001] Checksum : 77
+[0006] Oem ID : "LINARO"
+[0008] Oem Table ID : "RTSMVEV8"
+[0004] Oem Revision : 00000001
+[0004] Asl Compiler ID : "INTL"
+[0004] Asl Compiler Revision : 20120913
+
+[0001] Channel ID : 00
+[0003] Reserved : 000000
+[0002] Power Node Count : 0002
+[0002] Reserved : 0000
+
+[0001] Flags (decoded below) : 00
+ Node Enabled : 0
+ Power Managed : 0
+ Hot Plug Capable : 0
+[0001] Reserved : 00
+[0002] Node ID : 0000
+[0004] Length : 00000000
+[0008] Range Address : 0000000000000000
+[0008] Range Length : 0000000000000000
+[0004] Num Power States : 00000002
+[0004] Num Physical Components : 00000003
+
+[0001] Power State : 00
+[0001] InfoIndex : 00
+
+[0001] Power State : 00
+[0001] InfoIndex : 00
+
+[0002] Component Id : 0000
+[0002] Component Id : 0001
+[0002] Component Id : 0002
+
+[0001] Flags (decoded below) : 00
+ Node Enabled : 0
+ Power Managed : 0
+ Hot Plug Capable : 0
+[0001] Reserved : 00
+[0002] Node ID : 0000
+[0004] Length : 00000000
+[0008] Range Address : 0000000000000000
+[0008] Range Length : 0000000000000000
+[0004] Num Power States : 00000001
+[0004] Num Physical Components : 00000001
+
+[0001] Power State : 00
+[0001] InfoIndex : 00
+
+[0002] Component Id : 0000
+
+[0002] Characteristics Count : 0002
+[0002] Reserved : 0000
+
+[0001] Structure ID : 01
+[0001] Flags (decoded below) : 00
+ Memory Preserved : 0
+ Auto Entry : 0
+ Auto Exit : 0
+[0002] Reserved : 0000
+[0004] Average Power : 00000000
+[0004] Power Saving : 00000000
+[0008] Exit Latency : 0000000000000000
+[0008] Reserved : 0000000000000000
+
+[0001] Structure ID : 01
+[0001] Flags (decoded below) : 00
+ Memory Preserved : 0
+ Auto Entry : 0
+ Auto Exit : 0
+[0002] Reserved : 0000
+[0004] Average Power : 00000000
+[0004] Power Saving : 00000000
+[0008] Exit Latency : 0000000000000000
+[0008] Reserved : 0000000000000000
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/msct.asl b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/msct.asl
new file mode 100644
index 000000000..aecde848b
--- /dev/null
+++ b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/msct.asl
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) 2013, Al Stone <al.stone@linaro.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * NB: This License is also known as the "BSD 2-Clause License".
+ *
+ *
+ * [MSCT] Maximum System Characteristics Table
+ * Format: [ByteLength] FieldName : HexFieldValue
+ *
+ */
+
+[0004] Signature : "MSCT"
+[0004] Table Length : 00000090
+[0001] Revision : 01
+[0001] Checksum : B7
+[0006] Oem ID : "LINARO"
+[0008] Oem Table ID : "RTSMVEV8"
+[0004] Oem Revision : 00000001
+[0004] Asl Compiler ID : "INTL"
+[0004] Asl Compiler Revision : 20100528
+
+[0004] Proximity Offset : 00000038
+[0004] Max Proximity Domains : 00000003
+[0004] Max Clock Domains : 00000000
+[0008] Max Physical Address : 00000FFFFFFFFFFF
+
+[0001] Revision : 01
+[0001] Length : 16
+[0004] Domain Range Start : 00000000
+[0004] Domain Range End : 00000003
+[0004] Processor Capacity : 00000010
+[0008] Memory Capacity : 0000004000000000
+
+[0001] Revision : 01
+[0001] Length : 16
+[0004] Domain Range Start : 00000000
+[0004] Domain Range End : 00000000
+[0004] Processor Capacity : 00000000
+[0008] Memory Capacity : 0000000000000000
+
+[0001] Revision : 01
+[0001] Length : 16
+[0004] Domain Range Start : 00000000
+[0004] Domain Range End : 00000000
+[0004] Processor Capacity : 00000000
+[0008] Memory Capacity : 0000000000000000
+
+[0001] Revision : 01
+[0001] Length : 16
+[0004] Domain Range Start : 00000000
+[0004] Domain Range End : 00000000
+[0004] Processor Capacity : 00000000
+[0008] Memory Capacity : 0000000000000000
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/oem0.asl b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/oem0.asl
new file mode 100644
index 000000000..ae4fa2805
--- /dev/null
+++ b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/oem0.asl
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2013, Al Stone <al.stone@linaro.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * NB: This License is also known as the "BSD 2-Clause License".
+ *
+ *
+ * [OEMx] OEM Specific Table
+ * Format: [ByteLength] FieldName : HexFieldValue
+ *
+ */
+
+[0004] Signature : "OEM0"
+[0004] Table Length : 00000024
+[0001] Revision : 01
+[0001] Checksum : 8B
+[0006] Oem ID : "LINARO"
+[0008] Oem Table ID : "RTSMVEV8"
+[0004] Oem Revision : 0000000A
+[0004] Asl Compiler ID : "INTL"
+[0004] Asl Compiler Revision : 20100528
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/pmtt.asl b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/pmtt.asl
new file mode 100644
index 000000000..019116f17
--- /dev/null
+++ b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/pmtt.asl
@@ -0,0 +1,132 @@
+/*
+ * Copyright (c) 2013, Al Stone <al.stone@linaro.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * NB: This License is also known as the "BSD 2-Clause License".
+ *
+ *
+ * [PMTT] Platform Memory Topology Table
+ * Format: [ByteLength] FieldName : HexFieldValue
+ *
+ */
+
+[0004] Signature : "PMTT"
+[0004] Table Length : 000000B4
+[0001] Revision : 01
+[0001] Checksum : 3A
+[0006] Oem ID : "LINARO"
+[0008] Oem Table ID : "RTSMVEV8"
+[0004] Oem Revision : 00000001
+[0004] Asl Compiler ID : "INTL"
+[0004] Asl Compiler Revision : 20110826
+
+[0004] Reserved : 00000000
+
+[0001] Subtable Type : 00 [Socket]
+[0001] Reserved : 00
+[0002] Length : 0080
+[0002] Flags (decoded below) : 0001
+ Top-level Device : 1
+ Physical Element : 0
+ Memory Type : 0
+[0002] Reserved : 0000
+[0002] Socket ID : 0000
+[0002] Reserved : 0000
+
+[0001] Subtable Type : 01 [Memory Controller]
+[0001] Reserved : 00
+[0002] Length : 0054
+[0002] Flags (decoded below) : 0005
+ Top-level Device : 1
+ Physical Element : 0
+ Memory Type : 1
+[0002] Reserved : 0000
+[0004] Read Latency : 00000000
+[0004] Write Latency : 00000000
+[0004] Read Bandwidth : 00000000
+[0004] Write Bandwidth : 00000000
+[0002] Access Width : 0000
+[0002] Alignment : 0000
+[0002] Reserved : 0000
+[0002] Domain Count : 0003
+[0004] Proximity Domain : 00000000
+[0004] Proximity Domain : 00000000
+[0004] Proximity Domain : 00000000
+
+[0001] Subtable Type : 02 [Physical Component (DIMM)]
+[0001] Reserved : 00
+[0002] Length : 0014
+[0002] Flags (decoded below) : 0002
+ Top-level Device : 0
+ Physical Element : 1
+ Memory Type : 0
+[0002] Reserved : 0000
+[0002] Component ID : 0000
+[0002] Reserved : 0000
+[0004] Memory Size : 00000000
+[0004] Bios Handle : 00000000
+
+[0001] Subtable Type : 02 [Physical Component (DIMM)]
+[0001] Reserved : 00
+[0002] Length : 0014
+[0002] Flags (decoded below) : 0002
+ Top-level Device : 0
+ Physical Element : 1
+ Memory Type : 0
+[0002] Reserved : 0000
+[0002] Component ID : 0000
+[0002] Reserved : 0000
+[0004] Memory Size : 00000000
+[0004] Bios Handle : 00000000
+
+[0001] Subtable Type : 01 [Memory Controller]
+[0001] Reserved : 00
+[0002] Length : 0020
+[0002] Flags (decoded below) : 0001
+ Top-level Device : 1
+ Physical Element : 0
+ Memory Type : 0
+[0002] Reserved : 0000
+[0004] Read Latency : 00000000
+[0004] Write Latency : 00000000
+[0004] Read Bandwidth : 00000000
+[0004] Write Bandwidth : 00000000
+[0002] Access Width : 0000
+[0002] Alignment : 0000
+[0002] Reserved : 0000
+[0002] Domain Count : 0000
+
+[0001] Subtable Type : 00 [Socket]
+[0001] Reserved : 00
+[0002] Length : 000C
+[0002] Flags (decoded below) : 0001
+ Top-level Device : 1
+ Physical Element : 0
+ Memory Type : 0
+[0002] Reserved : 0000
+[0002] Socket ID : 0000
+[0002] Reserved : 0000
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/rsdp.asl b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/rsdp.asl
new file mode 100644
index 000000000..0595647cc
--- /dev/null
+++ b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/rsdp.asl
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2013, Al Stone <al.stone@linaro.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * NB: This License is also known as the "BSD 2-Clause License".
+ *
+ *
+ * [RSDP] ACPI Table
+ *
+ */
+
+[0008] Signature : "RSD PTR "
+[0001] Checksum : 43
+[0006] Oem ID : "LINARO"
+[0001] Revision : 02
+[0004] RSDT Address : 00000000
+[0004] Length : 00000024
+[0008] XSDT Address : 0000000000000000
+[0001] Extended Checksum : DC
+[0003] Reserved : 000000
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/slit.asl b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/slit.asl
new file mode 100644
index 000000000..3d62f3210
--- /dev/null
+++ b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/slit.asl
@@ -0,0 +1,87 @@
+/*
+ * Copyright (c) 2013, Al Stone <al.stone@linaro.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * NB: This License is also known as the "BSD 2-Clause License".
+ *
+ *
+ * [SLIT] System Locality Information Table
+ * Format: [ByteLength] FieldName : HexFieldValue
+ *
+ */
+
+[0004] Signature : "SLIT"
+[0004] Table Length : 000001BC
+[0001] Revision : 01
+[0001] Checksum : 00
+[0006] Oem ID : "LINARO"
+[0008] Oem Table ID : "RTSMVEV8"
+[0004] Oem Revision : 00000001
+[0004] Asl Compiler ID : "INTL"
+[0004] Asl Compiler Revision : 20110316
+
+[0008] Localities : 0000000000000014
+[0020] Locality 0 : 0A 10 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 \
+ 24 25 26 27
+[0020] Locality 1 : 10 0A 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 \
+ 23 24 25 26
+[0020] Locality 2 : 16 15 0A 10 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 \
+ 22 23 24 25
+[0020] Locality 3 : 17 16 10 0A 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 \
+ 21 22 23 24
+[0020] Locality 4 : 18 17 16 15 0A 10 16 17 18 19 1A 1B 1C 1D 1E 1F \
+ 20 21 22 23
+[0020] Locality 5 : 19 18 17 16 10 0A 15 16 17 18 19 1A 1B 1C 1D 1E \
+ 1F 20 21 22
+[0020] Locality 6 : 1A 19 18 17 16 15 0A 10 16 17 18 19 1A 1B 1C 1D \
+ 1E 1F 20 21
+[0020] Locality 7 : 1B 1A 19 18 17 16 10 0A 15 16 17 18 19 1A 1B 1C \
+ 1D 1E 1F 20
+[0020] Locality 8 : 1C 1B 1A 19 18 17 16 15 0A 10 16 17 18 19 1A 1B \
+ 1C 1D 1E 1F
+[0020] Locality 9 : 1D 1C 1B 1A 19 18 17 16 10 0A 15 16 17 18 19 1A \
+ 1B 1C 1D 1E
+[0020] Locality 10 : 1E 1D 1C 1B 1A 19 18 17 16 15 0A 10 16 17 18 19 \
+ 1A 1B 1C 1D
+[0020] Locality 11 : 1F 1E 1D 1C 1B 1A 19 18 17 16 10 0A 15 16 17 18 \
+ 19 1A 1B 1C
+[0020] Locality 12 : 20 1F 1E 1D 1C 1B 1A 19 18 17 16 15 0A 10 16 17 \
+ 18 19 1A 1B
+[0020] Locality 13 : 21 20 1F 1E 1D 1C 1B 1A 19 18 17 16 10 0A 15 16 \
+ 17 18 19 1A
+[0020] Locality 14 : 22 21 20 1F 1E 1D 1C 1B 1A 19 18 17 16 15 0A 10 \
+ 16 17 18 19
+[0020] Locality 15 : 23 22 21 20 1F 1E 1D 1C 1B 1A 19 18 17 16 10 0A \
+ 15 16 17 18
+[0020] Locality 16 : 24 23 22 21 20 1F 1E 1D 1C 1B 1A 19 18 17 16 15 \
+ 0A 10 16 17
+[0020] Locality 17 : 25 24 23 22 21 20 1F 1E 1D 1C 1B 1A 19 18 17 16 \
+ 10 0A 15 16
+[0020] Locality 18 : 26 25 24 23 22 21 20 1F 1E 1D 1C 1B 1A 19 18 17 \
+ 16 15 0A 10
+[0020] Locality 19 : 27 26 25 24 23 22 21 20 1F 1E 1D 1C 1B 1A 19 18 \
+ 17 16 10 0A
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/spmi.asl b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/spmi.asl
new file mode 100644
index 000000000..11b1c994d
--- /dev/null
+++ b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/spmi.asl
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 2013, Al Stone <al.stone@linaro.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * NB: This License is also known as the "BSD 2-Clause License".
+ *
+ *
+ * [SPMI] Server Platform Management Interface Table
+ * Format: [ByteLength] FieldName : HexFieldValue
+ *
+ */
+
+[0004] Signature : "SPMI"
+[0004] Table Length : 00000041
+[0001] Revision : 04
+[0001] Checksum : ED
+[0006] Oem ID : "LINARO"
+[0008] Oem Table ID : "RTSMVEV8"
+[0004] Oem Revision : 00000000
+[0004] Asl Compiler ID : "INTL"
+[0004] Asl Compiler Revision : 20100528
+
+[0001] Interface Type : 00
+[0001] Reserved : 00
+[0002] IPMI Spec Version : 0000
+[0001] Interrupt Type : 00
+[0001] GPE Number : 00
+[0001] Reserved : 00
+[0001] PCI Device Flag : 00
+[0004] Interrupt : 00000000
+
+[0012] IPMI Register : [Generic Address Structure]
+[0001] Space ID : 00 [SystemMemory]
+[0001] Bit Width : 08
+[0001] Bit Offset : 00
+[0001] Encoded Access Width : 01 [Byte Access:8]
+[0008] Address : 0000000000000000
+
+[0001] PCI Segment : 00
+[0001] PCI Bus : 00
+[0001] PCI Device : 00
+[0001] PCI Function : 00
+[0001] Reserved : 00
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/srat.asl b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/srat.asl
new file mode 100644
index 000000000..670bdd3cb
--- /dev/null
+++ b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/srat.asl
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2013, Al Stone <al.stone@linaro.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * NB: This License is also known as the "BSD 2-Clause License".
+ *
+ *
+ * [SRAT] System Resource Affinity Table
+ * Format: [ByteLength] FieldName : HexFieldValue
+ *
+ */
+
+[0004] Signature : "SRAT"
+[0004] Table Length : 00000080
+[0001] Revision : 03
+[0001] Checksum : 5A
+[0006] Oem ID : "LINARO"
+[0008] Oem Table ID : "RTSMVEV8"
+[0004] Oem Revision : 00000001
+[0004] Asl Compiler ID : "INTL"
+[0004] Asl Compiler Revision : 20100528
+
+[0004] Table Revision : 00000001
+[0008] Reserved : 0000000000000000
+
+[0001] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity]
+[0001] Length : 10
+
+[0001] Proximity Domain Low(8) : 00
+[0001] Apic ID : 00
+[0004] Flags (decoded below) : 00000001
+ Enabled : 1
+[0001] Local Sapic EID : 00
+[0003] Proximity Domain High(24) : 000000
+[0004] Reserved : 00000000
+
+[0001] Subtable Type : 01 [Memory Affinity]
+[0001] Length : 28
+
+[0004] Proximity Domain : 00000000
+[0002] Reserved1 : 0000
+[0008] Base Address : 0000000000000000
+[0008] Address Length : 000000000009FC00
+[0004] Reserved2 : 00000000
+[0004] Flags (decoded below) : 00000001
+ Enabled : 1
+ Hot Pluggable : 0
+ Non-Volatile : 0
+[0008] Reserved3 : 0000000000000000
+
+[0001] Subtable Type : 02 [Processor Local x2APIC Affinity]
+[0001] Length : 18
+
+[0002] Reserved1 : 0000
+[0004] Proximity Domain : 00000000
+[0004] Apic ID : 00000000
+[0004] Flags (decoded below) : 00000001
+ Enabled : 1
+[0004] Clock Domain : 00000000
+[0004] Reserved2 : 00000000
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/ssdt0.asl b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/ssdt0.asl
new file mode 100644
index 000000000..a5515acbe
--- /dev/null
+++ b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/ssdt0.asl
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2013, Al Stone <al.stone@linaro.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * NB: This License is also known as the "BSD 2-Clause License".
+ *
+ *
+ * [SSDT] Description of the armv8 VE Model
+ *
+ */
+
+DefinitionBlock (
+ "ssdt0.aml", // output filename
+ "SSDT", // table signature
+ 2, // SSDT compliance revision
+ "LINARO", // OEM ID
+ "RTSMVEV8", // table ID
+ 0x00000001) // OEM revision
+{
+}
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/tpm2.asl b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/tpm2.asl
new file mode 100644
index 000000000..c88eb2c4b
--- /dev/null
+++ b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/tpm2.asl
@@ -0,0 +1,22 @@
+/*
+ * Intel ACPI Component Architecture
+ * iASL Compiler/Disassembler version 20130117-64 [Jan 31 2013]
+ * Copyright (c) 2000 - 2013 Intel Corporation
+ *
+ * Template for [TPM2] ACPI Table
+ * Format: [ByteLength] FieldName : HexFieldValue
+ */
+
+[0004] Signature : "TPM2" [Trusted Platform Module hardware interface table]
+[0004] Table Length : 00000034
+[0001] Revision : 03
+[0001] Checksum : 42
+[0006] Oem ID : "INTEL "
+[0008] Oem Table ID : "TEMPLATE"
+[0004] Oem Revision : 00000001
+[0004] Asl Compiler ID : "INTL"
+[0004] Asl Compiler Revision : 20121114
+
+[0004] Flags : 00000000
+[0008] Control Address : 0011223344556677
+[0004] Start Method : 00000001
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/uefi.asl b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/uefi.asl
new file mode 100644
index 000000000..a39aa52f5
--- /dev/null
+++ b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/uefi.asl
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2013, Al Stone <al.stone@linaro.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * NB: This License is also known as the "BSD 2-Clause License".
+ *
+ *
+ * [UEFI] UEFI Boot Optimization Table
+ * Format: [ByteLength] FieldName : HexFieldValue
+ *
+ */
+
+[0004] Signature : "UEFI"
+[0004] Table Length : 00000036
+[0001] Revision : 01
+[0001] Checksum : 9B
+[0006] Oem ID : "LINARO"
+[0008] Oem Table ID : "RTSMVEV8"
+[0004] Oem Revision : 00000001
+[0004] Asl Compiler ID : "INTL"
+[0004] Asl Compiler Revision : 20100528
+
+[0016] UUID Identifier : 03020100-0504-0706-0809-0A0B0C0D0E0F
+[0002] Data Offset : 0000
diff --git a/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/xsdt.asl b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/xsdt.asl
new file mode 100644
index 000000000..b33f82e21
--- /dev/null
+++ b/ArmPkg/Drivers/AcpiTables/rtsm_ve-aemv8a/xsdt.asl
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2013, Al Stone <al.stone@linaro.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * NB: This License is also known as the "BSD 2-Clause License".
+ *
+ *
+ * [XSDT] Extended System Description Table
+ * Format: [ByteLength] FieldName : HexFieldValue
+ *
+ */
+
+[0004] Signature : "XSDT"
+[0004] Table Length : 00000064
+[0001] Revision : 01
+[0001] Checksum : 8B
+[0006] Oem ID : "LINARO"
+[0008] Oem Table ID : "RTSMVEV8"
+[0004] Oem Revision : 00000014
+[0004] Asl Compiler ID : "INTL"
+[0004] Asl Compiler Revision : 20100528
+
+[0008] ACPI Table Address 0 : 0000000000000010
+[0008] ACPI Table Address 0 : 0000000000000020
+[0008] ACPI Table Address 0 : 0000000000000030
+[0008] ACPI Table Address 0 : 0000000000000040
+[0008] ACPI Table Address 0 : 0000000000000050
+[0008] ACPI Table Address 0 : 0000000000000060
+[0008] ACPI Table Address 0 : 0000000000000070
+[0008] ACPI Table Address 0 : 0000000000000080
+[0008] ACPI Table Address 0 : 0000000000000090
+[0008] ACPI Table Address 0 : 00000000000000A0
+[0008] ACPI Table Address 0 : 00000000000000B0
+[0008] ACPI Table Address 0 : 00000000000000C0
+[0008] ACPI Table Address 0 : 00000000000000D0
+[0008] ACPI Table Address 0 : 00000000000000E0
+[0008] ACPI Table Address 0 : 00000000000000F0
+[0008] ACPI Table Address 0 : 0000000000000100
+[0008] ACPI Table Address 0 : 0000000000000110
+[0008] ACPI Table Address 0 : 0000000000000120
+[0008] ACPI Table Address 0 : 0000000000000130
+[0008] ACPI Table Address 0 : 0000000000000140
diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.fdf b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.fdf
index 1a21f76ff..1e2a613a3 100644
--- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.fdf
+++ b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.fdf
@@ -357,8 +357,6 @@ READ_LOCK_STATUS = TRUE
[Rule.Common.USER_DEFINED.ACPITABLE]
FILE FREEFORM = $(NAMED_GUID) {
- RAW ACPI |.acpi
RAW ASL |.aml
- UI STRING="$(MODULE_NAME)" Optional
}