[edk2-devel] [PATCH 4/5] [edk2-platforms] Silicon/SynQuacer: add DBG2 ACPI table

Masami Hiramatsu masami.hiramatsu at linaro.org
Sat Nov 27 07:52:13 UTC 2021


Hi Leif,

2021年11月27日(土) 3:10 Leif Lindholm <leif at nuviainc.com>:
>
> On Fri, Nov 05, 2021 at 18:23:53 +0900, Masami Hiramatsu wrote:
> > Add DBG2 table to ACPI tables. The COM1 uart port will be used
> > for OS debug, and it is 16550 compatible.
> >
> > Signed-off-by: Masami Hiramatsu <masami.hiramatsu at linaro.org>
> > ---
> >  .../Socionext/SynQuacer/AcpiTables/AcpiTables.inf  |    1
> >  Silicon/Socionext/SynQuacer/AcpiTables/Dbg2.aslc   |   70 ++++++++++++++++++++
> >  2 files changed, 71 insertions(+)
> >  create mode 100644 Silicon/Socionext/SynQuacer/AcpiTables/Dbg2.aslc
> >
> > diff --git a/Silicon/Socionext/SynQuacer/AcpiTables/AcpiTables.inf b/Silicon/Socionext/SynQuacer/AcpiTables/AcpiTables.inf
> > index 886777a0fa..3023206330 100644
> > --- a/Silicon/Socionext/SynQuacer/AcpiTables/AcpiTables.inf
> > +++ b/Silicon/Socionext/SynQuacer/AcpiTables/AcpiTables.inf
> > @@ -22,6 +22,7 @@
> >    Dsdt.asl
> >    Fadt.aslc
> >    Gtdt.aslc
> > +  Dbg2.aslc
>
> Please move this before Dsdt.asl, to keep the list alphabetically sorted.

OK.

>
> >    Iort.aslc
> >    Madt.aslc
> >    Mcfg.aslc
> > diff --git a/Silicon/Socionext/SynQuacer/AcpiTables/Dbg2.aslc b/Silicon/Socionext/SynQuacer/AcpiTables/Dbg2.aslc
> > new file mode 100644
> > index 0000000000..027b3b658b
> > --- /dev/null
> > +++ b/Silicon/Socionext/SynQuacer/AcpiTables/Dbg2.aslc
> > @@ -0,0 +1,70 @@
> > +/** @file
> > +*  Debug Port Table (DBG2)
> > +*
> > +*  Copyright (c) 2020,2021 Linaro Ltd. All rights reserved.
> > +*
> > +*  SPDX-License-Identifier: BSD-2-Clause-Patent
> > +*
> > +**/
> > +#include <IndustryStandard/Acpi.h>
> > +#include <IndustryStandard/DebugPort2Table.h>
> > +#include <Library/AcpiLib.h>
> > +#include <Library/PcdLib.h>
> > +#include <Platform/MemoryMap.h>
> > +
> > +#include "AcpiTables.h"
> > +
> > +#pragma pack(1)
> > +
> > +#define SYNQUACER_UART1_STR { '\\', '_', 'S', 'B', '.', 'C', 'O', 'M', '1', 0x00 }
> > +#define SQ_GAS32(Address) { EFI_ACPI_5_0_SYSTEM_MEMORY, 32, 0, EFI_ACPI_5_0_BYTE, Address }
>
> Use EFI_ACPI_6_3_ consistently?

OK, got it.

Thank you,

>
> /
>     Leif
>
> > +
> > +typedef struct {
> > +  EFI_ACPI_DBG2_DEBUG_DEVICE_INFORMATION_STRUCT Dbg2Device;
> > +  EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE        BaseAddressRegister;
> > +  UINT32                                        AddressSize;
> > +  UINT8                                         NameSpaceString[10];
> > +} DBG2_DEBUG_DEVICE_INFORMATION;
> > +
> > +typedef struct {
> > +  EFI_ACPI_DEBUG_PORT_2_DESCRIPTION_TABLE       Description;
> > +  DBG2_DEBUG_DEVICE_INFORMATION                 Dbg2DeviceInfo;
> > +} DBG2_TABLE;
> > +
> > +
> > +STATIC DBG2_TABLE Dbg2 = {
> > +  {
> > +    __ACPI_HEADER (
> > +      EFI_ACPI_6_3_DEBUG_PORT_2_TABLE_SIGNATURE,
> > +      DBG2_TABLE,
> > +      EFI_ACPI_DBG2_DEBUG_DEVICE_INFORMATION_STRUCT_REVISION
> > +    ),
> > +    OFFSET_OF (DBG2_TABLE, Dbg2DeviceInfo),
> > +    1                                      /* NumberOfDebugPorts */
> > +  },
> > +  {
> > +    {
> > +      EFI_ACPI_DBG2_DEBUG_DEVICE_INFORMATION_STRUCT_REVISION,
> > +      sizeof (DBG2_DEBUG_DEVICE_INFORMATION),
> > +      1,                                   /* NumberofGenericAddressRegisters */
> > +      10,                                  /* NameSpaceStringLength */
> > +      OFFSET_OF (DBG2_DEBUG_DEVICE_INFORMATION, NameSpaceString),
> > +      0,                                   /* OemDataLength */
> > +      0,                                   /* OemDataOffset */
> > +      EFI_ACPI_DBG2_PORT_TYPE_SERIAL,
> > +      EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_16550_WITH_GAS,
> > +      {EFI_ACPI_RESERVED_BYTE, EFI_ACPI_RESERVED_BYTE},
> > +      OFFSET_OF (DBG2_DEBUG_DEVICE_INFORMATION, BaseAddressRegister),
> > +      OFFSET_OF (DBG2_DEBUG_DEVICE_INFORMATION, AddressSize)
> > +    },
> > +    SQ_GAS32 (SYNQUACER_UART1_BASE),       /* BaseAddressRegister */
> > +    SYNQUACER_UART1_SIZE,                  /* AddressSize */
> > +    SYNQUACER_UART1_STR,                   /* NameSpaceString */
> > +  }
> > +};
> > +
> > +#pragma pack()
> > +
> > +// Reference the table being generated to prevent the optimizer from removing
> > +// the data structure from the executable
> > +VOID* CONST ReferenceAcpiTable = &Dbg2;
> >



-- 
Masami Hiramatsu


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#84115): https://edk2.groups.io/g/devel/message/84115
Mute This Topic: https://groups.io/mt/86836384/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-






More information about the edk2-devel-archive mailing list