1 /** @file
2   This library provides support for various platform-specific DXE drivers.
3 
4   Copyright (c) 2014 - 2015, AMD Inc. All rights reserved.<BR>
5 
6   This program and the accompanying materials
7   are licensed and made available under the terms and conditions of the BSD License
8   which accompanies this distribution.  The full text of the license may be found at
9   http://opensource.org/licenses/bsd-license.php
10 
11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 
14 **/
15 
16 #ifndef _AMDSTYX_ACPI_LIB_H_
17 #define _AMDSTYX_ACPI_LIB_H_
18 
19 #include <IndustryStandard/Acpi.h>
20 
21 EFI_ACPI_DESCRIPTION_HEADER *FadtTable (void);
22 EFI_ACPI_DESCRIPTION_HEADER *FacsTable (void);
23 EFI_ACPI_DESCRIPTION_HEADER *MadtHeader (void);
24 EFI_ACPI_DESCRIPTION_HEADER *GtdtHeader (void);
25 EFI_ACPI_DESCRIPTION_HEADER *DsdtHeader (void);
26 EFI_ACPI_DESCRIPTION_HEADER *McfgHeader (void);
27 EFI_ACPI_DESCRIPTION_HEADER *Dbg2Header (void);
28 EFI_ACPI_DESCRIPTION_HEADER *SpcrHeader (void);
29 EFI_ACPI_DESCRIPTION_HEADER *CsrtHeader (void);
30 
31 #define EFI_ACPI_AMD_OEM_ID_ARRAY        {'A','M','D','I','N','C'}
32 #define EFI_ACPI_AMD_OEM_TABLE_ID        SIGNATURE_64('S','E','A','T','T','L','E',' ')
33 #define EFI_ACPI_AMD_OEM_REVISION        0
34 #define EFI_ACPI_AMD_CREATOR_ID          SIGNATURE_32('A','M','D',' ')
35 #define EFI_ACPI_AMD_CREATOR_REVISION    0
36 
37 /**
38  * A macro to initialize the common header part of EFI ACPI tables
39  * as defined by EFI_ACPI_DESCRIPTION_HEADER structure.
40  **/
41 #define AMD_ACPI_HEADER(sign, type, rev) {                      \
42   sign,                           /* UINT32  Signature */       \
43   sizeof (type),                  /* UINT32  Length */          \
44   rev,                            /* UINT8   Revision */        \
45   0,                              /* UINT8   Checksum */        \
46   EFI_ACPI_AMD_OEM_ID_ARRAY,      /* UINT8   OemId[6] */        \
47   EFI_ACPI_AMD_OEM_TABLE_ID,      /* UINT64  OemTableId */      \
48   EFI_ACPI_AMD_OEM_REVISION,      /* UINT32  OemRevision */     \
49   EFI_ACPI_AMD_CREATOR_ID,        /* UINT32  CreatorId */       \
50   EFI_ACPI_AMD_CREATOR_REVISION   /* UINT32  CreatorRevision */ \
51   }
52 
53 #define NULL_GAS               {EFI_ACPI_5_1_SYSTEM_MEMORY,  0, 0, EFI_ACPI_5_1_UNDEFINED, 0L}
54 #define AMD_GAS8(address)      {EFI_ACPI_5_1_SYSTEM_MEMORY,  8, 0, EFI_ACPI_5_1_BYTE,      address}
55 #define AMD_GAS16(address)     {EFI_ACPI_5_1_SYSTEM_MEMORY, 16, 0, EFI_ACPI_5_1_WORD,      address}
56 #define AMD_GAS32(address)     {EFI_ACPI_5_1_SYSTEM_MEMORY, 32, 0, EFI_ACPI_5_1_DWORD,     address}
57 #define AMD_GAS64(address)     {EFI_ACPI_5_1_SYSTEM_MEMORY, 64, 0, EFI_ACPI_5_1_QWORD,     address}
58 #define AMD_GASN(address)      AMD_GAS32(address)
59 
60 #endif // _AMDSTYX_ACPI_LIB_H_
61 
62