/** @file * Debug Port Table 2 (DBG2) * * Copyright (c) 2012 - 2014, Linaro Limited. All rights reserved. * Copyright (c) 2015, Hisilicon Limited. All rights reserved. * Copyright (c) 2015, Linaro Limited. All rights reserved. * * 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. * * Based on the files under ArmPlatformPkg/ArmJunoPkg/AcpiTables/ * **/ #include "Pv660Platform.h" #include #include #include #include #define NUMBER_DEBUG_DEVICE_INFO 1 #define NUMBER_OF_GENERIC_ADDRESS 1 #define NAMESPACE_STRING_SIZE 8 #pragma pack(1) typedef struct { EFI_ACPI_DBG2_DEBUG_DEVICE_INFORMATION_STRUCT DdiHeader; EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE Address[NUMBER_OF_GENERIC_ADDRESS]; UINT32 AddressSize[NUMBER_OF_GENERIC_ADDRESS]; CHAR8 NamespaceString[NAMESPACE_STRING_SIZE]; } EFI_ACPI_DBG2_DDI_STRUCT; typedef struct { EFI_ACPI_DEBUG_PORT_2_DESCRIPTION_TABLE Desc; EFI_ACPI_DBG2_DDI_STRUCT Ddi[NUMBER_DEBUG_DEVICE_INFO]; } EFI_ACPI_DEBUG_PORT_2_TABLE; #pragma pack() EFI_ACPI_DEBUG_PORT_2_TABLE Dbg2 = { { ARM_ACPI_HEADER( EFI_ACPI_5_1_DEBUG_PORT_2_TABLE_SIGNATURE, EFI_ACPI_DEBUG_PORT_2_TABLE, EFI_ACPI_DEBUG_PORT_2_TABLE_REVISION ), OFFSET_OF(EFI_ACPI_DEBUG_PORT_2_TABLE, Ddi), NUMBER_DEBUG_DEVICE_INFO }, { { { EFI_ACPI_DBG2_DEBUG_DEVICE_INFORMATION_STRUCT_REVISION, sizeof(EFI_ACPI_DBG2_DDI_STRUCT), NUMBER_OF_GENERIC_ADDRESS, NAMESPACE_STRING_SIZE, OFFSET_OF(EFI_ACPI_DBG2_DDI_STRUCT, NamespaceString), 0, //OemDataLength 0, //OemDataOffset EFI_ACPI_DBG2_PORT_TYPE_SERIAL, EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_FULL_16550, {EFI_ACPI_RESERVED_BYTE, EFI_ACPI_RESERVED_BYTE}, OFFSET_OF(EFI_ACPI_DBG2_DDI_STRUCT, Address), OFFSET_OF(EFI_ACPI_DBG2_DDI_STRUCT, AddressSize), }, { { EFI_ACPI_6_0_SYSTEM_MEMORY, 32, 0, EFI_ACPI_6_0_BYTE, FixedPcdGet64(PcdSerialRegisterBase) } }, { 0x1000 }, "COM0" } } }; // // Reference the table being generated to prevent the optimizer from removing the // data structure from the executable // VOID* CONST ReferenceAcpiTable = &Dbg2;