67
69
struct grub_efi_device_path end;
72
#define MAKE_PIWG_PATH(st, en) \
77
.type = GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE, \
78
.subtype = GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE, \
79
.length = {sizeof (struct grub_efi_memory_mapped_device_path), 0} \
81
.memory_type = GRUB_EFI_MEMORY_MAPPED_IO, \
82
.start_address = st, \
88
.type = GRUB_EFI_MEDIA_DEVICE_PATH_TYPE, \
89
.subtype = GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE, \
90
.length = {sizeof (struct grub_efi_piwg_device_path), 0} \
92
.guid = {0x2B0585EB, 0xD8B8, 0x49A9, {0x8B, 0x8C, 0xE2, 0x1B, \
93
0x01, 0xAE, 0xF2, 0xB7}} \
97
.type = GRUB_EFI_END_DEVICE_PATH_TYPE, \
98
.subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE, \
99
.length = {sizeof (struct grub_efi_device_path), 0} \
70
103
/* early 2006 Core Duo / Core Solo models */
71
static struct piwg_full_device_path devpath_1 =
76
.type = GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE,
77
.subtype = GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE,
78
.length = {sizeof (struct grub_efi_memory_mapped_device_path), 0}
80
.memory_type = GRUB_EFI_MEMORY_MAPPED_IO,
81
.start_address = 0xffe00000,
82
.end_address = 0xfff9ffff
87
.type = GRUB_EFI_MEDIA_DEVICE_PATH_TYPE,
88
.subtype = GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE,
89
.length = {sizeof (struct grub_efi_piwg_device_path), 0}
91
.guid = {0x2B0585EB, 0xD8B8, 0x49A9, {0x8B, 0x8C, 0xE2, 0x1B,
92
0x01, 0xAE, 0xF2, 0xB7}}
96
.type = GRUB_EFI_END_DEVICE_PATH_TYPE,
97
.subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE,
98
.length = {sizeof (struct grub_efi_device_path), 0}
104
static struct piwg_full_device_path devpath_1 = MAKE_PIWG_PATH (0xffe00000,
102
107
/* mid-2006 Mac Pro (and probably other Core 2 models) */
103
static struct piwg_full_device_path devpath_2 =
108
.type = GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE,
109
.subtype = GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE,
110
.length = {sizeof (struct grub_efi_memory_mapped_device_path), 0}
112
.memory_type = GRUB_EFI_MEMORY_MAPPED_IO,
113
.start_address = 0xffe00000,
114
.end_address = 0xfff7ffff
119
.type = GRUB_EFI_MEDIA_DEVICE_PATH_TYPE,
120
.subtype = GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE,
121
.length = {sizeof (struct grub_efi_piwg_device_path), 0}
123
.guid = {0x2B0585EB, 0xD8B8, 0x49A9, {0x8B, 0x8C, 0xE2, 0x1B,
124
0x01, 0xAE, 0xF2, 0xB7}}
128
.type = GRUB_EFI_END_DEVICE_PATH_TYPE,
129
.subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE,
130
.length = {sizeof (struct grub_efi_device_path), 0}
108
static struct piwg_full_device_path devpath_2 = MAKE_PIWG_PATH (0xffe00000,
134
111
/* mid-2007 MBP ("Santa Rosa" based models) */
135
static struct piwg_full_device_path devpath_3 =
140
.type = GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE,
141
.subtype = GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE,
142
.length = {sizeof (struct grub_efi_memory_mapped_device_path), 0}
144
.memory_type = GRUB_EFI_MEMORY_MAPPED_IO,
145
.start_address = 0xffe00000,
146
.end_address = 0xfff8ffff
151
.type = GRUB_EFI_MEDIA_DEVICE_PATH_TYPE,
152
.subtype = GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE,
153
.length = {sizeof (struct grub_efi_piwg_device_path), 0}
155
.guid = {0x2B0585EB, 0xD8B8, 0x49A9, {0x8B, 0x8C, 0xE2, 0x1B,
156
0x01, 0xAE, 0xF2, 0xB7}}
160
.type = GRUB_EFI_END_DEVICE_PATH_TYPE,
161
.subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE,
162
.length = {sizeof (struct grub_efi_device_path), 0}
112
static struct piwg_full_device_path devpath_3 = MAKE_PIWG_PATH (0xffe00000,
166
115
/* early-2008 MBA */
167
static struct piwg_full_device_path devpath_4 =
172
.type = GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE,
173
.subtype = GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE,
174
.length = {sizeof (struct grub_efi_memory_mapped_device_path), 0}
176
.memory_type = GRUB_EFI_MEMORY_MAPPED_IO,
177
.start_address = 0xffc00000,
178
.end_address = 0xfff8ffff
183
.type = GRUB_EFI_MEDIA_DEVICE_PATH_TYPE,
184
.subtype = GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE,
185
.length = {sizeof (struct grub_efi_piwg_device_path), 0}
187
.guid = {0x2B0585EB, 0xD8B8, 0x49A9, {0x8B, 0x8C, 0xE2, 0x1B,
188
0x01, 0xAE, 0xF2, 0xB7}}
192
.type = GRUB_EFI_END_DEVICE_PATH_TYPE,
193
.subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE,
194
.length = {sizeof (struct grub_efi_device_path), 0}
116
static struct piwg_full_device_path devpath_4 = MAKE_PIWG_PATH (0xffc00000,
198
119
/* late-2008 MB/MBP (NVidia chipset) */
199
static struct piwg_full_device_path devpath_5 =
204
.type = GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE,
205
.subtype = GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE,
206
.length = {sizeof (struct grub_efi_memory_mapped_device_path), 0}
208
.memory_type = GRUB_EFI_MEMORY_MAPPED_IO,
209
.start_address = 0xffcb4000,
210
.end_address = 0xffffbfff
215
.type = GRUB_EFI_MEDIA_DEVICE_PATH_TYPE,
216
.subtype = GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE,
217
.length = {sizeof (struct grub_efi_piwg_device_path), 0}
219
.guid = {0x2B0585EB, 0xD8B8, 0x49A9, {0x8B, 0x8C, 0xE2, 0x1B,
220
0x01, 0xAE, 0xF2, 0xB7}}
224
.type = GRUB_EFI_END_DEVICE_PATH_TYPE,
225
.subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE,
226
.length = {sizeof (struct grub_efi_device_path), 0}
120
static struct piwg_full_device_path devpath_5 = MAKE_PIWG_PATH (0xffcb4000,
123
/* mid-2010 MB/MBP (NVidia chipset) */
124
static struct piwg_full_device_path devpath_6 = MAKE_PIWG_PATH (0xffcc4000,