aboutsummaryrefslogtreecommitdiffstats
path: root/roms/skiboot/hdata/naca.h
diff options
context:
space:
mode:
Diffstat (limited to 'roms/skiboot/hdata/naca.h')
-rw-r--r--roms/skiboot/hdata/naca.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/roms/skiboot/hdata/naca.h b/roms/skiboot/hdata/naca.h
new file mode 100644
index 000000000..74e5a2905
--- /dev/null
+++ b/roms/skiboot/hdata/naca.h
@@ -0,0 +1,54 @@
+// SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
+/* Copyright 2019 IBM Corp. */
+
+#ifndef __NACA_H
+#define __NACA_H
+
+#include <compiler.h>
+#include <inttypes.h>
+#include <types.h>
+
+struct hv_release_data {
+ uint8_t reserved_0x0[58];
+ __be64 vrm;
+} __packed __attribute__((aligned(0x10)));
+
+struct hv_lid_load_table {
+ __be32 w0;
+ __be32 w1;
+ __be32 w2;
+ __be32 w3;
+} __packed __attribute__((aligned(0x10)));
+
+/*
+ * NACA structure, accessed by the FSP to find the SPIRA
+ */
+struct naca {
+ __be64 spirah_addr; /* 0x0000 */
+ uint8_t reserved_0x8[0x10];
+ __be64 hv_release_data_addr; /* 0x0018 */
+ uint8_t reserved_0x20[0x10];
+ __be64 spira_addr; /* 0x0030 */
+ __be64 lid_table_addr; /* 0x0038 */
+ uint8_t reserved_0x40[0x60];
+ __be32 spira_size; /* 0x00a0 */
+ uint8_t reserved_0xa4[0x1c];
+ __be64 hv_load_map_addr; /* 0x00c0 */
+ uint8_t reserved_0xc8[0xe4];
+ uint8_t flags[4]; /* 0x01ac */
+ uint8_t reserved_0x1b0[0x5];
+ uint8_t attn_enabled; /* 0x01b5 */
+ uint8_t reserved_0x1b6[0x1];
+ uint8_t pcia_supported; /* 0x01b7 */
+ __be64 __primary_thread_entry; /* 0x01b8 */
+ __be64 __secondary_thread_entry; /* 0x01c0 */
+ uint8_t reserved_0x1d0[0xe38];
+
+ /* Not part of the naca but it's convenient to put them here */
+ struct hv_release_data hv_release_data;
+ struct hv_lid_load_table hv_lid_load_table;
+} __packed __attribute((aligned(0x10)));
+
+extern struct naca naca;
+
+#endif