Home Home > GIT Browse > vanilla
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
commit331847bbff5130819785020ff3818fd5c153efcf (patch)
treea9e636794e35c368e004c90d155c8261fb688f1b
parenta664f8e985d3e72bf57ebe38cf02af929155ee5f (diff)
Delete patches.fixes/s390-setup-fix-early-warning-messages (bsc#1140948).rpm-4.12.14-102
-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 8c479e09cc..7f69b04f5b 100644
--- a/series.conf
+++ b/series.conf
@@ -45506,7 +45506,6 @@
patches.arch/s390-pci-improve-bar-check
patches.arch/s390-pci-map-iov-resources
patches.arch/s390-jump_label-Use-jdd-constraint-on-gcc9.patch
- patches.fixes/s390-setup-fix-early-warning-messages
patches.arch/s390-ism-ignore-some-errors-during-deregistration
patches.fixes/0001-s390-vfio_ap-link-the-vfio_ap-devices-to-the-vfio_ap.patch
patches.drivers/clocksource-drivers-sun5i-Fail-gracefully-when-clock.patch