public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Chandni Cherukuri <chandni.cherukuri@arm.com>,
	 "edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Subject: Re: [PATCH edk2-platforms] sgi575/acpi: Use ACPI 6.2 specification
Date: Thu, 30 Aug 2018 15:03:16 +0200	[thread overview]
Message-ID: <CAKv+Gu_7bLHPbb2QvwPqZsDQXf=BW9jSAiYKev-0sLAfLK=MLg@mail.gmail.com> (raw)
In-Reply-To: <20180830112315.xem25mevpahywvof@bivouac.eciton.net>

On 30 August 2018 at 13:23, Leif Lindholm <leif.lindholm@linaro.org> wrote:
> On Wed, Aug 29, 2018 at 04:14:16PM +0530, Chandni Cherukuri wrote:
>> Switched from using ACPI 6.1 to 6.2 specification for
>> SGI575 since SBBR 1.1 requires ACPI 6.2 tables or later.
>
> Just to clarify - this has no impact at all on the actual generated
> tables, right?
>
> We really should have a better way of dealing with this.
> (But we don't, at the moment.)
>

I don't see the point of these changes. The whole point of ACPI's
forward compatibility guarantees is that a ACPI 6.1 system
automatically complies with ACPI 6.2, and so these changes are not
necessary for compliance with SBBR 1.1 either.

>> Contributed-under: TianoCore Contribution Agreement 1.1
>> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
>> Cc: Leif Lindholm <leif.lindholm@linaro.org>
>> Signed-off-by: Chandni Cherukuri <chandni.cherukuri@arm.com>
>> ---
>>  Platform/ARM/SgiPkg/AcpiTables/Sgi575/Dbg2.aslc |  8 ++--
>>  Platform/ARM/SgiPkg/AcpiTables/Sgi575/Gtdt.aslc | 48 ++++++++++----------
>>  Platform/ARM/SgiPkg/AcpiTables/Sgi575/Mcfg.aslc |  4 +-
>>  Platform/ARM/SgiPkg/AcpiTables/Sgi575/Spcr.aslc |  6 +--
>>  4 files changed, 33 insertions(+), 33 deletions(-)
>>
>> diff --git a/Platform/ARM/SgiPkg/AcpiTables/Sgi575/Dbg2.aslc b/Platform/ARM/SgiPkg/AcpiTables/Sgi575/Dbg2.aslc
>> index ed671f3..0183685 100644
>> --- a/Platform/ARM/SgiPkg/AcpiTables/Sgi575/Dbg2.aslc
>> +++ b/Platform/ARM/SgiPkg/AcpiTables/Sgi575/Dbg2.aslc
>> @@ -15,7 +15,7 @@
>>
>>  #include "SgiAcpiHeader.h"
>>  #include <Library/AcpiLib.h>
>> -#include <IndustryStandard/Acpi61.h>
>> +#include <IndustryStandard/Acpi62.h>
>>  #include <IndustryStandard/DebugPort2Table.h>
>>
>>  #define SGI_DBG2_NUM_DEBUG_PORTS           1
>> @@ -29,7 +29,7 @@
>>
>>  typedef struct {
>>    EFI_ACPI_DBG2_DEBUG_DEVICE_INFORMATION_STRUCT Dbg2Device;
>> -  EFI_ACPI_6_1_GENERIC_ADDRESS_STRUCTURE        BaseAddressRegister;
>> +  EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE        BaseAddressRegister;
>>    UINT32                                        AddressSize;
>>    UINT8                                         NameSpaceString[SGI_DBG2_NS_STR_LENGTH];
>>  } DBG2_DEBUG_DEVICE_INFORMATION;
>> @@ -56,7 +56,7 @@ typedef struct {
>>      OFFSET_OF (DBG2_DEBUG_DEVICE_INFORMATION, BaseAddressRegister), /* UINT16    BaseAddressRegister Offset */      \
>>      OFFSET_OF (DBG2_DEBUG_DEVICE_INFORMATION, AddressSize)          /* UINT16    AddressSize Offset */              \
>>    },                                                                                                                \
>> -  ARM_GAS32 (UartBase),                            /* EFI_ACPI_6_1_GENERIC_ADDRESS_STRUCTURE BaseAddressRegister */ \
>> +  ARM_GAS32 (UartBase),                            /* EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE BaseAddressRegister */ \
>>    UartAddrLen,                                     /* UINT32  AddressSize */                                        \
>>    UartNameStr                                      /* UINT8   NameSpaceString[MAX_DBG2_NAME_LEN] */                 \
>>  }
>> @@ -64,7 +64,7 @@ typedef struct {
>>  STATIC DBG2_TABLE Dbg2 = {
>>    {
>>      ARM_ACPI_HEADER (
>> -      EFI_ACPI_6_1_DEBUG_PORT_2_TABLE_SIGNATURE,
>> +      EFI_ACPI_6_2_DEBUG_PORT_2_TABLE_SIGNATURE,
>>        DBG2_TABLE,
>>        EFI_ACPI_DBG2_DEBUG_DEVICE_INFORMATION_STRUCT_REVISION
>>      ),
>> diff --git a/Platform/ARM/SgiPkg/AcpiTables/Sgi575/Gtdt.aslc b/Platform/ARM/SgiPkg/AcpiTables/Sgi575/Gtdt.aslc
>> index 46d811e..39e3f02 100644
>> --- a/Platform/ARM/SgiPkg/AcpiTables/Sgi575/Gtdt.aslc
>> +++ b/Platform/ARM/SgiPkg/AcpiTables/Sgi575/Gtdt.aslc
>> @@ -16,7 +16,7 @@
>>  #include "SgiAcpiHeader.h"
>>  #include <Library/AcpiLib.h>
>>  #include <Library/PcdLib.h>
>> -#include <IndustryStandard/Acpi61.h>
>> +#include <IndustryStandard/Acpi62.h>
>>
>>  #define SGI_PLATFORM_WATCHDOG_COUNT       2
>>  #define SGI_PLATFORM_TIMER_COUNT          (SGI_PLATFORM_WATCHDOG_COUNT + 1)
>> @@ -24,7 +24,7 @@
>>
>>  #define SYSTEM_TIMER_BASE_ADDRESS         0xFFFFFFFFFFFFFFFF
>>  #define GTDT_GLOBAL_FLAGS                 0
>> -#define GTDT_GTIMER_FLAGS                 EFI_ACPI_6_1_GTDT_TIMER_FLAG_TIMER_INTERRUPT_POLARITY
>> +#define GTDT_GTIMER_FLAGS                 EFI_ACPI_6_2_GTDT_TIMER_FLAG_TIMER_INTERRUPT_POLARITY
>>
>>  #define SGI_GT_BLOCK_CTL_BASE             0x2A810000
>>  #define SGI_GT_BLOCK_FRAME1_CTL_BASE      0x2A820000
>> @@ -36,18 +36,18 @@
>>  #define SGI_GT_BLOCK_FRAME0_GSIV          0x5C
>>
>>  #define SGI_GTX_TIMER_FLAGS               0
>> -#define GTX_TIMER_SECURE                  EFI_ACPI_6_1_GTDT_GT_BLOCK_COMMON_FLAG_SECURE_TIMER
>> +#define GTX_TIMER_SECURE                  EFI_ACPI_6_2_GTDT_GT_BLOCK_COMMON_FLAG_SECURE_TIMER
>>  #define GTX_TIMER_NON_SECURE              0
>> -#define GTX_TIMER_SAVE_CONTEXT            EFI_ACPI_6_1_GTDT_GT_BLOCK_COMMON_FLAG_ALWAYS_ON_CAPABILITY
>> +#define GTX_TIMER_SAVE_CONTEXT            EFI_ACPI_6_2_GTDT_GT_BLOCK_COMMON_FLAG_ALWAYS_ON_CAPABILITY
>>  #define SGI_GTX_COMMON_FLAGS_S            (GTX_TIMER_SAVE_CONTEXT | GTX_TIMER_SECURE)
>>  #define SGI_GTX_COMMON_FLAGS_NS           (GTX_TIMER_SAVE_CONTEXT | GTX_TIMER_NON_SECURE)
>>
>> -#define EFI_ACPI_6_1_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT(        \
>> +#define EFI_ACPI_6_2_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT(        \
>>    RefreshFramePhysicalAddress, ControlFramePhysicalAddress,       \
>>    WatchdogTimerGSIV, WatchdogTimerFlags)                          \
>>    {                                                               \
>> -    EFI_ACPI_6_1_GTDT_SBSA_GENERIC_WATCHDOG,                      \
>> -    sizeof (EFI_ACPI_6_1_GTDT_SBSA_GENERIC_WATCHDOG_STRUCTURE),   \
>> +    EFI_ACPI_6_2_GTDT_SBSA_GENERIC_WATCHDOG,                      \
>> +    sizeof (EFI_ACPI_6_2_GTDT_SBSA_GENERIC_WATCHDOG_STRUCTURE),   \
>>      EFI_ACPI_RESERVED_WORD,                                       \
>>      RefreshFramePhysicalAddress,                                  \
>>      ControlFramePhysicalAddress,                                  \
>> @@ -58,20 +58,20 @@
>>  #pragma pack (1)
>>
>>  typedef struct {
>> -  EFI_ACPI_6_1_GENERIC_TIMER_DESCRIPTION_TABLE       Gtdt;
>> -  EFI_ACPI_6_1_GTDT_GT_BLOCK_STRUCTURE               GtBlock;
>> -  EFI_ACPI_6_1_GTDT_GT_BLOCK_TIMER_STRUCTURE         Frames[SGI_TIMER_FRAMES_COUNT];
>> -  EFI_ACPI_6_1_GTDT_SBSA_GENERIC_WATCHDOG_STRUCTURE  Watchdogs[SGI_PLATFORM_WATCHDOG_COUNT];
>> -} EFI_ACPI_6_1_GENERIC_TIMER_DESCRIPTION_TABLES;
>> +  EFI_ACPI_6_2_GENERIC_TIMER_DESCRIPTION_TABLE       Gtdt;
>> +  EFI_ACPI_6_2_GTDT_GT_BLOCK_STRUCTURE               GtBlock;
>> +  EFI_ACPI_6_2_GTDT_GT_BLOCK_TIMER_STRUCTURE         Frames[SGI_TIMER_FRAMES_COUNT];
>> +  EFI_ACPI_6_2_GTDT_SBSA_GENERIC_WATCHDOG_STRUCTURE  Watchdogs[SGI_PLATFORM_WATCHDOG_COUNT];
>> +} EFI_ACPI_6_2_GENERIC_TIMER_DESCRIPTION_TABLES;
>>
>>  #pragma pack ()
>>
>> -STATIC EFI_ACPI_6_1_GENERIC_TIMER_DESCRIPTION_TABLES Gtdt = {
>> +STATIC EFI_ACPI_6_2_GENERIC_TIMER_DESCRIPTION_TABLES Gtdt = {
>>    {
>>      ARM_ACPI_HEADER (
>> -      EFI_ACPI_6_1_GENERIC_TIMER_DESCRIPTION_TABLE_SIGNATURE,
>> -      EFI_ACPI_6_1_GENERIC_TIMER_DESCRIPTION_TABLES,
>> -      EFI_ACPI_6_1_GENERIC_TIMER_DESCRIPTION_TABLE_REVISION
>> +      EFI_ACPI_6_2_GENERIC_TIMER_DESCRIPTION_TABLE_SIGNATURE,
>> +      EFI_ACPI_6_2_GENERIC_TIMER_DESCRIPTION_TABLES,
>> +      EFI_ACPI_6_2_GENERIC_TIMER_DESCRIPTION_TABLE_REVISION
>>      ),
>>      SYSTEM_TIMER_BASE_ADDRESS,                    // UINT64  PhysicalAddress
>>      0,                                            // UINT32  Reserved
>> @@ -85,17 +85,17 @@ STATIC EFI_ACPI_6_1_GENERIC_TIMER_DESCRIPTION_TABLES Gtdt = {
>>      GTDT_GTIMER_FLAGS,                            // UINT32  NonSecurePL2TimerFlags
>>      0xFFFFFFFFFFFFFFFF,                           // UINT64  CntReadBasePhysicalAddress
>>      SGI_PLATFORM_TIMER_COUNT,                     // UINT32  PlatformTimerCount
>> -    sizeof (EFI_ACPI_6_1_GENERIC_TIMER_DESCRIPTION_TABLE) // UINT32 PlatfromTimerOffset
>> +    sizeof (EFI_ACPI_6_2_GENERIC_TIMER_DESCRIPTION_TABLE) // UINT32 PlatfromTimerOffset
>>    },
>>    {
>> -    EFI_ACPI_6_1_GTDT_GT_BLOCK,                           // UINT8 Type
>> -    sizeof(EFI_ACPI_6_1_GTDT_GT_BLOCK_STRUCTURE) +        // UINT16 Length
>> -    sizeof(EFI_ACPI_6_1_GTDT_GT_BLOCK_TIMER_STRUCTURE) *
>> +    EFI_ACPI_6_2_GTDT_GT_BLOCK,                           // UINT8 Type
>> +    sizeof(EFI_ACPI_6_2_GTDT_GT_BLOCK_STRUCTURE) +        // UINT16 Length
>> +    sizeof(EFI_ACPI_6_2_GTDT_GT_BLOCK_TIMER_STRUCTURE) *
>>      SGI_TIMER_FRAMES_COUNT,
>>      EFI_ACPI_RESERVED_BYTE,                               // UINT8 Reserved
>>      SGI_GT_BLOCK_CTL_BASE,                                // UINT64 CntCtlBase
>>      SGI_TIMER_FRAMES_COUNT,                               // UINT32 GTBlockTimerCount
>> -    sizeof (EFI_ACPI_6_1_GTDT_GT_BLOCK_STRUCTURE)         // UINT32 GTBlockTimerOffset
>> +    sizeof (EFI_ACPI_6_2_GTDT_GT_BLOCK_STRUCTURE)         // UINT32 GTBlockTimerOffset
>>    },
>>    {
>>      {
>> @@ -130,17 +130,17 @@ STATIC EFI_ACPI_6_1_GENERIC_TIMER_DESCRIPTION_TABLES Gtdt = {
>>      }
>>    },
>>    {
>> -    EFI_ACPI_6_1_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT (
>> +    EFI_ACPI_6_2_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT (
>>        FixedPcdGet32 (PcdGenericWatchdogRefreshBase),
>>        FixedPcdGet32 (PcdGenericWatchdogControlBase),
>>        93,
>>        0
>>      ),
>> -    EFI_ACPI_6_1_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT (
>> +    EFI_ACPI_6_2_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT (
>>        FixedPcdGet32 (PcdGenericWatchdogRefreshBase),
>>        FixedPcdGet32 (PcdGenericWatchdogControlBase),
>>        94,
>> -      EFI_ACPI_6_1_GTDT_SBSA_GENERIC_WATCHDOG_FLAG_SECURE_TIMER
>> +      EFI_ACPI_6_2_GTDT_SBSA_GENERIC_WATCHDOG_FLAG_SECURE_TIMER
>>      )
>>    }
>>  };
>> diff --git a/Platform/ARM/SgiPkg/AcpiTables/Sgi575/Mcfg.aslc b/Platform/ARM/SgiPkg/AcpiTables/Sgi575/Mcfg.aslc
>> index 4a487a3..03093c0 100644
>> --- a/Platform/ARM/SgiPkg/AcpiTables/Sgi575/Mcfg.aslc
>> +++ b/Platform/ARM/SgiPkg/AcpiTables/Sgi575/Mcfg.aslc
>> @@ -13,7 +13,7 @@
>>  *
>>  **/
>>
>> -#include <IndustryStandard/Acpi61.h>
>> +#include <IndustryStandard/Acpi62.h>
>>  #include <IndustryStandard/MemoryMappedConfigurationSpaceAccessTable.h>
>>  #include <Library/PcdLib.h>
>>  #include "SgiAcpiHeader.h"
>> @@ -34,7 +34,7 @@ typedef struct
>>  EFI_ACPI_PCI_MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_DESCRIPTION_TABLE Mcfg = {
>>    {
>>      ARM_ACPI_HEADER (
>> -      EFI_ACPI_6_0_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE,
>> +      EFI_ACPI_6_2_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE,
>>        EFI_ACPI_PCI_MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_DESCRIPTION_TABLE,
>>        EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_TABLE_REVISION
>>      ),
>> diff --git a/Platform/ARM/SgiPkg/AcpiTables/Sgi575/Spcr.aslc b/Platform/ARM/SgiPkg/AcpiTables/Sgi575/Spcr.aslc
>> index 5265225..36cc5f3 100644
>> --- a/Platform/ARM/SgiPkg/AcpiTables/Sgi575/Spcr.aslc
>> +++ b/Platform/ARM/SgiPkg/AcpiTables/Sgi575/Spcr.aslc
>> @@ -15,12 +15,12 @@
>>
>>  #include "SgiAcpiHeader.h"
>>  #include <Library/AcpiLib.h>
>> -#include <IndustryStandard/Acpi61.h>
>> +#include <IndustryStandard/Acpi62.h>
>>  #include <IndustryStandard/SerialPortConsoleRedirectionTable.h>
>>
>>  STATIC EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE Spcr = {
>>    ARM_ACPI_HEADER (
>> -    EFI_ACPI_6_1_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE,
>> +    EFI_ACPI_6_2_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE,
>>      EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE,
>>      EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_REVISION
>>    ),
>> @@ -32,7 +32,7 @@ STATIC EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE Spcr = {
>>      EFI_ACPI_RESERVED_BYTE,
>>      EFI_ACPI_RESERVED_BYTE
>>    },
>> -  // EFI_ACPI_6_1_GENERIC_ADDRESS_STRUCTURE  BaseAddress;
>> +  // EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE  BaseAddress;
>>    ARM_GAS32 (0x7FF80000),
>>    // UINT8                                   InterruptType;
>>    EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERRUPT_TYPE_GIC,
>> --
>> 2.7.4
>>


  reply	other threads:[~2018-08-30 13:03 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-29 10:44 [PATCH edk2-platforms] sgi575/acpi: Use ACPI 6.2 specification Chandni Cherukuri
2018-08-30 11:23 ` Leif Lindholm
2018-08-30 13:03   ` Ard Biesheuvel [this message]
2018-08-31  4:27     ` chandni cherukuri

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAKv+Gu_7bLHPbb2QvwPqZsDQXf=BW9jSAiYKev-0sLAfLK=MLg@mail.gmail.com' \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox