xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Kiper <daniel.kiper@oracle.com>
To: xen-devel@lists.xenproject.org
Cc: jgross@suse.com, sstabellini@kernel.org,
	andrew.cooper3@citrix.com, cardoe@cardoe.com,
	pgnet.dev@gmail.com, ning.sun@intel.com, julien.grall@arm.com,
	david.vrabel@citrix.com, jbeulich@suse.com,
	qiaowei.ren@intel.com, gang.wei@intel.com, fu.wei@linaro.org
Subject: [PATCH v7 01/14] x86: move xen ELF end of image to 16 MiB
Date: Fri, 23 Sep 2016 23:47:26 +0200	[thread overview]
Message-ID: <1474667259-27290-2-git-send-email-daniel.kiper@oracle.com> (raw)
In-Reply-To: <1474667259-27290-1-git-send-email-daniel.kiper@oracle.com>

It seems that from xen ELF image POV _end symbol properly determine
image end. However, taking into account that initial Xen image mapping
covers 16 MiB it looks that it is not sufficient. Currently bootloader
potentially may load xen ELF image at 1 MiB and let's say put Linux
kernel or initrd at 8 MiB. Nothing forbids it. This means that initially
Xen image mapping may cover not only Xen image but also loaded modules.
So, let's move end of xen ELF image to 16 MiB. This way we avoid above
mentioned issue because bootloader will be forced to allocate 15 MiB
memory region for image. Then it (bootloader) would not be able to put
in this place anything else because from its POV simply this memory
region will be allocated and used.

This patch does not change xen ELF file size. It changes memory size
which should be allocated for the image during load.

Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
---
 xen/arch/x86/xen.lds.S |   10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index d903c31..9adb2f3 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -266,14 +266,16 @@ SECTIONS
   .reloc : {
     *(.reloc)
   } :text
-  /* Trick the linker into setting the image size to exactly 16Mb. */
   . = ALIGN(__section_alignment__);
+#else
+  efi = .;
+#endif
+
+  /* Trick the linker into setting the image size to exactly 16Mb. */
   .pad : {
     . = ALIGN(MB(16));
+    __end_of_image__ = .;
   } :text
-#else
-  efi = .;
-#endif
 
   /* Sections to be discarded */
   /DISCARD/ : {
-- 
1.7.10.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

  reply	other threads:[~2016-09-23 21:48 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-23 21:47 [PATCH v7 00/14] x86: multiboot2 protocol support Daniel Kiper
2016-09-23 21:47 ` Daniel Kiper [this message]
2016-09-26 10:39   ` [PATCH v7 01/14] x86: move xen ELF end of image to 16 MiB Jan Beulich
2016-09-26 11:34     ` Daniel Kiper
2016-09-26 12:32       ` Jan Beulich
2016-09-27 17:42         ` Daniel Kiper
2016-09-23 21:47 ` [PATCH v7 02/14] x86: properly calculate xen ELF end of image address Daniel Kiper
2016-09-26 10:45   ` Jan Beulich
2016-09-26 12:06     ` Daniel Kiper
2016-09-26 12:34       ` Jan Beulich
2016-09-23 21:47 ` [PATCH v7 03/14] x86: add multiboot2 protocol support Daniel Kiper
2016-09-26 13:18   ` Jan Beulich
2016-09-23 21:47 ` [PATCH v7 04/14] efi: create efi_enabled() Daniel Kiper
2016-09-23 21:47 ` [PATCH v7 05/14] x86: allow EFI reboot method neither on EFI platforms Daniel Kiper
2016-09-23 21:47 ` [PATCH v7 06/14] efi: build xen.gz with EFI code Daniel Kiper
2016-09-23 21:47 ` [PATCH RFC v7 07/14] efi: create new early memory allocator Daniel Kiper
2016-09-23 23:35   ` Julien Grall
2016-09-26  6:53     ` Jan Beulich
2016-09-26 20:01       ` Julien Grall
2016-09-27  8:06         ` Jan Beulich
2016-09-27 23:23           ` Julien Grall
2016-09-26 13:37   ` Jan Beulich
2016-09-27 17:49     ` Daniel Kiper
2016-09-28  8:48       ` Jan Beulich
2016-09-23 21:47 ` [PATCH v7 08/14] x86: add multiboot2 protocol support for EFI platforms Daniel Kiper
2016-09-26 13:47   ` Jan Beulich
2016-09-27 18:11     ` Daniel Kiper
2016-09-28  8:57       ` Jan Beulich
2016-09-28  9:39         ` Daniel Kiper
2016-09-28 10:16           ` Jan Beulich
2016-09-26 14:19   ` Andrew Cooper
2016-09-26 14:33     ` Jan Beulich
2016-09-26 14:40       ` Andrew Cooper
2016-09-26 15:12         ` Jan Beulich
2016-09-27 18:21           ` Daniel Kiper
2016-09-28  8:58             ` Jan Beulich
2016-09-23 21:47 ` [PATCH v7 09/14] x86/boot: implement early command line parser in C Daniel Kiper
2016-09-26 13:49   ` Jan Beulich
2016-09-23 21:47 ` [PATCH v7 10/14] x86: change default load address from 1 MiB to 2 MiB Daniel Kiper
2016-09-23 21:47 ` [PATCH v7 11/14] x86/setup: use XEN_IMG_OFFSET instead of Daniel Kiper
2016-09-23 21:47 ` [PATCH v7 12/14] x86: make Xen early boot code relocatable Daniel Kiper
2016-09-26 15:03   ` Jan Beulich
2016-09-27 19:55     ` Daniel Kiper
2016-09-28  9:06       ` Jan Beulich
2016-09-28  9:56         ` Daniel Kiper
2016-09-28 10:19           ` Jan Beulich
2016-09-23 21:47 ` [PATCH v7 13/14] x86/boot: rename sym_phys() to sym_offs() Daniel Kiper
2016-09-26 15:47   ` Jan Beulich
2016-09-23 21:47 ` [PATCH v7 14/14] x86: add multiboot2 protocol support for relocatable images Daniel Kiper
2016-09-26 15:53   ` Jan Beulich
2016-09-27 20:07     ` Daniel Kiper

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=1474667259-27290-2-git-send-email-daniel.kiper@oracle.com \
    --to=daniel.kiper@oracle.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=cardoe@cardoe.com \
    --cc=david.vrabel@citrix.com \
    --cc=fu.wei@linaro.org \
    --cc=gang.wei@intel.com \
    --cc=jbeulich@suse.com \
    --cc=jgross@suse.com \
    --cc=julien.grall@arm.com \
    --cc=ning.sun@intel.com \
    --cc=pgnet.dev@gmail.com \
    --cc=qiaowei.ren@intel.com \
    --cc=sstabellini@kernel.org \
    --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).