soc/intel/common/block/cpu: Fix boot failure
[coreboot.git] / Documentation / releases / coreboot-4.13-relnotes.md
blob8d19067c70c14265210fb047b9d986d525fb8d46
1 Upcoming release - coreboot 4.13
2 ================================
4 The 4.13 release is planned for November 2020.
6 Update this document with changes that should be in the release notes.
8 * Please use Markdown.
9 * See the past few release notes for the general format.
10 * The chip and board additions and removals will be updated right
11   before the release, so those do not need to be added.
13 Significant changes
14 -------------------
16 ### Hidden PCI devices
18 This new functionality takes advantage of the existing 'hidden' keyword in the
19 devicetree. Since no existing boards were using the keyword, its usage was
20 repurposed to make dealing with some unique PCI devices easier. The particular
21 case here is Intel's PMC (Power Management Controller). During the FSP-S run,
22 the PMC device is made hidden, meaning that its config space looks as if there
23 is no device there (Vendor ID reads as 0xFFFF_FFFF). However, the device does
24 have fixed resources, both MMIO and I/O. These were previously recorded in
25 different places (MMIO was typically an SA fixed resource, and I/O was treated
26 as an LPC resource). With this change, when a device in the tree is marked as
27 'hidden', it is not probed (`pci_probe_dev()`) but rather assumed to exist so
28 that its resources can be placed in a more natural location. This also adds the
29 ability for the device to participate in SSDT generation.
31 ### Tools for generating SPDs for LP4x memory on TGL and JSL
33 A set of new tools `gen_spd.go` and `gen_part_id.go` are added to automate the
34 process of generating SPDs for LP4x memory and assigning hardware strap IDs for
35 memory parts used on TGL and JSL based boards. The SPD data obtained from memory
36 part vendors has to be massaged to format it correctly as per JEDEC and Intel MRC
37 expectations. These tools take a list of memory parts describing their physical
38 attributes as per their datasheet and convert those attributes into SPD files for
39 the platforms. More details about the tools are added in
40 [README.md](https://review.coreboot.org/plugins/gitiles/coreboot/+/refs/heads/master/util/spd_tools/intel/lp4x/README.md).
42 ### New version of SMM loader
44 A new version of the SMM loader which accomodates platforms with over 32 CPU
45 CPU threads.  The existing version of SMM loader uses a 64K code/data
46 segment and only a limited number of CPU threads can fit into one segment
47 (because of save state, STM, other features, etc). This loader extends beyond
48 the 64K segment to accomodate additional CPUs and in theory allows as many
49 CPU threads as possible limited only by SMRAM space and not by 64K. By default
50 this loader version is disabled. Please see cpu/x86/Kconfig for more info.
52 ### Initial support for x86_64
54 The x86_64 code support has been revived and enabled for qemu. While it started
55 as PoC and the only supported platform is an emulator, there's interest in
56 enabling additional platforms. It would allow to access more than 4GiB of memory
57 at runtime and possibly brings optimised code for faster execution times.
58 It still needs changes in assembly, fixed integer to pointer conversions in C,
59 wrappers for blobs, support for running Option ROMs, among other things.
61 ### Add significant changes here