/* * Copyright (c) 2016 Linaro Limited * Copyright (c) 2016 Hisilicon Limited * * All rights reserved. This program and the accompanying materials * are made available under the terms of the BSD License which accompanies * this distribution, and is available at * http://opensource.org/licenses/bsd-license.php * * Contributors: * Yi Li - yi.li@linaro.org */ #include #include "Hi1616Platform.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_1_NUMBER_OF_SYSTEM_LOCALITIES_STRUCTURE; typedef struct { EFI_ACPI_6_1_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_HEADER Header; EFI_ACPI_6_1_NUMBER_OF_SYSTEM_LOCALITIES_STRUCTURE NumSlit[EFI_ACPI_SYSTEM_LOCALITIES_ENTRY_COUNT]; } EFI_ACPI_6_1_SYSTEM_LOCALITY_INFORMATION_TABLE; #pragma pack() // // System Locality Information Table // Please modify all values in Slit.h only. // EFI_ACPI_6_1_SYSTEM_LOCALITY_INFORMATION_TABLE Slit = { { { EFI_ACPI_6_1_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE, sizeof (EFI_ACPI_6_1_SYSTEM_LOCALITY_INFORMATION_TABLE), EFI_ACPI_6_1_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, 0x0F, 0x14, 0x14}}, //Locality 0 {{0x0F, 0x0A, 0x14, 0x14}}, //Locality 1 {{0x14, 0x14, 0x0A, 0x0F}}, //Locality 2 {{0x14, 0x14, 0x0F, 0x0A}}, //Locality 3 }, }; // // Reference the table being generated to prevent the optimizer from removing the // data structure from the executable // VOID* CONST ReferenceAcpiTable = &Slit;