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-3.4-testing] minios: Clean up and remove Linux remn

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-3.4-testing] minios: Clean up and remove Linux remnants from x86_64.S
From: "Xen patchbot-3.4-testing" <patchbot-3.4-testing@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 04 Jun 2009 10:26:22 -0700
Delivery-date: Thu, 11 Jun 2009 08:06:00 -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 Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1244109251 -3600
# Node ID 549956f395d444f2a4cdac3830ed2abf750069fa
# Parent  be44729000d345b41be1741492619e89f35eb69b
minios: Clean up and remove Linux remnants from x86_64.S

Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
xen-unstable changeset:   19711:2e522b843a21
xen-unstable date:        Wed Jun 03 18:27:05 2009 +0100

minios: Introduce BSD license COPYING file
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
xen-unstable changeset:   19712:7a215fae6f1f
xen-unstable date:        Thu Jun 04 10:35:03 2009 +0100
---
 COPYING                          |   13 ++-
 extras/mini-os/COPYING           |   23 ++++++
 extras/mini-os/arch/x86/x86_64.S |  131 +++++----------------------------------
 3 files changed, 50 insertions(+), 117 deletions(-)

diff -r be44729000d3 -r 549956f395d4 COPYING
--- a/COPYING   Thu Jun 04 10:53:21 2009 +0100
+++ b/COPYING   Thu Jun 04 10:54:11 2009 +0100
@@ -17,12 +17,13 @@ GPL when distributed separately or inclu
 GPL when distributed separately or included in software packages
 outside this repository. Instead we specify a much more relaxed
 BSD-style license. Affected files include the Xen interface headers
-(xen/include/public/COPYING), and various drivers, support functions
-and header files within the Linux source trees on
-http://xenbits.xensource.com/linux-2.6.X-xen.hg. In all such cases,
-license terms are stated at the top of the file or in a COPYING file
-in the same directory. Note that _any_ file that is modified and then
-distributed within a Linux kernel is still subject to the GNU GPL.
+(xen/include/public/COPYING), MiniOS (extras/mini-os) and various
+drivers, support functions and header files within the Linux source
+trees on http://xenbits.xensource.com/linux-2.6.X-xen.hg.
+In all such cases, license terms are stated at the top of the file or in
+a COPYING file in the same directory. Note that _any_ file that is
+modified and then distributed within a Linux kernel is still subject to
+the GNU GPL.
 
  -- Keir Fraser (on behalf of the Xen team)
 
diff -r be44729000d3 -r 549956f395d4 extras/mini-os/COPYING
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/extras/mini-os/COPYING    Thu Jun 04 10:54:11 2009 +0100
@@ -0,0 +1,23 @@
+Copyright (c) 2009 Citrix Systems, Inc. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
diff -r be44729000d3 -r 549956f395d4 extras/mini-os/arch/x86/x86_64.S
--- a/extras/mini-os/arch/x86/x86_64.S  Thu Jun 04 10:53:21 2009 +0100
+++ b/extras/mini-os/arch/x86/x86_64.S  Thu Jun 04 10:54:11 2009 +0100
@@ -46,88 +46,21 @@ NMI_MASK = 0x80000000
 #define ORIG_RAX 120       /* + error_code */ 
 #define EFLAGS 144
 
-#define REST_SKIP 6*8                  
-.macro SAVE_REST
-       subq $REST_SKIP,%rsp
-#      CFI_ADJUST_CFA_OFFSET   REST_SKIP
-       movq %rbx,5*8(%rsp) 
-#      CFI_REL_OFFSET  rbx,5*8
-       movq %rbp,4*8(%rsp) 
-#      CFI_REL_OFFSET  rbp,4*8
-       movq %r12,3*8(%rsp) 
-#      CFI_REL_OFFSET  r12,3*8
-       movq %r13,2*8(%rsp) 
-#      CFI_REL_OFFSET  r13,2*8
-       movq %r14,1*8(%rsp) 
-#      CFI_REL_OFFSET  r14,1*8
-       movq %r15,(%rsp) 
-#      CFI_REL_OFFSET  r15,0*8
-.endm          
-
-
-.macro RESTORE_REST
-       movq (%rsp),%r15
-#      CFI_RESTORE r15
-       movq 1*8(%rsp),%r14
-#      CFI_RESTORE r14
-       movq 2*8(%rsp),%r13
-#      CFI_RESTORE r13
-       movq 3*8(%rsp),%r12
-#      CFI_RESTORE r12
-       movq 4*8(%rsp),%rbp
-#      CFI_RESTORE rbp
-       movq 5*8(%rsp),%rbx
-#      CFI_RESTORE rbx
-       addq $REST_SKIP,%rsp
-#      CFI_ADJUST_CFA_OFFSET   -(REST_SKIP)
-.endm
-
-
-#define ARG_SKIP 9*8
-.macro RESTORE_ARGS 
skiprax=0,addskip=0,skiprcx=0,skipr11=0,skipr8910=0,skiprdx=0
-       .if \skipr11
-       .else
+.macro RESTORE_ALL
        movq (%rsp),%r11
