soc/intel/xeon_sp/cpx: Fix PCU device IDs
[coreboot.git] / Documentation / releases / coreboot-24.02-relnotes.md
blob4b98d57eb81847126aca88f0f5181335008e300f
1 coreboot 24.02 release
2 ========================================================================
4 The coreboot project is happy to announce our release for February
5 2024. Over the past three months, our contributors have focused on
6 refining the coreboot codebase, generally prioritizing cleanup and
7 quality enhancements. We extend our gratitude to all the contributors
8 who have dedicated their time and expertise. Thank you for your
9 invaluable contributions to this vital phase of maintenance and
10 optimization.
12 The next release is scheduled for mid-May.
15 ## Release number format update
17 The previous release was the last to use the incrementing 4.xx release
18 name scheme. For this and future releases, coreboot has switched to a
19 Year.Month.Sub-version naming scheme. As such, the next release,
20 scheduled for May of 2024 will be numbered 24.05, with the sub-version
21 of 00 implied. If we need to do a fix or incremental release, we'll
22 append the values .01, .02 and so on to the initial release value.
25 ## The master branch is being deleted
27 The coreboot project changed from master to main roughly 6 months ago,
28 and has been keeping the two branches in sync since then to ease the
29 transition. As of this release, we are getting rid of the master branch
30 completely. Please make sure any scripts you're using that reference the
31 'master' branch have been switched to 'main'.
34 Release 24.02.1
35 ---------------
37 ### lib/rtc: Fix off-by-one error in February day count in leap year
39 The month argument passed to rtc\_month\_days is 0-based, not 1-based.
40 This results in the RTC being reverted to the build date constantly
41 on 29th February 2024.
44 Significant or interesting changes
45 ----------------------------------
47 ### acpi: Add Arm IO Remapping Table structures
49 Input Output Remapping Table (IORT) represents the IO topology of an Arm
50 based system.
52 Document number: ARM DEN 0049E.e, Sep 2022
55 ### acpi: Add PPTT support
57 This patch adds code to generate Processor Properties Topology Tables
58 (PPTT) compliant to the ACPI 6.4 specification.
60  - The 'acpi_get_pptt_topology' hook is mandatory once ACPI_PPTT is
61    selected. Its purpose is to return a pointer to a topology tree,
62    which describes the relationship between CPUs and caches. The hook
63    can be provided by, for example, mainboard code.
65 Background: We are currently working on mainboard code for qemu-sbsa and
66 Neoverse N2. Both require a valid PPTT table. Patch was tested against
67 the qemu-sbsa board.
70 ### acpi: Add support for WDAT table
72 This commit lays the groundwork for implementing the ACPI WDAT (Watchdog
73 Action Table) table specification. The WDAT is a special ACPI table
74 introduced by Microsoft that describes the watchdog for the OS.
76 Platforms that need to implement the WDAT table must describe the
77 hardware watchdog management operations as described in the
78 specification. See “Links to ACPI-Related Documents”
79 (http://uefi.org/acpi) under the heading “Watchdog Action Table”.
82 ### lib/jpeg: Replace decoder with Wuffs' implementation
84 To quote its repo[0]: Wuffs is a memory-safe programming language (and a
85 standard library written in that language) for Wrangling Untrusted File
86 Formats Safely. Wrangling includes parsing, decoding and encoding.
88 It compiles its library, written in its own language, to a C/C++ source
89 file that can then be used independently without needing support for the
90 language. That library is now imported to src/vendorcode/wuffs/.
92 This change modifies our linters to ignore that directory because it's
93 supposed to contain the wuffs compiler's result verbatim.
95 Nigel Tao provided an initial wrapper around wuffs' jpeg decoder that
96 implements our JPEG API. I further changed it a bit regarding data
97 placement, dropped stuff from our API that wasn't ever used, or isn't
98 used anymore, and generally made it fit coreboot a bit better. Features
99 are Nigel's, bugs are mine.
101 This commit also adapts our jpeg fuzz test to work with the modified
102 API. After limiting it to deal only with approximately screen sized
103 inputs, it fuzzed for 25 hours CPU time without a single hang or crash.
104 This is a notable improvement over running the test with our old decoder
105 which crashes within a minute.
107 Finally, I tried the new parser with a pretty-much-random JPEG file I
108 got from the internet, and it just showed it (once the resolution
109 matched), which is also a notable improvement over the old decoder which
110 is very particular about the subset of JPEG it supports.
112 In terms of code size, a QEmu build's ramstage increases
113 from 128060 bytes decompressed (64121 bytes after LZMA)
114   to 172304 bytes decompressed (82734 bytes after LZMA).
116 [0] https://github.com/google/wuffs
120 Additional coreboot changes
121 ---------------------------
123 * Rename Makefiles from .inc to .mk to better identify them
124 * SPI: Add GD25LQ255E and IS25WP256D chip support
125 * device: Add support for multiple PCI segment groups
126 * device: Drop unused multiple downstream link support
127 * device: Rename bus and link_list to upstream and downstream
128 * Updated devicetree files for modern Intel platforms to use chipset.cb
129 * Updated xeon-sp to use the coreboot allocator
133 Changes to external resources
134 -----------------------------
136 ### Toolchain updates
137 * Add buildgcc support for Apple M1/M2 devices
138 * Upgrade GCC from 11.4.0 to 13.2.0
139 * Update CMake from 3.26.4 to 3.27.7
140 * Uprev to Kconfig from Linux 6.7
143 ### Git submodule pointers
145 * /3rdparty/amd_blobs: Update from commit id e4519efca7 to 64cdd7c8ef
146   (5 commits)
147 * /3rdparty/arm-trusted-firmware: Update from commit id 88b2d81345 to
148   17bef2248d (701 commits)
149 * /3rdparty/fsp: Update from commit id 481ea7cf0b to 507ef01cce (16 commits)
150 * /3rdparty/intel-microcode: Update from commit id 6788bb07eb to
151   ece0d294a2 (1 commit)
152 * /3rdparty/vboot: Update from commit id 24cb127a5e to 3d37d2aafe
153   (121 commits)
156 ### External payloads
157 * payload/grub2: Update from 2.06 to 2.12
158 * payload/seabios: Update from 1.16.2 to 1.16.3
162 Platform Updates
163 ----------------
165 ### Added mainboards:
166 * Google: Dita
167 * Google: Xol
168 * Lenovo: ThinkPad X230 eDP Mod (2K/FHD)
171 ### Removed Mainboards
172 * Google ->  Primus4ES
176 Statistics from the 4.22 to the 24.02 release
177 --------------------------------------------
179 * Total Commits: 815
180 * Average Commits per day: 8.63
181 * Total lines added: 105433
182 * Average lines added per commit: 129.37
183 * Number of patches adding more than 100 lines: 47
184 * Average lines added per small commit: 41.34
185 * Total lines removed: 16534
186 * Average lines removed per commit: 20.29
187 * Total difference between added and removed: 88899
188 * Total authors: 111
189 * New authors: 19
193 Significant Known and Open Issues
194 ---------------------------------
196 * AMD chromebooks will not work with the signed PSP_verstage images and
197   the version of verstage used in coreboot 24.02.
200 Issues from the coreboot bugtracker: https://ticket.coreboot.org/
202 ### coreboot-wide or architecture-wide issues
204 ```{eval-rst}
205 +-----+-----------------------------------------------------------------+
206 | #   | Subject                                                         |
207 +=====+=================================================================+
208 | 522 | 'region_overlap()' issues due to an integer overflow.           |
209 +-----+-----------------------------------------------------------------+
210 | 519 | make gconfig - could not find glade file                        |
211 +-----+-----------------------------------------------------------------+
212 | 518 | make xconfig - g++: fatal error: no input files                 |
213 +-----+-----------------------------------------------------------------+
217 ### Payload-specific issues
219 ```{eval-rst}
220 +-----+-----------------------------------------------------------------+
221 | #   | Subject                                                         |
222 +=====+=================================================================+
223 | 499 | edk2 boot fails with RESOURCE_ALLOCATION_TOP_DOWN enabled       |
224 +-----+-----------------------------------------------------------------+
225 | 496 | Missing malloc check in libpayload                              |
226 +-----+-----------------------------------------------------------------+
227 | 484 | No USB keyboard support with secondary payloads                 |
228 +-----+-----------------------------------------------------------------+
229 | 414 | X9SAE-V: No USB keyboard init on SeaBIOS using Radeon RX 6800XT |
230 +-----+-----------------------------------------------------------------+
234 ### Platform-specific issues
236 ```{eval-rst}
237 +-----+-----------------------------------------------------------------+
238 | #   | Subject                                                         |
239 +=====+=================================================================+
240 | 517 | lenovo x230 boot stuck with connected external monitor          |
241 +-----+-----------------------------------------------------------------+
242 | 509 | SD Card hotplug not working on Apollo Lake                      |
243 +-----+-----------------------------------------------------------------+
244 | 507 | Windows GPU driver fails on Google guybrush & skyrim boards     |
245 +-----+-----------------------------------------------------------------+
246 | 506 | APL/GML don't boot OS when CPU microcode included "from tree"   |
247 +-----+-----------------------------------------------------------------+
248 | 505 | Harcuvar CRB - 15 of 16 cores present in the operating system   |
249 +-----+-----------------------------------------------------------------+
250 | 499 | T440p - EDK2 fails with RESOURCE_ALLOCATION_TOP_DOWN enabled    |
251 +-----+-----------------------------------------------------------------+
252 | 495 | Stoney Chromebooks not booting PSPSecureOS                      |
253 +-----+-----------------------------------------------------------------+
254 | 478 | X200 booting Linux takes a long time with TSC                   |
255 +-----+-----------------------------------------------------------------+
256 | 474 | X200s crashes after graphic init with 8GB RAM                   |
257 +-----+-----------------------------------------------------------------+
258 | 457 | Haswell (t440p): CAR mem region conflicts with CBFS_SIZE > 8mb  |
259 +-----+-----------------------------------------------------------------+
260 | 453 | Intel HDMI / DP Audio not present in Windows after libgfxinit   |
261 +-----+-----------------------------------------------------------------+
262 | 449 | ThinkPad T440p fail to start, continuous beeping & LED blinking |
263 +-----+-----------------------------------------------------------------+
264 | 448 | Thinkpad T440P ACPI Battery Value Issues                        |
265 +-----+-----------------------------------------------------------------+
266 | 446 | Optiplex 9010 No Post                                           |
267 +-----+-----------------------------------------------------------------+
268 | 439 | Lenovo X201 Turbo Boost not working (stuck on 2,4GHz)           |
269 +-----+-----------------------------------------------------------------+
270 | 427 | x200: Two battery charging issues                               |
271 +-----+-----------------------------------------------------------------+
272 | 412 | x230 reboots on suspend                                         |
273 +-----+-----------------------------------------------------------------+
274 | 393 | T500 restarts rather than waking up from suspend                |
275 +-----+-----------------------------------------------------------------+
276 | 350 | I225 PCIe device not detected on Harcuvar                       |
277 +-----+-----------------------------------------------------------------+
282 coreboot Links and Contact Information
283 --------------------------------------
285 * Main Web site: https://www.coreboot.org
286 * Downloads: https://coreboot.org/downloads.html
287 * Source control: https://review.coreboot.org
288 * Documentation: https://doc.coreboot.org
289 * Issue tracker: https://ticket.coreboot.org/projects/coreboot
290 * Donations: https://coreboot.org/donate.html