diff options
Diffstat (limited to 'results/scraper/launchpad-without-comments/1512134')
| -rw-r--r-- | results/scraper/launchpad-without-comments/1512134 | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/results/scraper/launchpad-without-comments/1512134 b/results/scraper/launchpad-without-comments/1512134 new file mode 100644 index 000000000..f22d375ed --- /dev/null +++ b/results/scraper/launchpad-without-comments/1512134 @@ -0,0 +1,28 @@ +Multiboot v1 memory map offset wrong + +I'm developping a multiboot kernel for multiboot v1 +My multiboot header contains the V1 magic (0x1BADB002) and the flags 0x00010243 (with enabled memory detection, and boot loader name) + + +When booted in multiboot, +Qemu gives me two pointers: +unsigned long mmap_length; +unsigned long mmap_addr; + +mmap_addr shall points to this structure: +struct multiboot_mmap_entry +{ +multiboot_uint32_t size; +multiboot_uint64_t addr; +multiboot_uint64_t len; +multiboot_uint32_t type; +} + + +According to the multiboot v1 specification, mmap_addr should not point to the start of this structure, but instead, should point to the "addr "field. + +Work-arround: +Detect if qemu is used using bootloader_name field. +If it is, do NOT apply a -4 offset to mmap_addr + +http://git.savannah.gnu.org/cgit/grub.git/tree/doc/multiboot.texi?h=multiboot \ No newline at end of file |