-#      CFI_RESTORE r11
-       .endif
-       .if \skipr8910
-       .else
        movq 1*8(%rsp),%r10
-#      CFI_RESTORE r10
        movq 2*8(%rsp),%r9
-#      CFI_RESTORE r9
        movq 3*8(%rsp),%r8
-#      CFI_RESTORE r8
-       .endif
-       .if \skiprax
-       .else
        movq 4*8(%rsp),%rax
-#      CFI_RESTORE rax
-       .endif
-       .if \skiprcx
-       .else
        movq 5*8(%rsp),%rcx
-#      CFI_RESTORE rcx
-       .endif
-       .if \skiprdx
-       .else
        movq 6*8(%rsp),%rdx
-#      CFI_RESTORE rdx
-       .endif
        movq 7*8(%rsp),%rsi
-#      CFI_RESTORE rsi
        movq 8*8(%rsp),%rdi
-#      CFI_RESTORE rdi
-       .if ARG_SKIP+\addskip > 0
-       addq $ARG_SKIP+\addskip,%rsp
-#      CFI_ADJUST_CFA_OFFSET   -(ARG_SKIP+\addskip)
-       .endif
+       addq $9*8+8,%rsp
 .endm  
 
 
 .macro HYPERVISOR_IRET flag
-#    testb $3,1*8(%rsp)    /* Don't need to do that in Mini-os, as */
-#      jnz   2f               /* there is no userspace? */
        testl $NMI_MASK,2*8(%rsp)
        jnz   2f
 
@@ -150,44 +83,25 @@ 2: /* Slow iret via hypervisor. */
  * and the exception handler in %rax.  
  */                                            
 ENTRY(error_entry)
-#      _frame RDI
        /* rdi slot contains rax, oldrax contains error code */
        cld     
        subq  $14*8,%rsp
-#      CFI_ADJUST_CFA_OFFSET   (14*8)
        movq %rsi,13*8(%rsp)
-#      CFI_REL_OFFSET  rsi,RSI
        movq 14*8(%rsp),%rsi    /* load rax from rdi slot */
        movq %rdx,12*8(%rsp)
-#      CFI_REL_OFFSET  rdx,RDX
        movq %rcx,11*8(%rsp)
-#      CFI_REL_OFFSET  rcx,RCX
        movq %rsi,10*8(%rsp)    /* store rax */ 
-#      CFI_REL_OFFSET  rax,RAX
        movq %r8, 9*8(%rsp)
-#      CFI_REL_OFFSET  r8,R8
        movq %r9, 8*8(%rsp)
-#      CFI_REL_OFFSET  r9,R9
        movq %r10,7*8(%rsp)
-#      CFI_REL_OFFSET  r10,R10
        movq %r11,6*8(%rsp)
-#      CFI_REL_OFFSET  r11,R11
        movq %rbx,5*8(%rsp) 
-#      CFI_REL_OFFSET  rbx,RBX
        movq %rbp,4*8(%rsp) 
-#      CFI_REL_OFFSET  rbp,RBP
        movq %r12,3*8(%rsp) 
-#      CFI_REL_OFFSET  r12,R12
        movq %r13,2*8(%rsp) 
-#      CFI_REL_OFFSET  r13,R13
        movq %r14,1*8(%rsp) 
-#      CFI_REL_OFFSET  r14,R14
        movq %r15,(%rsp) 
-#      CFI_REL_OFFSET  r15,R15
-#if 0        
-       cmpl $__KERNEL_CS,CS(%rsp)
-       je  error_kernelspace
-#endif        
+
 error_call_handler:
        movq %rdi, RDI(%rsp)            
        movq %rsp,%rdi
@@ -197,29 +111,22 @@ error_call_handler:
        jmp error_exit
 
 .macro zeroentry sym
