Showing 1,588 changed files with 32,663 additions and 22,548 deletions.
2 changes: 1 addition & 1 deletion 3rdparty/amd_blobs
Submodule amd_blobs updated from 3e4a2e to b12744
2 changes: 1 addition & 1 deletion 3rdparty/blobs
Submodule blobs updated from a59fb6 to 353f24
2 changes: 1 addition & 1 deletion 3rdparty/fsp
Submodule fsp updated from eb25f1 to e7138b
2 changes: 1 addition & 1 deletion 3rdparty/intel-microcode
Submodule intel-microcode updated from 0e4288 to 49bb67
2 changes: 1 addition & 1 deletion 3rdparty/libgfxinit
Submodule libgfxinit updated from 3318bf to bc0588
7 changes: 6 additions & 1 deletion CHANGELOG.md
Expand Up @@ -13,6 +13,10 @@ Please use [pce-fw-builder](https://github.com/pcengines/pce-fw-builder)

## [Unreleased]

## [v4.13.0.3] - 2021-01-27
### Changed
- rebased with official coreboot repository commit 5e6e5c1

## [v4.13.0.2] - 2020-12-28
### Changed
- rebased with official coreboot repository commit 8edb48b
Expand Down Expand Up @@ -480,7 +484,8 @@ redundant code which was similar for APU2/3/5 boards.
- turn off D4 and D5 leds on boot
- enable power on after power failure

[Unreleased]: https://github.com/pcengines/coreboot/compare/v4.13.0.2...develop
[Unreleased]: https://github.com/pcengines/coreboot/compare/v4.13.0.3...develop
[v4.13.0.3]: https://github.com/pcengines/coreboot/compare/v4.13.0.2...v4.13.0.3
[v4.13.0.2]: https://github.com/pcengines/coreboot/compare/v4.13.0.1...v4.13.0.2
[v4.13.0.1]: https://github.com/pcengines/coreboot/compare/v4.12.0.6...v4.13.0.1
[v4.12.0.6]: https://github.com/pcengines/coreboot/compare/v4.12.0.5...v4.12.0.6
Expand Down
30 changes: 30 additions & 0 deletions Documentation/arch/x86/index.md
Expand Up @@ -65,3 +65,33 @@ The reference implementation is
* Test how well CAR works with x86_64 and paging
* Improve mode switches
* Test libgfxinit / VGA Option ROMs / FSP

## Known bugs on real hardware

According to Intel x86_64 mode hasn't been validated in CAR environments.
Until now it could be verified on various Intel platforms and no issues have
been found.

## Known bugs on KVM enabled qemu

The `x86_64` reference code runs fine in qemu soft-cpu, but has serious issues
when using KVM mode on some machines. The workaround is to *not* place
page-tables in ROM, as done in
[CB:49228](https://review.coreboot.org/c/coreboot/+/49228).

Here's a list of known issues:

* After entering long mode, the FPU doesn't work anymore, including accessing
MMX registers. It works fine before entering long mode. It works fine when
switching back to protected mode. Other registers, like SSE registers, are
working fine.
* Reading from virtual memory, when the page tables are stored in ROM, causes
the MMU to abort the "page table walking" mechanism when the lower address
bits of the virtual address to be translated have a specific pattern.
Instead of loading the correct physical page, the one containing the
page tables in ROM will be loaded and used, which breaks code and data as
the page table doesn't contain the expected data. This in turn leads to
undefined behaviour whenever the 'wrong' address is being read.
* Disabling paging in compability mode crashes the CPU.
* Returning from long mode to compability mode crashes the CPU.
* Entering long mode crashes on AMD host platforms.
2 changes: 2 additions & 0 deletions Documentation/drivers/index.md
Expand Up @@ -4,7 +4,9 @@ The drivers can be found in `src/drivers`. They are intended for onboard
and plugin devices, significantly reducing integration complexity and
they allow to easily reuse existing code accross platforms.

* [Intel DPTF](dptf.md)
* [IPMI KCS](ipmi_kcs.md)
* [SMMSTORE](smmstore.md)
* [SoundWire](soundwire.md)
* [SMMSTOREv2](smmstorev2.md)
* [USB4 Retimer](retimer.md)
10 changes: 10 additions & 0 deletions Documentation/getting_started/gpio.md
Expand Up @@ -129,3 +129,13 @@ If no pullup or pulldown is declared with these, they may end up "floating",
i.e., not at logical high or logical low. This can cause problems such as
unwanted power consumption or not reading the pin correctly, if it was intended
to be strapped.

## Pad-related known issues and workarounds

### LPC_CLKRUNB blocks S0ix states when board uses eSPI

When using eSPI, the pad implementing `LPC_CLKRUNB` must be set to GPIO mode.
Other pin settings i.e. Rx path enable/disable, Tx path enable/disable, pull up
enable/disable etc are ignored. Leaving this pin in native mode will keep the
LPC Controller awake and prevent S0ix entry. This issues is know at least on
Apollolake and Geminilake.
1 change: 1 addition & 0 deletions Documentation/index.md
Expand Up @@ -187,5 +187,6 @@ Contents:
* [SuperIO](superio/index.md)
* [Vendorcode](vendorcode/index.md)
* [Utilities](util.md)
* [coreboot infrastructure](infrastructure/index.md)
* [Release notes for past releases](releases/index.md)
* [Flashing firmware tutorial](flash_tutorial/index.md)