[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] xen/init: Annotate all command line parameter infrastructure as const



On 09/06/16 15:19, Julien Grall wrote:
> Hi Andrew,
>
> On 09/06/16 14:45, Andrew Cooper wrote:
>> On 09/06/16 13:39, Jan Beulich wrote:
>>>>>> On 09.06.16 at 11:58, <andrew.cooper3@xxxxxxxxxx> wrote:
>>>> --- a/xen/arch/arm/xen.lds.S
>>>> +++ b/xen/arch/arm/xen.lds.S
>>>> @@ -135,6 +135,12 @@ SECTIONS
>>>>          *(.init.rodata)
>>>>          *(.init.rodata.rel)
>>>>          *(.init.rodata.str*)
>>>> +
>>>> +       . = ALIGN(POINTER_ALIGN);
>>>> +       __setup_start = .;
>>>> +       *(.init.setup)
>>>> +       __setup_end = .;
>>>> +
>>>>          *(.init.data)
>>>>          *(.init.data.rel)
>>>>          *(.init.data.rel.*)
>>>> @@ -145,11 +151,6 @@ SECTIONS
>>>>          __ctors_end = .;
>>>>     } :text
>>>>     . = ALIGN(32);
>>>> -  .init.setup : {
>>>> -       __setup_start = .;
>>>> -       *(.init.setup)
>>>> -       __setup_end = .;
>>>> -  } :text
>>>>     .init.proc.info : {
>>> Surely that ALIGN() then has no reason to retain the 32 (similar
>>> for x86)?
>>
>> I don't know where this ALIGN() came from, but I am hesitant to remove
>> it until I am sure it is safe to do so.
>>
>> For both x86 and arm, .initcall will take a little more work to
>> disentangle, although I do intend to make it happen.
>>
>> On arm, .init.proc.info is an array of 32byte elements.  Looking at its
>> contents, it should be constant, and probably wants 4 byte alignment as
>> opposed to 32.
>
> proc_info_list contains some pointers, so we want 4-byte for ARM32 and
> 8-byte for ARM64. I would use POINTER_ALIGN here.

I will add a patch to my series making this change.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.