Re: [patch 3/3] efi eliminate bad section references

From: Randy.Dunlap
Date: Mon Apr 04 2005 - 17:08:06 EST


(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@xxxxxxxx>

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@xxxxxxxxxxxxxx>


--- 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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/