diff --git a/0576-efi-http-change-uint32_t-to-uintn_t-for-grub_efi_htt.patch b/0576-efi-http-change-uint32_t-to-uintn_t-for-grub_efi_htt.patch new file mode 100644 index 0000000000000000000000000000000000000000..65ac476ebfc3879aa6b969835fc1429bd7cdaa63 --- /dev/null +++ b/0576-efi-http-change-uint32_t-to-uintn_t-for-grub_efi_htt.patch @@ -0,0 +1,30 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Matt Hsiao +Date: Mon, 24 Apr 2023 13:39:05 +0800 +Subject: [PATCH] efi/http: change uint32_t to uintn_t for + grub_efi_http_message_t + +Modify UINT32 to UINTN in EFI_HTTP_MESSAGE to be UEFI 2.9 compliant. + +Signed-off-by: Matt Hsiao +Signed-off-by: Nicolas Frayer +--- + include/grub/efi/http.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/include/grub/efi/http.h b/include/grub/efi/http.h +index c5e9a89f5050..ad164ba1913d 100644 +--- a/include/grub/efi/http.h ++++ b/include/grub/efi/http.h +@@ -171,9 +171,9 @@ typedef struct { + grub_efi_http_request_data_t *request; + grub_efi_http_response_data_t *response; + } data; +- grub_efi_uint32_t header_count; ++ grub_efi_uintn_t header_count; + grub_efi_http_header_t *headers; +- grub_efi_uint32_t body_length; ++ grub_efi_uintn_t body_length; + void *body; + } grub_efi_http_message_t; + diff --git a/0577-ieee1275-Converting-plain-numbers-to-constants-in-Ve.patch b/0577-ieee1275-Converting-plain-numbers-to-constants-in-Ve.patch new file mode 100644 index 0000000000000000000000000000000000000000..ce3e113f0971ca30d4e13e85b7d59a5cb0068f64 --- /dev/null +++ b/0577-ieee1275-Converting-plain-numbers-to-constants-in-Ve.patch @@ -0,0 +1,46 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Avnish Chouhan +Date: Thu, 23 Mar 2023 08:16:25 -0400 +Subject: [PATCH] ieee1275 : Converting plain numbers to constants in Vec5 + +This patch converts the plain numbers used in Vec5 properties to +constants. + +1. LPAR : Client program supports logical partitioning and + associated hcall()s. +2. SPLPAR : Client program supports the Shared + Processor LPAR Option. +3. CMO : Enables the Cooperative Memory Over-commitment Option. +4. MAX_CPU : Defines maximum number of CPUs supported. + +Signed-off-by: Avnish Chouhan +--- + grub-core/kern/ieee1275/init.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/grub-core/kern/ieee1275/init.c b/grub-core/kern/ieee1275/init.c +index 3ea9b73b2a59..2516e02091cb 100644 +--- a/grub-core/kern/ieee1275/init.c ++++ b/grub-core/kern/ieee1275/init.c +@@ -56,6 +56,12 @@ extern char _end[]; + grub_addr_t grub_ieee1275_original_stack; + #endif + ++#define LPAR 0x80 ++#define SPLPAR 0x40 ++#define BYTE2 (LPAR | SPLPAR) ++#define CMO 0x80 ++#define MAX_CPU 256 ++ + void + grub_exit (int rc __attribute__((unused))) + { +@@ -372,7 +378,7 @@ grub_ieee1275_ibm_cas (void) + .vec4 = 0x0001, // set required minimum capacity % to the lowest value + .vec5_size = 1 + sizeof(struct option_vector5) - 2, + .vec5 = { +- 0, 192, 0, 128, 0, 0, 0, 0, 256 ++ 0, BYTE2, 0, CMO, 0, 0, 0, 0, MAX_CPU + } + }; + diff --git a/0578-ieee1275-extended-support-in-options-vector5.patch b/0578-ieee1275-extended-support-in-options-vector5.patch new file mode 100644 index 0000000000000000000000000000000000000000..48b224c149c642890bdd2a5b6734cb25206d9b44 --- /dev/null +++ b/0578-ieee1275-extended-support-in-options-vector5.patch @@ -0,0 +1,125 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Avnish Chouhan +Date: Thu, 23 Mar 2023 08:33:12 -0400 +Subject: [PATCH] ieee1275 : extended support in options vector5 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This patch enables the multiple options in Options Vector5 which are +required and solves the boot issue seen on some machines which are looking for these specific options. + +1. LPAR : Client program supports logical partitioning and + associated hcall()s. +2. SPLPAR : Client program supports the Shared + Processor LPAR Option. +3. DYN_RCON_MEM : Client program supports the + “ibm,dynamic-reconfiguration-memory” property and it may be + presented in the device tree. +4. LARGE_PAGES : Client supports pages larger than 4 KB. +5. DONATE_DCPU_CLS : Client supports donating dedicated processor cycles. +6. PCI_EXP : Client supports PCI Express implementations + utilizing Message Signaled Interrupts (MSIs). + +7. CMOC : Enables the Cooperative Memory Over-commitment Option. +8. EXT_CMO : Enables the Extended Cooperative Memory Over-commit + Option. + +9. ASSOC_REF : Enables “ibm,associativity” and + “ibm,associativity-reference-points” properties. +10. AFFINITY : Enables Platform Resource Reassignment Notification. +11. NUMA : Supports NUMA Distance Lookup Table Option. + +12. HOTPLUG_INTRPT : Supports Hotplug Interrupts. +13. HPT_RESIZE : Enable Hash Page Table Resize Option. + +14. MAX_CPU : Defines maximum number of CPUs supported. + +15. PFO_HWRNG : Supports Random Number Generator. +16. PFO_HW_COMP : Supports Compression Engine. +17. PFO_ENCRYPT : Supports Encryption Engine. + +18. SUB_PROCESSORS : Supports Sub-Processors. + +19. DY_MEM_V2 : Client program supports the “ibm,dynamic-memory-v2” property in the + “ibm,dynamic-reconfiguration-memory” node and it may be presented in the device tree. +20. DRC_INFO : Client program supports the “ibm,drc-info” property definition and it may be + presented in the device tree. + +Signed-off-by: Avnish Chouhan +--- + grub-core/kern/ieee1275/init.c | 47 ++++++++++++++++++++++++++++++++++++------ + 1 file changed, 41 insertions(+), 6 deletions(-) + +diff --git a/grub-core/kern/ieee1275/init.c b/grub-core/kern/ieee1275/init.c +index 2516e02091cb..1fae84440403 100644 +--- a/grub-core/kern/ieee1275/init.c ++++ b/grub-core/kern/ieee1275/init.c +@@ -56,11 +56,41 @@ extern char _end[]; + grub_addr_t grub_ieee1275_original_stack; + #endif + +-#define LPAR 0x80 +-#define SPLPAR 0x40 +-#define BYTE2 (LPAR | SPLPAR) +-#define CMO 0x80 +-#define MAX_CPU 256 ++/* Options vector5 properties */ ++ ++#define LPAR 0x80 ++#define SPLPAR 0x40 ++#define DYN_RCON_MEM 0x20 ++#define LARGE_PAGES 0x10 ++#define DONATE_DCPU_CLS 0x02 ++#define PCI_EXP 0x01 ++#define BYTE2 (LPAR | SPLPAR | DYN_RCON_MEM | LARGE_PAGES | DONATE_DCPU_CLS | PCI_EXP) ++ ++#define CMOC 0x80 ++#define EXT_CMO 0x40 ++#define CMO (CMOC | EXT_CMO) ++ ++#define ASSOC_REF 0x80 ++#define AFFINITY 0x40 ++#define NUMA 0x20 ++#define ASSOCIATIVITY (ASSOC_REF | AFFINITY | NUMA) ++ ++#define HOTPLUG_INTRPT 0x04 ++#define HPT_RESIZE 0x01 ++#define BIN_OPTS (HOTPLUG_INTRPT | HPT_RESIZE) ++ ++#define MAX_CPU 256 ++ ++#define PFO_HWRNG 0x80000000 ++#define PFO_HW_COMP 0x40000000 ++#define PFO_ENCRYPT 0x20000000 ++#define PLATFORM_FACILITIES (PFO_HWRNG | PFO_HW_COMP | PFO_ENCRYPT) ++ ++#define SUB_PROCESSORS 1 ++ ++#define DY_MEM_V2 0x80 ++#define DRC_INFO 0x40 ++#define BYTE22 (DY_MEM_V2 | DRC_INFO) + + void + grub_exit (int rc __attribute__((unused))) +@@ -323,6 +353,11 @@ struct option_vector5 { + grub_uint8_t micro_checkpoint; + grub_uint8_t reserved0; + grub_uint32_t max_cpus; ++ grub_uint16_t base_PAPR; ++ grub_uint16_t mem_reference; ++ grub_uint32_t platform_facilities; ++ grub_uint8_t sub_processors; ++ grub_uint8_t byte22; + } __attribute__((packed)); + + struct pvr_entry { +@@ -378,7 +413,7 @@ grub_ieee1275_ibm_cas (void) + .vec4 = 0x0001, // set required minimum capacity % to the lowest value + .vec5_size = 1 + sizeof(struct option_vector5) - 2, + .vec5 = { +- 0, BYTE2, 0, CMO, 0, 0, 0, 0, MAX_CPU ++ 0, BYTE2, 0, CMO, ASSOCIATIVITY, BIN_OPTS, 0, 0, MAX_CPU, 0, 0, PLATFORM_FACILITIES, SUB_PROCESSORS, BYTE22 + } + }; + diff --git a/dist b/dist index 9c0e36ec42a2d9bfefacb21ac6354c9ddd910533..5aa45c5bf3f5e5b781981aec176b4910ac39baaf 100644 --- a/dist +++ b/dist @@ -1 +1 @@ -an8 +an8_8 diff --git a/grub.patches b/grub.patches index fd8ce20da450f1e4bbdb10272a0aa88add5a2019..7fdff9208d01ea9b4e0c287c4b0075fa3cb5f896 100644 --- a/grub.patches +++ b/grub.patches @@ -573,6 +573,9 @@ Patch0572: 0572-font-Assign-null_font-to-glyphs-in-ascii_font_glyph.patch Patch0573: 0573-normal-charset-Fix-an-integer-overflow-in-grub_unico.patch Patch0574: 0574-Enable-TDX-measurement-to-RTMR-register.patch Patch0575: 0575-Enable-shared-processor-mode-in-vector-5.patch +Patch0576: 0576-efi-http-change-uint32_t-to-uintn_t-for-grub_efi_htt.patch +Patch0577: 0577-ieee1275-Converting-plain-numbers-to-constants-in-Ve.patch +Patch0578: 0578-ieee1275-extended-support-in-options-vector5.patch # Support loongarch64 #Patch1000: 1000-loongarch64-add-support.patch Patch1001: 1001-bls-make-list.patch diff --git a/grub2.spec b/grub2.spec index 8bb01b363cab9bf6a48f0bd8c8906c9b8ffef949..73d65f1be127060e952a21b7c5ee5ab4a6a7a45c 100644 --- a/grub2.spec +++ b/grub2.spec @@ -12,7 +12,7 @@ Name: grub2 Epoch: 1 Version: 2.02 -Release: 148%{anolis_release}%{?dist} +Release: 148%{anolis_release}%{?dist}.1 Summary: Bootloader with support for Linux, Multiboot and more Group: System Environment/Base License: GPLv3+ @@ -519,7 +519,7 @@ fi %endif %changelog -* Wed Jul 05 2023 Bo Ren - 2.02-148.0.1 +* Wed Jul 05 2023 Bo Ren - 2.02-148.0.1.1 - Build pc-modules package on x86_64 (geliwei@openanolis.org) - Add loongarch64 base support (zhangwenlong@loongson.cn)(chenguoqi@loongson.cn) - Fix a bug in bls_make_list, blscfg. (zhonglingh@linux.alibaba.com) @@ -528,6 +528,10 @@ fi - LoongArch64 support fdt and phy-addr BIOS(yangqiming@loongson.cn) - Remove dtb dir with correct argument (Liwei Ge) +* Fri Jun 16 2023 Nicolas Frayer - 2.02-148.el8_8.1 +- Sync with 8.9 (actually 2.02-150) +- Resolves: #2207972 + * Mon Feb 06 2023 Robbie Harwood - 2.02-148 - ppc64le: cas5, take 3 - Resolves: #2139508