|
[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 |