[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Re: [Xen-users] gcc 4.0.0 and xen-devel
> 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. ===== xen/arch/x86/x86_32/entry.S 1.112 vs edited ===== --- 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 +FLT13: mov UREGS_ss+4(%esp),%gs 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 @@ # GS:ESI == Ring-1 stack activation movl UREGS_esp(%esp),%esi -VFLT1: movl UREGS_ss(%esp),%gs +VFLT1: mov UREGS_ss(%esp),%gs # ES:EDI == Ring-0 stack activation leal UREGS_eip(%esp),%edi ===== xen/include/asm-x86/x86_32/asm_defns.h 1.10 vs edited ===== --- 1.10/xen/include/asm-x86/x86_32/asm_defns.h 2005-04-28 17:35:48 -04:00 +++ 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:" #define SAVE_ALL_NOSEGREGS(_reg) \ @@ -31,8 +31,8 @@ #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;" #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: #define SAVE_ALL_NOSEGREGS(_reg) \ @@ -68,8 +68,8 @@ #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; #define SAVE_ALL(_reg) \ __SAVE_ALL_PRE \ -- Flávio Bruno Leitner <fbl@xxxxxxxxxxxxxxxx> [0EA2 7F40 4CF4 1E63 4AF6 33C0 3E10 E205 F251 EDDA] _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |