[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 6/6] x86/boot: Ensure the BSS is aligned on an 8 byte boundary
At 18:26 +0100 on 07 Apr (1428431180), Andrew Cooper wrote: > --- a/xen/arch/x86/boot/head.S > +++ b/xen/arch/x86/boot/head.S > @@ -127,7 +127,8 @@ __start: > mov $sym_phys(__bss_end),%ecx > sub %edi,%ecx > xor %eax,%eax > - rep stosb > + shr $2,%ecx > + rep stosl Should this be shr $3 and stosq? You are aligning to 8 bytes in the linker runes. > > /* Interrogate CPU extended features via CPUID. */ > mov $0x80000000,%eax > diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S > index 4699a04..b1926e3 100644 > --- a/xen/arch/x86/xen.lds.S > +++ b/xen/arch/x86/xen.lds.S > @@ -163,6 +163,7 @@ SECTIONS > __init_end = .; > > .bss : { /* BSS */ > + . = ALIGN(8); Here, we're already aligned to STACK_SIZE, which the .bss.stack_aligned just below is relying on. So on the one hand this new alignment comment is sort-of-harmless, but on the other hand it distracts from the larger and more important alignment. Cheers, Tim. > __bss_start = .; > *(.bss.stack_aligned) > . = ALIGN(PAGE_SIZE); > @@ -175,6 +176,7 @@ SECTIONS > *(.bss.percpu.read_mostly) > . = ALIGN(SMP_CACHE_BYTES); > __per_cpu_data_end = .; > + . = ALIGN(8); > __bss_end = .; > } :text > _end = . ; > -- > 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 |