summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Roth <gaumless@gmail.com>2024-08-22 17:54:00 -0600
committerFelix Singer <service+coreboot-gerrit@felixsinger.de>2024-08-23 19:36:09 +0000
commit8f83a8d5dbb833eba2c3b0f6e34748c22bf5fb4b (patch)
tree2bc80675fd3397fd1172be1b9ed2432c9507ccdf
parent22d486dbf22f56d8c6aaa3b8377364be9c664533 (diff)
Docs/releases: Update 24.08 release notes
These are the final release notes before the release is tagged. They will be updated after the tag is in place with any differences, including changing the "upcoming release" notice with the notice that it has been released. Signed-off-by: Martin Roth <gaumless@gmail.com> Change-Id: I449e8490d72976c8f723dc3b5ab3b77d7b16e3a0 Reviewed-on: https://review.coreboot.org/c/coreboot/+/84046 Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de> Reviewed-by: Jason Glenesk <jason.glenesk@amd.corp-partner.google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--Documentation/releases/coreboot-24.08-relnotes.md408
1 files changed, 361 insertions, 47 deletions
diff --git a/Documentation/releases/coreboot-24.08-relnotes.md b/Documentation/releases/coreboot-24.08-relnotes.md
index b509b2a743..046b77b321 100644
--- a/Documentation/releases/coreboot-24.08-relnotes.md
+++ b/Documentation/releases/coreboot-24.08-relnotes.md
@@ -1,37 +1,223 @@
Upcoming release - coreboot 24.08
========================================================================
-The 24.08 release is scheduled for Mid Aug, 2024
+We are pleased to announce the release of coreboot 24.08, another significant
+milestone in our ongoing commitment to delivering open-source firmware
+solutions. This release includes over 900 commits, contributed by more than 130
+dedicated individuals from our global community. The updates in 24.08 bring
+various enhancements, optimizations, and new features that further improve the
+reliability and performance of coreboot across supported platforms.
-
-Update this document with changes that should be in the release notes.
-
-* Please use Markdown.
-* See the past few release notes for the general format.
-* The chip and board additions and removals will be updated right
- before the release, so those do not need to be added.
-* Note that all changes before the release are done are marked upcoming.
- A final version of the notes are done after the release.
+We extend our sincere thanks to the patch authors, reviewers, and everyone
+involved in the coreboot community for their hard work and dedication. Your
+contributions continue to advance and refine coreboot with each release. As
+always, thank you for your support and collaboration in driving the future of
+open-source firmware. The next coreboot release, 24.11 is planned for mid
+November.
Significant or interesting changes
----------------------------------
-* Add changes that need a full description here
+### Introduce region_create() functions
+
+We introduce two new functions to create region objects. They allow us to check
+for integer overflows (`region_create_untrusted()`) or assert their absence
+(`region_create()`).
+
+This fixes potential overflows in `region_overlap()` checks in SMI handlers, where
+we would wrongfully report MMIO as *not* overlapping SMRAM.
+
+Also, two cases of `strtol()` in `parse_region()` (cbfstool), where the results were
+implicitly converted to `size_t`, are replaced with the unsigned `strtoul()`.
+
+FIT payload support is left out, as it doesn't use the region API (only the
+struct).
+
+Ticket: <https://ticket.coreboot.org/issues/522> \
+Review: <https://review.coreboot.org/79905>
+
+
+### lib/device_tree: Add some FDT helper functions
+
+This adds some helper functions for FDT (Flattened Device Tree) , since more and
+more mainboards seem to need FDT nowadays. For example our QEMU boards need it
+in order to know how much RAM is available. Also all RISC-V boards in our tree
+need FDT.
+
+This also adds some tests in order to test said functions.
+
+Review: <https://review.coreboot.org/c/coreboot/+/81081>
+
+
+### device_tree: Add function to get top of memory from a FDT blob
+
+coreboot needs to figure out top of memory to place CBMEM data. On some non-x86
+QEMU virtual machines, this is achieved by probing the RAM space to find where
+the VM starts discarding data since it's not backed by actual RAM. This behavior
+seems to have changed on the QEMU side since then, VMs using the "virt" model
+have started raising exceptions/errors instead of silently discarding data
+(likely [1] for example) which has previously broken coreboot on these emulation
+boards.
+
+The qemu-aarch64 and qemu-riscv mainboards are intended for the "virt" models
+and had this issue, which was mostly fixed by using exception handlers in the
+RAM detection process [2][3]. But on 32-bit RISC-V we fail to initialize CBMEM
+if we have 2048 MiB or more of RAM, and on 64-bit RISC-V we had to limit probing
+to 16383 MiB because it can run into MMIO regions otherwise.
+
+The qemu-armv7 mainboard code is intended for the "vexpress-a9" model VM which
+doesn't appear to suffer from this issue. Still, the issue can be observed on
+the ARMv7 "virt" model via a port based on qemu-aarch64.
+
+QEMU docs for ARM and RISC-V "virt" models [4][5] recommend reading the device
+tree blob it provides for device information (incl. RAM size). Implement
+functions that parse the device tree blob to find described memory regions and
+calculate the top of memory in order to use it in mainboard code as an
+alternative to probing RAM space. ARM64 code initializes CBMEM in romstage where
+malloc isn't available, so take care to do parsing without unflattening the blob
+and make the code available in romstage as well.
+
+[1] <https://lore.kernel.org/qemu-devel/1504626814-23124-1-git-send-email-peter.maydell@linaro.org/T/#u> \
+[2] <https://review.coreboot.org/c/coreboot/+/34774> \
+[3] <https://review.coreboot.org/c/coreboot/+/36486> \
+[4] <https://qemu-project.gitlab.io/qemu/system/arm/virt.html> \
+[5] <https://qemu-project.gitlab.io/qemu/system/riscv/virt.html>
+
+Review: <https://review.coreboot.org/c/coreboot/+/80322>
+
+
+### drivers/wifi: Support Bluetooth Regulator Domain Settings
+
+The 'Bluetooth Increased Power Mode - SAR Limitation' feature provides ability
+to utilize increased device Transmit power capability for Bluetooth applications
+in coordination with Wi-Fi adhering to product SAR (Specific Absorption Rate)
+limit when Bluetooth and Wi-Fi run together.
+
+This commit introduces a `bluetooth_companion' field to the generic Wi-Fi
+drivers chip data. This field can be set in the board design device tree to
+supply the bluetooth device for which the BRDS function must be created.
+
+The implementation follows document 559910 Intel Connectivity Platforms BIOS
+Guideline revision 8.3 specification.
+
+Review: <https://review.coreboot.org/c/coreboot/+/83200>
+
+
+### acpigen_ps2_keybd: Support Do Not Disturb & Accessibility Keys
+
+These commits add support for a Do Not Disturb key and an Accessibility key.
+
+HUTRR94 added support for a new usage titled "System Do Not Disturb" which
+toggles a system-wide Do Not Disturb setting.
+
+HUTRR116 added support for a new usage titled "System Accessibility Binding"
+which toggles a system-wide bound accessibility UI or command.
+
+HUTRR94: <https://www.usb.org/sites/default/files/hutrr94_-_system_do_not_disturb.pdf> \
+HUTRR116: <https://www.usb.org/sites/default/files/hutrr116-systemaccessbilitybinding_2.pdf>
-* This section should have full descriptions and can or should have
- a link to the referenced commits.
+Review: <https://review.coreboot.org/c/coreboot/+/82997> \
+Review: <https://review.coreboot.org/c/coreboot/+/82996>
+
+
+### superio/ite/common: Add common driver for GPIO and LED configuration
+
+Add a generic driver to configure GPIOs and LEDs on common ITE SuperIOs. The
+driver supports most ITE SuperIOs, except Embedded Controllers. The driver
+allows configuring every GPIO property with pin granularity.
+
+Verified against datasheets of all ITE SIOs currently supported by coreboot,
+except IT8721F (assumed to be the same as IT8720F), IT8623E and IT8629E.
+
+Review: <https://review.coreboot.org/c/coreboot/+/83355>
+
+
+### util/cbfstool: Fix linux_trampoline.c generation
+
+linux_trampoline.c generation is broken with latest crossgcc-i386 toolchain. Fix
+the issue to enable the building.
+
+```
+../cbfstool/linux_trampoline.S: Assembler messages:
+../cbfstool/linux_trampoline.S:100: Error: no instruction mnemonic
+ suffix given and no register operands; can't size instruction
+<builtin>: recipe for target '../cbfstool/linux_trampoline.o' failed
+```
+
+Review: <https://review.coreboot.org/c/coreboot/+/82704>
+
+
+### Add LeanEFI payload
+
+This adds another external payload to coreboot. The payload has been heavily
+based on u-boots UEFI implementation.
+
+The LeanEFI payload is basically a translator from coreboot to UEFI. It takes
+the coreboot tables and transforms them into UEFI interfaces. Although it can
+potentially load any efi application that can handle the minimized interface
+that LeanEFI provides, it has only been tested with LinuxBoot (v6.3.5) as a
+payload. It has been optimized to support only those interfaces that Linux
+requires to start.
+
+Among other LeanEFI does not support:
+- efi capsule update (also efi system resource table)
+- efi variables
+- efi text input protocol (it can only output)
+- most boot services. mostly memory services are left (e.g. alloc/free)
+- all runtime services (although there is still a very small runtime
+ footprint that is planned to be removed in the near future)
+- TCG2/TPM (although that is mostly because of laziness)
+The README.md currently provides more details on why.
+
+The payload currently only supports arm64 and has only been tested on
+emulation/simulator targets. The original motivation was to get ACPI on arm64
+published to the OS without using EDK2. It is however also possible to supply
+the LeanEFI with a FDT that is published to the OS. At that point one would
+however probably use coreboot only instead of this shim layer on top. It would
+be way nicer to have Linux support something other than UEFI to propagate the
+ACPI tables, but it requires getting the Linux maintainer/community on board. So
+for now this shim layer circumvents that.
+
+LBBR Test:
+1. dump FDT from QEMU like mentioned in aarch64 coreboot doc
+2. compile u-root however you like (aarch64)
+3. compile Linux (embed u-root initramfs via Kconfig)
+4. copy Linux kernel to payloads/leanefi/Image
+5. copy following coreboot defconfig to configs/defconfig:
+```
+CONFIG_BOARD_EMULATION_QEMU_AARCH64=y
+CONFIG_PAYLOAD_NONE=n
+CONFIG_PAYLOAD_LEANEFI=y
+CONFIG_LEANEFI_PAYLOAD=y
+CONFIG_LEANEFI_PAYLOAD_PATH="[path-to-linux]/arch/arm64/boot/Image"
+CONFIG_LEANEFI_FDT=y
+CONFIG_LEANEFI_FDT_PATH="[path-to-dumped-DTB]"
+```
+6. compile coreboot \
+`make defconfig` \
+`make -j$(nproc)`
+7. run qemu like mentioned in coreboot doc (no FIT)
+8. say hello to u-root and optionally kexec into the next kernel
+
+Review: <https://review.coreboot.org/c/coreboot/+/78913>
Additional coreboot changes
---------------------------
-The following are changes across a number of patches, or changes worth
-noting, but not needing a full description.
-
-* Changes that only need a line or two of description go here.
+* Dropped ChromeEC as a submodule.
+* Numerous updates to autoport tool, including Haswell support.
+* Upgrade to Wuffs 0.4.0-alpha.8
+* Add x86_64 (64-bit) support to LibPayload
+* Add hda-decoder utility that dumps decoded HDA default configuration registers
+* Add SBMIOS tables for arm64 platforms
+* cpu/x86/lapic: Always have LAPIC enabled
+* arch/arm64: Support calling a trusted monitor
+* drivers/wifi: Support Wi-Fi 7 11be Enablement
+* drivers/wifi: Support Radio Frequency Interference Mitigation
@@ -45,55 +231,183 @@ Changes to external resources
* Upgrade LLVM from 17.0.6 to 18.1.6
* Upgrade GCC from 13.2 to 14.1.0
-### Git submodule pointers
-
-### External payloads
+### Git submodule pointers
+* /3rdparty/amd_blobs: Update from commit ae5fc7d277 to 26c572974b (2 commits)
+* /3rdparty/arm-trusted-firmware: Update from commit 48f1bc9f52 to c5b8de86c8 (430 commits)
+* /3rdparty/fsp: Update from commit cc6399e8c7 to 800c85770b (23 commits)
+* /3rdparty/intel-microcode: Update from commit 41af345005 to 5278dfcf98 (2 commits)
+* /3rdparty/libgfxinit: Update from commit a4be8a21b0 to 17cfc92f40 (5 commits)
+* /3rdparty/vboot: Update from commit 09fcd2184f to f1f70f46dc (69 commits)
Platform Updates
----------------
-### Added mainboards:
-* To be filled in immediately before the release by the release team
-
-
-### Removed Mainboards
-* To be filled in immediately before the release by the release team
-
-
-### Updated SoCs
-* To be filled in immediately before the release by the release team
-
-
-
-Plans to move platform support to a branch
-------------------------------------------
-* To be filled in immediately before the release by the release team
+### New mainboards:
+
+* Acer Q45T-AM
+* AOOSTAR WTR R1
+* ASROCK Fatal1ty Z87 Professional
+* ASROCK Z87E-ITX
+* ASROCK Z87M OC Formula
+* ASROCK Z97E-ITX/ac
+* CWWK CW-ADL-4L-V1.0
+* Dell Inc. Latitude E6430
+* Dell Inc. Latitude E7240
+* Dell Inc. XPS 8300
+* Emulation QEMU sbsa
+* GIGABYTE GA-H61M-S2P-R3
+* Google Awasuki
+* Google Brox TI PDC
+* Google Domika
+* Google Fatcat
+* Google Jubilant
+* Google Orisa
+* Google Rauru
+* Google Rex 64
+* Google Teliks
+* Google Tereid
+* HP EliteBook 8560w
+* Intel Avenue City CRB
+* Intel Beechnut City CRB
+* Protectli VP6630/VP6650/VP6670
+* Star Labs Star Labs Lite Mk V (N200)
+* System76 addw4
+* System76 darp10
+* System76 darp10-b
+* System76 oryp12
+
+
+### Updated SoCs & socket definitions
+
+* Added src/cpu/intel/socket_LGA1700
+* Added src/cpu/intel/socket_LGA3647_1
+* Added src/cpu/intel/socket_LGA4189
+* Added src/cpu/intel/socket_LGA4677
+* Added src/soc/intel/pantherlake
+* Added src/soc/mediatek/mt8196
Statistics from the 24.05 to the 24.08 release
---------------------------------------------
-* To be filled in immediately before the release by the release team
+----------------------------------------------
+
+* Total Commits: 883
+* Average Commits per day: 8.78
+* Total lines added: 105457
+* Average lines added per commit: 119.43
+* Number of patches adding more than 100 lines: 98
+* Average lines added per small commit: 37.67
+* Total lines removed: 18689
+* Average lines removed per commit: 21.17
+* Total difference between added and removed: 86768
+* Total authors: 136
+* New authors: 33
Significant Known and Open Issues
---------------------------------
-Issues from the coreboot bugtracker: https://ticket.coreboot.org/
-* To be filled in immediately before the release by the release team
-
+### coreboot-wide or architecture-wide issues
+
+```{eval-rst}
++-----+-----------------------------------------------------------------+
+| # | Subject |
++=====+=================================================================+
+| 519 | make gconfig - could not find glade file |
++-----+-----------------------------------------------------------------+
+| 518 | make xconfig - g++: fatal error: no input files |
++-----+-----------------------------------------------------------------+
+```
+
+
+### Payload-specific issues
+
+```{eval-rst}
++-----+-----------------------------------------------------------------+
+| # | Subject |
++=====+=================================================================+
+| 552 | X201 not booting with edk2 payload |
++-----+-----------------------------------------------------------------+
+| 549 | SeaBIOS Windows 10/11 BSOD "ACPI BIOS ERROR" (Thinkpad W530) |
++-----+-----------------------------------------------------------------+
+| 499 | edk2 boot fails with RESOURCE_ALLOCATION_TOP_DOWN enabled |
++-----+-----------------------------------------------------------------+
+| 496 | Missing malloc check in libpayload |
++-----+-----------------------------------------------------------------+
+| 484 | No USB keyboard support with secondary payloads |
++-----+-----------------------------------------------------------------+
+| 414 | X9SAE-V: No USB keyboard init on SeaBIOS using Radeon RX 6800XT |
++-----+-----------------------------------------------------------------+
+```
+
+
+### Platform-specific issues
+
+```{eval-rst}
++-----+-----------------------------------------------------------------+
+| # | Subject |
++=====+=================================================================+
+| 548 | Lenovo X201 Fails To Recognize Upgraded WiFi Card |
++-----+-----------------------------------------------------------------+
+| 538 | x230: Dock Causes Internal Display to "Permanently" Malfunction |
++-----+-----------------------------------------------------------------+
+| 535 | T420: Power light stays off after reboot |
++-----+-----------------------------------------------------------------+
+| 528 | Building qemu-i440fx with CONFIG_CBFS_VERIFICATION fails |
++-----+-----------------------------------------------------------------+
+| 524 | X2APIC Options cause Linux to crash on emulation/qemu-i440fx |
++-----+-----------------------------------------------------------------+
+| 517 | lenovo x230 boot stuck with connected external monitor |
++-----+-----------------------------------------------------------------+
+| 509 | SD Card hotplug not working on Apollo Lake |
++-----+-----------------------------------------------------------------+
+| 507 | Windows GPU driver fails on Google guybrush & skyrim boards |
++-----+-----------------------------------------------------------------+
+| 506 | APL/GML don't boot OS when CPU microcode included "from tree" |
++-----+-----------------------------------------------------------------+
+| 505 | Harcuvar CRB - 15 of 16 cores present in the operating system |
++-----+-----------------------------------------------------------------+
+| 499 | T440p - EDK2 fails with RESOURCE_ALLOCATION_TOP_DOWN enabled |
++-----+-----------------------------------------------------------------+
+| 495 | Stoney Chromebooks not booting PSPSecureOS |
++-----+-----------------------------------------------------------------+
+| 478 | X200 booting Linux takes a long time with TSC |
++-----+-----------------------------------------------------------------+
+| 474 | X200s crashes after graphic init with 8GB RAM |
++-----+-----------------------------------------------------------------+
+| 457 | Haswell (t440p): CAR mem region conflicts with CBFS_SIZE > 8mb |
++-----+-----------------------------------------------------------------+
+| 453 | Intel HDMI / DP Audio not present in Windows after libgfxinit |
++-----+-----------------------------------------------------------------+
+| 449 | ThinkPad T440p fail to start, continuous beeping & LED blinking |
++-----+-----------------------------------------------------------------+
+| 448 | Thinkpad T440P ACPI Battery Value Issues |
++-----+-----------------------------------------------------------------+
+| 446 | Optiplex 9010 No Post |
++-----+-----------------------------------------------------------------+
+| 439 | Lenovo X201 Turbo Boost not working (stuck on 2,4GHz) |
++-----+-----------------------------------------------------------------+
+| 427 | x200: Two battery charging issues |
++-----+-----------------------------------------------------------------+
+| 412 | x230 reboots on suspend |
++-----+-----------------------------------------------------------------+
+| 393 | T500 restarts rather than waking up from suspend |
++-----+-----------------------------------------------------------------+
+| 350 | I225 PCIe device not detected on Harcuvar |
++-----+-----------------------------------------------------------------+
+```
coreboot Links and Contact Information
--------------------------------------
-* Main Web site: https://www.coreboot.org
-* Downloads: https://coreboot.org/downloads.html
-* Source control: https://review.coreboot.org
-* Documentation: https://doc.coreboot.org
-* Issue tracker: https://ticket.coreboot.org/projects/coreboot
-* Donations: https://coreboot.org/donate.html
+* Main Web site: <https://www.coreboot.org>
+* Downloads: <https://coreboot.org/downloads.html>
+* Source control: <https://review.coreboot.org>
+* Documentation: <https://doc.coreboot.org>
+* Issue tracker: <https://ticket.coreboot.org/projects/coreboot>
+* Donations: <https://coreboot.org/donate.html>