diff options
-rw-r--r-- | core/init.c | 3 | ||||
-rw-r--r-- | include/skiboot.h | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/core/init.c b/core/init.c index 7baca0d..7ae4dee 100644 --- a/core/init.c +++ b/core/init.c @@ -57,6 +57,7 @@ void skiboot_gcov_done(void); struct debug_descriptor debug_descriptor = { .eye_catcher = "OPALdbug", .version = DEBUG_DESC_VERSION, + .state_flags = 0, .memcons_phys = (uint64_t)&memcons, .trace_mask = 0, /* All traces disabled by default */ .console_log_levels = (PR_DEBUG << 4) | PR_NOTICE, @@ -454,6 +455,8 @@ void __noreturn load_and_boot_kernel(bool is_reboot) printf("INIT: Starting kernel at 0x%llx, fdt at %p (size 0x%x)\n", kernel_entry, fdt, fdt_totalsize(fdt)); + debug_descriptor.state_flags |= OPAL_BOOT_COMPLETE; + fdt_set_boot_cpuid_phys(fdt, this_cpu()->pir); if (kernel_32bit) start_kernel32(kernel_entry, fdt, mem_top); diff --git a/include/skiboot.h b/include/skiboot.h index 4b58597..4eec6db 100644 --- a/include/skiboot.h +++ b/include/skiboot.h @@ -56,6 +56,7 @@ static inline bool is_rodata(const void *p) return ((const char *)p >= __rodata_start && (const char *)p < __rodata_end); } +#define OPAL_BOOT_COMPLETE 0x1 /* Debug descriptor. This structure is pointed to by the word at offset * 0x80 in the sapphire binary */ @@ -65,7 +66,7 @@ struct debug_descriptor { u32 version; u8 console_log_levels; /* high 4 bits in memory, * low 4 bits driver (e.g. uart). */ - u8 reserved1; + u8 state_flags; /* various state flags - OPAL_BOOT_COMPLETE etc */ u16 reserved2; u32 reserved[2]; |