[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen stable-4.2] x86/setup: don't relocate the VGA hole.



commit be095761e374777f1c3bf356508faf0d922d4f1a
Author:     Tim Deegan <tim@xxxxxxx>
AuthorDate: Fri Mar 8 10:56:24 2013 +0100
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Fri Mar 8 10:56:24 2013 +0100

    x86/setup: don't relocate the VGA hole.
    
    Copying the contents of the VGA hole is at best pointless and at worst
    dangerous.  Booting Xen on Xen, it causes a very long delay as each
    byte is referred to qemu.
    
    Since we were already discarding the first 1MB of the relocated area,
    just avoid copying it in the first place.
    
    Reported-by: Jon Ludlam <jonathan.ludlam@xxxxxxxxxxxxx>
    Signed-off-by: Tim Deegan <tim@xxxxxxx>
    master changeset: 0b76ce20de85ad7c23c47ee3275020859b91d46b
    master date: 2013-02-14 12:20:58 +0000
---
 xen/arch/x86/setup.c |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 57f8bc1..2ef600b 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -837,8 +837,8 @@ void __init __start_xen(unsigned long mbi_p)
             l4_pgentry_t *pl4e;
             l3_pgentry_t *pl3e;
             l2_pgentry_t *pl2e;
+            uint64_t load_start;
             int i, j, k;
-            void *dst;
 
             /* Select relocation address. */
             e = end - reloc_size;
@@ -851,11 +851,9 @@ void __init __start_xen(unsigned long mbi_p)
              * with a barrier(). After this we must *not* modify static/global
              * data until after we have switched to the relocated pagetables!
              */
+            load_start = (unsigned long)_start - XEN_VIRT_START;
             barrier();
-            dst = move_memory(e, 0, (unsigned long)&_end - XEN_VIRT_START, 1);
-
-            /* Poison low 1MB to detect stray pointers to physical 0-1MB. */
-            memset(dst, 0x55, 1U << 20);
+            move_memory(e + load_start, load_start, _end - _start, 1);
 
             /* Walk initial pagetables, relocating page directory entries. */
             pl4e = __va(__pa(idle_pg_table));
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.