Home Home > GIT Browse > SLE12-SP5-AZURE
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Tesarik <ptesarik@suse.cz>2019-07-11 13:24:28 +0200
committerPetr Tesarik <ptesarik@suse.cz>2019-07-11 13:24:28 +0200
commitbf2abc2053519c1ab5694a41f865e9bc71ddbf99 (patch)
tree35973355b0d622490828cf090df799ce5ab4dc7f
parentf5294bb3a205d978cd7a765b8d7de231e8de57aa (diff)
Delete patches.fixes/s390-setup-fix-early-warning-messages (bsc#1140948).rpm-4.12.14-150.27--sle15-updatesrpm-4.12.14-150.27
-rw-r--r--patches.fixes/s390-setup-fix-early-warning-messages104
-rw-r--r--series.conf1
2 files changed, 0 insertions, 105 deletions
diff --git a/patches.fixes/s390-setup-fix-early-warning-messages b/patches.fixes/s390-setup-fix-early-warning-messages
deleted file mode 100644
index c75b1b3bb9..0000000000
--- a/patches.fixes/s390-setup-fix-early-warning-messages
+++ /dev/null
@@ -1,104 +0,0 @@
-From: Martin Schwidefsky <schwidefsky@de.ibm.com>
-Date: Thu, 14 Feb 2019 15:40:56 +0100
-Subject: s390/setup: fix early warning messages
-Git-commit: 8727638426b0aea59d7f904ad8ddf483f9234f88
-Patch-mainline: v5.1-rc1
-References: bsc#1051510
-
-The setup_lowcore() function creates a new prefix page for the boot CPU.
-The PSW mask for the system_call, external interrupt, i/o interrupt and
-the program check handler have the DAT bit set in this new prefix page.
-
-At the time setup_lowcore is called the system still runs without virtual
-address translation, the paging_init() function creates the kernel page
-table and loads the CR13 with the kernel ASCE.
-
-Any code between setup_lowcore() and the end of paging_init() that has
-a BUG or WARN statement will create a program check that can not be
-handled correctly as there is no kernel page table yet.
-
-To allow early WARN statements initially setup the lowcore with DAT off
-and set the DAT bit only after paging_init() has completed.
-
-Cc: stable@vger.kernel.org
-Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
-Acked-by: Petr Tesarik <ptesarik@suse.com>
----
- arch/s390/kernel/setup.c | 32 +++++++++++++++++++++++---------
- 1 file changed, 23 insertions(+), 9 deletions(-)
-
---- a/arch/s390/kernel/setup.c
-+++ b/arch/s390/kernel/setup.c
-@@ -300,7 +300,7 @@ early_param("vmalloc", parse_vmalloc);
-
- void *restart_stack __section(.data);
-
--static void __init setup_lowcore(void)
-+static void __init setup_lowcore_dat_off(void)
- {
- struct lowcore *lc;
-
-@@ -311,19 +311,16 @@ static void __init setup_lowcore(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_DAT | PSW_MASK_MCHECK;
-+ lc->external_new_psw.mask = PSW_KERNEL_BITS | PSW_MASK_MCHECK;
- lc->external_new_psw.addr = (unsigned long) ext_int_handler;
- lc->svc_new_psw.mask = PSW_KERNEL_BITS |
-- PSW_MASK_DAT | PSW_MASK_IO | PSW_MASK_EXT | PSW_MASK_MCHECK;
-+ 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_DAT | PSW_MASK_MCHECK;
-+ lc->program_new_psw.mask = PSW_KERNEL_BITS | 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_DAT | PSW_MASK_MCHECK;
-+ lc->io_new_psw.mask = PSW_KERNEL_BITS | 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)
-@@ -391,6 +388,17 @@ static void __init setup_lowcore(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,
-@@ -945,7 +953,7 @@ void __init setup_arch(char **cmdline_p)
- #endif
-
- setup_resources();
-- setup_lowcore();
-+ setup_lowcore_dat_off();
- smp_fill_possible_mask();
- cpu_detect_mhz_feature();
- cpu_init();
-@@ -958,6 +966,12 @@ 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();
diff --git a/series.conf b/series.conf
index 045c01beb3..859b5f4a1f 100644
--- a/series.conf
+++ b/series.conf
@@ -21503,7 +21503,6 @@
patches.fixes/crypto-cavium-zip-fix-collision-with-generic-cra_dri.patch
patches.fixes/crypto-crypto4xx-add-missing-of_node_put-after-of_de.patch
patches.arch/s390-jump_label-Use-jdd-constraint-on-gcc9.patch
- patches.fixes/s390-setup-fix-early-warning-messages
patches.drivers/clocksource-drivers-sun5i-Fail-gracefully-when-clock.patch
patches.drivers/clocksource-drivers-exynos_mct-Move-one-shot-check-f.patch
patches.drivers/clocksource-drivers-exynos_mct-Clear-timer-interrupt.patch