From mboxrd@z Thu Jan 1 00:00:00 1970 From: Flavio Leitner Subject: Re: [Xen-devel] Re: gcc 4.0.0 and xen-devel Date: Thu, 9 Jun 2005 14:45:11 -0300 Message-ID: <20050609174511.GG3661@conectiva.com.br> References: <20050607200837.GH3554@conectiva.com.br> <1118236855.3649.3.camel@thinkpad.austin.ibm.com> <1118246541.3653.20.camel@thinkpad.austin.ibm.com> <20050609131336.GB3661@conectiva.com.br> <20050609135506.GC3661@conectiva.com.br> <20050609165415.GA31157@snarc.org> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Return-path: Content-Disposition: inline In-Reply-To: <20050609165415.GA31157@snarc.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-users-bounces@lists.xensource.com Errors-To: xen-users-bounces@lists.xensource.com To: Vincent Hanquez Cc: David F Barrera , xen-devel@lists.xensource.com, xen-users@lists.xensource.com List-Id: xen-devel@lists.xenproject.org > and as far as I remember they remove support for "movl %ds, ...". > now is must use: "mov %ds, ..." Yes, I found this on google. http://www.kernel.org/pub/linux/devel/binutils/release.binutils-2.16.90.0= .2 > does the following patch fix your problems ? Part of it because there are more places. Thanks! Well, now it breaks because of warnings. =3D=3D=3D=3D=3D xen/arch/x86/x86_32/entry.S 1.112 vs edited =3D=3D=3D=3D=3D --- 1.112/xen/arch/x86/x86_32/entry.S 2005-06-02 17:05:31 -04:00 +++ edited/xen/arch/x86/x86_32/entry.S 2005-06-09 10:32:50 -04:00 @@ -176,10 +176,10 @@ restore_all_guest: testl $X86_EFLAGS_VM,UREGS_eflags(%esp) jnz restore_all_vm86 -FLT1: movl UREGS_ds(%esp),%ds -FLT2: movl UREGS_es(%esp),%es -FLT3: movl UREGS_fs(%esp),%fs -FLT4: movl UREGS_gs(%esp),%gs +FLT1: mov UREGS_ds(%esp),%ds +FLT2: mov UREGS_es(%esp),%es +FLT3: mov UREGS_fs(%esp),%fs +FLT4: mov UREGS_gs(%esp),%gs restore_all_vm86: popl %ebx popl %ecx @@ -306,7 +306,7 @@ testl $(2|X86_EFLAGS_VM),%ecx jz ring1 /* jump if returning to an existing ring-1 activation= */ movl VCPU_kernel_sp(%ebx),%esi -FLT6: movl VCPU_kernel_ss(%ebx),%gs +FLT6: mov VCPU_kernel_ss(%ebx),%gs testl $X86_EFLAGS_VM,UREGS_eflags+4(%esp) jz nvm86_1 subl $16,%esi /* push ES/DS/FS/GS (VM86 stack frame) */ @@ -326,7 +326,7 @@ jmp 1f ring1: /* obtain ss/esp from oldss/oldesp -- a ring-1 activation exists= */ movl UREGS_esp+4(%esp),%esi -FLT13: movl UREGS_ss+4(%esp),%gs=20 +FLT13: mov UREGS_ss+4(%esp),%gs=20 1: /* Construct a stack frame: EFLAGS, CS/EIP */ movb TRAPBOUNCE_flags(%edx),%cl subl $12,%esi @@ -383,7 +383,7 @@ nvm86_3:/* Rewrite our stack frame and return to ring 1. */ /* IA32 Ref. Vol. 3: TF, VM, RF and NT flags are cleared on trap= . */ andl $0xfffcbeff,UREGS_eflags+4(%esp) - movl %gs,UREGS_ss+4(%esp) + mov %gs,UREGS_ss+4(%esp) movl %esi,UREGS_esp+4(%esp) movzwl TRAPBOUNCE_cs(%edx),%eax movl %eax,UREGS_cs+4(%esp) @@ -670,7 +670,7 @@ =20 # GS:ESI =3D=3D Ring-1 stack activation movl UREGS_esp(%esp),%esi -VFLT1: movl UREGS_ss(%esp),%gs +VFLT1: mov UREGS_ss(%esp),%gs =20 # ES:EDI =3D=3D Ring-0 stack activation leal UREGS_eip(%esp),%edi =3D=3D=3D=3D=3D xen/include/asm-x86/x86_32/asm_defns.h 1.10 vs edited =3D= =3D=3D=3D=3D --- 1.10/xen/include/asm-x86/x86_32/asm_defns.h 2005-04-28 17:35:48 -04:0= 0 +++ edited/xen/include/asm-x86/x86_32/asm_defns.h 2005-06-09 10:30:45 -04= :00 @@ -19,10 +19,10 @@ "jmp 3f;" = \ "2:testb $3,"STR(UREGS_cs)"(%esp);" = \ "jz 1f;" = \ - "movl %ds,"STR(UREGS_ds)"(%esp);" = \ - "movl %es,"STR(UREGS_es)"(%esp);" = \ - "movl %fs,"STR(UREGS_fs)"(%esp);" = \ - "movl %gs,"STR(UREGS_gs)"(%esp);" = \ + "mov %ds,"STR(UREGS_ds)"(%esp);" \ + "mov %es,"STR(UREGS_es)"(%esp);" \ + "mov %fs,"STR(UREGS_fs)"(%esp);" \ + "mov %gs,"STR(UREGS_gs)"(%esp);" \ "3:" =20 #define SAVE_ALL_NOSEGREGS(_reg) \ @@ -31,8 +31,8 @@ =20 #define SET_XEN_SEGMENTS(_reg) \ "movl $("STR(__HYPERVISOR_DS)"),%e"STR(_reg)"x;" \ - "movl %e"STR(_reg)"x,%ds;" \ - "movl %e"STR(_reg)"x,%es;" + "mov %e"STR(_reg)"x,%ds;" \ + "mov %e"STR(_reg)"x,%es;" =20 #define SAVE_ALL(_reg) \ __SAVE_ALL_PRE \ @@ -56,10 +56,10 @@ jmp 3f; \ 2:testb $3,UREGS_cs(%esp); \ jz 1f; \ - movl %ds,UREGS_ds(%esp); \ - movl %es,UREGS_es(%esp); \ - movl %fs,UREGS_fs(%esp); \ - movl %gs,UREGS_gs(%esp); \ + mov %ds,UREGS_ds(%esp); \ + mov %es,UREGS_es(%esp); \ + mov %fs,UREGS_fs(%esp); \ + mov %gs,UREGS_gs(%esp); \ 3: =20 #define SAVE_ALL_NOSEGREGS(_reg) \ @@ -68,8 +68,8 @@ =20 #define SET_XEN_SEGMENTS(_reg) \ movl $(__HYPERVISOR_DS),%e ## _reg ## x; \ - movl %e ## _reg ## x,%ds; \ - movl %e ## _reg ## x,%es; + mov %e ## _reg ## x,%ds; \ + mov %e ## _reg ## x,%es; =20 #define SAVE_ALL(_reg) \ __SAVE_ALL_PRE \ --=20 Fl=E1vio Bruno Leitner [0EA2 7F40 4CF4 1E63 4AF6 33C0 3E10 E205 F251 EDDA]