[PATCH] luv-image: Move crash kexec post notifiers to cmdline base
by Naresh Bhat
Move crash kexec post notifiers to common commadline base.
Signed-off-by: Naresh Bhat <naresh.bhat(a)linaro.org>
---
meta-luv/recipes-core/images/luv-image.inc | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/meta-luv/recipes-core/images/luv-image.inc b/meta-luv/recipes-core/images/luv-image.inc
index fded316969..cc9d92b828 100644
--- a/meta-luv/recipes-core/images/luv-image.inc
+++ b/meta-luv/recipes-core/images/luv-image.inc
@@ -16,13 +16,11 @@ CMDLINE_USERSPACE = "systemd.log_target=null plymouth.ignore-serial-consoles"
# Kernel commandline for luv live image boot
# Nomodeset will not allow kernel to load video drivers, helps retaining splash screen.
-CMDLINE_BASE = "${CMDLINE_USERSPACE} debug crashkernel=512M,high log_buf_len=1M efi=debug splash nomodeset"
+# Make sure kdump runs before kexec after a crash and not vice-versa
+CMDLINE_BASE = "${CMDLINE_USERSPACE} debug crashkernel=512M,high log_buf_len=1M efi=debug splash nomodeset crash_kexec_post_notifiers"
COMMON_CMDLINE_x86 = " console=ttyS0,115200 console=ttyPCH0,115200"
-# Make sure kdump runs before kexec after a crash and not vice-versa
-COMMON_CMDLINE_x86 += " crash_kexec_post_notifiers"
-
# Unlike the += operand, _append's do not insert a space between the current value
# and the appended string. Thus, we add them.
CMDLINE_append_aarch64 = " acpi=on"
--
2.17.1
2 years, 12 months
[PATCH] aarch64: Enable splash screen and FB support
by Naresh Bhat
The patch will merge the x86 only specific kernel command line
parameters splash, nomodeset and crash kexec post notifiers to
common kernel commandline parameters across all the architecture
for luv live image. The nomodeset will not allow kernel to load
video drivers, helps retaining splash screen. The crash kexec
post notifiers make sure kdump runs before kexec after a crash
and not vice-versa. The patch will also enable the basic
framebuffer configurations required for AARCH64 kernel.
Signed-off-by: Naresh Bhat <naresh.bhat(a)linaro.org>
---
meta-luv/recipes-core/images/luv-image.inc | 11 ++++-------
.../linux/linux-luv/qemuarm64/display.cfg | 5 +++++
meta-luv/recipes-kernel/linux/linux-luv_4.19.bb | 1 +
3 files changed, 10 insertions(+), 7 deletions(-)
create mode 100644 meta-luv/recipes-kernel/linux/linux-luv/qemuarm64/display.cfg
diff --git a/meta-luv/recipes-core/images/luv-image.inc b/meta-luv/recipes-core/images/luv-image.inc
index adf0984180..d673a5d28a 100644
--- a/meta-luv/recipes-core/images/luv-image.inc
+++ b/meta-luv/recipes-core/images/luv-image.inc
@@ -14,15 +14,12 @@ IMAGE_FSTYPES+="hddimg"
# Tell plymouth to ignore serial consoles and limit the amount of systemD logs.
CMDLINE_USERSPACE = "systemd.log_target=null plymouth.ignore-serial-consoles"
-# Kernel commandline for luv live image boot
-CMDLINE_BASE = "${CMDLINE_USERSPACE} debug crashkernel=512M,high log_buf_len=1M efi=debug"
-
-COMMON_CMDLINE_x86 = " console=ttyS0,115200 console=ttyPCH0,115200"
-
-# A splash screen is never seen on ARM. Hence, having the splash parameter only for x86
+# Kernel commandline for luv live image boot
# Nomodeset will not allow kernel to load video drivers, helps retaining splash screen.
# Make sure kdump runs before kexec after a crash and not vice-versa
-COMMON_CMDLINE_x86 += "splash nomodeset crash_kexec_post_notifiers"
+CMDLINE_BASE = "${CMDLINE_USERSPACE} debug crashkernel=512M,high log_buf_len=1M efi=debug splash nomodeset crash_kexec_post_notifiers"
+
+COMMON_CMDLINE_x86 = " console=ttyS0,115200 console=ttyPCH0,115200"
# Unlike the += operand, _append's do not insert a space between the current value
# and the appended string. Thus, we add them.
diff --git a/meta-luv/recipes-kernel/linux/linux-luv/qemuarm64/display.cfg b/meta-luv/recipes-kernel/linux/linux-luv/qemuarm64/display.cfg
new file mode 100644
index 0000000000..a2381f3b87
--- /dev/null
+++ b/meta-luv/recipes-kernel/linux/linux-luv/qemuarm64/display.cfg
@@ -0,0 +1,5 @@
+# Framebuffer and bootup logo options
+CONFIG_FB_EFI=y
+CONFIG_FB_NVIDIA=y
+CONFIG_LOGO=y
+CONFIG_LOGO_LINUX_CLUT224=y
diff --git a/meta-luv/recipes-kernel/linux/linux-luv_4.19.bb b/meta-luv/recipes-kernel/linux/linux-luv_4.19.bb
index b1604ea226..3895abf412 100644
--- a/meta-luv/recipes-kernel/linux/linux-luv_4.19.bb
+++ b/meta-luv/recipes-kernel/linux/linux-luv_4.19.bb
@@ -104,6 +104,7 @@ SRC_URI_append_x86-64 = "${COMMON_CFG_x86} \
SRC_URI_append_aarch64 = " file://qemuarm64/network.cfg \
file://qemuarm64/sbbr.cfg \
file://qemuarm64/64Kpages.cfg \
+ file://qemuarm64/display.cfg \
"
# pstore, highmem and efi configs are common to all the supported architectures
--
2.17.1
2 years, 12 months
[PATCH] plymouth: Do not hardcode number of test-suites
by Megha Dey
The plymouth recipe introduces a placeholder 'LUV_NUM_TEST_SUITES' to
indicate the number of test suites LUV will run for that platform.
The script.script file currently hardcodes the number of test-suites to
6, which is incorrect. Use this placeholder instead.
Signed-off-by: Megha Dey <megha.dey(a)linux.intel.com>
---
...uth-Do-not-hardcode-number-of-test-suites.patch | 31 ++++++++++++++++++++++
.../recipes-core/plymouth/plymouth_0.9.4.bbappend | 1 +
2 files changed, 32 insertions(+)
create mode 100644 meta-luv/recipes-core/plymouth/files/0001-plymouth-Do-not-hardcode-number-of-test-suites.patch
diff --git a/meta-luv/recipes-core/plymouth/files/0001-plymouth-Do-not-hardcode-number-of-test-suites.patch b/meta-luv/recipes-core/plymouth/files/0001-plymouth-Do-not-hardcode-number-of-test-suites.patch
new file mode 100644
index 0000000..9cee52d
--- /dev/null
+++ b/meta-luv/recipes-core/plymouth/files/0001-plymouth-Do-not-hardcode-number-of-test-suites.patch
@@ -0,0 +1,31 @@
+From eadfa486943a2cf10fc27dee27bf1b4b33343fa4 Mon Sep 17 00:00:00 2001
+From: Megha Dey <megha.dey(a)linux.intel.com>
+Date: Mon, 24 Jun 2019 15:46:47 -0700
+Subject: [PATCH] Plymouth: Do not hardcode number of test-suites
+
+The plymouth recipe introduces a placeholder 'LUV_NUM_TEST_SUITES' to
+indicate the number of test suites LUV will run for that platform.
+The script.script file currently hardcodes the number of test-suites to
+6, which is incorrect. Use this placeholder instead.
+
+Signed-off-by: Megha Dey <megha.dey(a)linux.intel.com>
+---
+ themes/script/script.script | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/themes/script/script.script b/themes/script/script.script
+index d15af58..f366e26 100644
+--- a/themes/script/script.script
++++ b/themes/script/script.script
+@@ -144,7 +144,7 @@ Plymouth.SetQuitFunction(quit_callback);
+ message_sprites = [];
+ message_sprite_count = 0;
+ message_sprite_y = progress_bar.y-30;
+-num_test_suites = 6;
++num_test_suites = LUV_NUM_TEST_SUITES;
+ count = 0;
+
+ fun display_message_callback (text)
+--
+2.7.4
+
diff --git a/meta-luv/recipes-core/plymouth/plymouth_0.9.4.bbappend b/meta-luv/recipes-core/plymouth/plymouth_0.9.4.bbappend
index 545a72b..57441ff 100644
--- a/meta-luv/recipes-core/plymouth/plymouth_0.9.4.bbappend
+++ b/meta-luv/recipes-core/plymouth/plymouth_0.9.4.bbappend
@@ -6,6 +6,7 @@ SRC_URI+= "file://0001-plymouth-Add-the-retain-splash-option.patch \
file://0001-plymouth-Change-the-plymouth-defaults.patch \
file://0001-plymouth-modify-the-script-theme.patch \
file://0001-plymouth-Prevent-overwriting-of-messages.patch \
+ file://0001-plymouth-Do-not-hardcode-number-of-test-suites.patch \
${SPLASH_IMAGES}"
SPLASH_IMAGES = "file://luv-splash.png;outsuffix=default"
--
2.7.4
2 years, 12 months
[PATCH] luv: increase the maximum size of the initramfs
by Megha Dey
After updating to the latest poky, the maximum size of the initramfs
should also be increased.
Signed-off-by: Megha Dey <megha.dey(a)linux.intel.com>
---
meta-luv/conf/distro/luv.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-luv/conf/distro/luv.conf b/meta-luv/conf/distro/luv.conf
index ba46399..d2ea856 100644
--- a/meta-luv/conf/distro/luv.conf
+++ b/meta-luv/conf/distro/luv.conf
@@ -17,4 +17,4 @@ VIRTUAL-RUNTIME_init_manager = "systemd"
VIRTUAL-RUNTIME_initscripts = ""
DISTRO_FEATURES_BACKFILL_CONSIDERED += "sysvinit"
-INITRAMFS_MAXSIZE = "265000"
+INITRAMFS_MAXSIZE = "270000"
--
2.7.4
2 years, 12 months
[PATCH 2/2] luv-image:Add splash and nomodeset to cmdline base
by Naresh Bhat
The patch will add splash and nomodeset to commandline base.
Signed-off-by: Naresh Bhat <naresh.bhat(a)linaro.org>
---
meta-luv/recipes-core/images/luv-image.inc | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/meta-luv/recipes-core/images/luv-image.inc b/meta-luv/recipes-core/images/luv-image.inc
index adf0984180..fded316969 100644
--- a/meta-luv/recipes-core/images/luv-image.inc
+++ b/meta-luv/recipes-core/images/luv-image.inc
@@ -15,14 +15,13 @@ IMAGE_FSTYPES+="hddimg"
CMDLINE_USERSPACE = "systemd.log_target=null plymouth.ignore-serial-consoles"
# Kernel commandline for luv live image boot
-CMDLINE_BASE = "${CMDLINE_USERSPACE} debug crashkernel=512M,high log_buf_len=1M efi=debug"
+# Nomodeset will not allow kernel to load video drivers, helps retaining splash screen.
+CMDLINE_BASE = "${CMDLINE_USERSPACE} debug crashkernel=512M,high log_buf_len=1M efi=debug splash nomodeset"
COMMON_CMDLINE_x86 = " console=ttyS0,115200 console=ttyPCH0,115200"
-# A splash screen is never seen on ARM. Hence, having the splash parameter only for x86
-# Nomodeset will not allow kernel to load video drivers, helps retaining splash screen.
# Make sure kdump runs before kexec after a crash and not vice-versa
-COMMON_CMDLINE_x86 += "splash nomodeset crash_kexec_post_notifiers"
+COMMON_CMDLINE_x86 += " crash_kexec_post_notifiers"
# Unlike the += operand, _append's do not insert a space between the current value
# and the appended string. Thus, we add them.
--
2.17.1
2 years, 12 months
[PATCH] linux-luv: Bump kernel to v5.1
by Megha Dey
Update the LINUX_VERSION, SRC_REV and recipe name for Linux v5.1.
Rebase the patches we carry in the linux-luv recipe accordingly.
Also, the patches related to efi:
1. 0001-efi-Make-efi_rts_work-accessible-to-efi-page-fault-h.patch
2. 0001-efi-x86-Handle-page-faults-occurring-while-running-E.patch
have been accepted upstream. Thus, we can remove these patches from
LUV.
Signed-off-by: Megha Dey <megha.dey(a)linux.intel.com>
---
...AHCI-PCI-bar-fix-for-Broadcom-Vulcan-earl.patch | 16 +-
...i_rts_work-accessible-to-efi-page-fault-h.patch | 162 --------------
...dle-page-faults-occurring-while-running-E.patch | 243 ---------------------
meta-luv/recipes-kernel/linux/linux-luv_4.19.bb | 159 --------------
meta-luv/recipes-kernel/linux/linux-luv_5.1.bb | 157 +++++++++++++
5 files changed, 165 insertions(+), 572 deletions(-)
delete mode 100644 meta-luv/recipes-kernel/linux/linux-luv/0001-efi-Make-efi_rts_work-accessible-to-efi-page-fault-h.patch
delete mode 100644 meta-luv/recipes-kernel/linux/linux-luv/0001-efi-x86-Handle-page-faults-occurring-while-running-E.patch
delete mode 100644 meta-luv/recipes-kernel/linux/linux-luv_4.19.bb
create mode 100644 meta-luv/recipes-kernel/linux/linux-luv_5.1.bb
diff --git a/meta-luv/recipes-kernel/linux/linux-luv/0001-PCI-Vulcan-AHCI-PCI-bar-fix-for-Broadcom-Vulcan-earl.patch b/meta-luv/recipes-kernel/linux/linux-luv/0001-PCI-Vulcan-AHCI-PCI-bar-fix-for-Broadcom-Vulcan-earl.patch
index f730b7b..bda042d 100644
--- a/meta-luv/recipes-kernel/linux/linux-luv/0001-PCI-Vulcan-AHCI-PCI-bar-fix-for-Broadcom-Vulcan-earl.patch
+++ b/meta-luv/recipes-kernel/linux/linux-luv/0001-PCI-Vulcan-AHCI-PCI-bar-fix-for-Broadcom-Vulcan-earl.patch
@@ -1,6 +1,6 @@
-From 3e286835347cfbe01fca80496f4c767c2bdc2094 Mon Sep 17 00:00:00 2001
-From: Ashok Kumar Sekar <asekar(a)redhat.com>
-Date: Fri, 23 Sep 2016 04:16:19 -0700
+From b697c76440eaafd420783b05e4e2343737c6be34 Mon Sep 17 00:00:00 2001
+From: Megha Dey <megha.dey(a)linux.intel.com>
+Date: Thu, 20 Jun 2019 11:50:41 -0700
Subject: [PATCH 1/2] PCI: Vulcan: AHCI PCI bar fix for Broadcom Vulcan early
silicon
@@ -16,12 +16,12 @@ Signed-off-by: Jayachandran C <jchandra(a)broadcom.com>
1 file changed, 24 insertions(+)
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
-index 6736836..4565800 100644
+index 0f16acc..b851776 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
-@@ -3958,6 +3958,30 @@ static void quirk_mic_x200_dma_alias(struct pci_dev *pdev)
- DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2264, quirk_mic_x200_dma_alias);
-
+@@ -4025,6 +4025,30 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9084,
+ quirk_bridge_cavm_thrx2_pcie_root);
+
/*
+ * PCI BAR 5 is not setup correctly for the on-board AHCI controller
+ * on Broadcom's Vulcan processor. Added a quirk to fix BAR 5 by
@@ -51,5 +51,5 @@ index 6736836..4565800 100644
* class code. Fix it.
*/
--
-1.8.3.1
+2.7.4
diff --git a/meta-luv/recipes-kernel/linux/linux-luv/0001-efi-Make-efi_rts_work-accessible-to-efi-page-fault-h.patch b/meta-luv/recipes-kernel/linux/linux-luv/0001-efi-Make-efi_rts_work-accessible-to-efi-page-fault-h.patch
deleted file mode 100644
index 920be03..0000000
--- a/meta-luv/recipes-kernel/linux/linux-luv/0001-efi-Make-efi_rts_work-accessible-to-efi-page-fault-h.patch
+++ /dev/null
@@ -1,162 +0,0 @@
-From 9dbbedaa6171247c4c7c40b83f05b200a117c2e0 Mon Sep 17 00:00:00 2001
-From: Sai Praneeth <sai.praneeth.prakhya(a)intel.com>
-Date: Tue, 11 Sep 2018 12:15:21 -0700
-Subject: [PATCH] efi: Make efi_rts_work accessible to efi page fault handler
-
-After the kernel has booted, if any accesses by firmware causes a page
-fault, the efi page fault handler would freeze efi_rts_wq and schedules
-a new process. To do this, the efi page fault handler needs
-efi_rts_work. Hence, make it accessible.
-
-There will be no race conditions in accessing this structure, because
-all the calls to efi runtime services are already serialized.
-
-Tested-by: Bhupesh Sharma <bhsharma(a)redhat.com>
-Suggested-by: Matt Fleming <matt(a)codeblueprint.co.uk>
-Based-on-code-from: Ricardo Neri <ricardo.neri(a)intel.com>
-Signed-off-by: Sai Praneeth Prakhya <sai.praneeth.prakhya(a)intel.com>
-Signed-off-by: Ard Biesheuvel <ard.biesheuvel(a)linaro.org>
----
- drivers/firmware/efi/runtime-wrappers.c | 53 ++++++---------------------------
- include/linux/efi.h | 36 ++++++++++++++++++++++
- 2 files changed, 45 insertions(+), 44 deletions(-)
-
-diff --git a/drivers/firmware/efi/runtime-wrappers.c b/drivers/firmware/efi/runtime-wrappers.c
-index aa66cbf..b18b2d8 100644
---- a/drivers/firmware/efi/runtime-wrappers.c
-+++ b/drivers/firmware/efi/runtime-wrappers.c
-@@ -45,39 +45,7 @@
- #define __efi_call_virt(f, args...) \
- __efi_call_virt_pointer(efi.systab->runtime, f, args)
-
--/* efi_runtime_service() function identifiers */
--enum efi_rts_ids {
-- GET_TIME,
-- SET_TIME,
-- GET_WAKEUP_TIME,
-- SET_WAKEUP_TIME,
-- GET_VARIABLE,
-- GET_NEXT_VARIABLE,
-- SET_VARIABLE,
-- QUERY_VARIABLE_INFO,
-- GET_NEXT_HIGH_MONO_COUNT,
-- UPDATE_CAPSULE,
-- QUERY_CAPSULE_CAPS,
--};
--
--/*
-- * efi_runtime_work: Details of EFI Runtime Service work
-- * @arg<1-5>: EFI Runtime Service function arguments
-- * @status: Status of executing EFI Runtime Service
-- * @efi_rts_id: EFI Runtime Service function identifier
-- * @efi_rts_comp: Struct used for handling completions
-- */
--struct efi_runtime_work {
-- void *arg1;
-- void *arg2;
-- void *arg3;
-- void *arg4;
-- void *arg5;
-- efi_status_t status;
-- struct work_struct work;
-- enum efi_rts_ids efi_rts_id;
-- struct completion efi_rts_comp;
--};
-+struct efi_runtime_work efi_rts_work;
-
- /*
- * efi_queue_work: Queue efi_runtime_service() and wait until it's done
-@@ -91,7 +59,6 @@ struct efi_runtime_work {
- */
- #define efi_queue_work(_rts, _arg1, _arg2, _arg3, _arg4, _arg5) \
- ({ \
-- struct efi_runtime_work efi_rts_work; \
- efi_rts_work.status = EFI_ABORTED; \
- \
- init_completion(&efi_rts_work.efi_rts_comp); \
-@@ -184,18 +151,16 @@ void efi_call_virt_check_flags(unsigned long flags, const char *call)
- */
- static void efi_call_rts(struct work_struct *work)
- {
-- struct efi_runtime_work *efi_rts_work;
- void *arg1, *arg2, *arg3, *arg4, *arg5;
- efi_status_t status = EFI_NOT_FOUND;
-
-- efi_rts_work = container_of(work, struct efi_runtime_work, work);
-- arg1 = efi_rts_work->arg1;
-- arg2 = efi_rts_work->arg2;
-- arg3 = efi_rts_work->arg3;
-- arg4 = efi_rts_work->arg4;
-- arg5 = efi_rts_work->arg5;
-+ arg1 = efi_rts_work.arg1;
-+ arg2 = efi_rts_work.arg2;
-+ arg3 = efi_rts_work.arg3;
-+ arg4 = efi_rts_work.arg4;
-+ arg5 = efi_rts_work.arg5;
-
-- switch (efi_rts_work->efi_rts_id) {
-+ switch (efi_rts_work.efi_rts_id) {
- case GET_TIME:
- status = efi_call_virt(get_time, (efi_time_t *)arg1,
- (efi_time_cap_t *)arg2);
-@@ -253,8 +218,8 @@ static void efi_call_rts(struct work_struct *work)
- */
- pr_err("Requested executing invalid EFI Runtime Service.\n");
- }
-- efi_rts_work->status = status;
-- complete(&efi_rts_work->efi_rts_comp);
-+ efi_rts_work.status = status;
-+ complete(&efi_rts_work.efi_rts_comp);
- }
-
- static efi_status_t virt_efi_get_time(efi_time_t *tm, efi_time_cap_t *tc)
-diff --git a/include/linux/efi.h b/include/linux/efi.h
-index 22e4de9..a929d2b 100644
---- a/include/linux/efi.h
-+++ b/include/linux/efi.h
-@@ -1662,6 +1662,42 @@ struct linux_efi_tpm_eventlog {
-
- extern int efi_tpm_eventlog_init(void);
-
-+/* efi_runtime_service() function identifiers */
-+enum efi_rts_ids {
-+ GET_TIME,
-+ SET_TIME,
-+ GET_WAKEUP_TIME,
-+ SET_WAKEUP_TIME,
-+ GET_VARIABLE,
-+ GET_NEXT_VARIABLE,
-+ SET_VARIABLE,
-+ QUERY_VARIABLE_INFO,
-+ GET_NEXT_HIGH_MONO_COUNT,
-+ UPDATE_CAPSULE,
-+ QUERY_CAPSULE_CAPS,
-+};
-+
-+/*
-+ * efi_runtime_work: Details of EFI Runtime Service work
-+ * @arg<1-5>: EFI Runtime Service function arguments
-+ * @status: Status of executing EFI Runtime Service
-+ * @efi_rts_id: EFI Runtime Service function identifier
-+ * @efi_rts_comp: Struct used for handling completions
-+ */
-+struct efi_runtime_work {
-+ void *arg1;
-+ void *arg2;
-+ void *arg3;
-+ void *arg4;
-+ void *arg5;
-+ efi_status_t status;
-+ struct work_struct work;
-+ enum efi_rts_ids efi_rts_id;
-+ struct completion efi_rts_comp;
-+};
-+
-+extern struct efi_runtime_work efi_rts_work;
-+
- /* Workqueue to queue EFI Runtime Services */
- extern struct workqueue_struct *efi_rts_wq;
-
---
-1.9.1
-
diff --git a/meta-luv/recipes-kernel/linux/linux-luv/0001-efi-x86-Handle-page-faults-occurring-while-running-E.patch b/meta-luv/recipes-kernel/linux/linux-luv/0001-efi-x86-Handle-page-faults-occurring-while-running-E.patch
deleted file mode 100644
index 8dbef99..0000000
--- a/meta-luv/recipes-kernel/linux/linux-luv/0001-efi-x86-Handle-page-faults-occurring-while-running-E.patch
+++ /dev/null
@@ -1,243 +0,0 @@
-From 3425d934fc0312f62024163736a7afe4de20c10f Mon Sep 17 00:00:00 2001
-From: Sai Praneeth <sai.praneeth.prakhya(a)intel.com>
-Date: Tue, 11 Sep 2018 12:15:22 -0700
-Subject: [PATCH] efi/x86: Handle page faults occurring while running EFI
- runtime services
-
-Memory accesses performed by UEFI runtime services should be limited to:
-- reading/executing from EFI_RUNTIME_SERVICES_CODE memory regions
-- reading/writing from/to EFI_RUNTIME_SERVICES_DATA memory regions
-- reading/writing by-ref arguments
-- reading/writing from/to the stack.
-
-Accesses outside these regions may cause the kernel to hang because the
-memory region requested by the firmware isn't mapped in efi_pgd, which
-causes a page fault in ring 0 and the kernel fails to handle it, leading
-to die(). To save kernel from hanging, add an EFI specific page fault
-handler which recovers from such faults by
-1. If the efi runtime service is efi_reset_system(), reboot the machine
- through BIOS.
-2. If the efi runtime service is _not_ efi_reset_system(), then freeze
- efi_rts_wq and schedule a new process.
-
-The EFI page fault handler offers us two advantages:
-1. Avoid potential hangs caused by buggy firmware.
-2. Shout loud that the firmware is buggy and hence is not a kernel bug.
-
-Tested-by: Bhupesh Sharma <bhsharma(a)redhat.com>
-Suggested-by: Matt Fleming <matt(a)codeblueprint.co.uk>
-Based-on-code-from: Ricardo Neri <ricardo.neri(a)intel.com>
-Signed-off-by: Sai Praneeth Prakhya <sai.praneeth.prakhya(a)intel.com>
-Reviewed-by: Thomas Gleixner <tglx(a)linutronix.de>
-[ardb: clarify commit log]
-Signed-off-by: Ard Biesheuvel <ard.biesheuvel(a)linaro.org>
----
- arch/x86/include/asm/efi.h | 1 +
- arch/x86/mm/fault.c | 9 ++++
- arch/x86/platform/efi/quirks.c | 78 +++++++++++++++++++++++++++++++++
- drivers/firmware/efi/runtime-wrappers.c | 8 ++++
- include/linux/efi.h | 8 +++-
- 5 files changed, 103 insertions(+), 1 deletion(-)
-
-diff --git a/arch/x86/include/asm/efi.h b/arch/x86/include/asm/efi.h
-index cec5fae..eea40d5 100644
---- a/arch/x86/include/asm/efi.h
-+++ b/arch/x86/include/asm/efi.h
-@@ -140,6 +140,7 @@ extern void __iomem *__init efi_ioremap(unsigned long addr, unsigned long size,
- extern int __init efi_reuse_config(u64 tables, int nr_tables);
- extern void efi_delete_dummy_variable(void);
- extern void efi_switch_mm(struct mm_struct *mm);
-+extern void efi_recover_from_page_fault(unsigned long phys_addr);
-
- struct efi_setup_data {
- u64 fw_vendor;
-diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
-index 47bebfe..a5b9ddb 100644
---- a/arch/x86/mm/fault.c
-+++ b/arch/x86/mm/fault.c
-@@ -16,6 +16,7 @@
- #include <linux/prefetch.h> /* prefetchw */
- #include <linux/context_tracking.h> /* exception_enter(), ... */
- #include <linux/uaccess.h> /* faulthandler_disabled() */
-+#include <linux/efi.h> /* efi_recover_from_page_fault()*/
- #include <linux/mm_types.h>
-
- #include <asm/cpufeature.h> /* boot_cpu_has, ... */
-@@ -25,6 +26,7 @@
- #include <asm/vsyscall.h> /* emulate_vsyscall */
- #include <asm/vm86.h> /* struct vm86 */
- #include <asm/mmu_context.h> /* vma_pkey() */
-+#include <asm/efi.h> /* efi_recover_from_page_fault()*/
-
- #define CREATE_TRACE_POINTS
- #include <asm/trace/exceptions.h>
-@@ -789,6 +791,13 @@ static int is_f00f_bug(struct pt_regs *regs, unsigned long address)
- return;
-
- /*
-+ * Buggy firmware could access regions which might page fault, try to
-+ * recover from such faults.
-+ */
-+ if (IS_ENABLED(CONFIG_EFI))
-+ efi_recover_from_page_fault(address);
-+
-+ /*
- * Oops. The kernel tried to access some bad page. We'll have to
- * terminate things with extreme prejudice:
- */
-diff --git a/arch/x86/platform/efi/quirks.c b/arch/x86/platform/efi/quirks.c
-index 844d31c..669babc 100644
---- a/arch/x86/platform/efi/quirks.c
-+++ b/arch/x86/platform/efi/quirks.c
-@@ -16,6 +16,7 @@
- #include <asm/efi.h>
- #include <asm/uv/uv.h>
- #include <asm/cpu_device_id.h>
-+#include <asm/reboot.h>
-
- #define EFI_MIN_RESERVE 5120
-
-@@ -654,3 +655,80 @@ int efi_capsule_setup_info(struct capsule_info *cap_info, void *kbuff,
- }
-
- #endif
-+
-+/*
-+ * If any access by any efi runtime service causes a page fault, then,
-+ * 1. If it's efi_reset_system(), reboot through BIOS.
-+ * 2. If any other efi runtime service, then
-+ * a. Return error status to the efi caller process.
-+ * b. Disable EFI Runtime Services forever and
-+ * c. Freeze efi_rts_wq and schedule new process.
-+ *
-+ * @return: Returns, if the page fault is not handled. This function
-+ * will never return if the page fault is handled successfully.
-+ */
-+void efi_recover_from_page_fault(unsigned long phys_addr)
-+{
-+ if (!IS_ENABLED(CONFIG_X86_64))
-+ return;
-+
-+ /*
-+ * Make sure that an efi runtime service caused the page fault.
-+ * "efi_mm" cannot be used to check if the page fault had occurred
-+ * in the firmware context because efi=old_map doesn't use efi_pgd.
-+ */
-+ if (efi_rts_work.efi_rts_id == NONE)
-+ return;
-+
-+ /*
-+ * Address range 0x0000 - 0x0fff is always mapped in the efi_pgd, so
-+ * page faulting on these addresses isn't expected.
-+ */
-+ if (phys_addr >= 0x0000 && phys_addr <= 0x0fff)
-+ return;
-+
-+ /*
-+ * Print stack trace as it might be useful to know which EFI Runtime
-+ * Service is buggy.
-+ */
-+ WARN(1, FW_BUG "Page fault caused by firmware at PA: 0x%lx\n",
-+ phys_addr);
-+
-+ /*
-+ * Buggy efi_reset_system() is handled differently from other EFI
-+ * Runtime Services as it doesn't use efi_rts_wq. Although,
-+ * native_machine_emergency_restart() says that machine_real_restart()
-+ * could fail, it's better not to compilcate this fault handler
-+ * because this case occurs *very* rarely and hence could be improved
-+ * on a need by basis.
-+ */
-+ if (efi_rts_work.efi_rts_id == RESET_SYSTEM) {
-+ pr_info("efi_reset_system() buggy! Reboot through BIOS\n");
-+ machine_real_restart(MRR_BIOS);
-+ return;
-+ }
-+
-+ /*
-+ * Before calling EFI Runtime Service, the kernel has switched the
-+ * calling process to efi_mm. Hence, switch back to task_mm.
-+ */
-+ arch_efi_call_virt_teardown();
-+
-+ /* Signal error status to the efi caller process */
-+ efi_rts_work.status = EFI_ABORTED;
-+ complete(&efi_rts_work.efi_rts_comp);
-+
-+ clear_bit(EFI_RUNTIME_SERVICES, &efi.flags);
-+ pr_info("Froze efi_rts_wq and disabled EFI Runtime Services\n");
-+
-+ /*
-+ * Call schedule() in an infinite loop, so that any spurious wake ups
-+ * will never run efi_rts_wq again.
-+ */
-+ for (;;) {
-+ set_current_state(TASK_IDLE);
-+ schedule();
-+ }
-+
-+ return;
-+}
-diff --git a/drivers/firmware/efi/runtime-wrappers.c b/drivers/firmware/efi/runtime-wrappers.c
-index b18b2d8..a19d845 100644
---- a/drivers/firmware/efi/runtime-wrappers.c
-+++ b/drivers/firmware/efi/runtime-wrappers.c
-@@ -61,6 +61,11 @@
- ({ \
- efi_rts_work.status = EFI_ABORTED; \
- \
-+ if (!efi_enabled(EFI_RUNTIME_SERVICES)) { \
-+ pr_warn_once("EFI Runtime Services are disabled!\n"); \
-+ goto exit; \
-+ } \
-+ \
- init_completion(&efi_rts_work.efi_rts_comp); \
- INIT_WORK_ONSTACK(&efi_rts_work.work, efi_call_rts); \
- efi_rts_work.arg1 = _arg1; \
-@@ -79,6 +84,8 @@
- else \
- pr_err("Failed to queue work to efi_rts_wq.\n"); \
- \
-+exit: \
-+ efi_rts_work.efi_rts_id = NONE; \
- efi_rts_work.status; \
- })
-
-@@ -393,6 +400,7 @@ static void virt_efi_reset_system(int reset_type,
- "could not get exclusive access to the firmware\n");
- return;
- }
-+ efi_rts_work.efi_rts_id = RESET_SYSTEM;
- __efi_call_virt(reset_system, reset_type, status, data_size, data);
- up(&efi_runtime_lock);
- }
-diff --git a/include/linux/efi.h b/include/linux/efi.h
-index a929d2b..845174e 100644
---- a/include/linux/efi.h
-+++ b/include/linux/efi.h
-@@ -1662,8 +1662,13 @@ struct linux_efi_tpm_eventlog {
-
- extern int efi_tpm_eventlog_init(void);
-
--/* efi_runtime_service() function identifiers */
-+/*
-+ * efi_runtime_service() function identifiers.
-+ * "NONE" is used by efi_recover_from_page_fault() to check if the page
-+ * fault happened while executing an efi runtime service.
-+ */
- enum efi_rts_ids {
-+ NONE,
- GET_TIME,
- SET_TIME,
- GET_WAKEUP_TIME,
-@@ -1673,6 +1678,7 @@ enum efi_rts_ids {
- SET_VARIABLE,
- QUERY_VARIABLE_INFO,
- GET_NEXT_HIGH_MONO_COUNT,
-+ RESET_SYSTEM,
- UPDATE_CAPSULE,
- QUERY_CAPSULE_CAPS,
- };
---
-1.9.1
-
diff --git a/meta-luv/recipes-kernel/linux/linux-luv_4.19.bb b/meta-luv/recipes-kernel/linux/linux-luv_4.19.bb
deleted file mode 100644
index b1604ea..0000000
--- a/meta-luv/recipes-kernel/linux/linux-luv_4.19.bb
+++ /dev/null
@@ -1,159 +0,0 @@
-# linux-yocto-custom.bb:
-#
-# An example kernel recipe that uses the linux-yocto and oe-core
-# kernel classes to apply a subset of yocto kernel management to git
-# managed kernel repositories.
-#
-# To use linux-yocto-custom in your layer, create a
-# linux-yocto-custom.bbappend file containing at least the following
-# lines:
-#
-# FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-# COMPATIBLE_MACHINE_yourmachine = "yourmachine"
-#
-# You must also provide a Linux kernel configuration. The most direct
-# method is to copy your .config to files/defconfig in your layer,
-# in the same directory as the bbappend and add file://defconfig to
-# your SRC_URI.
-#
-# To use the yocto kernel tooling to generate a BSP configuration
-# using modular configuration fragments, see the yocto-bsp and
-# yocto-kernel tools documentation.
-#
-# Warning:
-#
-# Building this example without providing a defconfig or BSP
-# configuration will result in build or boot errors. This is not a
-# bug.
-#
-#
-# Notes:
-#
-# patches: patches can be merged into to the source git tree itself,
-# added via the SRC_URI, or controlled via a BSP
-# configuration.
-#
-# defconfig: When a defconfig is provided, the linux-yocto configuration
-# uses the filename as a trigger to use a 'allnoconfig' baseline
-# before merging the defconfig into the build.
-#
-# If the defconfig file was created with make_savedefconfig,
-# not all options are specified, and should be restored with their
-# defaults, not set to 'n'. To properly expand a defconfig like
-# this, specify: KCONFIG_MODE="--alldefconfig" in the kernel
-# recipe.
-#
-# example configuration addition:
-# SRC_URI += "file://smp.cfg"
-# example patch addition (for kernel v3.4 only):
-# SRC_URI += "file://0001-linux-version-tweak.patch
-# example feature addition (for kernel v3.4 only):
-# SRC_URI += "file://feature.scc"
-#
-
-KBRANCH="master"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
-
-inherit kernel
-require recipes-kernel/linux/linux-yocto.inc
-
-KERNEL_FEATURES_remove= " features/debug/printk.scc \
- features/kernel-sample/kernel-sample.scc \
- "
-
-# Override SRC_URI in a bbappend file to point at a different source
-# tree if you do not want to build from Linus' tree.
-SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git;protocol..."
-
-# These patches are under discussion on ML
-SRC_URI += "file://0001-serial-SPCR-check-bit-width-for-the-16550-UART.patch \
- "
-
-# Detect illegal accesses to EFI regions (like EFI_CONVENTIONAL_MEMORY,
-# EFI_LOADER_CODE/DATA, EFI_BOOT_SERVICES_CODE/DATA) by firmware.
-SRC_URI += "file://0001-PCI-Vulcan-AHCI-PCI-bar-fix-for-Broadcom-Vulcan-earl.patch \
- file://0002-ahci-thunderx2-Fix-for-errata-that-affects-stop-engi.patch \
- file://0001-efi-Make-efi_rts_work-accessible-to-efi-page-fault-h.patch \
- file://0001-efi-x86-Handle-page-faults-occurring-while-running-E.patch \
- file://0001-selftests-change-reboot-flag-location.patch \
- file://0001-pstore-test-remove-log-directory.patch \
- file://0001-x86-mttr-Update-only-valid-variable-range-MTRRs.patch \
- "
-
-COMMON_CFG_x86 = " file://qemux86/modules.cfg \
- file://qemux86/display.cfg \
- file://qemux86/ram_block.cfg \
- file://qemux86/debug.cfg \
- file://qemux86/efi_x86.cfg \
- file://qemux86/usb_hcd.cfg \
- file://qemux86/network.cfg \
- file://qemux86/network-devices.cfg \
- file://qemux86/usb_ethernet.cfg \
- "
-
-# Add the kernel configuration fragments for x86/x86-64/arm64
-SRC_URI_append_x86 = "${COMMON_CFG_x86} \
- file://qemux86/highmem.cfg \
- "
-SRC_URI_append_x86-64 = "${COMMON_CFG_x86} \
- file://qemux86/ndctl.cfg \
- file://qemux86-64/linux_quirks.cfg \
- file://qemux86-64/efi_x86-64.cfg \
- "
-SRC_URI_append_aarch64 = " file://qemuarm64/network.cfg \
- file://qemuarm64/sbbr.cfg \
- file://qemuarm64/64Kpages.cfg \
- "
-
-# pstore, highmem and efi configs are common to all the supported architectures
-SRC_URI_append = "file://pstore.cfg \
- file://pstore-test.cfg \
- file://efi.cfg \
- file://cpus.cfg \
- file://lockup.cfg \
- "
-
-# Override KCONFIG_MODE to '--alldefconfig' from the default '--allnoconfig'
-KCONFIG_MODE = 'alldefconfig'
-
-# If a defconfig is specified via the KBUILD_DEFCONFIG variable, we copy it
-# from the source tree, into a common location and normalized "defconfig" name,
-# where the rest of the process will include and incoroporate it into the build
-
-# If the fetcher has already placed a defconfig in WORKDIR (from the SRC_URI),
-# we don't overwrite it, but instead warn the user that SRC_URI defconfigs take
-# precendence.
-KBUILD_DEFCONFIG = "defconfig"
-KBUILD_DEFCONFIG_x86 = "i386_defconfig"
-KBUILD_DEFCONFIG_x86-64 = "x86_64_defconfig"
-LINUX_VERSION = "4.19"
-LINUX_VERSION_EXTENSION = "-luv"
-
-# Override SRCREV to point to a different commit in a bbappend file to
-# build a different release of the Linux kernel.
-# tag: v4.19 84df9525b0c27f3ebc2ebb1864fa62a97fdedb7d
-SRCREV = "84df9525b0c27f3ebc2ebb1864fa62a97fdedb7d"
-
-PR = "r5"
-PV = "${LINUX_VERSION}+git${SRCPV}"
-
-# Override COMPATIBLE_MACHINE to include your machine in a bbappend
-# file. Leaving it empty here ensures an early explicit build failure.
-COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm64"
-
-# extract-cert.c requires openssl development files
-# kernel-source/scripts/extract-cert.c:21:25:
-# fatal error: openssl/bio.h: No such file or directory
-DEPENDS += "openssl-native"
-HOST_EXTRACFLAGS += "-I${STAGING_INCDIR_NATIVE}"
-
-do_install_append() {
- if [ "${TARGET_ARCH}" = "x86_64" ]; then
- # There are 2 copies of the NVDIMM modules which are built. This is a
- # temporary fix to make sure the correct set of modules are used.
- rm -rf ${D}/lib/modules/${LINUX_VERSION}.0${LINUX_VERSION_EXTENSION}/kernel/drivers/nvdimm/
- rm -rf ${D}/lib/modules/${LINUX_VERSION}.0${LINUX_VERSION_EXTENSION}/kernel/drivers/dax/
- rm -rf ${D}/lib/modules/${LINUX_VERSION}.0${LINUX_VERSION_EXTENSION}/kernel/drivers/acpi/
- fi
-}
diff --git a/meta-luv/recipes-kernel/linux/linux-luv_5.1.bb b/meta-luv/recipes-kernel/linux/linux-luv_5.1.bb
new file mode 100644
index 0000000..7748b83
--- /dev/null
+++ b/meta-luv/recipes-kernel/linux/linux-luv_5.1.bb
@@ -0,0 +1,157 @@
+# linux-yocto-custom.bb:
+#
+# An example kernel recipe that uses the linux-yocto and oe-core
+# kernel classes to apply a subset of yocto kernel management to git
+# managed kernel repositories.
+#
+# To use linux-yocto-custom in your layer, create a
+# linux-yocto-custom.bbappend file containing at least the following
+# lines:
+#
+# FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+# COMPATIBLE_MACHINE_yourmachine = "yourmachine"
+#
+# You must also provide a Linux kernel configuration. The most direct
+# method is to copy your .config to files/defconfig in your layer,
+# in the same directory as the bbappend and add file://defconfig to
+# your SRC_URI.
+#
+# To use the yocto kernel tooling to generate a BSP configuration
+# using modular configuration fragments, see the yocto-bsp and
+# yocto-kernel tools documentation.
+#
+# Warning:
+#
+# Building this example without providing a defconfig or BSP
+# configuration will result in build or boot errors. This is not a
+# bug.
+#
+#
+# Notes:
+#
+# patches: patches can be merged into to the source git tree itself,
+# added via the SRC_URI, or controlled via a BSP
+# configuration.
+#
+# defconfig: When a defconfig is provided, the linux-yocto configuration
+# uses the filename as a trigger to use a 'allnoconfig' baseline
+# before merging the defconfig into the build.
+#
+# If the defconfig file was created with make_savedefconfig,
+# not all options are specified, and should be restored with their
+# defaults, not set to 'n'. To properly expand a defconfig like
+# this, specify: KCONFIG_MODE="--alldefconfig" in the kernel
+# recipe.
+#
+# example configuration addition:
+# SRC_URI += "file://smp.cfg"
+# example patch addition (for kernel v3.4 only):
+# SRC_URI += "file://0001-linux-version-tweak.patch
+# example feature addition (for kernel v3.4 only):
+# SRC_URI += "file://feature.scc"
+#
+
+KBRANCH="master"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
+
+inherit kernel
+require recipes-kernel/linux/linux-yocto.inc
+
+KERNEL_FEATURES_remove= " features/debug/printk.scc \
+ features/kernel-sample/kernel-sample.scc \
+ "
+
+# Override SRC_URI in a bbappend file to point at a different source
+# tree if you do not want to build from Linus' tree.
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git;protocol..."
+
+# These patches are under discussion on ML
+SRC_URI += "file://0001-serial-SPCR-check-bit-width-for-the-16550-UART.patch \
+ "
+
+# Detect illegal accesses to EFI regions (like EFI_CONVENTIONAL_MEMORY,
+# EFI_LOADER_CODE/DATA, EFI_BOOT_SERVICES_CODE/DATA) by firmware.
+SRC_URI += "file://0001-PCI-Vulcan-AHCI-PCI-bar-fix-for-Broadcom-Vulcan-earl.patch \
+ file://0002-ahci-thunderx2-Fix-for-errata-that-affects-stop-engi.patch \
+ file://0001-selftests-change-reboot-flag-location.patch \
+ file://0001-pstore-test-remove-log-directory.patch \
+ file://0001-x86-mttr-Update-only-valid-variable-range-MTRRs.patch \
+ "
+
+COMMON_CFG_x86 = " file://qemux86/modules.cfg \
+ file://qemux86/display.cfg \
+ file://qemux86/ram_block.cfg \
+ file://qemux86/debug.cfg \
+ file://qemux86/efi_x86.cfg \
+ file://qemux86/usb_hcd.cfg \
+ file://qemux86/network.cfg \
+ file://qemux86/network-devices.cfg \
+ file://qemux86/usb_ethernet.cfg \
+ "
+
+# Add the kernel configuration fragments for x86/x86-64/arm64
+SRC_URI_append_x86 = "${COMMON_CFG_x86} \
+ file://qemux86/highmem.cfg \
+ "
+SRC_URI_append_x86-64 = "${COMMON_CFG_x86} \
+ file://qemux86/ndctl.cfg \
+ file://qemux86-64/linux_quirks.cfg \
+ file://qemux86-64/efi_x86-64.cfg \
+ "
+SRC_URI_append_aarch64 = " file://qemuarm64/network.cfg \
+ file://qemuarm64/sbbr.cfg \
+ file://qemuarm64/64Kpages.cfg \
+ "
+
+# pstore, highmem and efi configs are common to all the supported architectures
+SRC_URI_append = "file://pstore.cfg \
+ file://pstore-test.cfg \
+ file://efi.cfg \
+ file://cpus.cfg \
+ file://lockup.cfg \
+ "
+
+# Override KCONFIG_MODE to '--alldefconfig' from the default '--allnoconfig'
+KCONFIG_MODE = 'alldefconfig'
+
+# If a defconfig is specified via the KBUILD_DEFCONFIG variable, we copy it
+# from the source tree, into a common location and normalized "defconfig" name,
+# where the rest of the process will include and incoroporate it into the build
+
+# If the fetcher has already placed a defconfig in WORKDIR (from the SRC_URI),
+# we don't overwrite it, but instead warn the user that SRC_URI defconfigs take
+# precendence.
+KBUILD_DEFCONFIG = "defconfig"
+KBUILD_DEFCONFIG_x86 = "i386_defconfig"
+KBUILD_DEFCONFIG_x86-64 = "x86_64_defconfig"
+LINUX_VERSION = "5.1"
+LINUX_VERSION_EXTENSION = "-luv"
+
+# Override SRCREV to point to a different commit in a bbappend file to
+# build a different release of the Linux kernel.
+# tag: v5.1 e93c9c99a629c61837d5a7fc2120cd2b6c70dbdd
+SRCREV = "e93c9c99a629c61837d5a7fc2120cd2b6c70dbdd"
+
+PR = "r5"
+PV = "${LINUX_VERSION}+git${SRCPV}"
+
+# Override COMPATIBLE_MACHINE to include your machine in a bbappend
+# file. Leaving it empty here ensures an early explicit build failure.
+COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm64"
+
+# extract-cert.c requires openssl development files
+# kernel-source/scripts/extract-cert.c:21:25:
+# fatal error: openssl/bio.h: No such file or directory
+DEPENDS += "openssl-native"
+HOST_EXTRACFLAGS += "-I${STAGING_INCDIR_NATIVE}"
+
+do_install_append() {
+ if [ "${TARGET_ARCH}" = "x86_64" ]; then
+ # There are 2 copies of the NVDIMM modules which are built. This is a
+ # temporary fix to make sure the correct set of modules are used.
+ rm -rf ${D}/lib/modules/${LINUX_VERSION}.0${LINUX_VERSION_EXTENSION}/kernel/drivers/nvdimm/
+ rm -rf ${D}/lib/modules/${LINUX_VERSION}.0${LINUX_VERSION_EXTENSION}/kernel/drivers/dax/
+ rm -rf ${D}/lib/modules/${LINUX_VERSION}.0${LINUX_VERSION_EXTENSION}/kernel/drivers/acpi/
+ fi
+}
--
2.7.4
2 years, 12 months
[PATCH] plymouth: Update to 0.9.4
by Megha Dey
Open-embedded bumped plymouth to 0.9.4. Update the LUV append for
plymouth accordingly. Also, the plymouth patches in LUV need to be
rebased so that they could be applied easily on top of plymouth
0.9.4. Lastly, a spelling error is corrected. No functional changes
were made.
Signed-off-by: Megha Dey <megha.dey(a)linux.intel.com>
---
...001-plymouth-Change-the-plymouth-defaults.patch | 13 ++++---
...-plymouth-Prevent-overwriting-of-messages.patch | 10 ++---
.../0001-plymouth-modify-the-script-theme.patch | 45 +++++++++++-----------
.../recipes-core/plymouth/plymouth_0.9.2.bbappend | 41 --------------------
.../recipes-core/plymouth/plymouth_0.9.4.bbappend | 41 ++++++++++++++++++++
5 files changed, 75 insertions(+), 75 deletions(-)
delete mode 100644 meta-luv/recipes-core/plymouth/plymouth_0.9.2.bbappend
create mode 100644 meta-luv/recipes-core/plymouth/plymouth_0.9.4.bbappend
diff --git a/meta-luv/recipes-core/plymouth/files/0001-plymouth-Change-the-plymouth-defaults.patch b/meta-luv/recipes-core/plymouth/files/0001-plymouth-Change-the-plymouth-defaults.patch
index 8148d63..4179e1b 100644
--- a/meta-luv/recipes-core/plymouth/files/0001-plymouth-Change-the-plymouth-defaults.patch
+++ b/meta-luv/recipes-core/plymouth/files/0001-plymouth-Change-the-plymouth-defaults.patch
@@ -1,6 +1,6 @@
-From 86ea6774f134d83e6b5f32f4b2785ecd6fecccc7 Mon Sep 17 00:00:00 2001
+From 832e2093ce2a5cd43e0ebe11526914d66eefc6fb Mon Sep 17 00:00:00 2001
From: Megha Dey <megha.dey(a)linux.intel.com>
-Date: Mon, 1 Aug 2016 22:44:15 -0700
+Date: Wed, 19 Jun 2019 16:00:02 -0700
Subject: [PATCH] plymouth : Change the plymouth defaults
The default theme plymouth used by is spinner. Since the graphical
@@ -11,14 +11,14 @@ Hence set ShowDelay to 0.
Signed-off-by: Megha Dey <megha.dey(a)linux.intel.com>
---
- .../plymouth/0.9.2-r0/plymouth-0.9.2/src/plymouthd.defaults | 4 ++--
+ .../plymouth/0.9.4-r0/plymouth-0.9.4/src/plymouthd.defaults | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/plymouthd.defaults b/src/plymouthd.defaults
-index fc48b15..ef39574 100644
+index 4d3b6d4..f518720 100644
--- a/src/plymouthd.defaults
+++ b/src/plymouthd.defaults
-@@ -1,5 +1,5 @@
+@@ -1,6 +1,6 @@
# Distribution defaults. Changes to this file will get overwritten during
# upgrades.
[Daemon]
@@ -26,5 +26,6 @@ index fc48b15..ef39574 100644
-ShowDelay=5
+Theme=script
+ShowDelay=0
+ DeviceTimeout=5
--
-1.9.1
+2.7.4
diff --git a/meta-luv/recipes-core/plymouth/files/0001-plymouth-Prevent-overwriting-of-messages.patch b/meta-luv/recipes-core/plymouth/files/0001-plymouth-Prevent-overwriting-of-messages.patch
index 1d1ce36..f9c0e86 100644
--- a/meta-luv/recipes-core/plymouth/files/0001-plymouth-Prevent-overwriting-of-messages.patch
+++ b/meta-luv/recipes-core/plymouth/files/0001-plymouth-Prevent-overwriting-of-messages.patch
@@ -1,6 +1,6 @@
-From e828fb6d958b2c463f208ad30ab39a1b18be14d2 Mon Sep 17 00:00:00 2001
+From 612ecc2ccd149349d8f59d5297f45c2d4cd25dd2 Mon Sep 17 00:00:00 2001
From: Megha Dey <megha.dey(a)linux.intel.com>
-Date: Thu, 18 Jan 2018 23:50:17 -0800
+Date: Mon, 24 Jun 2019 15:31:09 -0700
Subject: [PATCH] plymouth: prevent overwriting of messages
Certain messages displayed on plymouth screen get overwritten as their
@@ -14,10 +14,10 @@ Signed-off-by: Megha Dey <megha.dey(a)linux.intel.com>
1 file changed, 2 insertions(+)
diff --git a/themes/script/script.script b/themes/script/script.script
-index b1e0ab9..8dd9009 100644
+index a645c1e..d15af58 100644
--- a/themes/script/script.script
+++ b/themes/script/script.script
-@@ -183,6 +183,8 @@ fun display_message_callback (text)
+@@ -182,6 +182,8 @@ fun display_message_callback (text)
{
message_sprites[message_sprite_count].SetPosition(Window.GetWidth() / 2 - my_image.GetWidth() / 2, message_sprite_y, 10000);
message_sprite_count++;
@@ -27,5 +27,5 @@ index b1e0ab9..8dd9009 100644
}
}
--
-1.9.1
+2.7.4
diff --git a/meta-luv/recipes-core/plymouth/files/0001-plymouth-modify-the-script-theme.patch b/meta-luv/recipes-core/plymouth/files/0001-plymouth-modify-the-script-theme.patch
index a91f5cd..92dbdb6 100644
--- a/meta-luv/recipes-core/plymouth/files/0001-plymouth-modify-the-script-theme.patch
+++ b/meta-luv/recipes-core/plymouth/files/0001-plymouth-modify-the-script-theme.patch
@@ -1,6 +1,6 @@
-From b17a666f15e73a85a35daf8b38dd3a680601475e Mon Sep 17 00:00:00 2001
+From 20be7be295c21a4f6f18547b1d717087a0f942f6 Mon Sep 17 00:00:00 2001
From: Megha Dey <megha.dey(a)linux.intel.com>
-Date: Thu, 16 Feb 2017 11:34:51 -0800
+Date: Mon, 24 Jun 2019 11:34:52 -0700
Subject: [PATCH] plymouth: modify the script theme
plymouth script theme is modified add the luv splash image and the
@@ -10,16 +10,16 @@ center of any screen it runs on.
To display the progress of the test suites, we increment the progress
bar by 1/(number of test suites) every time a new test suits starts to
-run so that when the last test ssuite ends the progreaa bar is complete
+run so that when the last test suite ends the progress bar is complete
100%.
Signed-off-by: Megha Dey <megha.dey(a)linux.intel.com>
---
- themes/script/script.script | 71 ++++++++++++++++++++++++++++++---------------
- 1 file changed, 47 insertions(+), 24 deletions(-)
+ themes/script/script.script | 70 ++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 50 insertions(+), 20 deletions(-)
diff --git a/themes/script/script.script b/themes/script/script.script
-index 7ea9d5e..46671be 100644
+index 25a2f2b..3cfb9f5 100644
--- a/themes/script/script.script
+++ b/themes/script/script.script
@@ -1,7 +1,7 @@
@@ -67,19 +67,23 @@ index 7ea9d5e..46671be 100644
fun progress_callback (duration, progress)
{
-@@ -139,7 +130,6 @@ fun progress_callback (duration, progress)
+@@ -139,8 +130,6 @@ fun progress_callback (duration, progress)
}
}
-Plymouth.SetBootProgressFunction(progress_callback);
-
+-
#----------------------------------------- Quit --------------------------------
-@@ -154,25 +144,58 @@ Plymouth.SetQuitFunction(quit_callback);
+ fun quit_callback ()
+@@ -152,19 +141,60 @@ Plymouth.SetQuitFunction(quit_callback);
+
+ #----------------------------------------- Message --------------------------------
- message_sprites = [];
- message_sprite_count = 0;
--message_sprite_y = 10;
+-message_sprite = Sprite();
+-message_sprite.SetPosition(10, 10, 10000);
++message_sprites = [];
++message_sprite_count = 0;
+message_sprite_y = progress_bar.y-30;
+num_test_suites = 6;
+count = 0;
@@ -87,13 +91,10 @@ index 7ea9d5e..46671be 100644
fun display_message_callback (text)
{
- my_image = Image.Text(text, 1, 1, 1);
+- message_sprite.SetImage(my_image);
+ str = String(text);
+ my_image = Image.Text(str, 1, 1, 1);
- message_sprites[message_sprite_count] = Sprite(my_image);
-- message_sprites[message_sprite_count].SetPosition(10, message_sprite_y, 10000);
-- message_sprites[message_sprite_count].text = text;
-- message_sprite_count++;
-- message_sprite_y += my_image.GetHeight();
++ message_sprites[message_sprite_count] = Sprite(my_image);
+ message_sprites[message_sprite_count].text = str;
+
+ if (str.SubString(0,7) == "Running")
@@ -130,11 +131,8 @@ index 7ea9d5e..46671be 100644
fun hide_message_callback (text)
{
-- for (i = 0; i < message_sprite_count; i++)
-- {
-- if (message_sprites[i].text == text)
-- message_sprites[i] = NULL;
-- }
+- message_sprite = Sprite();
+- message_sprite.SetPosition(10, 10, 10000);
+ if (message_sprites[message_sprite_count - 1].text == text)
+ message_sprites[message_sprite_count - 1] = NULL;
+ if (message_sprite_count == num_test_suites)
@@ -146,4 +144,5 @@ index 7ea9d5e..46671be 100644
Plymouth.SetDisplayMessageFunction (display_message_callback);
--
-1.9.1
+2.7.4
+
diff --git a/meta-luv/recipes-core/plymouth/plymouth_0.9.2.bbappend b/meta-luv/recipes-core/plymouth/plymouth_0.9.2.bbappend
deleted file mode 100644
index 545a72b..0000000
--- a/meta-luv/recipes-core/plymouth/plymouth_0.9.2.bbappend
+++ /dev/null
@@ -1,41 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-RDEPENDS_${PN} = "ttf-dejavu-common ttf-dejavu-sans ttf-dejavu-sans-mono"
-
-SRC_URI+= "file://0001-plymouth-Add-the-retain-splash-option.patch \
- file://0001-plymouth-Change-the-plymouth-defaults.patch \
- file://0001-plymouth-modify-the-script-theme.patch \
- file://0001-plymouth-Prevent-overwriting-of-messages.patch \
- ${SPLASH_IMAGES}"
-
-SPLASH_IMAGES = "file://luv-splash.png;outsuffix=default"
-
-def get_target_arch(d):
- import re
- target = d.getVar('TARGET_ARCH', True)
- if target == "x86_64":
- return '7'
- elif re.match('i.86', target):
- return '6'
- elif re.match('aarch64', target):
- return '4'
- else:
- raise bb.parse.SkipPackage("TARGET_ARCH %s not supported!" % target)
-
-num_test_suites = "${@get_target_arch(d)}"
-
-patch() {
- sed -i s/LUV_NUM_TEST_SUITES/${num_test_suites}/ ${S}/themes/script/script.script
-}
-
-do_patch_append() {
- bb.build.exec_func('patch', d)
-}
-
-do_install_append() {
- install -d ${D}${datadir}/plymouth
- install -m 755 ${WORKDIR}/luv-splash.png ${D}/${datadir}/plymouth/
-}
-
-LOGO = "${datadir}/plymouth/luv-splash.png"
-RDEPENDS_${PN}-initrd = "bash"
diff --git a/meta-luv/recipes-core/plymouth/plymouth_0.9.4.bbappend b/meta-luv/recipes-core/plymouth/plymouth_0.9.4.bbappend
new file mode 100644
index 0000000..545a72b
--- /dev/null
+++ b/meta-luv/recipes-core/plymouth/plymouth_0.9.4.bbappend
@@ -0,0 +1,41 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+RDEPENDS_${PN} = "ttf-dejavu-common ttf-dejavu-sans ttf-dejavu-sans-mono"
+
+SRC_URI+= "file://0001-plymouth-Add-the-retain-splash-option.patch \
+ file://0001-plymouth-Change-the-plymouth-defaults.patch \
+ file://0001-plymouth-modify-the-script-theme.patch \
+ file://0001-plymouth-Prevent-overwriting-of-messages.patch \
+ ${SPLASH_IMAGES}"
+
+SPLASH_IMAGES = "file://luv-splash.png;outsuffix=default"
+
+def get_target_arch(d):
+ import re
+ target = d.getVar('TARGET_ARCH', True)
+ if target == "x86_64":
+ return '7'
+ elif re.match('i.86', target):
+ return '6'
+ elif re.match('aarch64', target):
+ return '4'
+ else:
+ raise bb.parse.SkipPackage("TARGET_ARCH %s not supported!" % target)
+
+num_test_suites = "${@get_target_arch(d)}"
+
+patch() {
+ sed -i s/LUV_NUM_TEST_SUITES/${num_test_suites}/ ${S}/themes/script/script.script
+}
+
+do_patch_append() {
+ bb.build.exec_func('patch', d)
+}
+
+do_install_append() {
+ install -d ${D}${datadir}/plymouth
+ install -m 755 ${WORKDIR}/luv-splash.png ${D}/${datadir}/plymouth/
+}
+
+LOGO = "${datadir}/plymouth/luv-splash.png"
+RDEPENDS_${PN}-initrd = "bash"
--
2.7.4
2 years, 12 months
[PATCH] systemd: Update to v241
by Megha Dey
Poky bumped systemd to v241. Update LUV append for systemd
accordingly. No functional changes were made.
Signed-off-by: Megha Dey <megha.dey(a)linux.intel.com>
---
meta-luv/recipes-core/systemd/systemd_239.bbappend | 18 ------------------
meta-luv/recipes-core/systemd/systemd_241.bbappend | 18 ++++++++++++++++++
2 files changed, 18 insertions(+), 18 deletions(-)
delete mode 100644 meta-luv/recipes-core/systemd/systemd_239.bbappend
create mode 100644 meta-luv/recipes-core/systemd/systemd_241.bbappend
diff --git a/meta-luv/recipes-core/systemd/systemd_239.bbappend b/meta-luv/recipes-core/systemd/systemd_239.bbappend
deleted file mode 100644
index 08e87e6..0000000
--- a/meta-luv/recipes-core/systemd/systemd_239.bbappend
+++ /dev/null
@@ -1,18 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-PACKAGECONFIG_append = "networkd"
-
-SRC_URI += "file://50-oe-core.network \
- file://0001-systemd-Disable-tty1-console-if-splash-is-present.patch \
- file://0001-setup-network-only-if-luv.telemetrics-is-present.patch \
- "
-
-do_install_append() {
- install -d ${D}${sysconfdir}/systemd/network/
- install -m 0644 ${WORKDIR}/50-oe-core.network ${D}${sysconfdir}/systemd/network/
-}
-
-RDEPENDS_${PN} +="ifupdown debianutils"
-
-FILES_${PN} += "${sysconfdir}/systemd/network/50-oe-core.network \
- "
diff --git a/meta-luv/recipes-core/systemd/systemd_241.bbappend b/meta-luv/recipes-core/systemd/systemd_241.bbappend
new file mode 100644
index 0000000..08e87e6
--- /dev/null
+++ b/meta-luv/recipes-core/systemd/systemd_241.bbappend
@@ -0,0 +1,18 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+PACKAGECONFIG_append = "networkd"
+
+SRC_URI += "file://50-oe-core.network \
+ file://0001-systemd-Disable-tty1-console-if-splash-is-present.patch \
+ file://0001-setup-network-only-if-luv.telemetrics-is-present.patch \
+ "
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/systemd/network/
+ install -m 0644 ${WORKDIR}/50-oe-core.network ${D}${sysconfdir}/systemd/network/
+}
+
+RDEPENDS_${PN} +="ifupdown debianutils"
+
+FILES_${PN} += "${sysconfdir}/systemd/network/50-oe-core.network \
+ "
--
2.7.4
2 years, 12 months
[PATCH] meta-luv: update LAYERSERIES_COMPAT_luv variable
by Megha Dey
Yocto layers are expected to set LAYERSERIES_COMPAT_layername
to match the version(s) of OpenEmbedded-Core they are compatible
with. Update to the latest poky version i.e warrior.
Signed-off-by: Megha Dey <megha.dey(a)linux.intel.com>
---
meta-luv/conf/layer.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-luv/conf/layer.conf b/meta-luv/conf/layer.conf
index 5a55aaf..47931ad 100644
--- a/meta-luv/conf/layer.conf
+++ b/meta-luv/conf/layer.conf
@@ -9,4 +9,4 @@ BBFILE_COLLECTIONS += "luv"
BBFILE_PATTERN_luv = "^${LAYERDIR}/"
BBFILE_PRIORITY_luv = "6"
-LAYERSERIES_COMPAT_luv = "thud"
+LAYERSERIES_COMPAT_luv = "warrior"
--
2.7.4
2 years, 12 months
[PATCH] linux-libc-headers: Bump linux-libc-headers to v5.1
by Megha Dey
Since we are updating the kernel LUV uses to v5.1, it is imperative
that we update the linux-libc-headers as well.
Also update LINUXLIBCVERSION variable.
Signed-off-by: Megha Dey <megha.dey(a)linux.intel.com>
---
meta-luv/conf/distro/luv.conf | 2 +-
.../recipes-kernel/linux-libc-headers/linux-libc-headers_4.19.bb | 6 ------
.../recipes-kernel/linux-libc-headers/linux-libc-headers_5.1.bb | 6 ++++++
3 files changed, 7 insertions(+), 7 deletions(-)
delete mode 100644 meta-luv/recipes-kernel/linux-libc-headers/linux-libc-headers_4.19.bb
create mode 100644 meta-luv/recipes-kernel/linux-libc-headers/linux-libc-headers_5.1.bb
diff --git a/meta-luv/conf/distro/luv.conf b/meta-luv/conf/distro/luv.conf
index 66329ea..ba46399 100644
--- a/meta-luv/conf/distro/luv.conf
+++ b/meta-luv/conf/distro/luv.conf
@@ -4,7 +4,7 @@ DISTRO_VERSION = "2.4-dev"
TCLIBCAPPEND = ""
PREFERRED_PROVIDER_virtual/kernel = "linux-luv"
-LINUXLIBCVERSION = "4.19"
+LINUXLIBCVERSION = "5.1"
LAYER_CONF_VERSION ?= "6"
diff --git a/meta-luv/recipes-kernel/linux-libc-headers/linux-libc-headers_4.19.bb b/meta-luv/recipes-kernel/linux-libc-headers/linux-libc-headers_4.19.bb
deleted file mode 100644
index e14f2a0..0000000
--- a/meta-luv/recipes-kernel/linux-libc-headers/linux-libc-headers_4.19.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require recipes-kernel/linux-libc-headers/linux-libc-headers.inc
-
-FILESEXTRAPATHS_prepend :="../../../meta/recipes-kernel/linux-libc-headers:"
-
-SRC_URI[md5sum] = "740a90cf810c2105df8ee12e5d0bb900"
-SRC_URI[sha256sum] = "0c68f5655528aed4f99dae71a5b259edc93239fa899e2df79c055275c21749a1"
diff --git a/meta-luv/recipes-kernel/linux-libc-headers/linux-libc-headers_5.1.bb b/meta-luv/recipes-kernel/linux-libc-headers/linux-libc-headers_5.1.bb
new file mode 100644
index 0000000..aa8143a
--- /dev/null
+++ b/meta-luv/recipes-kernel/linux-libc-headers/linux-libc-headers_5.1.bb
@@ -0,0 +1,6 @@
+require recipes-kernel/linux-libc-headers/linux-libc-headers.inc
+
+FILESEXTRAPATHS_prepend :="../../../meta/recipes-kernel/linux-libc-headers:"
+
+SRC_URI[md5sum] = "15fbdff95ff98483069ac6e215b9f4f9"
+SRC_URI[sha256sum] = "d06a7be6e73f97d1350677ad3bae0ce7daecb79c2c2902aaabe806f7fa94f041"
--
2.7.4
2 years, 12 months