xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: "Jan Beulich" <JBeulich@suse.com>
To: Daniel Kiper <daniel.kiper@oracle.com>
Cc: Juergen Gross <JGross@suse.com>,
	grub-devel@gnu.org, wei.liu2@citrix.com, ian.campbell@citrix.com,
	stefano.stabellini@eu.citrix.com, andrew.cooper3@citrix.com,
	roy.franz@linaro.org, ning.sun@intel.com,
	david.vrabel@citrix.com, phcoder@gmail.com,
	xen-devel@lists.xenproject.org, qiaowei.ren@intel.com,
	keir@xen.org, richard.l.maliszewski@intel.com,
	gang.wei@intel.com, fu.wei@linaro.org
Subject: Re: [PATCH v2 22/23] x86: make Xen early boot code relocatable
Date: Thu, 27 Aug 2015 09:29:31 -0600	[thread overview]
Message-ID: <55DF48FB020000780009D83F__11501.0494053879$1440689498$gmane$org@prv-mh.provo.novell.com> (raw)
In-Reply-To: <20150827151054.GI10944@olila.local.net-space.pl>

>>> On 27.08.15 at 17:10, <daniel.kiper@oracle.com> wrote:
> On Thu, Aug 27, 2015 at 07:12:38AM -0600, Jan Beulich wrote:
>> >>> On 20.07.15 at 16:29, <daniel.kiper@oracle.com> wrote:
>> >          /* Copy bootstrap trampoline to low memory, below 1MB. */
>> > -        mov     $sym_phys(trampoline_start),%esi
>> > +        lea     sym_offset(trampoline_start)(%ebp),%esi
>> >          mov     $trampoline_end - trampoline_start,%ecx
>> >          rep     movsb
>> >
>>
>> The latest at this final hunk I'm getting tired (and upset). I'd much
>> rather not touch all this code in these fragile ways, and instead
>> require Xen to be booted without grub2 on badly written firmware
>> like the one on the machine you quote in the description.
> 
> Let's start discussion from here. My further work on this patch series
> is pointless until we do not agree details in this case.
> 
> So, I agree that any software (including firmware) should not use
> precious resources (i.e. low memory in that case) if it is not strictly
> required. And I do not think so that latest UEFI implementations
> on new hardware really need this low memory to survive (at least page
> tables could be put anywhere above low memory). However, in case of
> UEFI it is a wish of smart people not requirement set by spec. I was
> checking UEFI docs a few times but I was not able to find anything
> which says that e.g. "...developer MUST allocate memory outside of low
> memory ...". Even I have not found any suggestion about that. However,
> I must admit that I do not know whole UEFI spec, so, if you know something
> which is similar to above please tell me where it is (title, revision,
> page, paragraph, etc.). Hence, if there is not strict requirement in
> regards to memory allocation in specs we are lost. Of course we can
> encourage people to not do nasty things but I do not believe that many
> will listen. So, sadly, I suppose that we will see more and more machines
> in the wild which are "broken" (well, let's say do not align to good 
> practices).
> 
> On the other hand I think that we should not assume that a given memory
> region (in our case starting at 1 MiB) is (or will be) available in every
> machine. I have not seen anything which says that it is true. We should
> stop doing that even if it works right now. I think that it works by
> chance and there is a chance that it will stop working one day because
> somebody will discover that he or she can put there e.g. device or hole.
> 
> Last but not least. I suppose that Xen users and especially distros will
> complain when they are not able to use GRUB2 with Xen on every platform
> just because somebody (i.e. platform designers, developers, or whatever)
> do not accept our beliefs or we require that platform must obey rules
> (i.e. memory map requirements) which are specified nowhere.

You're right, there's no such requirement on memory use in the spec.
But you're missing the point. Supporting grub2 on UEFI is already a
hack (ignoring all intentions EFI had from its first days). And now
you've found an environment where that hack needs another hack
(in Xen) to actually work. That's too much hackery for my taste, the
more that things on this system can (afaict) work quite okay (without
grub2, or with using its chainloader mechanism).

So no, I'm still not convinced of the need for this patch.

Jan

  parent reply	other threads:[~2015-08-27 15:29 UTC|newest]

