[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 00/23] x86: multiboot2 protocol support
From: |
Daniel Kiper |
Subject: |
[PATCH v2 00/23] x86: multiboot2 protocol support |
Date: |
Mon, 20 Jul 2015 16:28:55 +0200 |
Hi,
I am sending, long awaited, second version of multiboot2 protocol
support for legacy BIOS and EFI platforms. It fixes all major issues
discovered until now. There are still some minor problems which should
be fixed in one way or another. I will address them in next releases.
This series, in general, is not targeted to Xen 4.6. However, there are
some fixes at the beginning of it which are worth considering, I think.
The final goal is xen.efi binary file which could be loaded by EFI
loader, multiboot (v1) protocol (only on legacy BIOS platforms) and
multiboot2 protocol. This way we will have:
- smaller Xen code base,
- one code base for xen.gz and xen.efi,
- one build method for xen.gz and xen.efi;
xen.efi will be extracted from xen file
using objcopy; PE header will be contained
in ELF file and will precede Xen code,
- xen.efi build will not so strongly depend
on a given GCC and binutils version.
ARM guys should check at least patches #9 - #18 and #20. In general
earlier mentioned patches touches common EFI code but they are not
change functionality significantly.
GRUB2 patch series will follow this patch series.
GRUB2 guys should check patches #20 and #23 but I am sending to you
all Xen related patches just in case.
If you are not interested in this patch series at all please drop me
a line and I will remove you from distribution list.
Daniel
.gitignore | 5 +-
xen/arch/x86/Makefile | 21 ++--
xen/arch/x86/Rules.mk | 4 +
xen/arch/x86/boot/Makefile | 10 +-
xen/arch/x86/boot/build32.mk | 4 +-
xen/arch/x86/boot/cmdline.S | 367
---------------------------------------------------------------
xen/arch/x86/boot/cmdline.c | 396
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
xen/arch/x86/boot/edd.S | 3 -
xen/arch/x86/boot/head.S | 474
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------
xen/arch/x86/boot/reloc.c | 242
+++++++++++++++++++++++++++++++++++-------
xen/arch/x86/boot/trampoline.S | 25 ++++-
xen/arch/x86/boot/video.S | 6 --
xen/arch/x86/boot/wakeup.S | 6 +-
xen/arch/x86/boot/x86_64.S | 34 +++---
xen/arch/x86/dmi_scan.c | 4 +-
xen/arch/x86/domain_page.c | 2 +-
xen/arch/x86/efi/Makefile | 16 +--
xen/arch/x86/efi/efi-boot.h | 68 ++++++++++--
xen/arch/x86/efi/stub.c | 16 ++-
xen/arch/x86/mm.c | 3 +-
xen/arch/x86/mpparse.c | 4 +-
xen/arch/x86/setup.c | 50 ++++-----
xen/arch/x86/shutdown.c | 2 +-
xen/arch/x86/time.c | 2 +-
xen/arch/x86/x86_64/asm-offsets.c | 10 ++
xen/arch/x86/x86_64/mm.c | 2 +-
xen/arch/x86/xen.lds.S | 6 +-
xen/common/efi/boot.c | 461
++++++++++++++++++++++++++++++++++++++++++++++---------------------------------
xen/common/efi/runtime.c | 23 ++--
xen/drivers/acpi/osl.c | 2 +-
xen/include/asm-x86/config.h | 3 +
xen/include/asm-x86/page.h | 2 +-
xen/include/xen/efi.h | 17 ++-
xen/include/xen/multiboot2.h | 182 ++++++++++++++++++++++++++++++++
34 files changed, 1709 insertions(+), 763 deletions(-)
Daniel Kiper (23):
x86/boot: remove unneeded instruction
x86/boot: copy only text section from *.lnk file to *.bin file
x86: zero BSS using stosl instead of stosb
x86/boot: call reloc() using cdecl calling convention
x86/boot/reloc: create generic alloc and copy functions
x86/boot: use %ecx instead of %eax
x86/boot/reloc: Rename some variables and rearrange code a bit
x86: add multiboot2 protocol support
efi: create efi_enabled()
efi: build xen.gz with EFI code
efi: split out efi_init()
efi: split out efi_console_set_mode()
efi: split out efi_get_gop()
efi: split out efi_find_gop_mode()
efi: split out efi_tables()
efi: split out efi_variables()
efi: split out efi_set_gop_mode()
efi: split out efi_exit_boot()
x86/efi: create new early memory allocator
x86: add multiboot2 protocol support for EFI platforms
x86/boot: implement early command line parser in C
x86: make Xen early boot code relocatable
x86: add multiboot2 protocol support for relocatable images
- [PATCH v2 00/23] x86: multiboot2 protocol support,
Daniel Kiper <=
- [PATCH v2 01/23] x86/boot: remove unneeded instruction, Daniel Kiper, 2015/07/20
- [PATCH v2 04/23] x86/boot: call reloc() using cdecl calling convention, Daniel Kiper, 2015/07/20
- [PATCH v2 03/23] x86: zero BSS using stosl instead of stosb, Daniel Kiper, 2015/07/20
- [PATCH v2 07/23] x86/boot/reloc: Rename some variables and rearrange code a bit, Daniel Kiper, 2015/07/20
- [PATCH v2 06/23] x86/boot: use %ecx instead of %eax, Daniel Kiper, 2015/07/20
- [PATCH v2 05/23] x86/boot/reloc: create generic alloc and copy functions, Daniel Kiper, 2015/07/20
- [PATCH v2 08/23] x86: add multiboot2 protocol support, Daniel Kiper, 2015/07/20
- [PATCH v2 11/23] efi: split out efi_init(), Daniel Kiper, 2015/07/20