#define HARVEST_TABLE_SIGNATURE 0x56524148
#define VCN_INFO_TABLE_ID 0x004E4356
#define MALL_INFO_TABLE_ID 0x4C4C414D
+#define NPS_INFO_TABLE_ID 0x0053504E
-typedef enum
-{
+typedef enum {
IP_DISCOVERY = 0,
GC,
HARVEST_INFO,
VCN_INFO,
MALL_INFO,
- RESERVED_1,
+ NPS_INFO,
TOTAL_TABLES = 6
} table;
uint32_t reserved[4];
};
+#define NPS_INFO_TABLE_MAX_NUM_INSTANCES 12
+
+struct nps_info_header {
+ uint32_t table_id; /* table ID */
+ uint16_t version_major; /* table version */
+ uint16_t version_minor; /* table version */
+ uint32_t size_bytes; /* size of the entire header+data in bytes = 0x000000D4 (212) */
+};
+
+struct nps_instance_info_v1_0 {
+ uint64_t base_address;
+ uint64_t limit_address;
+};
+
+struct nps_info_v1_0 {
+ struct nps_info_header header;
+ uint32_t nps_type;
+ uint32_t count;
+ struct nps_instance_info_v1_0
+ instance_info[NPS_INFO_TABLE_MAX_NUM_INSTANCES];
+};
+
#pragma pack()
#endif