Thread overview: 116+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1437402558-7313-1-git-send-email-daniel.kiper@oracle.com>
2015-07-20 14:28 ` [PATCH v2 01/23] x86/boot: remove unneeded instruction Daniel Kiper
2015-07-20 14:28 ` [PATCH v2 02/23] x86/boot: copy only text section from *.lnk file to *.bin file Daniel Kiper
2015-07-20 14:28 ` [PATCH v2 03/23] x86: zero BSS using stosl instead of stosb Daniel Kiper
2015-07-20 14:28 ` [PATCH v2 04/23] x86/boot: call reloc() using cdecl calling convention Daniel Kiper
2015-07-20 14:29 ` [PATCH v2 05/23] x86/boot/reloc: create generic alloc and copy functions Daniel Kiper
2015-07-20 14:29 ` [PATCH v2 06/23] x86/boot: use %ecx instead of %eax Daniel Kiper
2015-07-20 14:29 ` [PATCH v2 07/23] x86/boot/reloc: Rename some variables and rearrange code a bit Daniel Kiper
2015-07-20 14:29 ` [PATCH v2 08/23] x86: add multiboot2 protocol support Daniel Kiper
2015-08-10 19:17   ` Konrad Rzeszutek Wilk
     [not found]   ` <20150810191747.GE13576@l.oracle.com>
2015-08-13 19:22     ` Daniel Kiper
     [not found]     ` <20150813192212.GI3503@olila.local.net-space.pl>
2015-08-14 10:03       ` Jan Beulich
     [not found]       ` <55CDD8F4020000780009AF3C@prv-mh.provo.novell.com>
2015-08-15  6:00         ` Andrew Cooper
2015-08-18  8:12   ` Jan Beulich
2015-08-18 12:00     ` Daniel Kiper
2015-08-18 14:20       ` Jan Beulich
2015-07-20 14:29 ` [PATCH v2 09/23] efi: create efi_enabled() Daniel Kiper
2015-08-10 19:20   ` Konrad Rzeszutek Wilk
2015-08-20 15:18   ` Jan Beulich
2015-08-22 12:33     ` Daniel Kiper
     [not found]     ` <20150822123359.GX7143@olila.local.net-space.pl>
2015-08-24 11:29       ` Jan Beulich
2015-07-20 14:29 ` [PATCH v2 10/23] efi: build xen.gz with EFI code Daniel Kiper
2015-07-20 14:29 ` [PATCH v2 11/23] efi: split out efi_init() Daniel Kiper
2015-08-10 19:25   ` Konrad Rzeszutek Wilk
2015-07-20 14:29 ` [PATCH v2 12/23] efi: split out efi_console_set_mode() Daniel Kiper
2015-07-20 14:29 ` [PATCH v2 13/23] efi: split out efi_get_gop() Daniel Kiper
2015-07-20 14:29 ` [PATCH v2 14/23] efi: split out efi_find_gop_mode() Daniel Kiper
2015-08-10 19:31   ` Konrad Rzeszutek Wilk
2015-08-20 15:48   ` Jan Beulich
2015-07-20 14:29 ` [PATCH v2 15/23] efi: split out efi_tables() Daniel Kiper
2015-08-10 19:32   ` Konrad Rzeszutek Wilk
2015-07-20 14:29 ` [PATCH v2 16/23] efi: split out efi_variables() Daniel Kiper
2015-08-10 19:34   ` Konrad Rzeszutek Wilk
2015-07-20 14:29 ` [PATCH v2 17/23] efi: split out efi_set_gop_mode() Daniel Kiper
2015-08-10 19:34   ` Konrad Rzeszutek Wilk
2015-07-20 14:29 ` [PATCH v2 18/23] efi: split out efi_exit_boot() Daniel Kiper
2015-07-20 14:29 ` [PATCH v2 19/23] x86/efi: create new early memory allocator Daniel Kiper
2015-07-20 14:29 ` [PATCH v2 20/23] x86: add multiboot2 protocol support for EFI platforms Daniel Kiper
2015-08-10 20:07   ` Konrad Rzeszutek Wilk
2015-08-11 15:23   ` Konrad Rzeszutek Wilk
2015-08-27 12:01   ` Jan Beulich
     [not found]   ` <55DF1836020000780009D674@prv-mh.provo.novell.com>
2015-09-22 15:21     ` Daniel Kiper
2015-09-22 15:58       ` Jan Beulich
2015-07-20 14:29 ` [PATCH v2 21/23] x86/boot: implement early command line parser in C Daniel Kiper
2015-07-20 14:29 ` [PATCH v2 22/23] x86: make Xen early boot code relocatable Daniel Kiper
2015-07-20 14:29 ` [PATCH v2 23/23] x86: add multiboot2 protocol support for relocatable images Daniel Kiper
2015-08-11 16:56   ` Konrad Rzeszutek Wilk
     [not found]   ` <20150811165658.GC32231@l.oracle.com>
2015-08-14 11:57     ` Daniel Kiper
     [not found]     ` <20150814115701.GB8034@olila.local.net-space.pl>
2015-08-14 13:43       ` Konrad Rzeszutek Wilk
     [not found] ` <1437402558-7313-3-git-send-email-daniel.kiper@oracle.com>
