Commit a614f52e authored by Benjamin Herrenschmidt's avatar Benjamin Herrenschmidt Committed by Michael Ellerman

powerpc/prom_init: Move ibm_arch_vec to __prombss

Make the existing initialized definition constant and copy
it to a __prombss copy
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent c886087c
...@@ -788,7 +788,7 @@ struct ibm_arch_vec { ...@@ -788,7 +788,7 @@ struct ibm_arch_vec {
struct option_vector6 vec6; struct option_vector6 vec6;
} __packed; } __packed;
struct ibm_arch_vec __cacheline_aligned ibm_architecture_vec = { static const struct ibm_arch_vec ibm_architecture_vec_template = {
.pvrs = { .pvrs = {
{ {
.mask = cpu_to_be32(0xfffe0000), /* POWER5/POWER5+ */ .mask = cpu_to_be32(0xfffe0000), /* POWER5/POWER5+ */
...@@ -926,6 +926,8 @@ struct ibm_arch_vec __cacheline_aligned ibm_architecture_vec = { ...@@ -926,6 +926,8 @@ struct ibm_arch_vec __cacheline_aligned ibm_architecture_vec = {
}, },
}; };
static struct ibm_arch_vec __prombss ibm_architecture_vec ____cacheline_aligned;
/* Old method - ELF header with PT_NOTE sections only works on BE */ /* Old method - ELF header with PT_NOTE sections only works on BE */
#ifdef __BIG_ENDIAN__ #ifdef __BIG_ENDIAN__
static const struct fake_elf { static const struct fake_elf {
...@@ -1135,6 +1137,10 @@ static void __init prom_check_platform_support(void) ...@@ -1135,6 +1137,10 @@ static void __init prom_check_platform_support(void)
}; };
int prop_len = prom_getproplen(prom.chosen, int prop_len = prom_getproplen(prom.chosen,
"ibm,arch-vec-5-platform-support"); "ibm,arch-vec-5-platform-support");
/* First copy the architecture vec template */
ibm_architecture_vec = ibm_architecture_vec_template;
if (prop_len > 1) { if (prop_len > 1) {
int i; int i;
u8 vec[8]; u8 vec[8];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment