linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch 3/3] efi eliminate bad section references
@ 2005-04-04 18:11 maximilian attems
  2005-04-04 21:45 ` Randy.Dunlap
  0 siblings, 1 reply; 2+ messages in thread
From: maximilian attems @ 2005-04-04 18:11 UTC (permalink / raw)
  To: lkml; +Cc: Randy.Dunlap, akpm

Randy please double check especially this one.
there may be a better solution.

Fix efi section references:
 remove __initdata for struct efi efi_phys 
 and struct efi_memory_map memmap

Error: ./arch/i386/kernel/efi.o .text refers to 000000d3 R_386_32
.init.data
Error: ./arch/i386/kernel/efi.o .text refers to 000000ff R_386_32
.init.data

efi_memmap_walk (which is not __init nor static) 
accesses both efi_phys and memmap.

Signed-off-by: maximilian attems <janitor@sternwelten.at>


--- linux-2.6.12-rc1-bk5/arch/i386/kernel/efi.c.orig	2005-04-04 19:41:13.109877906 +0200
+++ linux-2.6.12-rc1-bk5/arch/i386/kernel/efi.c	2005-04-04 19:34:23.886343763 +0200
@@ -46,8 +46,8 @@
 
 struct efi efi;
 EXPORT_SYMBOL(efi);
-static struct efi efi_phys __initdata;
-struct efi_memory_map memmap __initdata;
+static struct efi efi_phys;
+struct efi_memory_map memmap;
 
 /*
  * We require an early boot_ioremap mapping mechanism initially

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [patch 3/3] efi eliminate bad section references
  2005-04-04 18:11 [patch 3/3] efi eliminate bad section references maximilian attems
@ 2005-04-04 21:45 ` Randy.Dunlap
  0 siblings, 0 replies; 2+ messages in thread
From: Randy.Dunlap @ 2005-04-04 21:45 UTC (permalink / raw)
  To: maximilian attems; +Cc: lkml, akpm, matt_domsch

(adding Matt Domsch to cc:)

maximilian attems wrote:
> Randy please double check especially this one.
> there may be a better solution.
> 
> Fix efi section references:
>  remove __initdata for struct efi efi_phys 
>  and struct efi_memory_map memmap

'memmap' can be used after init, so remove __initdata from it
certainly looks correct to me.

Regarding efi_phys:
'efi_get_time' can be called after init (that "inline ... _init"
on it is confusing to me), and it calls phys_efi_get_time(),
which uses 'efi_phys', so efi_phys should not be marked
as __initdata.

OTOH, phys_efi_set_virtual_address_map() can be marked as __init.
You could add that as an efficiency measure.

so
Acked-by: Randy Dunlap <rddunlap@osdl.org>

> Error: ./arch/i386/kernel/efi.o .text refers to 000000d3 R_386_32
> .init.data
> Error: ./arch/i386/kernel/efi.o .text refers to 000000ff R_386_32
> .init.data
> 
> efi_memmap_walk (which is not __init nor static) 
> accesses both efi_phys and memmap.
> 
> Signed-off-by: maximilian attems <janitor@sternwelten.at>
> 
> 
> --- linux-2.6.12-rc1-bk5/arch/i386/kernel/efi.c.orig	2005-04-04 19:41:13.109877906 +0200
> +++ linux-2.6.12-rc1-bk5/arch/i386/kernel/efi.c	2005-04-04 19:34:23.886343763 +0200
> @@ -46,8 +46,8 @@
>  
>  struct efi efi;
>  EXPORT_SYMBOL(efi);
> -static struct efi efi_phys __initdata;
> -struct efi_memory_map memmap __initdata;
> +static struct efi efi_phys;
> +struct efi_memory_map memmap;
>  
>  /*
>   * We require an early boot_ioremap mapping mechanism initially


-- 
~Randy

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2005-04-04 21:53 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-04-04 18:11 [patch 3/3] efi eliminate bad section references maximilian attems
2005-04-04 21:45 ` Randy.Dunlap

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).