Sync with a9-beta
This commit is contained in:
parent
cea4e1617c
commit
7cad88d7e9
6
.gitignore
vendored
6
.gitignore
vendored
@ -1,6 +1,6 @@
|
||||
SOURCES/kernel-abi-stablelists-5.14.0-427.37.1.el9_4.tar.bz2
|
||||
SOURCES/kernel-kabi-dw-5.14.0-427.37.1.el9_4.tar.bz2
|
||||
SOURCES/linux-5.14.0-427.37.1.el9_4.tar.xz
|
||||
SOURCES/kernel-abi-stablelists-5.14.0-570.12.1.el9_6.tar.bz2
|
||||
SOURCES/kernel-kabi-dw-5.14.0-570.12.1.el9_6.tar.bz2
|
||||
SOURCES/linux-5.14.0-570.12.1.el9_6.tar.xz
|
||||
SOURCES/nvidiagpuoot001.x509
|
||||
SOURCES/rheldup3.x509
|
||||
SOURCES/rhelima.x509
|
||||
|
@ -1,4 +1,9 @@
|
||||
4ab2a38d8cad4ee2d5798f6fe63e3090b20359c8 SOURCES/kernel-abi-stablelists-5.14.0-427.37.1.el9_4.tar.bz2
|
||||
d0c04162d4f2ab56e56e57851bef61f216830fc5 SOURCES/kernel-kabi-dw-5.14.0-427.37.1.el9_4.tar.bz2
|
||||
3b91b73d33a59707c315d99c5afdf6d0bb4e7594 SOURCES/linux-5.14.0-427.37.1.el9_4.tar.xz
|
||||
34966a14caa2bbb9ee4185077b4fe3598016ec4f SOURCES/kernel-abi-stablelists-5.14.0-570.12.1.el9_6.tar.bz2
|
||||
8dc54e9218efa4996268d279bba133d97a7de60e SOURCES/kernel-kabi-dw-5.14.0-570.12.1.el9_6.tar.bz2
|
||||
a1df472f7f6c8eac39781cbf5294718bd392cfe8 SOURCES/linux-5.14.0-570.12.1.el9_6.tar.xz
|
||||
4fff8080e88afffc06d8ef5004db8d53bb21237f SOURCES/nvidiagpuoot001.x509
|
||||
95b9b811c7b0a6c98b2eafc4e7d6d24f2cb63289 SOURCES/rheldup3.x509
|
||||
99e571f9de4188f3b5fdf1f84ff73f6cc4bb6a0e SOURCES/rhelima.x509
|
||||
61d5a223ff0c79189505abae77e0087c4b2d2b47 SOURCES/rhelima_centos.x509
|
||||
f882610d2554fef65703e5d3c342f005af0390ad SOURCES/rhelimaca1.x509
|
||||
d90885108d225a234a5a9d054fc80893a5bd54d0 SOURCES/rhelkpatch1.x509
|
||||
|
@ -1,18 +1,17 @@
|
||||
From a84c0fed2a608f271056c7ac33abfcd276929a70 Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Lukoshko <alukoshko@almalinux.org>
|
||||
Date: Tue, 28 May 2024 09:47:52 +0000
|
||||
From 2ecae960349c68360744ed3cba0c47ad18b402cc Mon Sep 17 00:00:00 2001
|
||||
From: eabdullin <eabdullin@almalinux.org>
|
||||
Date: Tue, 11 Mar 2025 10:22:08 +0300
|
||||
Subject: [PATCH] Enable all disabled pci devices by moving to unmaintained
|
||||
list
|
||||
|
||||
---
|
||||
kernel/rh_messages.h | 66 ++++++++++++++++++++++----------------------
|
||||
1 file changed, 33 insertions(+), 33 deletions(-)
|
||||
kernel/rh_messages.h | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/kernel/rh_messages.h b/kernel/rh_messages.h
|
||||
index 2ae3f94ad..52555dbbf 100644
|
||||
index 647d7b9a4..483824c9c 100644
|
||||
--- a/kernel/rh_messages.h
|
||||
+++ b/kernel/rh_messages.h
|
||||
@@ -121,6 +121,39 @@ static const struct pci_device_id rh_deprecated_pci_devices[] = {
|
||||
@@ -123,6 +123,10 @@ static const struct pci_device_id rh_deprecated_pci_devices[] = {
|
||||
};
|
||||
|
||||
static const struct pci_device_id rh_disabled_pci_devices[] = {
|
||||
@ -20,76 +19,20 @@ index 2ae3f94ad..52555dbbf 100644
|
||||
+};
|
||||
+
|
||||
+static const struct pci_device_id rh_unmaintained_pci_devices[] = {
|
||||
+ { 0x10df, 0xe220, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ { 0x10df, 0x0724, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ { 0x10df, 0xe200, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ { 0x10df, 0xf011, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ { 0x10df, 0xf015, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ { 0x10df, 0xf100, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ { 0x10df, 0xfc40, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ { 0x1000, 0x005b, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ { 0x1000, 0x0071, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ { 0x1000, 0x0073, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ { 0x1000, 0x0079, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ { 0x15B3, 0xA2DC, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ { 0x1000, 0x006E, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ { 0x1000, 0x0080, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ { 0x1000, 0x0081, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ { 0x1000, 0x0082, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ { 0x1000, 0x0083, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ { 0x1000, 0x0084, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ { 0x1000, 0x0085, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ { 0x1000, 0x0086, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ { 0x1000, 0x0087, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ { 0x177d, 0xa01e, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ { 0x177d, 0xa034, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ { 0x177d, 0x0011, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ { 0x1077, 0x2031, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ { 0x1077, 0x2532, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ { 0x1077, 0x8031, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ { 0x1924, 0x0803, PCI_ANY_ID, PCI_ANY_ID },
|
||||
+ { 0x1924, 0x0813, PCI_ANY_ID, PCI_ANY_ID },
|
||||
{ 0x1011, 0x0046, 0x103c, 0x10c2 },
|
||||
{ 0x1011, 0x0046, 0x9005, 0x0364 },
|
||||
{ 0x1011, 0x0046, 0x9005, 0x0365 },
|
||||
@@ -273,37 +306,4 @@ static const struct pci_device_id rh_disabled_pci_devices[] = {
|
||||
{0} /* Terminating entry */
|
||||
};
|
||||
|
||||
-static const struct pci_device_id rh_unmaintained_pci_devices[] = {
|
||||
- { 0x10df, 0xe220, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- { 0x10df, 0x0724, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- { 0x10df, 0xe200, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- { 0x10df, 0xf011, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- { 0x10df, 0xf015, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- { 0x10df, 0xf100, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- { 0x10df, 0xfc40, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- { 0x1000, 0x005b, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- { 0x1000, 0x0071, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- { 0x1000, 0x0073, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- { 0x1000, 0x0079, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- { 0x15B3, 0xA2DC, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- { 0x1000, 0x006E, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- { 0x1000, 0x0080, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- { 0x1000, 0x0081, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- { 0x1000, 0x0082, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- { 0x1000, 0x0083, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- { 0x1000, 0x0084, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- { 0x1000, 0x0085, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- { 0x1000, 0x0086, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- { 0x1000, 0x0087, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- { 0x177d, 0xa01e, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- { 0x177d, 0xa034, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- { 0x177d, 0x0011, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- { 0x1077, 0x2031, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- { 0x1077, 0x2532, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- { 0x1077, 0x8031, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- { 0x1924, 0x0803, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- { 0x1924, 0x0813, PCI_ANY_ID, PCI_ANY_ID },
|
||||
@@ -288,10 +292,6 @@ static const struct pci_device_id rh_disabled_pci_devices[] = {
|
||||
{ 0x1077, 0x8022, PCI_ANY_ID, PCI_ANY_ID },
|
||||
{ 0x1077, 0x8032, PCI_ANY_ID, PCI_ANY_ID },
|
||||
{ 0x1077, 0x8042, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- {0} /* Terminating entry */
|
||||
-};
|
||||
-
|
||||
#endif /* __RH_MESSAGES_H */
|
||||
-static const struct pci_device_id rh_unmaintained_pci_devices[] = {
|
||||
{ 0x10df, 0xe220, PCI_ANY_ID, PCI_ANY_ID },
|
||||
{ 0x10df, 0x0724, PCI_ANY_ID, PCI_ANY_ID },
|
||||
{ 0x10df, 0xe200, PCI_ANY_ID, PCI_ANY_ID },
|
||||
--
|
||||
2.27.0
|
||||
2.39.5 (Apple Git-154)
|
||||
|
||||
|
@ -1,32 +0,0 @@
|
||||
From 5c3f4066462a5f6cac04d3dd81c9f551fabbc6c7 Mon Sep 17 00:00:00 2001
|
||||
From: Keith Busch <kbusch@kernel.org>
|
||||
Date: Thu, 12 Oct 2023 11:13:51 -0700
|
||||
Subject: [PATCH] nvme-pci: add BOGUS_NID for Intel 0a54 device
|
||||
|
||||
These ones claim cmic and nmic capable, so need special consideration to ignore
|
||||
their duplicate identifiers.
|
||||
|
||||
Link: https://bugzilla.kernel.org/show_bug.cgi?id=217981
|
||||
Reported-by: welsh@cassens.com
|
||||
Signed-off-by: Keith Busch <kbusch@kernel.org>
|
||||
---
|
||||
drivers/nvme/host/pci.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
|
||||
index 347cb5daebc3..3f0c9ee09a12 100644
|
||||
--- a/drivers/nvme/host/pci.c
|
||||
+++ b/drivers/nvme/host/pci.c
|
||||
@@ -3329,7 +3329,8 @@ static const struct pci_device_id nvme_id_table[] = {
|
||||
{ PCI_VDEVICE(INTEL, 0x0a54), /* Intel P4500/P4600 */
|
||||
.driver_data = NVME_QUIRK_STRIPE_SIZE |
|
||||
NVME_QUIRK_DEALLOCATE_ZEROES |
|
||||
- NVME_QUIRK_IGNORE_DEV_SUBNQN, },
|
||||
+ NVME_QUIRK_IGNORE_DEV_SUBNQN |
|
||||
+ NVME_QUIRK_BOGUS_NID, },
|
||||
{ PCI_VDEVICE(INTEL, 0x0a55), /* Dell Express Flash P4600 */
|
||||
.driver_data = NVME_QUIRK_STRIPE_SIZE |
|
||||
NVME_QUIRK_DEALLOCATE_ZEROES, },
|
||||
--
|
||||
2.27.0
|
||||
|
@ -1,5 +1,5 @@
|
||||
RHEL_MAJOR = 9
|
||||
RHEL_MINOR = 4
|
||||
RHEL_MINOR = 6
|
||||
|
||||
#
|
||||
# RHEL_RELEASE
|
||||
@ -12,7 +12,7 @@ RHEL_MINOR = 4
|
||||
#
|
||||
# Use this spot to avoid future merge conflicts.
|
||||
# Do not trim this comment.
|
||||
RHEL_RELEASE = 427.37.1
|
||||
RHEL_RELEASE = 570.12.1
|
||||
|
||||
#
|
||||
# ZSTREAM
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,12 +0,0 @@
|
||||
diff -aruN linux-5.14.0-362.8.1.el9_3/arch/powerpc/kvm/book3s_64_vio_hv.c linux-5.14.0-362.8.1.el9_3.alma/arch/powerpc/kvm/book3s_64_vio_hv.c
|
||||
--- linux-5.14.0-362.8.1.el9_3/arch/powerpc/kvm/book3s_64_vio_hv.c 2023-11-07 20:57:43
|
||||
+++ linux-5.14.0-362.8.1.el9_3.alma/arch/powerpc/kvm/book3s_64_vio_hv.c 2023-12-07 17:59:41
|
||||
@@ -488,7 +488,7 @@
|
||||
/*
|
||||
* used to check for invalidations in progress
|
||||
*/
|
||||
- mmu_seq = kvm->mmu_notifier_seq;
|
||||
+ mmu_seq = kvm->mmu_invalidate_seq;
|
||||
smp_rmb();
|
||||
|
||||
stt = kvmppc_find_table(vcpu->kvm, liobn);
|
@ -1,66 +0,0 @@
|
||||
From d00ae31fa2fc7ce5ed8d60b9fb10adb5c99a792b Mon Sep 17 00:00:00 2001
|
||||
From: Hugh Dickins <hughd@google.com>
|
||||
Date: Thu, 8 Jun 2023 12:22:39 -0700
|
||||
Subject: [PATCH] powerpc: kvmppc_unmap_free_pmd() pte_offset_kernel()
|
||||
|
||||
kvmppc_unmap_free_pmd() use pte_offset_kernel(), like everywhere else
|
||||
in book3s_64_mmu_radix.c: instead of pte_offset_map(), which will come
|
||||
to need a pte_unmap() to balance it.
|
||||
|
||||
But note that this is a more complex case than most: see those -EAGAINs
|
||||
in kvmppc_create_pte(), which is coping with kvmppc races beween page
|
||||
table and huge entry, of the kind which we are expecting to address
|
||||
in pte_offset_map() - this might want to be revisited in future.
|
||||
|
||||
Link: https://lkml.kernel.org/r/c76aa421-aec3-4cc8-cc61-4130f2e27e1@google.com
|
||||
Signed-off-by: Hugh Dickins <hughd@google.com>
|
||||
Cc: Alexander Gordeev <agordeev@linux.ibm.com>
|
||||
Cc: Alexandre Ghiti <alexghiti@rivosinc.com>
|
||||
Cc: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
|
||||
Cc: Catalin Marinas <catalin.marinas@arm.com>
|
||||
Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
|
||||
Cc: Chris Zankel <chris@zankel.net>
|
||||
Cc: Claudio Imbrenda <imbrenda@linux.ibm.com>
|
||||
Cc: David Hildenbrand <david@redhat.com>
|
||||
Cc: "David S. Miller" <davem@davemloft.net>
|
||||
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
|
||||
Cc: Greg Ungerer <gerg@linux-m68k.org>
|
||||
Cc: Heiko Carstens <hca@linux.ibm.com>
|
||||
Cc: Helge Deller <deller@gmx.de>
|
||||
Cc: "H. Peter Anvin" <hpa@zytor.com>
|
||||
Cc: Ingo Molnar <mingo@kernel.org>
|
||||
Cc: John David Anglin <dave.anglin@bell.net>
|
||||
Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
|
||||
Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
|
||||
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
|
||||
Cc: Max Filippov <jcmvbkbc@gmail.com>
|
||||
Cc: Michael Ellerman <mpe@ellerman.id.au>
|
||||
Cc: Michal Simek <monstr@monstr.eu>
|
||||
Cc: Mike Kravetz <mike.kravetz@oracle.com>
|
||||
Cc: Mike Rapoport (IBM) <rppt@kernel.org>
|
||||
Cc: Palmer Dabbelt <palmer@dabbelt.com>
|
||||
Cc: Peter Zijlstra <peterz@infradead.org>
|
||||
Cc: Qi Zheng <zhengqi.arch@bytedance.com>
|
||||
Cc: Russell King <linux@armlinux.org.uk>
|
||||
Cc: Suren Baghdasaryan <surenb@google.com>
|
||||
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
|
||||
Cc: Thomas Gleixner <tglx@linutronix.de>
|
||||
Cc: Will Deacon <will@kernel.org>
|
||||
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
|
||||
---
|
||||
arch/powerpc/kvm/book3s_64_mmu_radix.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/powerpc/kvm/book3s_64_mmu_radix.c b/arch/powerpc/kvm/book3s_64_mmu_radix.c
|
||||
index 461307b89c3a0a..572707858d65d4 100644
|
||||
--- a/arch/powerpc/kvm/book3s_64_mmu_radix.c
|
||||
+++ b/arch/powerpc/kvm/book3s_64_mmu_radix.c
|
||||
@@ -509,7 +509,7 @@ static void kvmppc_unmap_free_pmd(struct kvm *kvm, pmd_t *pmd, bool full,
|
||||
} else {
|
||||
pte_t *pte;
|
||||
|
||||
- pte = pte_offset_map(p, 0);
|
||||
+ pte = pte_offset_kernel(p, 0);
|
||||
kvmppc_unmap_free_pte(kvm, pte, full, lpid);
|
||||
pmd_clear(p);
|
||||
}
|
@ -12,11 +12,19 @@ dracutmodules+=" base systemd systemd-initrd dracut-systemd dbus dbus-broker usr
|
||||
dracutmodules+=" dm lvm rootfs-block fs-lib "
|
||||
|
||||
# modules: tpm and crypto
|
||||
dracutmodules+=" crypt crypt-loop tpm2-tss "
|
||||
dracutmodules+=" crypt crypt-loop tpm2-tss systemd-pcrphase "
|
||||
|
||||
# WALinuxagent-cvm with CVM specific udev rules
|
||||
dracutmodules+=" walinuxagentcvm "
|
||||
|
||||
# modules: root disk integrity protection
|
||||
dracutmodules+=" systemd-veritysetup "
|
||||
|
||||
# modules: FIPS
|
||||
dracutmodules+=" fips "
|
||||
# FIPS mode requires early crypto drivers test
|
||||
drivers+=" =crypto "
|
||||
|
||||
# drivers: virtual buses, pci
|
||||
drivers+=" virtio-pci virtio-mmio " # qemu-kvm
|
||||
drivers+=" hv-vmbus pci-hyperv " # hyperv
|
||||
@ -31,8 +39,8 @@ drivers+=" xen-blkfront " # xen
|
||||
# root encryption
|
||||
drivers+=" dm_crypt "
|
||||
|
||||
# root disk integrity protection
|
||||
drivers+=" dm_verity overlay "
|
||||
|
||||
# filesystems
|
||||
filesystems+=" vfat ext4 xfs overlay "
|
||||
|
||||
# systemd-pcrphase
|
||||
install_items+=" /lib/systemd/system/systemd-pcrphase-initrd.service /usr/lib/systemd/systemd-pcrphase /usr/lib/systemd/system/initrd.target.wants/systemd-pcrphase-initrd.service "
|
||||
|
@ -14,7 +14,7 @@
|
||||
# listed here.
|
||||
|
||||
# Overrides is individual modules which need to remain in kernel-core due to deps.
|
||||
overrides="cec isst_if_common isst_tpmi_core isst_tpmi intel_vsec intel_vsec_tpmi"
|
||||
overrides="cec isst_if_common isst_tpmi_core isst_tpmi intel_vsec intel_vsec_tpmi wmi"
|
||||
|
||||
# Set the default dirs/modules to filter out
|
||||
driverdirs="atm auxdisplay bcma bluetooth firewire fmc iio infiniband isdn leds media memstick mfd mmc mtd nfc ntb pcmcia platform power ssb staging tty uio uwb w1"
|
||||
@ -33,13 +33,13 @@ scsidrvs="aacraid aic7xxx aic94xx be2iscsi bfa bnx2i bnx2fc csiostor cxgbi esas2
|
||||
|
||||
usbdrvs="atm image misc serial wusbcore"
|
||||
|
||||
fsdrvs="affs befs smb coda cramfs ecryptfs hfs hfsplus jfs minix ncpfs nilfs2 ocfs2 reiserfs romfs squashfs sysv ubifs ufs"
|
||||
fsdrvs="affs befs smb coda cramfs ecryptfs hfs hfsplus jfs minix ncpfs nilfs2 ocfs2 reiserfs romfs sysv ubifs ufs"
|
||||
|
||||
netprots="6lowpan appletalk atm ax25 batman-adv bluetooth can dccp dsa ieee802154 irda l2tp mac80211 mac802154 mpls netrom nfc rds rfkill rose sctp smc wireless"
|
||||
|
||||
drmdrvs="amd ast gma500 i2c i915 mgag200 nouveau radeon via "
|
||||
drmdrvs="amd ast gma500 i2c i915 mgag200 nouveau radeon via xe"
|
||||
|
||||
singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject hid-sensor-hub target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls parport_serial ism regmap-sdw regmap-sdw-mbq arizona-micsupp hid-asus nct6775 ntc_thermistor video"
|
||||
singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject hid-sensor-hub target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls parport_serial ism regmap-sdw regmap-sdw-mbq arizona-micsupp hid-asus nct6775 ntc_thermistor"
|
||||
|
||||
# Grab the arch-specific filter list overrides
|
||||
source ./filter-$2.sh
|
||||
|
@ -3,10 +3,16 @@ product_versions:
|
||||
- rhel-9
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: cki.tier1-aarch64.functional}
|
||||
- !PassingTestCaseRule {test_case_name: cki.tier1-ppc64le.functional}
|
||||
- !PassingTestCaseRule {test_case_name: cki.tier1-s390x.functional}
|
||||
- !PassingTestCaseRule {test_case_name: cki.tier1-x86_64.functional}
|
||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-64k-aarch64.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-aarch64.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-debug-x86_64.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-ppc64le.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-rt-64k-aarch64.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-rt-aarch64.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-rt-debug-x86_64.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-rt-x86_64.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-s390x.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-x86_64.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: s1-aws-ci_x86_64.brew-build.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: s1-aws-ci_aarch64.brew-build.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: s1-azure-ci_x86_64.brew-build.tier1.functional}
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
7502
SOURCES/kernel-aarch64-rt-64k-debug-rhel.config
Normal file
7502
SOURCES/kernel-aarch64-rt-64k-debug-rhel.config
Normal file
File diff suppressed because it is too large
Load Diff
7478
SOURCES/kernel-aarch64-rt-64k-rhel.config
Normal file
7478
SOURCES/kernel-aarch64-rt-64k-rhel.config
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
6689
SOURCES/kernel-ppc64le-kvm-rhel.config
Normal file
6689
SOURCES/kernel-ppc64le-kvm-rhel.config
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
129219
SOURCES/kernel.changelog
Normal file
129219
SOURCES/kernel.changelog
Normal file
File diff suppressed because it is too large
Load Diff
@ -119,19 +119,6 @@ rds.ko
|
||||
rds_rdma.ko
|
||||
rds_tcp.ko
|
||||
rose.ko
|
||||
sch_atm.ko
|
||||
sch_cbq.ko
|
||||
sch_choke.ko
|
||||
sch_drr.ko
|
||||
sch_dsmark.ko
|
||||
sch_gred.ko
|
||||
sch_mqprio.ko
|
||||
sch_multiq.ko
|
||||
sch_netem.ko
|
||||
sch_qfq.ko
|
||||
sch_red.ko
|
||||
sch_sfb.ko
|
||||
sch_teql.ko
|
||||
sctp.ko
|
||||
sctp_diag.ko
|
||||
sctp_probe.ko
|
||||
@ -158,6 +145,7 @@ tcp_veno.ko
|
||||
tcp_westwood.ko
|
||||
tcp_yeah.ko
|
||||
tekram-sir.ko
|
||||
test_lockup.ko
|
||||
tmdc.ko
|
||||
toim3232-sir.ko
|
||||
trancevibrator.ko
|
||||
@ -166,11 +154,8 @@ twidjoy.ko
|
||||
ubifs.ko
|
||||
ufs.ko
|
||||
umc.ko
|
||||
usbip-core.ko
|
||||
usbip-host.ko
|
||||
uwb.ko
|
||||
vcan.ko
|
||||
vhci-hcd.ko
|
||||
w1_bq27000.ko
|
||||
w1_ds2408.ko
|
||||
w1_ds2423.ko
|
||||
|
@ -13,6 +13,7 @@ qos-test
|
||||
resource_kunit
|
||||
soc-topology-test
|
||||
soc-utils-test
|
||||
soc-card-test
|
||||
string-stream-test
|
||||
test_linear_ranges
|
||||
test_bits
|
||||
@ -39,6 +40,7 @@ test_klp_callbacks_busy
|
||||
test_klp_callbacks_mod
|
||||
test_klp_livepatch
|
||||
test_klp_shadow_vars
|
||||
test_klp_syscall
|
||||
test_klp_state
|
||||
test_klp_state2
|
||||
test_klp_state3
|
||||
@ -68,6 +70,8 @@ drm_dp_mst_helper_test
|
||||
drm_format_helper_test
|
||||
drm_format_test
|
||||
drm_framebuffer_test
|
||||
drm_gem_shmem_test
|
||||
drm_hdmi_state_helper_test
|
||||
drm_kunit_helpers
|
||||
drm_mm_test
|
||||
drm_plane_helper_test
|
||||
@ -89,3 +93,13 @@ regmap-kunit
|
||||
cfg80211-tests
|
||||
mac80211-tests
|
||||
wwan_hwsim
|
||||
checksum_kunit
|
||||
arm-smmu-v3-test
|
||||
iwlwifi-tests
|
||||
iwlmvm-tests
|
||||
sound_kunit
|
||||
amd-pstate-ut
|
||||
ptp_mock
|
||||
usbip-core
|
||||
usbip-host
|
||||
vhci-hcd
|
||||
|
@ -1,7 +1,7 @@
|
||||
From eaaaed137eccb9e8f3a88f6297e214f53885196f Mon Sep 17 00:00:00 2001
|
||||
From 524ab50336b1190547ceb8074260a1fbebfee0be Mon Sep 17 00:00:00 2001
|
||||
From: Sean Christopherson <seanjc@google.com>
|
||||
Date: Mon, 6 Dec 2021 20:54:14 +0100
|
||||
Subject: [PATCH] KVM: PPC: Avoid referencing userspace memory region in
|
||||
Subject: [PATCH 1/3] KVM: PPC: Avoid referencing userspace memory region in
|
||||
memslot updates
|
||||
|
||||
For PPC HV, get the number of pages directly from the new memslot instead
|
||||
@ -25,10 +25,10 @@ Message-Id: <1e97fb5198be25f98ef82e63a8d770c682264cc9.1638817639.git.maciej.szmi
|
||||
6 files changed, 7 insertions(+), 23 deletions(-)
|
||||
|
||||
diff --git a/arch/powerpc/include/asm/kvm_ppc.h b/arch/powerpc/include/asm/kvm_ppc.h
|
||||
index b01760dd1374df..935c58dc38c493 100644
|
||||
index 5c80c4955..6874cd89d 100644
|
||||
--- a/arch/powerpc/include/asm/kvm_ppc.h
|
||||
+++ b/arch/powerpc/include/asm/kvm_ppc.h
|
||||
@@ -200,12 +200,10 @@ extern void kvmppc_core_destroy_vm(struct kvm *kvm);
|
||||
@@ -199,12 +199,10 @@ extern void kvmppc_core_destroy_vm(struct kvm *kvm);
|
||||
extern void kvmppc_core_free_memslot(struct kvm *kvm,
|
||||
struct kvm_memory_slot *slot);
|
||||
extern int kvmppc_core_prepare_memory_region(struct kvm *kvm,
|
||||
@ -41,7 +41,7 @@ index b01760dd1374df..935c58dc38c493 100644
|
||||
struct kvm_memory_slot *old,
|
||||
const struct kvm_memory_slot *new,
|
||||
enum kvm_mr_change change);
|
||||
@@ -275,12 +273,10 @@ struct kvmppc_ops {
|
||||
@@ -274,12 +272,10 @@ struct kvmppc_ops {
|
||||
int (*get_dirty_log)(struct kvm *kvm, struct kvm_dirty_log *log);
|
||||
void (*flush_memslot)(struct kvm *kvm, struct kvm_memory_slot *memslot);
|
||||
int (*prepare_memory_region)(struct kvm *kvm,
|
||||
@ -55,7 +55,7 @@ index b01760dd1374df..935c58dc38c493 100644
|
||||
const struct kvm_memory_slot *new,
|
||||
enum kvm_mr_change change);
|
||||
diff --git a/arch/powerpc/kvm/book3s.c b/arch/powerpc/kvm/book3s.c
|
||||
index 8250e8308674c7..6d525285dbe8f2 100644
|
||||
index 64fd4b3ea..cb7b5f365 100644
|
||||
--- a/arch/powerpc/kvm/book3s.c
|
||||
+++ b/arch/powerpc/kvm/book3s.c
|
||||
@@ -847,21 +847,19 @@ void kvmppc_core_flush_memslot(struct kvm *kvm, struct kvm_memory_slot *memslot)
|
||||
@ -83,10 +83,10 @@ index 8250e8308674c7..6d525285dbe8f2 100644
|
||||
|
||||
bool kvm_unmap_gfn_range(struct kvm *kvm, struct kvm_gfn_range *range)
|
||||
diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c
|
||||
index d7594d49d288a3..2b59ecc5f8c698 100644
|
||||
index 9c3c9fd5e..7f4c188f3 100644
|
||||
--- a/arch/powerpc/kvm/book3s_hv.c
|
||||
+++ b/arch/powerpc/kvm/book3s_hv.c
|
||||
@@ -4854,15 +4854,12 @@ static void kvmppc_core_free_memslot_hv(struct kvm_memory_slot *slot)
|
||||
@@ -4777,15 +4777,12 @@ static void kvmppc_core_free_memslot_hv(struct kvm_memory_slot *slot)
|
||||
}
|
||||
|
||||
static int kvmppc_core_prepare_memory_region_hv(struct kvm *kvm,
|
||||
@ -103,7 +103,7 @@ index d7594d49d288a3..2b59ecc5f8c698 100644
|
||||
sizeof(*new->arch.rmap)));
|
||||
if (!new->arch.rmap)
|
||||
return -ENOMEM;
|
||||
@@ -4874,20 +4871,17 @@ static int kvmppc_core_prepare_memory_region_hv(struct kvm *kvm,
|
||||
@@ -4797,20 +4794,17 @@ static int kvmppc_core_prepare_memory_region_hv(struct kvm *kvm,
|
||||
}
|
||||
|
||||
static void kvmppc_core_commit_memory_region_hv(struct kvm *kvm,
|
||||
@ -127,10 +127,10 @@ index d7594d49d288a3..2b59ecc5f8c698 100644
|
||||
|
||||
/*
|
||||
diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch/powerpc/kvm/book3s_pr.c
|
||||
index ffb559cf25f435..30426e8c8cf66b 100644
|
||||
index 7891b9d0c..c0ae926af 100644
|
||||
--- a/arch/powerpc/kvm/book3s_pr.c
|
||||
+++ b/arch/powerpc/kvm/book3s_pr.c
|
||||
@@ -1899,7 +1899,6 @@ static void kvmppc_core_flush_memslot_pr(struct kvm *kvm,
|
||||
@@ -1892,7 +1892,6 @@ static void kvmppc_core_flush_memslot_pr(struct kvm *kvm,
|
||||
}
|
||||
|
||||
static int kvmppc_core_prepare_memory_region_pr(struct kvm *kvm,
|
||||
@ -138,7 +138,7 @@ index ffb559cf25f435..30426e8c8cf66b 100644
|
||||
const struct kvm_memory_slot *old,
|
||||
struct kvm_memory_slot *new,
|
||||
enum kvm_mr_change change)
|
||||
@@ -1908,7 +1907,6 @@ static int kvmppc_core_prepare_memory_region_pr(struct kvm *kvm,
|
||||
@@ -1901,7 +1900,6 @@ static int kvmppc_core_prepare_memory_region_pr(struct kvm *kvm,
|
||||
}
|
||||
|
||||
static void kvmppc_core_commit_memory_region_pr(struct kvm *kvm,
|
||||
@ -147,10 +147,10 @@ index ffb559cf25f435..30426e8c8cf66b 100644
|
||||
const struct kvm_memory_slot *new,
|
||||
enum kvm_mr_change change)
|
||||
diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c
|
||||
index 93c2ac2bee0913..53b4c9597c303e 100644
|
||||
index b06ca6646..6cf2db284 100644
|
||||
--- a/arch/powerpc/kvm/booke.c
|
||||
+++ b/arch/powerpc/kvm/booke.c
|
||||
@@ -1821,7 +1821,6 @@ void kvmppc_core_free_memslot(struct kvm *kvm, struct kvm_memory_slot *slot)
|
||||
@@ -1806,7 +1806,6 @@ void kvmppc_core_free_memslot(struct kvm *kvm, struct kvm_memory_slot *slot)
|
||||
}
|
||||
|
||||
int kvmppc_core_prepare_memory_region(struct kvm *kvm,
|
||||
@ -158,7 +158,7 @@ index 93c2ac2bee0913..53b4c9597c303e 100644
|
||||
const struct kvm_memory_slot *old,
|
||||
struct kvm_memory_slot *new,
|
||||
enum kvm_mr_change change)
|
||||
@@ -1830,7 +1829,6 @@ int kvmppc_core_prepare_memory_region(struct kvm *kvm,
|
||||
@@ -1815,7 +1814,6 @@ int kvmppc_core_prepare_memory_region(struct kvm *kvm,
|
||||
}
|
||||
|
||||
void kvmppc_core_commit_memory_region(struct kvm *kvm,
|
||||
@ -167,10 +167,10 @@ index 93c2ac2bee0913..53b4c9597c303e 100644
|
||||
const struct kvm_memory_slot *new,
|
||||
enum kvm_mr_change change)
|
||||
diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c
|
||||
index e875874cf8367d..575140ecb23c82 100644
|
||||
index 818815e15..f8f39a858 100644
|
||||
--- a/arch/powerpc/kvm/powerpc.c
|
||||
+++ b/arch/powerpc/kvm/powerpc.c
|
||||
@@ -703,7 +703,7 @@ int kvm_arch_prepare_memory_region(struct kvm *kvm,
|
||||
@@ -686,7 +686,7 @@ int kvm_arch_prepare_memory_region(struct kvm *kvm,
|
||||
struct kvm_memory_slot *new,
|
||||
enum kvm_mr_change change)
|
||||
{
|
||||
@ -179,7 +179,7 @@ index e875874cf8367d..575140ecb23c82 100644
|
||||
}
|
||||
|
||||
void kvm_arch_commit_memory_region(struct kvm *kvm,
|
||||
@@ -712,7 +712,7 @@ void kvm_arch_commit_memory_region(struct kvm *kvm,
|
||||
@@ -694,7 +694,7 @@ void kvm_arch_commit_memory_region(struct kvm *kvm,
|
||||
const struct kvm_memory_slot *new,
|
||||
enum kvm_mr_change change)
|
||||
{
|
||||
@ -188,3 +188,32 @@ index e875874cf8367d..575140ecb23c82 100644
|
||||
}
|
||||
|
||||
void kvm_arch_flush_shadow_memslot(struct kvm *kvm,
|
||||
--
|
||||
2.39.5 (Apple Git-154)
|
||||
|
||||
|
||||
From 8c62d250a23bbbb1ecd84d4d475e7623810275aa Mon Sep 17 00:00:00 2001
|
||||
From: eabdullin <eabdullin@almalinux.org>
|
||||
Date: Tue, 8 Apr 2025 10:13:43 +0300
|
||||
Subject: [PATCH 3/3] powerpc/kvm: use mmu_invalidate_seq instead of
|
||||
mmu_notifier_seq
|
||||
|
||||
---
|
||||
arch/powerpc/kvm/book3s_64_vio_hv.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/powerpc/kvm/book3s_64_vio_hv.c b/arch/powerpc/kvm/book3s_64_vio_hv.c
|
||||
index f38dfe195..16e5872a1 100644
|
||||
--- a/arch/powerpc/kvm/book3s_64_vio_hv.c
|
||||
+++ b/arch/powerpc/kvm/book3s_64_vio_hv.c
|
||||
@@ -488,7 +488,7 @@ long kvmppc_rm_h_put_tce_indirect(struct kvm_vcpu *vcpu,
|
||||
/*
|
||||
* used to check for invalidations in progress
|
||||
*/
|
||||
- mmu_seq = kvm->mmu_notifier_seq;
|
||||
+ mmu_seq = kvm->mmu_invalidate_seq;
|
||||
smp_rmb();
|
||||
|
||||
stt = kvmppc_find_table(vcpu->kvm, liobn);
|
||||
--
|
||||
2.39.5 (Apple Git-154)
|
@ -36,6 +36,7 @@ runpath:
|
||||
ignore:
|
||||
- /usr/libexec/kselftests/bpf/urandom_read
|
||||
- /usr/libexec/kselftests/bpf/no_alu32/urandom_read
|
||||
- /usr/libexec/kselftests/bpf/cpuv4/urandom_read
|
||||
|
||||
debuginfo:
|
||||
ignore:
|
||||
|
Binary file not shown.
45
SOURCES/uki_addons.json
Normal file
45
SOURCES/uki_addons.json
Normal file
@ -0,0 +1,45 @@
|
||||
{
|
||||
"virt": {
|
||||
"rhel": {
|
||||
"aarch64": {
|
||||
"crashkernel-default.addon": [
|
||||
"crashkernel=1G-4G:256M,4G-64G:320M,64G-:576M\n"
|
||||
]
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"fips-enable.addon": [
|
||||
"fips=1\n"
|
||||
],
|
||||
"fips-disable.addon": [
|
||||
"fips=0\n"
|
||||
]
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"crashkernel-512M.addon": [
|
||||
"crashkernel=512M\n"
|
||||
],
|
||||
"crashkernel-192M.addon": [
|
||||
"crashkernel=192M\n"
|
||||
],
|
||||
"crashkernel-2G.addon": [
|
||||
"crashkernel=2G\n"
|
||||
],
|
||||
"crashkernel-1536M.addon": [
|
||||
"crashkernel=1536M\n"
|
||||
],
|
||||
"debug.addon": [
|
||||
"debug\n"
|
||||
],
|
||||
"crashkernel-1G.addon": [
|
||||
"crashkernel=1G\n"
|
||||
],
|
||||
"crashkernel-256M.addon": [
|
||||
"crashkernel=256M\n"
|
||||
],
|
||||
"crashkernel-default.addon": [
|
||||
"crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M\n"
|
||||
]
|
||||
}
|
||||
}
|
151
SOURCES/uki_create_addons.py
Executable file
151
SOURCES/uki_create_addons.py
Executable file
@ -0,0 +1,151 @@
|
||||
#!/usr/bin/env python3
|
||||
#
|
||||
# This script inspects a given json proving a list of addons, and
|
||||
# creates an addon for each key/value pair matching the given uki, distro and
|
||||
# arch provided in input.
|
||||
#
|
||||
# Usage: python uki_create_addons.py input_json out_dir uki distro arch
|
||||
#
|
||||
# This tool requires the systemd-ukify and systemd-boot packages.
|
||||
#
|
||||
# Addon file
|
||||
#-----------
|
||||
# Each addon terminates with .addon
|
||||
# Each addon contains only two types of lines:
|
||||
# Lines beginning with '#' are description and thus ignored
|
||||
# All other lines are command line to be added.
|
||||
# The name of the end resulting addon is taken from the json hierarchy.
|
||||
# For example, and addon in json['virt']['rhel']['x86_64']['hello.addon'] will
|
||||
# result in an UKI addon file generated in out_dir called
|
||||
# hello-virt.rhel.x86_64.addon.efi
|
||||
#
|
||||
# The common key, present in any sub-dict in the provided json (except the leaf dict)
|
||||
# is used as place for default addons when the same addon is not defined deep
|
||||
# in the hierarchy. For example, if we define test.addon (text: 'test1\n') in
|
||||
# json['common']['test.addon'] = ['test1\n'] and another test.addon (text: test2) in
|
||||
# json['virt']['common']['test.addon'] = ['test2'], any other uki except virt
|
||||
# will have a test.addon.efi with text "test1", and virt will have a
|
||||
# test.addon.efi with "test2"
|
||||
#
|
||||
# sbat.conf
|
||||
#----------
|
||||
# This dict is containing the sbat string for *all* addons being created.
|
||||
# This dict is optional, but when used has to be put in a sub-dict with
|
||||
# { 'sbat' : { 'sbat.conf' : ['your text here'] }}
|
||||
# It follows the same syntax as the addon files, meaning '#' is comment and
|
||||
# the rest is taken as sbat string and feed to ukify.
|
||||
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import collections
|
||||
import subprocess
|
||||
|
||||
|
||||
UKIFY_PATH = '/usr/lib/systemd/ukify'
|
||||
|
||||
def usage(err):
|
||||
print(f'Usage: {os.path.basename(__file__)} input_json output_dir uki distro arch')
|
||||
print(f'Error:{err}')
|
||||
sys.exit(1)
|
||||
|
||||
def check_clean_arguments(input_json, out_dir):
|
||||
# Remove end '/'
|
||||
if out_dir[-1:] == '/':
|
||||
out_dir = out_dir[:-1]
|
||||
if not os.path.isfile(input_json):
|
||||
usage(f'input_json {input_json} is not a file, or does not exist!')
|
||||
if not os.path.isdir(out_dir):
|
||||
usage(f'out_dir_dir {out_dir} is not a dir, or does not exist!')
|
||||
return out_dir
|
||||
|
||||
UKICmdlineAddon = collections.namedtuple('UKICmdlineAddon', ['name', 'cmdline'])
|
||||
uki_addons_list = []
|
||||
uki_addons = {}
|
||||
addon_sbat_string = None
|
||||
|
||||
def parse_lines(lines, rstrip=True):
|
||||
cmdline = ''
|
||||
for l in lines:
|
||||
l = l.lstrip()
|
||||
if not l:
|
||||
continue
|
||||
if l[0] == '#':
|
||||
continue
|
||||
# rstrip is used only for addons cmdline, not sbat.conf, as it replaces
|
||||
# return lines with spaces.
|
||||
if rstrip:
|
||||
l = l.rstrip() + ' '
|
||||
cmdline += l
|
||||
if cmdline == '':
|
||||
return ''
|
||||
return cmdline
|
||||
|
||||
def parse_all_addons(in_obj):
|
||||
global addon_sbat_string
|
||||
|
||||
for el in in_obj.keys():
|
||||
# addon found: copy it in our global dict uki_addons
|
||||
if el.endswith('.addon'):
|
||||
uki_addons[el] = in_obj[el]
|
||||
|
||||
if 'sbat' in in_obj and 'sbat.conf' in in_obj['sbat']:
|
||||
# sbat.conf found: override sbat with the most specific one found
|
||||
addon_sbat_string = parse_lines(in_obj['sbat']['sbat.conf'], rstrip=False)
|
||||
|
||||
def recursively_find_addons(in_obj, folder_list):
|
||||
# end of recursion, leaf directory. Search all addons here
|
||||
if len(folder_list) == 0:
|
||||
parse_all_addons(in_obj)
|
||||
return
|
||||
|
||||
# first, check for common folder
|
||||
if 'common' in in_obj:
|
||||
parse_all_addons(in_obj['common'])
|
||||
|
||||
# second, check if there is a match with the searched folder
|
||||
if folder_list[0] in in_obj:
|
||||
folder_next = in_obj[folder_list[0]]
|
||||
folder_list = folder_list[1:]
|
||||
recursively_find_addons(folder_next, folder_list)
|
||||
|
||||
def parse_in_json(in_json, uki_name, distro, arch):
|
||||
with open(in_json, 'r') as f:
|
||||
in_obj = json.load(f)
|
||||
recursively_find_addons(in_obj, [uki_name, distro, arch])
|
||||
|
||||
for addon_name, cmdline in uki_addons.items():
|
||||
addon_name = addon_name.replace(".addon","")
|
||||
addon_full_name = f'{addon_name}-{uki_name}.{distro}.{arch}.addon.efi'
|
||||
cmdline = parse_lines(cmdline).rstrip()
|
||||
if cmdline:
|
||||
uki_addons_list.append(UKICmdlineAddon(addon_full_name, cmdline))
|
||||
|
||||
def create_addons(out_dir):
|
||||
for uki_addon in uki_addons_list:
|
||||
out_path = os.path.join(out_dir, uki_addon.name)
|
||||
cmd = [
|
||||
f'{UKIFY_PATH}', 'build',
|
||||
'--cmdline', uki_addon.cmdline,
|
||||
'--output', out_path]
|
||||
if addon_sbat_string:
|
||||
cmd.extend(['--sbat', addon_sbat_string.rstrip()])
|
||||
|
||||
subprocess.check_call(cmd, text=True)
|
||||
|
||||
if __name__ == "__main__":
|
||||
argc = len(sys.argv) - 1
|
||||
if argc != 5:
|
||||
usage('too few or too many parameters!')
|
||||
|
||||
input_json = sys.argv[1]
|
||||
out_dir = sys.argv[2]
|
||||
uki_name = sys.argv[3]
|
||||
distro = sys.argv[4]
|
||||
arch = sys.argv[5]
|
||||
|
||||
out_dir = check_clean_arguments(input_json, out_dir)
|
||||
parse_in_json(input_json, uki_name, distro, arch)
|
||||
create_addons(out_dir)
|
||||
|
||||
|
103829
SPECS/kernel.spec
103829
SPECS/kernel.spec
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user