xref: /openbmc/qemu/hw/acpi/hmat.h (revision bf616ce4)
1 /*
2  * HMAT ACPI Implementation Header
3  *
4  * Copyright(C) 2019 Intel Corporation.
5  *
6  * Author:
7  *  Liu jingqi <jingqi.liu@linux.intel.com>
8  *  Tao Xu <tao3.xu@intel.com>
9  *
10  * HMAT is defined in ACPI 6.3: 5.2.27 Heterogeneous Memory Attribute Table
11  * (HMAT)
12  *
13  * This library is free software; you can redistribute it and/or
14  * modify it under the terms of the GNU Lesser General Public
15  * License as published by the Free Software Foundation; either
16  * version 2.1 of the License, or (at your option) any later version.
17  *
18  * This library is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
21  * Lesser General Public License for more details.
22  *
23  * You should have received a copy of the GNU Lesser General Public
24  * License along with this library; if not, see <http://www.gnu.org/licenses/>
25  */
26 
27 #ifndef HMAT_H
28 #define HMAT_H
29 
30 #include "hw/acpi/bios-linker-loader.h"
31 #include "sysemu/numa.h"
32 
33 /*
34  * ACPI 6.3: 5.2.27.3 Memory Proximity Domain Attributes Structure,
35  * Table 5-145, Field "flag", Bit [0]: set to 1 to indicate that data in
36  * the Proximity Domain for the Attached Initiator field is valid.
37  * Other bits reserved.
38  */
39 #define HMAT_PROXIMITY_INITIATOR_VALID  0x1
40 
41 void build_hmat(GArray *table_data, BIOSLinker *linker, NumaState *numa_state,
42                 const char *oem_id, const char *oem_table_id);
43 
44 #endif
45