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: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
committed by
Michael Ellerman
parent
c886087cae
commit
a614f52e75
@@ -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 = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
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)
|
|||||||
};
|
};
|
||||||
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];
|
||||||
|
|||||||
Reference in New Issue
Block a user