2015-07-21  9:35   ` [PATCH v2 02/23] x86/boot: copy only text section from *.lnk file to *.bin file Jan Beulich
2015-07-21 17:23     ` Daniel Kiper
2015-07-22  5:14       ` Jan Beulich
2015-07-22  8:02       ` Jan Beulich
2015-07-22 13:31         ` Daniel Kiper
2015-07-22 14:07           ` Jan Beulich
     [not found] ` <1437402558-7313-4-git-send-email-daniel.kiper@oracle.com>
2015-07-21  9:37   ` [PATCH v2 03/23] x86: zero BSS using stosl instead of stosb Jan Beulich
2015-07-21 18:23     ` Daniel Kiper
2015-07-22  5:18       ` Jan Beulich
2015-07-22  8:42         ` Andrew Cooper
2015-07-22 10:04           ` Jan Beulich
2015-07-22 11:22             ` Andrew Cooper
2015-07-22 11:48               ` Jan Beulich
2015-07-21  9:39 ` [PATCH v2 00/23] x86: multiboot2 protocol support Jan Beulich
     [not found] ` <1437402558-7313-2-git-send-email-daniel.kiper@oracle.com>
2015-07-24 16:22   ` [PATCH v2 01/23] x86/boot: remove unneeded instruction Konrad Rzeszutek Wilk
     [not found]   ` <20150724162257.GB2220@l.oracle.com>
2015-07-27 19:46     ` Daniel Kiper
     [not found]     ` <20150727194608.GB3492@olila.local.net-space.pl>
2015-08-10 16:07       ` Konrad Rzeszutek Wilk
     [not found] ` <1437402558-7313-5-git-send-email-daniel.kiper@oracle.com>
2015-08-10 16:33   ` [PATCH v2 04/23] x86/boot: call reloc() using cdecl calling convention Konrad Rzeszutek Wilk
2015-08-17 15:44   ` Jan Beulich
     [not found] ` <1437402558-7313-7-git-send-email-daniel.kiper@oracle.com>
2015-08-10 16:36   ` [PATCH v2 06/23] x86/boot: use %ecx instead of %eax Konrad Rzeszutek Wilk
     [not found] ` <1437402558-7313-8-git-send-email-daniel.kiper@oracle.com>
2015-08-10 16:40   ` [PATCH v2 07/23] x86/boot/reloc: Rename some variables and rearrange code a bit Konrad Rzeszutek Wilk
2015-08-17 15:55   ` Jan Beulich
     [not found] ` <1437402558-7313-11-git-send-email-daniel.kiper@oracle.com>
2015-08-10 19:24   ` [PATCH v2 10/23] efi: build xen.gz with EFI code Konrad Rzeszutek Wilk
2015-08-20 15:39   ` Jan Beulich
2015-08-22 13:59     ` Daniel Kiper
     [not found]     ` <20150822135919.GY7143@olila.local.net-space.pl>
2015-08-24 11:35       ` Jan Beulich
2015-08-24 20:54         ` Daniel Kiper
     [not found]         ` <20150824205445.GG7143@olila.local.net-space.pl>
2015-08-25 10:50           ` Andrew Cooper
2015-08-25 12:09           ` Jan Beulich
     [not found]           ` <55DC485D.4030904@citrix.com>
2015-08-25 15:39             ` Daniel Kiper
     [not found]           ` <55DC7705020000780009CE76@prv-mh.provo.novell.com>
2015-08-25 16:31             ` Daniel Kiper
     [not found]             ` <20150825163141.GJ7143@olila.local.net-space.pl>
2015-08-26  6:46               ` Jan Beulich
     [not found]               ` <55DD7CDE020000780009D086@prv-mh.provo.novell.com>
2015-08-26 12:33                 ` Daniel Kiper
     [not found]                 ` <20150826123356.GB10861@olila.local.net-space.pl>
2015-08-26 12:40                   ` Jan Beulich
     [not found]                   ` <55DDCFD6020000780009D226@prv-mh.provo.novell.com>
2015-08-26 12:58                     ` Daniel Kiper
     [not found] ` <1437402558-7313-13-git-send-email-daniel.kiper@oracle.com>
2015-08-10 19:25   ` [PATCH v2 12/23] efi: split out efi_console_set_mode() Konrad Rzeszutek Wilk
     [not found] ` <1437402558-7313-14-git-send-email-daniel.kiper@oracle.com>
2015-08-10 19:27   ` [PATCH v2 13/23] efi: split out efi_get_gop() Konrad Rzeszutek Wilk
     [not found] ` <1437402558-7313-19-git-send-email-daniel.kiper@oracle.com>
2015-08-10 19:36   ` [PATCH v2 18/23] efi: split out efi_exit_boot() Konrad Rzeszutek Wilk
     [not found] ` <1437402558-7313-20-git-send-email-daniel.kiper@oracle.com>
2015-08-10 19:49   ` [PATCH v2 19/23] x86/efi: create new early memory allocator Konrad Rzeszutek Wilk
2015-08-27 11:23   ` Jan Beulich
     [not found] ` <1437402558-7313-6-git-send-email-daniel.kiper@oracle.com>
2015-08-17 15:51   ` [PATCH v2 05/23] x86/boot/reloc: create generic alloc and copy functions Jan Beulich
     [not found]   ` <55D21F3E020000780009B716@prv-mh.provo.novell.com>
2015-08-17 22:03     ` Daniel Kiper
     [not found] ` <1437402558-7313-22-git-send-email-daniel.kiper@oracle.com>
2015-08-10 20:31   ` [PATCH v2 21/23] x86/boot: implement early command line parser in C Konrad Rzeszutek Wilk
2015-08-11 14:43   ` Konrad Rzeszutek Wilk
2015-08-27 12:43   ` Jan Beulich
     [not found]   ` <55DF221B020000780009D6C6@prv-mh.provo.novell.com>
2015-09-22 17:03     ` Daniel Kiper
     [not found]     ` <20150922170332.GH3501@olila.local.net-space.pl>
2015-09-23  7:25       ` Jan Beulich
     [not found] ` <1437402558-7313-23-git-send-email-daniel.kiper@oracle.com>
2015-08-11 16:48   ` [PATCH v2 22/23] x86: make Xen early boot code relocatable Konrad Rzeszutek Wilk
     [not found]   ` <20150811164806.GB32231@l.oracle.com>
2015-08-14 11:52     ` Daniel Kiper
     [not found]     ` <20150814115205.GA8034@olila.local.net-space.pl>
2015-08-14 12:49       ` Jan Beulich
     [not found]       ` <55CDFFEE020000780009B0B0@prv-mh.provo.novell.com>
2015-08-14 13:59         ` Daniel Kiper
     [not found]         ` <20150814135904.GC8034@olila.local.net-space.pl>
2015-08-14 14:32           ` Jan Beulich
     [not found]           ` <55CE1805020000780009B1C0@prv-mh.provo.novell.com>
2015-08-14 14:37             ` Daniel Kiper
     [not found]             ` <20150814143729.GE8034@olila.local.net-space.pl>
2015-08-14 15:12               ` Jan Beulich
2015-08-14 15:20       ` Konrad Rzeszutek Wilk
2015-08-27 13:12   ` Jan Beulich
     [not found]   ` <55DF28E6020000780009D6E4@prv-mh.provo.novell.com>
2015-08-27 15:10     ` Daniel Kiper
     [not found]     ` <20150827151054.GI10944@olila.local.net-space.pl>
2015-08-27 15:29       ` Jan Beulich [this message]
     [not found]       ` <55DF48FB020000780009D83F@prv-mh.provo.novell.com>
2015-08-27 17:56         ` Ben Hildred
2015-08-27 18:04         ` Andrew Cooper
     [not found]         ` <55DF5125.20708@citrix.com>
2015-08-28  6:54           ` Jan Beulich
     [not found]           ` <55E021C4020000780009DA95@prv-mh.provo.novell.com>
2015-08-28 11:59             ` Andrew Cooper
     [not found]         ` <CAKcyEGpdnJUXA=uW4cNdcLn9xS7fUDowzzCbhn6c1yTh4WkPGg@mail.gmail.com>
2015-08-28  8:22           ` Jan Beulich
     [not found]           ` <55E03676020000780009DAFB@prv-mh.provo.novell.com>
2015-08-28 13:42             ` Konrad Rzeszutek Wilk
     [not found]             ` <20150828134214.GC2412@l.oracle.com>
2015-08-28 14:16               ` Jan Beulich
2015-08-31 19:49                 ` Daniel Kiper
     [not found]                 ` <20150831194956.GJ4530@olila.local.net-space.pl>
2015-09-01  6:59                   ` Jan Beulich
2015-08-28 14:24         ` Jan Beulich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='55DF48FB020000780009D83F__11501.0494053879$1440689498$gmane$org@prv-mh.provo.novell.com' \
    --to=jbeulich@suse.com \
    --cc=JGross@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=daniel.kiper@oracle.com \
    --cc=david.vrabel@citrix.com \
    --cc=fu.wei@linaro.org \
    --cc=gang.wei@intel.com \
    --cc=grub-devel@gnu.org \
    --cc=ian.campbell@citrix.com \
    --cc=keir@xen.org \
    --cc=ning.sun@intel.com \
    --cc=phcoder@gmail.com \
    --cc=qiaowei.ren@intel.com \
    --cc=richard.l.maliszewski@intel.com \
    --cc=roy.franz@linaro.org \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).