+/*
+ * Any change to the below structure should mirror the structure defined in MacEFIFirmware
+ * (and vice versa)
+ */
+
+struct efi_aurr_panic_header {
+ uint32_t efi_aurr_magic;
+ uint32_t efi_aurr_crc;
+ uint32_t efi_aurr_version;
+ uint32_t efi_aurr_reset_cause;
+ uint32_t efi_aurr_reset_log_offset;
+ uint32_t efi_aurr_reset_log_len;
+ char efi_aurr_panic_data[];
+} __attribute__((packed));
+
+/*
+ * EXTENDED_/DEBUG_BUF_SIZE can't grow without updates to SMC and iBoot to store larger panic logs on co-processor systems
+ */
+#define EXTENDED_DEBUG_BUF_SIZE 0x0013ff80
+
+#define EFI_AURR_PANIC_STRING_MAX_LEN 112
+#define EFI_AURR_EXTENDED_LOG_SIZE (EXTENDED_DEBUG_BUF_SIZE - sizeof(struct efi_aurr_panic_header) - EFI_AURR_PANIC_STRING_MAX_LEN)
+
+struct efi_aurr_extended_panic_log {
+ char efi_aurr_extended_log_buf[EFI_AURR_EXTENDED_LOG_SIZE];
+ uint32_t efi_aurr_log_tail; /* Circular buffer indices */
+ uint32_t efi_aurr_log_head; /* ditto.. */
+} __attribute__((packed));
+