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

>
>> --- a/xen/include/xen/init.h
>> +++ b/xen/include/xen/init.h
>> @@ -86,10 +86,11 @@ struct kernel_param {
>>      void *var;
>>  };
>>  
>> -extern struct kernel_param __setup_start, __setup_end;
>> +extern struct kernel_param __setup_start[], __setup_end[];
> I thought your respective remark in the commit message would
> also implied making these const now that they are.

Will do.

~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®.