Wrong Multiboot definition
Pierre Pronchery <[email protected]>
| Newsgroups | gmane.os.netbsd.ports.i386 |
|---|---|
| Message-ID | <[email protected]> |
Hi port-i386@, I just found a discrepancy between the Multiboot specification (as documented at https://www.gnu.org/software/grub/manual/multiboot/multiboot.html) and our struct multiboot_info: the VBE mode is missing, and the subsequent fields have a wrong size. I have attached a corresponding patch here. OK to commit? From what I can tell there should be no change in any binary generated in NetBSD's base. Only users of <i386/multiboot.h> should be impacted instead. Cheers, -- khorben
patch-i386_multiboot_vbe.diff
(text/x-patch, 882 B)
Index: sys/arch/i386/include/multiboot.h
===================================================================
RCS file: /cvsroot/src/sys/arch/i386/include/multiboot.h,v
retrieving revision 1.8
diff -p -u -r1.8 multiboot.h
--- sys/arch/i386/include/multiboot.h 22 Feb 2009 18:05:42 -0000 1.8
+++ sys/arch/i386/include/multiboot.h 12 Apr 2018 01:36:50 -0000
@@ -134,9 +134,10 @@ struct multiboot_info {
/* Valid if mi_flags sets MULTIBOOT_INFO_HAS_VBE. */
void * unused_mi_vbe_control_info;
void * unused_mi_vbe_mode_info;
- paddr_t unused_mi_vbe_interface_seg;
- paddr_t unused_mi_vbe_interface_off;
- uint32_t unused_mi_vbe_interface_len;
+ uint16_t unused_mi_vbe_mode;
+ uint16_t unused_mi_vbe_interface_seg;
+ uint16_t unused_mi_vbe_interface_off;
+ uint16_t unused_mi_vbe_interface_len;
};
/* --------------------------------------------------------------------- */