Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Tesarik <ptesarik@suse.cz>2019-07-11 10:00:02 +0200
committerJohannes Thumshirn <jthumshirn@suse.de>2019-07-11 11:14:50 +0200
commit3e05b1931a659c39a51c82c5ee420240b782b51c (patch)
treede8cb00f91a01912cd308cea078f487cd0ea77e8
parent4a619a38304215060f4322dbbaa085d1dea51118 (diff)
Delete patches.fixes/s390-setup-fix-early-warning-messages (bsc#1140948).rpm-4.12.14-102
-rw-r--r--arch/s390/kernel/setup.c32
1 files changed, 9 insertions, 23 deletions
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
index fb2a08f3d76c..cf47d45ff5c2 100644
--- a/arch/s390/kernel/setup.c
+++ b/arch/s390/kernel/setup.c
@@ -302,7 +302,7 @@ early_param("vmalloc", parse_vmalloc);
void *restart_stack __section(.data);
-static void __init setup_lowcore_dat_off(void)
+static void __init setup_lowcore(void)
{
struct lowcore *lc;
@@ -313,16 +313,19 @@ static void __init setup_lowcore_dat_off(void)
lc = memblock_virt_alloc_low(sizeof(*lc), sizeof(*lc));
lc->restart_psw.mask = PSW_KERNEL_BITS;
lc->restart_psw.addr = (unsigned long) restart_int_handler;
- lc->external_new_psw.mask = PSW_KERNEL_BITS | PSW_MASK_MCHECK;
+ lc->external_new_psw.mask = PSW_KERNEL_BITS |
+ PSW_MASK_DAT | PSW_MASK_MCHECK;
lc->external_new_psw.addr = (unsigned long) ext_int_handler;
lc->svc_new_psw.mask = PSW_KERNEL_BITS |
- PSW_MASK_IO | PSW_MASK_EXT | PSW_MASK_MCHECK;
+ PSW_MASK_DAT | PSW_MASK_IO | PSW_MASK_EXT | PSW_MASK_MCHECK;
lc->svc_new_psw.addr = (unsigned long) system_call;
- lc->program_new_psw.mask = PSW_KERNEL_BITS | PSW_MASK_MCHECK;
+ lc->program_new_psw.mask = PSW_KERNEL_BITS |
+ PSW_MASK_DAT | PSW_MASK_MCHECK;
lc->program_new_psw.addr = (unsigned long) pgm_check_handler;
lc->mcck_new_psw.mask = PSW_KERNEL_BITS;
lc->mcck_new_psw.addr = (unsigned long) mcck_int_handler;
- lc->io_new_psw.mask = PSW_KERNEL_BITS | PSW_MASK_MCHECK;
+ lc->io_new_psw.mask = PSW_KERNEL_BITS |
+ PSW_MASK_DAT | PSW_MASK_MCHECK;
lc->io_new_psw.addr = (unsigned long) io_int_handler;
lc->clock_comparator = -1ULL;
lc->kernel_stack = ((unsigned long) &init_thread_union)
@@ -390,17 +393,6 @@ static void __init setup_lowcore_dat_off(void)
lowcore_ptr[0] = lc;
}
-static void __init setup_lowcore_dat_on(void)
-{
- struct lowcore *lc;
-
- lc = lowcore_ptr[0];
- lc->external_new_psw.mask |= PSW_MASK_DAT;
- lc->svc_new_psw.mask |= PSW_MASK_DAT;
- lc->program_new_psw.mask |= PSW_MASK_DAT;
- lc->io_new_psw.mask |= PSW_MASK_DAT;
-}
-
static struct resource code_resource = {
.name = "Kernel code",
.flags = IORESOURCE_BUSY | IORESOURCE_SYSTEM_RAM,
@@ -979,7 +971,7 @@ void __init setup_arch(char **cmdline_p)
#endif
setup_resources();
- setup_lowcore_dat_off();
+ setup_lowcore();
smp_fill_possible_mask();
cpu_detect_mhz_feature();
cpu_init();
@@ -992,12 +984,6 @@ void __init setup_arch(char **cmdline_p)
*/
paging_init();
- /*
- * After paging_init created the kernel page table, the new PSWs
- * in lowcore can now run with DAT enabled.
- */
- setup_lowcore_dat_on();
-
/* Setup default console */
conmode_default();
set_preferred_console();