summaryrefslogtreecommitdiffstats
path: root/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.h
blob: 44c89042e23d50ca7370ee6cae0761e692b78d31 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/** @file

  Copyright (c) 2018, ARM Limited. All rights reserved.

  This program and the accompanying materials
  are licensed and made available under the terms and conditions of the BSD License
  which accompanies this distribution.  The full text of the license may be found at
  http://opensource.org/licenses/bsd-license.php

  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

  @par Glossary:
    - Cm or CM   - Configuration Manager
    - Obj or OBJ - Object
    - Std or STD - Standard
**/

#ifndef IORT_GENERATOR_H_
#define IORT_GENERATOR_H_

#pragma pack(1)

/** A structure that describes the Node indexer
    used for indexing the IORT nodes.
*/
typedef struct IortNodeIndexer {
  /// Index token for the Node
  CM_OBJECT_TOKEN    Token;
  /// Pointer to the node
  VOID             * Object;
  /// Node offset from the start of the IORT table
  UINT32             Offset;
} IORT_NODE_INDEXER;

typedef struct AcpiIortGenerator {
  /// ACPI Table generator header
  ACPI_TABLE_GENERATOR  Header;

  // IORT Generator private data

  /// IORT node count
  UINT32                IortNodeCount;
  /// Pointer to the node indexer array
  IORT_NODE_INDEXER   * NodeIndexer;
} ACPI_IORT_GENERATOR;

#pragma pack()

#endif // IORT_GENERATOR_H_