-#      INTR_FRAME
     movq (%rsp),%rcx
     movq 8(%rsp),%r11
     addq $0x10,%rsp /* skip rcx and r11 */
        pushq $0        /* push error code/oldrax */ 
-#      CFI_ADJUST_CFA_OFFSET 8
        pushq %rax      /* push real oldrax to the rdi slot */ 
-#      CFI_ADJUST_CFA_OFFSET 8
        leaq  \sym(%rip),%rax
        jmp error_entry
-#      CFI_ENDPROC
 .endm  
 
 .macro errorentry sym
-#      XCPT_FRAME
         movq (%rsp),%rcx
         movq 8(%rsp),%r11
         addq $0x10,%rsp /* rsp points to the error code */
        pushq %rax
-#      CFI_ADJUST_CFA_OFFSET 8
        leaq  \sym(%rip),%rax
        jmp error_entry
-#      CFI_ENDPROC
 .endm
 
 #define XEN_GET_VCPU_INFO(reg) movq HYPERVISOR_shared_info,reg
@@ -253,7 +160,6 @@ 11:     movq %gs:8,%rax
         decl %gs:0
         jmp error_exit
 
-#        ALIGN
 restore_all_enable_events:  
        XEN_UNBLOCK_EVENTS(%rsi)        # %rsi is already set up...
 
@@ -261,12 +167,18 @@ scrit:    /**** START OF CRITICAL REGION **
        XEN_TEST_PENDING(%rsi)
        jnz  14f                        # process more events if necessary...
        XEN_PUT_VCPU_INFO(%rsi)
-        RESTORE_ARGS 0,8,0
+        RESTORE_ALL
         HYPERVISOR_IRET 0
         
 14:    XEN_LOCKED_BLOCK_EVENTS(%rsi)
        XEN_PUT_VCPU_INFO(%rsi)
-       SAVE_REST
+       subq $6*8,%rsp
+       movq %rbx,5*8(%rsp) 
+       movq %rbp,4*8(%rsp) 
+       movq %r12,3*8(%rsp) 
+       movq %r13,2*8(%rsp) 
+       movq %r14,1*8(%rsp) 
+       movq %r15,(%rsp) 
         movq %rsp,%rdi                  # set the argument again
        jmp  11b
 ecrit:  /**** END OF CRITICAL REGION ****/
@@ -274,7 +186,7 @@ ecrit:  /**** END OF CRITICAL REGION ***
 
 retint_kernel:
 retint_restore_args:
-       movl EFLAGS-REST_SKIP(%rsp), %eax
+       movl EFLAGS-6*8(%rsp), %eax
        shr $9, %eax                    # EAX[0] == IRET_EFLAGS.IF
        XEN_GET_VCPU_INFO(%rsi)
        andb evtchn_upcall_mask(%rsi),%al
@@ -282,13 +194,18 @@ retint_restore_args:
        jnz restore_all_enable_events   #        != 0 => enable event delivery
        XEN_PUT_VCPU_INFO(%rsi)
                
-       RESTORE_ARGS 0,8,0
+       RESTORE_ALL
        HYPERVISOR_IRET 0
 
 
 error_exit:            
-       RESTORE_REST
-/*     cli */
+       movq (%rsp),%r15
+       movq 1*8(%rsp),%r14
+       movq 2*8(%rsp),%r13
+       movq 3*8(%rsp),%r12
+       movq 4*8(%rsp),%rbp
+       movq 5*8(%rsp),%rbx
+       addq $6*8,%rsp
        XEN_BLOCK_EVENTS(%rsi)          
        jmp retint_kernel
 
@@ -313,17 +230,11 @@ ENTRY(device_not_available)
 
 
 ENTRY(debug)
-#       INTR_FRAME
-#       CFI_ADJUST_CFA_OFFSET 8 */
         zeroentry do_debug
-#       CFI_ENDPROC
 
 
 ENTRY(int3)
-#       INTR_FRAME
-#       CFI_ADJUST_CFA_OFFSET 8 */
         zeroentry do_int3
-#       CFI_ENDPROC
 
 ENTRY(overflow)
         zeroentry do_overflow
@@ -351,9 +262,7 @@ ENTRY(segment_not_present)
 
 /* runs on exception stack */
 ENTRY(stack_segment)
-#       XCPT_FRAME
         errorentry do_stack_segment
-#       CFI_ENDPROC
                     
 
 ENTRY(general_protection)

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-3.4-testing] minios: Clean up and remove Linux remnants from x86_64.S, Xen patchbot-3.4-testing <=