4 coreboot 4.11 was released on November 19th.
6 This release cycle was a bit shorter to get closer to our regular
7 schedule of releasing in spring and autumn.
9 Since 4.10 there were 1630 new commits by over 130 developers.
10 Of these, about 30 contributed to coreboot for the first time.
12 Thank you to all contributors who made 4.11 what it is and welcome
13 to the project to all new contributors!
18 The past few months saw lots of cleanup across the source tree:
20 The included headers in source files were stripped down to avoid reading
21 unused headers, and unused code fragments, duplicate preprocessor symbols
22 and configuration options were eliminated. Even ACPI got its share
23 of attention, making our tables and bytecode more standards compliant
26 The code across Intel's chipsets was unified some more into drivers for
27 common function blocks, an effort we're more confident will succeed now
28 that Intel itself is driving it.
33 Most activity in the last couple months was on Intel support,
34 specifically the Kaby Lake and Cannon Lake drivers were extended
35 for the generations following them.
37 On ARM, the Mediatek 8173 chipset support saw significant work while
38 the AMD side worked on getting Picasso support in.
40 But everything else also saw some action, the relatively old
41 (e.g. Intel GM45, Via VX900), the tiny (RISC-V) and the obscure
47 The vboot feature that Chromebooks brought into coreboot was extended
48 to work on devices that weren't specially adapted for it: In addition
49 to its original device family it's now supported on various Lenovo
50 laptops, Open Compute Project systems and Siemens industrial machines.
52 Eltan's support for measured boot continues to be integrated with
53 vboot, sharing data structures and generally working together where
59 With 4.11 there's the beginning of support for Intel Tiger Lake and
60 Qualcomm's SC7180 SoCs, while we removed the unmaintained support
61 for Allwinner's A10 SoC.
63 There are also 25 new mainboards in our tree:
67 * EMULATION QEMU-AARCH64
84 * LENOVO THINKPAD T440P
86 * RAZER BLADE-STEALTH KBL
88 * SUPERMICRO X11SSH-TF
91 In addition to the Cubieboard (which uses the A10 SoC), we also
92 removed Google Hatch WHL.
97 Because there was only a single developer board (AMD Torpedo)
98 using AGESA family 12h, and because there were multiple,
99 unique Coverity issues with it, the associated vendorcode will
100 be removed shortly after this release.
102 Support for the MIPS architecture will also be removed shortly after
103 this release as the only board in the tree was a discontinued development
104 board and no other work has picked up MIPS support, so it's very likely
107 After more than a year of planning and following the announcement in
108 coreboot 4.10, platforms not using relocatable ramstage, a C bootblock
109 and, on systems using Cache as RAM, a postcar stage, won't be supported
115 ### `__PRE_RAM__` is deprecated
117 Preprocessor use of `defined(__PRE_RAM__)` have been mostly replaced with
118 `if (ENV_ROMSTAGE_OR_BEFORE)` or the inverse `if (ENV_RAMSTAGE)`.
120 The remaining cases and `-D__PRE_RAM__` are to be removed soon after release.
122 ### `__BOOTBLOCK__` et.al. are converted
124 This applies to all `ENV_xxx` definitions found in `<rules.h>`.
126 Write code without preprocessor directives whenever possible, replacing
127 `#ifdef __BOOTBLOCK__` with `if (ENV_BOOTBLOCK)`
129 In cases where preprocessor is needed use `#if ENV_BOOTBLOCK` instead.
131 ### `CAR_GLOBAL` is removed where possible
133 For all platform code with `NO_CAR_GLOBAL_MIGRATION=y`, any `CAR_GLOBAL`
134 attributes have been removed. Remaining cases from common code are to be
135 removed soon after release.
137 ### `TSEG` and `cbmem_top()` mapping
139 Significant refactoring has been done to achieve some consistency across platforms
140 and to reduce code duplication.
142 ### Build system amenities ###
144 The build system now has an `all` class of source files to remove the need to
145 list source files for each and every source class (romstage, ramstage, ...)
147 The site-local/ mechanism became more robust.
149 ### Stricter coding standards to improve security ###
151 The build now fails on variable length arrays (that make it way too easy to
152 smash a stack) and case statements falling through without a note that it is
155 ### Shorter file headers ###
157 This project is still under way, but we started moving author information
158 from individual files into the global AUTHORS file (and there's the git
159 history for more details).
161 In the future, we also want to replace the license headers (lots of lines)
162 in each file with spdx identifiers (one line) and so we added a LICENSES/
163 directory that contains the full text of all the licenses that are used
166 ### Variant creation scripts ###
168 To ease the creation of variant boards, `util/mainboard/` now contains
169 scripts to generate a new variant to a given board. These are still
170 specific to google/hatch at this time, but they're written with the idea
171 of becoming more generally useful.
175 Payload integration has been updated, coreinfo learned to cope with
176 UPPER CASE commands and libpayload knows how to deal with USB3 hubs.
178 ### Added vboot support to the following platforms:
183 ### Moved the following platforms to C_ENVIRONMENT_BOOTBLOCK:
194 Most notable, dynamic CDClk configuration was added to libgfxinit,
195 to support higher resolution displays without changes in the static
196 configuration. It also received some fixes for better DP and eDP
197 compatibility, better error recovery for Intel's fickle GMBus and
198 updated platform support:
199 * Correct HDMI clock limit for G45.
200 * DP support for Ibex Peak (Ironlake graphics).
201 * Fixed scaling on eDP for Broadwell.
202 * Support for ULX variants of Haswell and later.
203 * Support for Kaby, Amber, Coffee and Whiskey Lake.
206 * Did cleanups around TSC timer
207 * Improved automatic VR configuration on SKL/KBL
208 * Filled additional fields in SMBIOS type 4
209 * Removed magic value replay from Intel Nehalem/ibexpeak code base
210 * Added OpenSBI on RISCV platforms
211 * Did more preparations for Intel TXT support
212 * Did more preparations for x86_64 stage support
213 * Added SSDT generator for arbitrary SuperIO chips based on devicetree.cb