26 { L
"Number of System Localities", 8, 36, L
"0x%lx",
NULL,
27 (VOID **)&SlitSystemLocalityCount,
NULL,
NULL }
33#define SLIT_ELEMENT(Ptr, i, j) *(Ptr + (i * LocalityCount) + j)
55 IN UINT32 AcpiTableLength,
56 IN UINT8 AcpiTableRevision
81 if (SlitSystemLocalityCount ==
NULL) {
84 L
"ERROR: Insufficient table length. AcpiTableLength = %d.\n",
102 if (*SlitSystemLocalityCount > MAX_UINT16) {
105 L
"ERROR: The Number of System Localities provided can't be represented " \
106 L
"in the SLIT table. SlitSystemLocalityCount = %ld. " \
107 L
"MaxLocalityCountAllowed = %d.\n",
108 *SlitSystemLocalityCount,
114 LocalityCount = (UINT32)*SlitSystemLocalityCount;
117 if (Offset + (LocalityCount * LocalityCount) > AcpiTableLength) {
120 L
"ERROR: Invalid Number of System Localities. " \
121 L
"SlitSystemLocalityCount = %ld. AcpiTableLength = %d.\n",
122 *SlitSystemLocalityCount,
128 LocalityPtr = Ptr + Offset;
133 if (LocalityCount < 16) {
137 L
"Entry[0x%lx][0x%lx]",
144 for (Index = 0; Index < LocalityCount; Index++) {
145 Print (L
" (%3d) ", Index);
149 for (Count = 0; Count < LocalityCount; Count++) {
150 Print (L
" (%3d) ", Count);
151 for (Index = 0; Index < LocalityCount; Index++) {
160 for (Count = 0; Count < LocalityCount; Count++) {
161 for (Index = 0; Index < LocalityCount; Index++) {
163 if ((Count == Index) && (
SLIT_ELEMENT (LocalityPtr, Count, Index) != 10)) {
166 L
"ERROR: Diagonal Element[0x%lx][0x%lx] (%3d)."
167 L
" Normalized Value is not 10\n",
180 L
"ERROR: Relative distances for Element[0x%lx][0x%lx] (%3d) and \n"
181 L
"Element[0x%lx][0x%lx] (%3d) do not match.\n",
VOID EFIAPI PrintFieldName(IN UINT32 Indent, IN CONST CHAR16 *FieldName)
VOID EFIAPI IncrementErrorCount(VOID)
UINT32 EFIAPI ParseAcpi(IN BOOLEAN Trace, IN UINT32 Indent, IN CONST CHAR8 *AsciiName OPTIONAL, IN UINT8 *Ptr, IN UINT32 Length, IN CONST ACPI_PARSER *Parser, IN UINT32 ParserItems)
#define PARSER_PARAMS(Parser)
#define PARSE_ACPI_HEADER(Info)
UINTN EFIAPI UnicodeSPrint(OUT CHAR16 *StartOfBuffer, IN UINTN BufferSize, IN CONST CHAR16 *FormatString,...)
VOID EFIAPI ParseAcpiSlit(IN BOOLEAN Trace, IN UINT8 *Ptr, IN UINT32 AcpiTableLength, IN UINT8 AcpiTableRevision)
#define SLIT_ELEMENT(Ptr, i, j)
STATIC CONST ACPI_PARSER SlitParser[]
UINTN EFIAPI Print(IN CONST CHAR16 *Format,...)