1 // Copyright 2017 The Fuchsia Authors
2 //
3 // Use of this source code is governed by a MIT-style
4 // license that can be found in the LICENSE file or at
5 // https://opensource.org/licenses/MIT
6 
7 #pragma once
8 
9 #include <stdint.h>
10 
11 #include <zircon/boot/image.h>
12 
13 // Data passed in by the bootloader
14 // Used by various bits of pc platform init
15 
16 typedef struct pc_bootloader_info {
17     uint64_t acpi_rsdp;
18     uint64_t smbios;
19 
20     void* efi_system_table;
21 
22     void* efi_mmap;
23     size_t efi_mmap_size;
24 
25     void* e820_table;
26     size_t e820_count;
27 
28     uint64_t ramdisk_base;
29     size_t ramdisk_size;
30 
31     zbi_swfb_t fb;
32     zbi_uart_t uart;
33     zbi_nvram_t nvram;
34 } pc_bootloader_info_t;
35 
36 extern pc_bootloader_info_t bootloader;
37