[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH QEMU v1 0/4] multiboot: bss_end_addr can be zero / c
From: |
Jack Schwartz |
Subject: |
[Qemu-devel] [PATCH QEMU v1 0/4] multiboot: bss_end_addr can be zero / cleanup |
Date: |
Thu, 21 Dec 2017 09:25:14 -0800 |
Properly account for the possibility of multiboot kernels with a zero
bss_end_addr. The Multiboot Specification, section 3.1.3 allows for
kernels without a bss section, by allowing a zeroed bss_end_addr multiboot
header field.
Do some cleanup to multiboot.c as well:
- Remove some unused variables.
- Use more intuitive header names when displaying fields in messages.
- Change fprintf(stderr...) to error_report
Testing:
1) Ran the "make check" test suite.
2) Booted multiboot kernel with bss_end_addr=0. (I rolled my own
grub multiboot.elf test "kernel" by modifying source.) Verified
with gdb that new code that reads addresses/offsets from multiboot
header was accessed.
3) Booted multiboot kernel with non-zero bss_end_addr.
4) Uncommented DEBUG_MULTIBOOT in multiboot.c and verified messages worked.
5) Code has soaked in an internal repo for two months.
Thanks,
Jack
Jack Schwartz (4):
multiboot: bss_end_addr can be zero
multiboot: Remove unused variables from multiboot.c
multiboot: Use header names when displaying fields
multiboot: fprintf(stderr...) -> error_report()
hw/i386/multiboot.c | 77 ++++++++++++++++++++++++++---------------------------
1 file changed, 38 insertions(+), 39 deletions(-)
--
1.8.3.1
- [Qemu-devel] [PATCH QEMU v1 0/4] multiboot: bss_end_addr can be zero / cleanup,
Jack Schwartz <=