mirror of
https://github.com/linuxboot/heads.git
synced 2025-01-18 18:57:04 +00:00
coreboot-dasharo: move patches from Heads into Dasharo coreboot fork
Patch 0003-CONFIG_RESOURCE_ALLOCATION_TOP_DOWN-CONFIG_DOMAIN_RESOURCE_32BIT_LIMIT.patch is removed because it is no longer required. Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
This commit is contained in:
parent
b8cb467dd3
commit
2148e64aa3
@ -96,7 +96,7 @@ $(eval $(call coreboot_module,purism,24.02.01))
|
||||
coreboot-dasharo_repo := https://github.com/dasharo/coreboot
|
||||
coreboot-dasharo_commit_hash := 8adaae026dc055fa8b445fbe32e5146576d56c28
|
||||
$(eval $(call coreboot_module,dasharo,24.02.01))
|
||||
coreboot-dasharo_patch_version := unreleased
|
||||
#coreboot-dasharo_patch_version := unreleased
|
||||
|
||||
# Check that the board configured the coreboot version correctly
|
||||
ifeq "$(CONFIG_COREBOOT_VERSION)" ""
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,91 +0,0 @@
|
||||
From efad423f8472c1b9c130842e3d92625500f82d5d Mon Sep 17 00:00:00 2001
|
||||
From: Nigel Tao <nigeltao@golang.org>
|
||||
Date: Tue, 13 Aug 2024 22:29:21 +1000
|
||||
Subject: [PATCH] lib/jpeg: avoid calling malloc and free
|
||||
|
||||
Since commit 1d029b40c9de ("lib/jpeg: Replace decoder with Wuffs'
|
||||
implementation"), a relatively large heap allocation is needed to decode
|
||||
many JPEGs for use as work area. The prior decoder did not need this,
|
||||
but also had many limitations in the JPEGs it could decode, was not as
|
||||
memory-safe and quickly crashed under fuzzing.
|
||||
|
||||
This commit keeps using Wuffs' JPEG decoder, but it no longer requires
|
||||
any heap allocation (and thus configuring the heap size depending on how
|
||||
big a bootsplash image you want to support).
|
||||
|
||||
Change-Id: Ie4c52520cbce498539517c4898ff765365a6beba
|
||||
Signed-off-by: Nigel Tao <nigeltao@golang.org>
|
||||
Reviewed-on: https://review.coreboot.org/c/coreboot/+/83895
|
||||
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
|
||||
Reviewed-by: Nico Huber <nico.h@gmx.de>
|
||||
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
|
||||
Reviewed-by: Jonathon Hall <jonathon.hall@puri.sm>
|
||||
---
|
||||
src/lib/jpeg.c | 36 +++++++++++++++++++++---------------
|
||||
1 file changed, 21 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/src/lib/jpeg.c b/src/lib/jpeg.c
|
||||
index 242cf0ca8e..617ab0b22a 100644
|
||||
--- a/src/lib/jpeg.c
|
||||
+++ b/src/lib/jpeg.c
|
||||
@@ -1,9 +1,7 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
|
||||
/*
|
||||
- * Provide a simple API around the Wuffs JPEG decoder
|
||||
- * Uses the heap (and lots of it) for the image-size specific
|
||||
- * work buffer, so ramstage-only.
|
||||
+ * Provide a simple API around the Wuffs JPEG decoder.
|
||||
*/
|
||||
|
||||
#include <stdint.h>
|
||||
@@ -85,6 +83,24 @@ int jpeg_decode(unsigned char *filedata, size_t filesize, unsigned char *pic,
|
||||
return JPEG_DECODE_FAILED;
|
||||
}
|
||||
|
||||
+ /* Opting in to lower quality means that we can pass an empty slice as the
|
||||
+ * "work buffer" argument to wuffs_jpeg__decoder__decode_frame below.
|
||||
+ *
|
||||
+ * Decoding progressive (not sequential) JPEGs would still require dynamic
|
||||
+ * memory allocation (and the amount of work buffer required depends on the
|
||||
+ * image dimensions), but we choose to just reject progressive JPEGs. It is
|
||||
+ * simpler than sometimes calling malloc (which can fail, especially for
|
||||
+ * large allocations) and free.
|
||||
+ *
|
||||
+ * More commentary about these quirks is at
|
||||
+ * https://github.com/google/wuffs/blob/beaf45650085a16780b5f708b72daaeb1aa865c8/std/jpeg/decode_quirks.wuffs
|
||||
+ */
|
||||
+ wuffs_jpeg__decoder__set_quirk(
|
||||
+ &dec, WUFFS_BASE__QUIRK_QUALITY,
|
||||
+ WUFFS_BASE__QUIRK_QUALITY__VALUE__LOWER_QUALITY);
|
||||
+ wuffs_jpeg__decoder__set_quirk(
|
||||
+ &dec, WUFFS_JPEG__QUIRK_REJECT_PROGRESSIVE_JPEGS, 1);
|
||||
+
|
||||
wuffs_base__image_config imgcfg;
|
||||
wuffs_base__io_buffer src = wuffs_base__ptr_u8__reader(filedata, filesize, true);
|
||||
status = wuffs_jpeg__decoder__decode_image_config(&dec, &imgcfg, &src);
|
||||
@@ -104,19 +120,9 @@ int jpeg_decode(unsigned char *filedata, size_t filesize, unsigned char *pic,
|
||||
return JPEG_DECODE_FAILED;
|
||||
}
|
||||
|
||||
- uint64_t workbuf_len_min_incl = wuffs_jpeg__decoder__workbuf_len(&dec).min_incl;
|
||||
- uint8_t *workbuf_array = malloc(workbuf_len_min_incl);
|
||||
- if ((workbuf_array == NULL) && workbuf_len_min_incl) {
|
||||
- return JPEG_DECODE_FAILED;
|
||||
- }
|
||||
-
|
||||
- wuffs_base__slice_u8 workbuf =
|
||||
- wuffs_base__make_slice_u8(workbuf_array, workbuf_len_min_incl);
|
||||
status = wuffs_jpeg__decoder__decode_frame(&dec, &pixbuf, &src,
|
||||
- WUFFS_BASE__PIXEL_BLEND__SRC, workbuf, NULL);
|
||||
-
|
||||
- free(workbuf_array);
|
||||
-
|
||||
+ WUFFS_BASE__PIXEL_BLEND__SRC,
|
||||
+ wuffs_base__empty_slice_u8(), NULL);
|
||||
if (status.repr) {
|
||||
return JPEG_DECODE_FAILED;
|
||||
}
|
||||
--
|
||||
2.39.2
|
||||
|
@ -1,130 +0,0 @@
|
||||
From a2180b33351e63187b6de834d3a3fd30ea8b500c Mon Sep 17 00:00:00 2001
|
||||
From: Arthur Heymans <arthur@aheymans.xyz>
|
||||
Date: Thu, 25 Jan 2024 16:40:50 +0100
|
||||
Subject: [PATCH] nb/intel/*: Match ACPI with resource allocation
|
||||
|
||||
Currently resource allocation starts top down from the default value
|
||||
0xfe000000. This does not match what ACPI reports, so adapt
|
||||
CONFIG_DOMAIN_RESOURCE_32BIT_LIMIT to reflect that.
|
||||
|
||||
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
|
||||
Change-Id: I2ba0e96a7ab18d65b7fbbb38b1a979ea2ec6d1be
|
||||
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80207
|
||||
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
|
||||
Reviewed-by: Nico Huber <nico.h@gmx.de>
|
||||
---
|
||||
src/northbridge/intel/gm45/Kconfig | 4 ++++
|
||||
src/northbridge/intel/haswell/Kconfig | 4 ++++
|
||||
src/northbridge/intel/i945/Kconfig | 4 ++++
|
||||
src/northbridge/intel/ironlake/Kconfig | 4 ++++
|
||||
src/northbridge/intel/pineview/Kconfig | 4 ++++
|
||||
src/northbridge/intel/sandybridge/Kconfig | 4 ++++
|
||||
src/northbridge/intel/x4x/Kconfig | 4 ++++
|
||||
7 files changed, 28 insertions(+)
|
||||
|
||||
diff --git a/src/northbridge/intel/gm45/Kconfig b/src/northbridge/intel/gm45/Kconfig
|
||||
index 8059e7ee80..fef0d735b3 100644
|
||||
--- a/src/northbridge/intel/gm45/Kconfig
|
||||
+++ b/src/northbridge/intel/gm45/Kconfig
|
||||
@@ -31,6 +31,10 @@ config ECAM_MMCONF_BUS_NUMBER
|
||||
int
|
||||
default 64
|
||||
|
||||
+# This number must be equal or lower than what's reported in ACPI PCI _CRS
|
||||
+config DOMAIN_RESOURCE_32BIT_LIMIT
|
||||
+ default 0xfec00000
|
||||
+
|
||||
config SMM_RESERVED_SIZE
|
||||
hex
|
||||
default 0x100000
|
||||
diff --git a/src/northbridge/intel/haswell/Kconfig b/src/northbridge/intel/haswell/Kconfig
|
||||
index 4b83a25bc1..35403373e7 100644
|
||||
--- a/src/northbridge/intel/haswell/Kconfig
|
||||
+++ b/src/northbridge/intel/haswell/Kconfig
|
||||
@@ -60,6 +60,10 @@ config ECAM_MMCONF_BUS_NUMBER
|
||||
int
|
||||
default 64
|
||||
|
||||
+# This number must be equal or lower than what's reported in ACPI PCI _CRS
|
||||
+config DOMAIN_RESOURCE_32BIT_LIMIT
|
||||
+ default ECAM_MMCONF_BASE_ADDRESS
|
||||
+
|
||||
config DCACHE_RAM_BASE
|
||||
hex
|
||||
default 0xff7c0000
|
||||
diff --git a/src/northbridge/intel/i945/Kconfig b/src/northbridge/intel/i945/Kconfig
|
||||
index ef925e17e7..32eff1a611 100644
|
||||
--- a/src/northbridge/intel/i945/Kconfig
|
||||
+++ b/src/northbridge/intel/i945/Kconfig
|
||||
@@ -41,6 +41,10 @@ config ECAM_MMCONF_BUS_NUMBER
|
||||
int
|
||||
default 64
|
||||
|
||||
+# This number must be equal or lower than what's reported in ACPI PCI _CRS
|
||||
+config DOMAIN_RESOURCE_32BIT_LIMIT
|
||||
+ default 0xfec00000
|
||||
+
|
||||
config OVERRIDE_CLOCK_DISABLE
|
||||
bool
|
||||
default n
|
||||
diff --git a/src/northbridge/intel/ironlake/Kconfig b/src/northbridge/intel/ironlake/Kconfig
|
||||
index ce705dcf53..2bafebf92e 100644
|
||||
--- a/src/northbridge/intel/ironlake/Kconfig
|
||||
+++ b/src/northbridge/intel/ironlake/Kconfig
|
||||
@@ -47,6 +47,10 @@ config ECAM_MMCONF_BASE_ADDRESS
|
||||
config ECAM_MMCONF_BUS_NUMBER
|
||||
default 256
|
||||
|
||||
+# This number must be equal or lower than what's reported in ACPI PCI _CRS
|
||||
+config DOMAIN_RESOURCE_32BIT_LIMIT
|
||||
+ default 0xfec00000
|
||||
+
|
||||
config INTEL_GMA_BCLV_OFFSET
|
||||
default 0x48254
|
||||
|
||||
diff --git a/src/northbridge/intel/pineview/Kconfig b/src/northbridge/intel/pineview/Kconfig
|
||||
index 877812643a..59cfcd5e0a 100644
|
||||
--- a/src/northbridge/intel/pineview/Kconfig
|
||||
+++ b/src/northbridge/intel/pineview/Kconfig
|
||||
@@ -38,4 +38,8 @@ config FIXED_DMIBAR_MMIO_BASE
|
||||
config FIXED_EPBAR_MMIO_BASE
|
||||
default 0xfed19000
|
||||
|
||||
+# This number must be equal or lower than what's reported in ACPI PCI _CRS
|
||||
+config DOMAIN_RESOURCE_32BIT_LIMIT
|
||||
+ default 0xfec00000
|
||||
+
|
||||
endif
|
||||
diff --git a/src/northbridge/intel/sandybridge/Kconfig b/src/northbridge/intel/sandybridge/Kconfig
|
||||
index f7d56c7503..fa40b0668d 100644
|
||||
--- a/src/northbridge/intel/sandybridge/Kconfig
|
||||
+++ b/src/northbridge/intel/sandybridge/Kconfig
|
||||
@@ -104,6 +104,10 @@ config ECAM_MMCONF_BUS_NUMBER
|
||||
int
|
||||
default 64
|
||||
|
||||
+# This number must be equal or lower than what's reported in ACPI PCI _CRS
|
||||
+config DOMAIN_RESOURCE_32BIT_LIMIT
|
||||
+ default ECAM_MMCONF_BASE_ADDRESS
|
||||
+
|
||||
config DCACHE_RAM_BASE
|
||||
hex
|
||||
default 0xfefe0000
|
||||
diff --git a/src/northbridge/intel/x4x/Kconfig b/src/northbridge/intel/x4x/Kconfig
|
||||
index 9af063819b..097e11126c 100644
|
||||
--- a/src/northbridge/intel/x4x/Kconfig
|
||||
+++ b/src/northbridge/intel/x4x/Kconfig
|
||||
@@ -28,6 +28,10 @@ config ECAM_MMCONF_BUS_NUMBER
|
||||
int
|
||||
default 256
|
||||
|
||||
+# This number must be equal or lower than what's reported in ACPI PCI _CRS
|
||||
+config DOMAIN_RESOURCE_32BIT_LIMIT
|
||||
+ default 0xfec00000
|
||||
+
|
||||
config SMM_RESERVED_SIZE
|
||||
hex
|
||||
default 0x100000
|
||||
--
|
||||
2.39.2
|
||||
|
Loading…
Reference in New Issue
Block a user