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

Re: [Xen-devel] [PATCH 2/3] xen: annotate functions which only call into __init at start of day



>>> On 11.02.11 at 16:23, Ian Campbell <ian.campbell@xxxxxxxxxx> wrote:
> Both xen_hvm_init_shared_info and xen_build_mfn_list_list can be
> called at resume time as well as at start of day but only reference
> __init functions (extend_brk) at start of day. Hence annotate with
> __refdata.

__ref for functions (__refdata for data items).

Jan

>     WARNING: arch/x86/built-in.o(.text+0x4f1): Section mismatch in reference
>         from the function xen_hvm_init_shared_info() to the function
>         .init.text:extend_brk()
>     The function xen_hvm_init_shared_info() references
>     the function __init extend_brk().
>     This is often because xen_hvm_init_shared_info lacks a __init
>     annotation or the annotation of extend_brk is wrong.
> 
> xen_hvm_init_shared_info calls extend_brk() iff !shared_info_page and
> initialises shared_info_page with the result. This happens at start of
> day only.
> 
>     WARNING: arch/x86/built-in.o(.text+0x599b): Section mismatch in reference
>         from the function xen_build_mfn_list_list() to the function
>         .init.text:extend_brk()
>     The function xen_build_mfn_list_list() references
>     the function __init extend_brk().
>     This is often because xen_build_mfn_list_list lacks a __init
>     annotation or the annotation of extend_brk is wrong.
> 
> (this warning occurs multiple times)
> 
> xen_build_mfn_list_list only calls extend_brk() at boot time, while
> building the initial mfn list list
> 
> Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
> ---
>  arch/x86/xen/enlighten.c |    2 +-
>  arch/x86/xen/p2m.c       |    2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> index 50542ef..f4195fa 100644
> --- a/arch/x86/xen/enlighten.c
> +++ b/arch/x86/xen/enlighten.c
> @@ -1292,7 +1292,7 @@ static int init_hvm_pv_info(int *major, int *minor)
>       return 0;
>  }
>  
> -void xen_hvm_init_shared_info(void)
> +void __refdata xen_hvm_init_shared_info(void)
>  {
>       int cpu;
>       struct xen_add_to_physmap xatp;
> diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c
> index fd12d7c..53fe9fc 100644
> --- a/arch/x86/xen/p2m.c
> +++ b/arch/x86/xen/p2m.c
> @@ -136,7 +136,7 @@ static void p2m_init(unsigned long *p2m)
>   * - After resume we're called from within stop_machine, but the mfn
>   *   tree should alreay be completely allocated.
>   */
> -void xen_build_mfn_list_list(void)
> +void __refdata xen_build_mfn_list_list(void)
>  {
>       unsigned long pfn;
>  





_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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