/*
|
* Copyright (c) 2013 Linaro Limited
|
*. All rights reserved.
|
* SPDX-License-Identifier: BSD-2-Clause-Patent
|
*
|
* Contributors:
|
* Yi Li - yi.li@linaro.org
|
*/
|
|
#include <IndustryStandard/Acpi.h>
|
#include "Hi1620Platform.h"
|
|
#define EFI_ACPI_SYSTEM_LOCALITIES_ENTRY_COUNT 0x0000000000000004
|
|
#pragma pack(1)
|
typedef struct {
|
UINT8 Entry[EFI_ACPI_SYSTEM_LOCALITIES_ENTRY_COUNT];
|
} EFI_ACPI_6_2_NUMBER_OF_SYSTEM_LOCALITIES_STRUCTURE;
|
|
typedef struct {
|
EFI_ACPI_6_2_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_HEADER Header;
|
EFI_ACPI_6_2_NUMBER_OF_SYSTEM_LOCALITIES_STRUCTURE NumSlit[EFI_ACPI_SYSTEM_LOCALITIES_ENTRY_COUNT];
|
|
} EFI_ACPI_6_2_SYSTEM_LOCALITY_INFORMATION_TABLE;
|
#pragma pack()
|
|
//
|
// System Locality Information Table
|
// Please modify all values in Slit.h only.
|
//
|
EFI_ACPI_6_2_SYSTEM_LOCALITY_INFORMATION_TABLE Slit = {
|
{
|
{
|
EFI_ACPI_6_2_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE,
|
sizeof (EFI_ACPI_6_2_SYSTEM_LOCALITY_INFORMATION_TABLE),
|
EFI_ACPI_6_2_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_REVISION,
|
0x00, // Checksum will be updated at runtime
|
{EFI_ACPI_ARM_OEM_ID},
|
EFI_ACPI_ARM_OEM_TABLE_ID,
|
EFI_ACPI_ARM_OEM_REVISION,
|
EFI_ACPI_ARM_CREATOR_ID,
|
EFI_ACPI_ARM_CREATOR_REVISION,
|
},
|
//
|
// Beginning of SLIT specific fields
|
//
|
EFI_ACPI_SYSTEM_LOCALITIES_ENTRY_COUNT,
|
},
|
{
|
{{0x0A, 0x10, 0x20, 0x21}}, //Locality 0
|
{{0x10, 0x0A, 0x19, 0x20}}, //Locality 1
|
{{0x20, 0x19, 0x0A, 0x10}}, //Locality 2
|
{{0x21, 0x20, 0x10, 0x0A}}, //Locality 3
|
},
|
};
|
|
//
|
// Reference the table being generated to prevent the optimizer from removing the
|
// data structure from the executable
|
//
|
VOID* CONST ReferenceAcpiTable = &Slit;
|