Re: [PATCH 00/18] x86: multiboot2 protocol support

2015-03-27 Thread Daniel Kiper
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

2015-03-03 Thread Daniel Kiper
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

2015-03-03 Thread Ian Campbell
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

2015-03-03 Thread Daniel Kiper
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

2015-03-03 Thread Ian Campbell
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

2015-02-10 Thread Jan Beulich
 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

2015-02-09 Thread Daniel Kiper
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

2015-02-05 Thread Jan Beulich
 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

2015-02-05 Thread Andrew Cooper
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

2015-02-05 Thread Vladimir 'phcoder' Serbinenko
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

2015-02-04 Thread Jan Beulich
 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

2015-02-04 Thread Andrew Cooper
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

2015-02-03 Thread Daniel Kiper
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

2015-02-02 Thread Jan Beulich
 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

2015-01-30 Thread Daniel Kiper
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

2015-01-30 Thread João Jerónimo

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