[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH for-xen-4.5 v3 00/16] xen: Break multiboot (v1) dependency and add multiboot2 support
Hi, This patch series breaks multiboot (v1) protocol dependency and adds multiboot2 support. It lays down the foundation for EFI + GRUB2 + Xen development. Detailed description of ideas and thoughts you will find in commit message for every patch. If something is not obvious please drop me a line. Patch #13 reveals a bug which probably was introduced between commit 3e2331d271cc0882e4013c8f20398c46c35f90a1 (VT-d: suppress UR signaling for further desktop chipsets) and 61fdda7acf3de11f3d50d50e5b4f4ecfac7e0d04 (x86/HVM: properly bound x2APIC MSR range). Xen crashes at video_endboot() because earlier scrub process wipes vga_console_info data (sic!). So, it means that at least page containing this structure was freed mistakenly somewhere. Interestingly this issue appears on legacy BIOS machines only. EFI platforms work as usual. It is possible to workaround this bug by passing no-bootscrub to xen.gz. I was not able to spot anything obvious just looking briefly at commit history. I am going to narrow down and fix this issue in next release. ARM build has not been tested yet. Most of the requested things are fixed but there are still some minor outstanding issues (multiboot2 tags generation, excessive amount of casts in xen/arch/x86/boot/reloc.c, etc.; please check commit messages for more details). If something is not fixed yet it means that I do not have good idea how to do that. In case you spot something which was mentioned during previous reviews and still think that your comment is valid in particular case please notify me. Daniel xen/arch/x86/Makefile | 1 + xen/arch/x86/boot/cmdline.S | 9 +-- xen/arch/x86/boot/head.S | 143 +++++++++++++++++++++++++++----- xen/arch/x86/boot/reloc.c | 244 ++++++++++++++++++++++++++++++++++++++++++++----------- xen/arch/x86/boot/x86_64.S | 10 ++- xen/arch/x86/boot_info.c | 257 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ xen/arch/x86/dmi_scan.c | 11 ++- xen/arch/x86/domain_build.c | 24 +++--- xen/arch/x86/efi/efi-boot.h | 173 +++++++++++++++++++-------------------- xen/arch/x86/microcode.c | 39 +++++---- xen/arch/x86/mpparse.c | 13 ++- xen/arch/x86/platform_hypercall.c | 17 ++-- xen/arch/x86/setup.c | 364 +++++++++++++++++++++++++++------------------------------------------------------- xen/arch/x86/x86_64/asm-offsets.c | 5 +- xen/common/efi/boot.c | 1 - xen/common/efi/efi.h | 11 +++ xen/common/efi/runtime.c | 55 +++++++++++-- xen/drivers/acpi/osl.c | 13 ++- xen/drivers/video/vesa.c | 7 +- xen/drivers/video/vga.c | 18 ++--- xen/include/asm-x86/boot_info.h | 123 ++++++++++++++++++++++++++++ xen/include/asm-x86/config.h | 2 - xen/include/asm-x86/e820.h | 8 -- xen/include/asm-x86/edd.h | 6 -- xen/include/asm-x86/mbd.h | 79 ++++++++++++++++++ xen/include/asm-x86/setup.h | 10 +-- xen/include/xen/efi.h | 7 ++ xen/include/xen/multiboot2.h | 148 +++++++++++++++++++++++++++++++++ xen/include/xen/vga.h | 18 ----- xen/include/xsm/xsm.h | 14 ++-- xen/xsm/xsm_core.c | 6 +- xen/xsm/xsm_policy.c | 10 +-- 32 files changed, 1310 insertions(+), 536 deletions(-) Daniel Kiper (16): x86/boot/reloc: Remove redundant blank characters and reformat comments a bit x86/boot/reloc: Move typedef and include to beginning of file x86/boot/reloc: Create generic alloc and copy functions x86: Introduce MultiBoot Data (MBD) type x86/efi: Add place_string_u32() function x86: Introduce boot_info structure x86: Move boot_loader_name from mbi to boot_info x86: Move cmdline from mbi to boot_info x86: Move legacy BIOS memory map stuff to boot_info x86: Move modules data from mbi to boot_info and remove mbi x86: Move EFI memory map stuff to boot_info x86: Move MPS, ACPI and SMBIOS data to boot_info x86: Move video data to boot_info x86: Move HDD data to boot_info x86/boot: Use %ecx instead of %eax xen/x86: Add multiboot2 protocol support _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |