All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH for-xen-4.5 v3 00/16] xen: Break multiboot (v1) dependency and add multiboot2 support
@ 2014-10-08 17:52 Daniel Kiper
  2014-10-08 17:52 ` [PATCH for-xen-4.5 v3 01/16] x86/boot/reloc: Remove redundant blank characters and reformat comments a bit Daniel Kiper
                   ` (17 more replies)
  0 siblings, 18 replies; 52+ messages in thread
From: Daniel Kiper @ 2014-10-08 17:52 UTC (permalink / raw)
  To: xen-devel
  Cc: jgross, keir, ian.campbell, andrew.cooper3, stefano.stabellini,
	ross.philipson, roy.franz, ning.sun, jbeulich, qiaowei.ren,
	richard.l.maliszewski, gang.wei, fu.wei

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

^ permalink raw reply	[flat|nested] 52+ messages in thread

end of thread, other threads:[~2014-10-16 15:42 UTC | newest]

Thread overview: 52+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-08 17:52 [PATCH for-xen-4.5 v3 00/16] xen: Break multiboot (v1) dependency and add multiboot2 support Daniel Kiper
2014-10-08 17:52 ` [PATCH for-xen-4.5 v3 01/16] x86/boot/reloc: Remove redundant blank characters and reformat comments a bit Daniel Kiper
2014-10-09  9:26   ` Andrew Cooper
2014-10-08 17:52 ` [PATCH for-xen-4.5 v3 02/16] x86/boot/reloc: Move typedef and include to beginning of file Daniel Kiper
2014-10-09  9:40   ` Andrew Cooper
2014-10-10  8:50   ` Jan Beulich
2014-10-10 13:17     ` Daniel Kiper
2014-10-10 13:33       ` Jan Beulich
2014-10-08 17:52 ` [PATCH for-xen-4.5 v3 03/16] x86/boot/reloc: Create generic alloc and copy functions Daniel Kiper
2014-10-09  9:45   ` Andrew Cooper
2014-10-13 15:00     ` Daniel Kiper
2014-10-13 15:02       ` Andrew Cooper
2014-10-08 17:52 ` [PATCH for-xen-4.5 v3 04/16] x86: Introduce MultiBoot Data (MBD) type Daniel Kiper
2014-10-09 10:28   ` Andrew Cooper
2014-10-10 11:47     ` Daniel Kiper
2014-10-10 12:48       ` Jan Beulich
2014-10-13 10:21       ` Andrew Cooper
2014-10-13 15:14         ` Daniel Kiper
2014-10-14 15:27   ` Jan Beulich
2014-10-14 16:03     ` Daniel Kiper
2014-10-14 16:26       ` Jan Beulich
2014-10-08 17:52 ` [PATCH for-xen-4.5 v3 05/16] x86/efi: Add place_string_u32() function Daniel Kiper
2014-10-09 10:30   ` Andrew Cooper
2014-10-08 17:52 ` [PATCH for-xen-4.5 v3 06/16] x86: Introduce boot_info structure Daniel Kiper
2014-10-09 10:48   ` Andrew Cooper
2014-10-10 13:55   ` Stefano Stabellini
2014-10-10 20:44     ` Daniel Kiper
2014-10-08 17:52 ` [PATCH for-xen-4.5 v3 07/16] x86: Move boot_loader_name from mbi to boot_info Daniel Kiper
2014-10-09 10:53   ` Andrew Cooper
2014-10-08 17:52 ` [PATCH for-xen-4.5 v3 08/16] x86: Move cmdline " Daniel Kiper
2014-10-08 17:52 ` [PATCH for-xen-4.5 v3 09/16] x86: Move legacy BIOS memory map stuff " Daniel Kiper
2014-10-10 14:02   ` Stefano Stabellini
2014-10-10 20:26     ` Daniel Kiper
2014-10-08 17:52 ` [PATCH for-xen-4.5 v3 10/16] x86: Move modules data from mbi to boot_info and remove mbi Daniel Kiper
2014-10-08 17:52 ` [PATCH for-xen-4.5 v3 11/16] x86: Move EFI memory map stuff to boot_info Daniel Kiper
2014-10-08 17:52 ` [PATCH for-xen-4.5 v3 12/16] x86: Move MPS, ACPI and SMBIOS data " Daniel Kiper
2014-10-08 17:52 ` [PATCH for-xen-4.5 v3 13/16] x86: Move video " Daniel Kiper
2014-10-08 17:52 ` [PATCH for-xen-4.5 v3 14/16] x86: Move HDD " Daniel Kiper
2014-10-08 17:52 ` [PATCH for-xen-4.5 v3 15/16] x86/boot: Use %ecx instead of %eax Daniel Kiper
2014-10-09 11:02   ` Andrew Cooper
2014-10-08 17:52 ` [PATCH for-xen-4.5 v3 16/16] xen/x86: Add multiboot2 protocol support Daniel Kiper
2014-10-09 11:20   ` Andrew Cooper
2014-10-10  8:21     ` Jan Beulich
2014-10-10  8:23 ` [PATCH for-xen-4.5 v3 00/16] xen: Break multiboot (v1) dependency and add multiboot2 support Jan Beulich
2014-10-10 11:07   ` Daniel Kiper
2014-10-10 12:25     ` Jan Beulich
2014-10-10 13:03       ` Daniel Kiper
2014-10-16  8:13 ` Jan Beulich
2014-10-16 12:58   ` Daniel Kiper
2014-10-16 13:41     ` Jan Beulich
2014-10-16 15:33       ` Daniel Kiper
2014-10-16 15:42         ` Jan Beulich

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.