Commit beb8cee0 authored by Heiko Carstens's avatar Heiko Carstens Committed by Vasily Gorbik

s390/alternatives: Remove alternative facility list

The alternative and the normal facility list are always identical. Remove
the alternative facility list, which allows to simplify the alternatives
code.
Acked-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
Tested-by: default avatarSven Schnelle <svens@linux.ibm.com>
Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
parent 47837a5c
...@@ -31,16 +31,15 @@ ...@@ -31,16 +31,15 @@
#define ALT_CTX_LATE 2 #define ALT_CTX_LATE 2
#define ALT_CTX_ALL (ALT_CTX_EARLY | ALT_CTX_LATE) #define ALT_CTX_ALL (ALT_CTX_EARLY | ALT_CTX_LATE)
#define ALT_TYPE_FACILITY_EARLY 0 #define ALT_TYPE_FACILITY 0
#define ALT_TYPE_FACILITY 1 #define ALT_TYPE_SPEC 1
#define ALT_TYPE_SPEC 2
#define ALT_DATA_SHIFT 0 #define ALT_DATA_SHIFT 0
#define ALT_TYPE_SHIFT 20 #define ALT_TYPE_SHIFT 20
#define ALT_CTX_SHIFT 28 #define ALT_CTX_SHIFT 28
#define ALT_FACILITY_EARLY(facility) (ALT_CTX_EARLY << ALT_CTX_SHIFT | \ #define ALT_FACILITY_EARLY(facility) (ALT_CTX_EARLY << ALT_CTX_SHIFT | \
ALT_TYPE_FACILITY_EARLY << ALT_TYPE_SHIFT | \ ALT_TYPE_FACILITY << ALT_TYPE_SHIFT | \
(facility) << ALT_DATA_SHIFT) (facility) << ALT_DATA_SHIFT)
#define ALT_FACILITY(facility) (ALT_CTX_LATE << ALT_CTX_SHIFT | \ #define ALT_FACILITY(facility) (ALT_CTX_LATE << ALT_CTX_SHIFT | \
......
...@@ -20,7 +20,6 @@ ...@@ -20,7 +20,6 @@
#define MAX_FACILITY_BIT (sizeof(stfle_fac_list) * 8) #define MAX_FACILITY_BIT (sizeof(stfle_fac_list) * 8)
extern u64 stfle_fac_list[16]; extern u64 stfle_fac_list[16];
extern u64 alt_stfle_fac_list[16];
static inline void __set_facility(unsigned long nr, void *facilities) static inline void __set_facility(unsigned long nr, void *facilities)
{ {
......
...@@ -19,14 +19,9 @@ void __apply_alternatives(struct alt_instr *start, struct alt_instr *end, unsign ...@@ -19,14 +19,9 @@ void __apply_alternatives(struct alt_instr *start, struct alt_instr *end, unsign
if (!(a->ctx & ctx)) if (!(a->ctx & ctx))
continue; continue;
switch (a->type) { switch (a->type) {
case ALT_TYPE_FACILITY_EARLY:
replace = test_facility(a->data);
break;
#ifndef __DECOMPRESSOR
case ALT_TYPE_FACILITY: case ALT_TYPE_FACILITY:
replace = __test_facility(a->data, alt_stfle_fac_list); replace = test_facility(a->data);
break; break;
#endif
case ALT_TYPE_SPEC: case ALT_TYPE_SPEC:
replace = nobp_enabled(); replace = nobp_enabled();
break; break;
......
...@@ -190,11 +190,6 @@ static noinline __init void setup_lowcore_early(void) ...@@ -190,11 +190,6 @@ static noinline __init void setup_lowcore_early(void)
get_lowcore()->preempt_count = INIT_PREEMPT_COUNT; get_lowcore()->preempt_count = INIT_PREEMPT_COUNT;
} }
static noinline __init void setup_facility_list(void)
{
memcpy(alt_stfle_fac_list, stfle_fac_list, sizeof(alt_stfle_fac_list));
}
static __init void detect_diag9c(void) static __init void detect_diag9c(void)
{ {
unsigned int cpu_address; unsigned int cpu_address;
...@@ -289,7 +284,6 @@ void __init startup_init(void) ...@@ -289,7 +284,6 @@ void __init startup_init(void)
lockdep_off(); lockdep_off();
sort_amode31_extable(); sort_amode31_extable();
setup_lowcore_early(); setup_lowcore_early();
setup_facility_list();
detect_machine_type(); detect_machine_type();
setup_arch_string(); setup_arch_string();
setup_boot_command_line(); setup_boot_command_line();
......
...@@ -155,7 +155,6 @@ unsigned int __bootdata_preserved(zlib_dfltcc_support); ...@@ -155,7 +155,6 @@ unsigned int __bootdata_preserved(zlib_dfltcc_support);
EXPORT_SYMBOL(zlib_dfltcc_support); EXPORT_SYMBOL(zlib_dfltcc_support);
u64 __bootdata_preserved(stfle_fac_list[16]); u64 __bootdata_preserved(stfle_fac_list[16]);
EXPORT_SYMBOL(stfle_fac_list); EXPORT_SYMBOL(stfle_fac_list);
u64 alt_stfle_fac_list[16];
struct oldmem_data __bootdata_preserved(oldmem_data); struct oldmem_data __bootdata_preserved(oldmem_data);
unsigned long VMALLOC_START; unsigned long VMALLOC_START;
......
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