Re: [PATCH 00/18] x86: multiboot2 protocol support
On Fri, Jan 30, 2015 at 06:54:04PM +0100, Daniel Kiper wrote: Hi, I am sending, long awaited, first version of multiboot2 protocol support for legacy BIOS and EFI platforms. New version with relocatable Xen early boot code is under tests now. I hope that I will release new version in 2-3 weeks after polishing some details and taking into account your comments. Daniel ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: [PATCH 00/18] x86: multiboot2 protocol support
On Tue, Mar 03, 2015 at 12:10:35PM +, Ian Campbell wrote: On Fri, 2015-01-30 at 18:54 +0100, Daniel Kiper wrote: xen/arch/x86/Makefile | 17 ++-- xen/arch/x86/boot/Makefile|3 +- xen/arch/x86/boot/head.S | 291 ++ xen/arch/x86/boot/reloc.c | 219 ++--- xen/arch/x86/dmi_scan.c |4 +- xen/arch/x86/domain_page.c|2 +- xen/arch/x86/e820.c | 29 ++ xen/arch/x86/efi/Makefile | 12 +-- xen/arch/x86/efi/efi-boot.h | 66 +++-- xen/arch/x86/efi/stub.c | 41 xen/arch/x86/mpparse.c|4 +- xen/arch/x86/setup.c | 30 +++--- xen/arch/x86/shutdown.c |3 +- xen/arch/x86/time.c |2 +- xen/arch/x86/x86_64/asm-offsets.c |8 ++ xen/arch/x86/xen.lds.S|2 - xen/common/efi/boot.c | 441 +- xen/common/efi/runtime.c | 11 ++- xen/drivers/acpi/osl.c|2 +- xen/include/xen/efi.h |6 +- xen/include/xen/multiboot2.h | 169 21 files changed, 1018 insertions(+), 344 deletions(-) From the diffstat I'm not sure: is there any ARM impact I should worry about reviewing? Any patches in particular my feedback is needed on? There are not any functional changes in ARM here. There are some small changes which are needed to make new x86 stuff coexist with ARM. Additionally, I thought that you are still interested in x86 things. Am I right? If you do not have a time right now ignore this patch series. New thing will appear in 3-4 weeks. Or if you completely not interested in that stuff just drop me a line and I will drop you from distribution list. Daniel ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: [PATCH 00/18] x86: multiboot2 protocol support
On Tue, 2015-03-03 at 13:36 +0100, Daniel Kiper wrote: On Tue, Mar 03, 2015 at 12:10:35PM +, Ian Campbell wrote: On Fri, 2015-01-30 at 18:54 +0100, Daniel Kiper wrote: xen/arch/x86/Makefile | 17 ++-- xen/arch/x86/boot/Makefile|3 +- xen/arch/x86/boot/head.S | 291 ++ xen/arch/x86/boot/reloc.c | 219 ++--- xen/arch/x86/dmi_scan.c |4 +- xen/arch/x86/domain_page.c|2 +- xen/arch/x86/e820.c | 29 ++ xen/arch/x86/efi/Makefile | 12 +-- xen/arch/x86/efi/efi-boot.h | 66 +++-- xen/arch/x86/efi/stub.c | 41 xen/arch/x86/mpparse.c|4 +- xen/arch/x86/setup.c | 30 +++--- xen/arch/x86/shutdown.c |3 +- xen/arch/x86/time.c |2 +- xen/arch/x86/x86_64/asm-offsets.c |8 ++ xen/arch/x86/xen.lds.S|2 - xen/common/efi/boot.c | 441 +- xen/common/efi/runtime.c | 11 ++- xen/drivers/acpi/osl.c|2 +- xen/include/xen/efi.h |6 +- xen/include/xen/multiboot2.h | 169 21 files changed, 1018 insertions(+), 344 deletions(-) From the diffstat I'm not sure: is there any ARM impact I should worry about reviewing? Any patches in particular my feedback is needed on? There are not any functional changes in ARM here. There are some small changes which are needed to make new x86 stuff coexist with ARM. Additionally, I thought that you are still interested in x86 things. Not totally disinterested in x86 things, but not especially interested in x86/EFI/multiboot unless I have to be. Am I right? If you do not have a time right now ignore this patch series. New thing will appear in 3-4 weeks. OK, thanks. Or if you completely not interested in that stuff just drop me a line and I will drop you from distribution list. If you could just CC me on the bits which impact ARM (or generic code) that would be ok, but otherwise I can cope with ignoring irrelevant parts of a series. Thanks, Ian. ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: [PATCH 00/18] x86: multiboot2 protocol support
On Tue, Mar 03, 2015 at 12:39:45PM +, Ian Campbell wrote: On Tue, 2015-03-03 at 13:36 +0100, Daniel Kiper wrote: On Tue, Mar 03, 2015 at 12:10:35PM +, Ian Campbell wrote: On Fri, 2015-01-30 at 18:54 +0100, Daniel Kiper wrote: xen/arch/x86/Makefile | 17 ++-- xen/arch/x86/boot/Makefile|3 +- xen/arch/x86/boot/head.S | 291 ++ xen/arch/x86/boot/reloc.c | 219 ++--- xen/arch/x86/dmi_scan.c |4 +- xen/arch/x86/domain_page.c|2 +- xen/arch/x86/e820.c | 29 ++ xen/arch/x86/efi/Makefile | 12 +-- xen/arch/x86/efi/efi-boot.h | 66 +++-- xen/arch/x86/efi/stub.c | 41 xen/arch/x86/mpparse.c|4 +- xen/arch/x86/setup.c | 30 +++--- xen/arch/x86/shutdown.c |3 +- xen/arch/x86/time.c |2 +- xen/arch/x86/x86_64/asm-offsets.c |8 ++ xen/arch/x86/xen.lds.S|2 - xen/common/efi/boot.c | 441 +- xen/common/efi/runtime.c | 11 ++- xen/drivers/acpi/osl.c|2 +- xen/include/xen/efi.h |6 +- xen/include/xen/multiboot2.h | 169 21 files changed, 1018 insertions(+), 344 deletions(-) From the diffstat I'm not sure: is there any ARM impact I should worry about reviewing? Any patches in particular my feedback is needed on? There are not any functional changes in ARM here. There are some small changes which are needed to make new x86 stuff coexist with ARM. Additionally, I thought that you are still interested in x86 things. Not totally disinterested in x86 things, but not especially interested in x86/EFI/multiboot unless I have to be. Roger. Am I right? If you do not have a time right now ignore this patch series. New thing will appear in 3-4 weeks. OK, thanks. Or if you completely not interested in that stuff just drop me a line and I will drop you from distribution list. If you could just CC me on the bits which impact ARM (or generic code) that would be ok, but otherwise I can cope with ignoring irrelevant parts of a series. Wilco. Daniel ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: [PATCH 00/18] x86: multiboot2 protocol support
On Fri, 2015-01-30 at 18:54 +0100, Daniel Kiper wrote: xen/arch/x86/Makefile | 17 ++-- xen/arch/x86/boot/Makefile|3 +- xen/arch/x86/boot/head.S | 291 ++ xen/arch/x86/boot/reloc.c | 219 ++--- xen/arch/x86/dmi_scan.c |4 +- xen/arch/x86/domain_page.c|2 +- xen/arch/x86/e820.c | 29 ++ xen/arch/x86/efi/Makefile | 12 +-- xen/arch/x86/efi/efi-boot.h | 66 +++-- xen/arch/x86/efi/stub.c | 41 xen/arch/x86/mpparse.c|4 +- xen/arch/x86/setup.c | 30 +++--- xen/arch/x86/shutdown.c |3 +- xen/arch/x86/time.c |2 +- xen/arch/x86/x86_64/asm-offsets.c |8 ++ xen/arch/x86/xen.lds.S|2 - xen/common/efi/boot.c | 441 +- xen/common/efi/runtime.c | 11 ++- xen/drivers/acpi/osl.c|2 +- xen/include/xen/efi.h |6 +- xen/include/xen/multiboot2.h | 169 21 files changed, 1018 insertions(+), 344 deletions(-) From the diffstat I'm not sure: is there any ARM impact I should worry about reviewing? Any patches in particular my feedback is needed on? Daniel Kiper (18): x86/boot/reloc: mask out MBI_BOOTDEV from mbi flags x86/boot/reloc: create generic alloc and copy functions x86/boot: use %ecx instead of %eax xen/x86: add multiboot2 protocol support efi: split efi_enabled to efi_platform and efi_loader x86: remove commented out stale references to efi_enabled efi: run EFI specific code on EFI platform only efi: build xen.gz with EFI code efi: create efi_init() efi: create efi_console_set_mode() efi: create efi_get_gop() efi: create efi_find_gop_mode() efi: create efi_tables() efi: create efi_variables() efi: create efi_set_gop_mode() efi: create efi_exit_boot() x86/efi: create new early memory allocator x86: add multiboot2 protocol support for EFI platforms ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: [PATCH 00/18] x86: multiboot2 protocol support
On 09.02.15 at 18:59, daniel.ki...@oracle.com wrote: On Fri, Jan 30, 2015 at 06:54:04PM +0100, Daniel Kiper wrote: I am sending, long awaited, first version of multiboot2 protocol support for legacy BIOS and EFI platforms. 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. I have not received so many comments on this patch series. Is there no interest in having this feature in Xen? Is there anything wrong? Should I fix something? I didn't get to look at patches 4 and onwards yet, there's too much other stuff I need to take care of right now; I'll get to this eventually. Jan ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: [PATCH 00/18] x86: multiboot2 protocol support
Hi all, On Fri, Jan 30, 2015 at 06:54:04PM +0100, Daniel Kiper wrote: Hi, I am sending, long awaited, first version of multiboot2 protocol support for legacy BIOS and EFI platforms. 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. I have not received so many comments on this patch series. Is there no interest in having this feature in Xen? Is there anything wrong? Should I fix something? Daniel ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: [PATCH 00/18] x86: multiboot2 protocol support
On 05.02.15 at 12:50, phco...@gmail.com wrote: Le 2015-02-04 10:51, Jan Beulich jbeul...@suse.com a écrit : On 04.02.15 at 10:04, andrew.coop...@citrix.com wrote: On 03/02/2015 17:14, Daniel Kiper wrote: On Mon, Feb 02, 2015 at 09:28:49AM +, Jan Beulich wrote: On 30.01.15 at 18:54, daniel.ki...@oracle.com wrote: - xen.efi build will not so strongly depend on a given GCC and binutils version. While I can see the possibility of making the binutils version dependency go away (by manually creating the PE header), I can't see how you'd overcome the gcc one: The MS calling convention support is still going to be needed (not having looked at the patches Right, I forgot about that one. themselves yet, I can't see myself accepting the introduction of stubs to convert between calling conventions). How about __attribute__((ms_abi)) ? It would appear to exist for this purpose. But that's the point: Older compilers don't support it. And with compilers supporting it we need no stubs. ms_abi has been around for years. What's your minimum compiler requirement? 4.1 Jan ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: [PATCH 00/18] x86: multiboot2 protocol support
On 04/02/15 09:51, Jan Beulich wrote: On 04.02.15 at 10:04, andrew.coop...@citrix.com wrote: On 03/02/2015 17:14, Daniel Kiper wrote: On Mon, Feb 02, 2015 at 09:28:49AM +, Jan Beulich wrote: On 30.01.15 at 18:54, daniel.ki...@oracle.com wrote: - xen.efi build will not so strongly depend on a given GCC and binutils version. While I can see the possibility of making the binutils version dependency go away (by manually creating the PE header), I can't see how you'd overcome the gcc one: The MS calling convention support is still going to be needed (not having looked at the patches Right, I forgot about that one. themselves yet, I can't see myself accepting the introduction of stubs to convert between calling conventions). How about __attribute__((ms_abi)) ? It would appear to exist for this purpose. But that's the point: Older compilers don't support it. And with compilers supporting it we need no stubs. If the use of __attribute__((ms_abi)) was suitably contained within a #ifdef CONFIG_EFI, I don't see an problem. CONFIG_EFI could derive primarily from a compiler version check if we don't wish to force a minimum newer version of gcc. One way or another, a newer set of tools is needed to build EFI support, and a binary capable of both legacy and efi boot is quite desirable to have. ~Andrew ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: [PATCH 00/18] x86: multiboot2 protocol support
Le 2015-02-04 10:51, Jan Beulich jbeul...@suse.com a écrit : On 04.02.15 at 10:04, andrew.coop...@citrix.com wrote: On 03/02/2015 17:14, Daniel Kiper wrote: On Mon, Feb 02, 2015 at 09:28:49AM +, Jan Beulich wrote: On 30.01.15 at 18:54, daniel.ki...@oracle.com wrote: - xen.efi build will not so strongly depend on a given GCC and binutils version. While I can see the possibility of making the binutils version dependency go away (by manually creating the PE header), I can't see how you'd overcome the gcc one: The MS calling convention support is still going to be needed (not having looked at the patches Right, I forgot about that one. themselves yet, I can't see myself accepting the introduction of stubs to convert between calling conventions). How about __attribute__((ms_abi)) ? It would appear to exist for this purpose. But that's the point: Older compilers don't support it. And with compilers supporting it we need no stubs. ms_abi has been around for years. What's your minimum compiler requirement? Jan ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: [PATCH 00/18] x86: multiboot2 protocol support
On 04.02.15 at 10:04, andrew.coop...@citrix.com wrote: On 03/02/2015 17:14, Daniel Kiper wrote: On Mon, Feb 02, 2015 at 09:28:49AM +, Jan Beulich wrote: On 30.01.15 at 18:54, daniel.ki...@oracle.com wrote: - xen.efi build will not so strongly depend on a given GCC and binutils version. While I can see the possibility of making the binutils version dependency go away (by manually creating the PE header), I can't see how you'd overcome the gcc one: The MS calling convention support is still going to be needed (not having looked at the patches Right, I forgot about that one. themselves yet, I can't see myself accepting the introduction of stubs to convert between calling conventions). How about __attribute__((ms_abi)) ? It would appear to exist for this purpose. But that's the point: Older compilers don't support it. And with compilers supporting it we need no stubs. Jan ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: [PATCH 00/18] x86: multiboot2 protocol support
On 03/02/2015 17:14, Daniel Kiper wrote: On Mon, Feb 02, 2015 at 09:28:49AM +, Jan Beulich wrote: On 30.01.15 at 18:54, daniel.ki...@oracle.com wrote: - xen.efi build will not so strongly depend on a given GCC and binutils version. While I can see the possibility of making the binutils version dependency go away (by manually creating the PE header), I can't see how you'd overcome the gcc one: The MS calling convention support is still going to be needed (not having looked at the patches Right, I forgot about that one. themselves yet, I can't see myself accepting the introduction of stubs to convert between calling conventions). How about __attribute__((ms_abi)) ? It would appear to exist for this purpose. ~Andrew ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: [PATCH 00/18] x86: multiboot2 protocol support
On Mon, Feb 02, 2015 at 09:28:49AM +, Jan Beulich wrote: On 30.01.15 at 18:54, daniel.ki...@oracle.com wrote: - xen.efi build will not so strongly depend on a given GCC and binutils version. While I can see the possibility of making the binutils version dependency go away (by manually creating the PE header), I can't see how you'd overcome the gcc one: The MS calling convention support is still going to be needed (not having looked at the patches Right, I forgot about that one. themselves yet, I can't see myself accepting the introduction of stubs to convert between calling conventions). I am not going to do that thing. Daniel ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: [PATCH 00/18] x86: multiboot2 protocol support
On 30.01.15 at 18:54, daniel.ki...@oracle.com wrote: - xen.efi build will not so strongly depend on a given GCC and binutils version. While I can see the possibility of making the binutils version dependency go away (by manually creating the PE header), I can't see how you'd overcome the gcc one: The MS calling convention support is still going to be needed (not having looked at the patches themselves yet, I can't see myself accepting the introduction of stubs to convert between calling conventions). Jan ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: [PATCH 00/18] x86: multiboot2 protocol support
On Fri, Jan 30, 2015 at 06:54:04PM +0100, Daniel Kiper wrote: Hi, I am sending, long awaited, first version of multiboot2 protocol support for legacy BIOS and EFI platforms. By mistake I forgot to thank you Andrew and Konrad for support during development of this series. Sorry guys. Daniel ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: [PATCH 00/18] x86: multiboot2 protocol support
Hello, Is it planned to have the boot loader set up long mode for the kernel (in BIOS systems) in a future multiboot version? And, before someone talks about that, I know that long mode requires paging to be set up and enabled. As far as I know some OS loaders do this. Also, something I think would be interesting to have, is a safe memory map, that marks the kernel area as used and things like that. :-) JJ On 30-01-2015 17:54, Daniel Kiper wrote: Hi, I am sending, long awaited, first version of multiboot2 protocol support for legacy BIOS and EFI platforms. 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. GRUB2 patch series will follow this patch series. GRUB2 guys should check patch #18 but I am sending to you all Xen related patches just in case. ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel