[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 06/23] x86/boot: use %ecx instead of %eax
On Mon, Jul 20, 2015 at 04:29:01PM +0200, Daniel Kiper wrote: > Use %ecx instead of %eax to store low memory upper limit from EBDA. > This way we do not wipe multiboot protocol identifier. It is needed > in reloc() to differentiate between multiboot (v1) and > multiboot2 protocol. > > Signed-off-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> > Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> > --- > xen/arch/x86/boot/head.S | 24 ++++++++++++------------ > 1 file changed, 12 insertions(+), 12 deletions(-) > > diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S > index 3cbb2e6..77e7da9 100644 > --- a/xen/arch/x86/boot/head.S > +++ b/xen/arch/x86/boot/head.S > @@ -87,14 +87,14 @@ __start: > jne not_multiboot > > /* Set up trampoline segment 64k below EBDA */ > - movzwl 0x40e,%eax /* EBDA segment */ > - cmp $0xa000,%eax /* sanity check (high) */ > + movzwl 0x40e,%ecx /* EBDA segment */ > + cmp $0xa000,%ecx /* sanity check (high) */ > jae 0f > - cmp $0x4000,%eax /* sanity check (low) */ > + cmp $0x4000,%ecx /* sanity check (low) */ > jae 1f > 0: > - movzwl 0x413,%eax /* use base memory size on failure */ > - shl $10-4,%eax > + movzwl 0x413,%ecx /* use base memory size on failure */ > + shl $10-4,%ecx > 1: > /* > * Compare the value in the BDA with the information from the > @@ -106,21 +106,21 @@ __start: > cmp $0x100,%edx /* is the multiboot value too small? */ > jb 2f /* if so, do not use it */ > shl $10-4,%edx > - cmp %eax,%edx /* compare with BDA value */ > - cmovb %edx,%eax /* and use the smaller */ > + cmp %ecx,%edx /* compare with BDA value */ > + cmovb %edx,%ecx /* and use the smaller */ > > 2: /* Reserve 64kb for the trampoline */ > - sub $0x1000,%eax > + sub $0x1000,%ecx > > /* From arch/x86/smpboot.c: start_eip had better be page-aligned! */ > - xor %al, %al > - shl $4, %eax > - mov %eax,sym_phys(trampoline_phys) > + xor %cl, %cl > + shl $4, %ecx > + mov %ecx,sym_phys(trampoline_phys) > > /* Save the Multiboot info struct (after relocation) for later use. > */ > mov $sym_phys(cpu0_stack)+1024,%esp > push %ebx /* Multiboot information address. */ > - push %eax /* Boot trampoline address. */ > + push %ecx /* Boot trampoline address. */ > call reloc > add $8,%esp /* Remove reloc() args from stack. */ > mov %eax,sym_phys(multiboot_ptr) > -- > 1.7.10.4 > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxx > http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |