summaryrefslogtreecommitdiff |
diff options
author | Petr Tesarik <ptesarik@suse.cz> | 2019-07-11 10:00:02 +0200 |
---|---|---|
committer | Johannes Thumshirn <jthumshirn@suse.de> | 2019-07-11 11:14:50 +0200 |
commit | 3e05b1931a659c39a51c82c5ee420240b782b51c (patch) | |
tree | de8cb00f91a01912cd308cea078f487cd0ea77e8 | |
parent | 4a619a38304215060f4322dbbaa085d1dea51118 (diff) |
Delete patches.fixes/s390-setup-fix-early-warning-messages (bsc#1140948).rpm-4.12.14-102--SLE-12-SP5-Server-Beta2rpm-4.12.14-102--SLE-12-SP5-SAP-Beta2rpm-4.12.14-102--SLE-12-SP5-HPC-Beta2rpm-4.12.14-102--SLE-12-SP5-Desktop-Beta2rpm-4.12.14-102
suse-commit: 331847bbff5130819785020ff3818fd5c153efcf
-rw-r--r-- | arch/s390/kernel/setup.c | 32 |
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(); |