Print this page
12195 acpidump failed under EFI
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/uts/intel/sys/bootinfo.h
+++ new/usr/src/uts/intel/sys/bootinfo.h
1 1 /*
2 2 * CDDL HEADER START
3 3 *
4 4 * The contents of this file are subject to the terms of the
5 5 * Common Development and Distribution License (the "License").
6 6 * You may not use this file except in compliance with the License.
7 7 *
8 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 9 * or http://www.opensolaris.org/os/licensing.
10 10 * See the License for the specific language governing permissions
11 11 * and limitations under the License.
12 12 *
13 13 * When distributing Covered Code, include this CDDL HEADER in each
14 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 15 * If applicable, add the following below this CDDL HEADER, with the
16 16 * fields enclosed by brackets "[]" replaced with your own identifying
↓ open down ↓ |
16 lines elided |
↑ open up ↑ |
17 17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 18 *
19 19 * CDDL HEADER END
20 20 */
21 21
22 22 /*
23 23 * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
24 24 * Use is subject to license terms.
25 25 */
26 26
27 +/*
28 + * Copyright 2020 Joyent, Inc.
29 + */
30 +
27 31 #ifndef _SYS_BOOTINFO_H
28 32 #define _SYS_BOOTINFO_H
29 33
30 34 #ifdef __cplusplus
31 35 extern "C" {
32 36 #endif
33 37
34 38 /*
35 39 * This is used by bootfs and dboot. It should be at least as large as the
36 40 * number of modules that bootloaders (e.g., grub) can support. This figure
37 41 * has been chosen to match grub's value exactly.
38 42 */
39 43 #define MAX_BOOT_MODULES 99
40 44
41 45 /*
42 46 * The 32-bit kernel loader code needs to build several structures that the
43 47 * kernel is expecting. They will contain native sized pointers for the
44 48 * target kernel.
45 49 */
46 50
47 51 #if defined(_BOOT_TARGET_amd64)
48 52
49 53 typedef uint64_t native_ptr_t;
50 54
51 55 #elif defined(_BOOT_TARGET_i386)
52 56
53 57 typedef uint32_t native_ptr_t;
54 58
55 59 #elif defined(_KERNEL)
56 60
57 61 typedef void *native_ptr_t;
58 62
59 63 #endif
60 64
61 65 typedef enum boot_module_type {
62 66 BMT_ROOTFS,
63 67 BMT_FILE,
64 68 BMT_HASH,
65 69 BMT_ENV,
66 70 BMT_FONT
67 71 } boot_module_type_t;
68 72
69 73 struct boot_memlist {
70 74 uint64_t addr;
71 75 uint64_t size;
72 76 native_ptr_t next;
73 77 native_ptr_t prev;
74 78 };
75 79
76 80 /*
77 81 * The kernel needs to know how to find its modules.
78 82 */
79 83 struct boot_modules {
80 84 native_ptr_t bm_addr;
81 85 native_ptr_t bm_name;
82 86 native_ptr_t bm_hash;
83 87 uint32_t bm_size;
84 88 boot_module_type_t bm_type;
85 89 };
86 90
87 91 /* To help to identify UEFI system. */
88 92 typedef enum uefi_arch_type {
89 93 XBI_UEFI_ARCH_NONE,
90 94 XBI_UEFI_ARCH_32,
91 95 XBI_UEFI_ARCH_64
92 96 } uefi_arch_type_t;
93 97 /*
94 98 *
95 99 */
96 100 #pragma pack(1)
97 101 struct xboot_info {
98 102 uint64_t bi_next_paddr; /* next physical address not used */
99 103 native_ptr_t bi_next_vaddr; /* next virtual address not used */
100 104 native_ptr_t bi_cmdline;
101 105 native_ptr_t bi_phys_install;
102 106 native_ptr_t bi_rsvdmem;
103 107 native_ptr_t bi_pcimem;
104 108 native_ptr_t bi_modules;
105 109 uint32_t bi_module_cnt;
106 110 uint32_t bi_use_largepage; /* MMU uses large pages */
107 111 uint32_t bi_use_pae; /* MMU uses PAE mode (8 byte PTES) */
108 112 uint32_t bi_use_nx; /* MMU uses NX bit in PTEs */
109 113 uint32_t bi_use_pge; /* MMU uses Page Global Enable */
110 114 native_ptr_t bi_pt_window;
↓ open down ↓ |
74 lines elided |
↑ open up ↑ |
111 115 native_ptr_t bi_pte_to_pt_window;
112 116 native_ptr_t bi_kseg_size; /* size used for kernel nucleus pages */
113 117 uint64_t bi_top_page_table;
114 118 #if defined(__xpv)
115 119 native_ptr_t bi_xen_start_info;
116 120 native_ptr_t bi_shared_info; /* VA for shared_info */
117 121 #else
118 122 native_ptr_t bi_mb_info; /* multiboot 1 or 2 info */
119 123 int bi_mb_version; /* multiboot version */
120 124 native_ptr_t bi_acpi_rsdp;
125 + native_ptr_t bi_acpi_rsdp_copy;
121 126 native_ptr_t bi_smbios;
122 127 native_ptr_t bi_uefi_systab;
123 128 uefi_arch_type_t bi_uefi_arch;
124 129 #endif
125 130 native_ptr_t bi_framebuffer;
126 131 };
127 132 #pragma pack()
128 133
129 134 #ifdef __cplusplus
130 135 }
131 136 #endif
132 137
133 138 #endif /* _SYS_BOOTINFO_H */
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX