WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] x86: trampoline cleanup

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] x86: trampoline cleanup
From: Xen patchbot-unstable <patchbot@xxxxxxx>
Date: Sat, 20 Aug 2011 07:11:08 +0100
Delivery-date: Fri, 19 Aug 2011 23:11:56 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Jan Beulich <jbeulich@xxxxxxxxxx>
# Date 1313744093 -3600
# Node ID dd90b59cb11c60c48e174c899190e2967341fe32
# Parent  29aeed4979a78f26519f5fde8a405f8438297ab9
x86: trampoline cleanup

To make future changes less error prone, and to slightly simplify a
possible future conversion to a relocatable trampoline even for the
multiboot path (pretty desirable given that we had to change the
trampoline base a number of times to escape collisions with firmware
placed data),
- remove final uses of bootsym_phys() from trampoline.S, allowing the
  symbol to be undefined before including this file (to make sure no
  new references get added)
- replace two easy to deal with uses of bootsym_phys() in head.S
- remove an easy to replace reference to BOOT_TRAMPOLINE

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
---


diff -r 29aeed4979a7 -r dd90b59cb11c xen/arch/x86/boot/head.S
--- a/xen/arch/x86/boot/head.S  Fri Aug 19 09:54:26 2011 +0100
+++ b/xen/arch/x86/boot/head.S  Fri Aug 19 09:54:53 2011 +0100
@@ -202,11 +202,11 @@
 
         /* Copy bootstrap trampoline to low memory, below 1MB. */
         mov     $sym_phys(trampoline_start),%esi
-        mov     $bootsym_phys(trampoline_start),%edi
+        mov     %edx,%edi
         mov     $trampoline_end - trampoline_start,%ecx
         rep     movsb
 
-        mov     $bootsym_phys(early_stack),%esp
+        lea     early_stack-trampoline_start(%edx),%esp
         call    cmdline_parse_early
 
         /* Jump into the relocated trampoline. */
@@ -214,6 +214,8 @@
 
 #include "cmdline.S"
 
+#undef bootsym_phys
+
 reloc:
 #include "reloc.S"
 
diff -r 29aeed4979a7 -r dd90b59cb11c xen/arch/x86/boot/trampoline.S
--- a/xen/arch/x86/boot/trampoline.S    Fri Aug 19 09:54:26 2011 +0100
+++ b/xen/arch/x86/boot/trampoline.S    Fri Aug 19 09:54:53 2011 +0100
@@ -132,7 +132,7 @@
 
         .code32
 trampoline_boot_cpu_entry:
-        cmpb    $0,bootsym_phys(skip_realmode)
+        cmpb    $0,bootsym_rel(skip_realmode,5)
         jnz     .Lskip_realmode
 
         /* Load pseudo-real-mode segments. */
@@ -152,7 +152,7 @@
 
         /* Load proper real-mode values into %cs, %ds, %es and %ss. */
         ljmp    $(BOOT_TRAMPOLINE>>4),$bootsym(1f)
-1:      mov     $(BOOT_TRAMPOLINE>>4),%ax
+1:      mov     %cs,%ax
         mov     %ax,%ds
         mov     %ax,%es
         mov     %ax,%ss
@@ -195,7 +195,7 @@
         lmsw    %ax                       # CR0.PE = 1 (enter protected mode)
 
         /* Load proper protected-mode values into all segment registers. */
-        ljmpl   $BOOT_CS32,$bootsym_phys(1f)
+        ljmpl   $BOOT_CS32,$bootsym_rel(1f,6)
         .code32
 1:      mov     $BOOT_DS,%eax
         mov     %eax,%ds

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] x86: trampoline cleanup, Xen patchbot-unstable <=