Skip to content

Commit 4b51656

Browse files
author
Marek Kasiewicz
committed
Merge branch 'master' into develop
Signed-off-by: Marek Kasiewicz <[email protected]>
2 parents 3f143bf + 5e6e5c1 commit 4b51656

File tree

1,581 files changed

+32651
-22541
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,581 files changed

+32651
-22541
lines changed

3rdparty/amd_blobs

Submodule amd_blobs updated from 3e4a2e5 to b127449

3rdparty/blobs

Submodule blobs updated from a59fb6e to 353f246

3rdparty/fsp

Submodule fsp updated from eb25f19 to e7138bf

3rdparty/intel-microcode

Submodule intel-microcode updated from 0e4288f to 49bb67f

3rdparty/libgfxinit

Submodule libgfxinit updated from 3318bf2 to bc0588e

Documentation/arch/x86/index.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,3 +65,33 @@ The reference implementation is
6565
* Test how well CAR works with x86_64 and paging
6666
* Improve mode switches
6767
* Test libgfxinit / VGA Option ROMs / FSP
68+
69+
## Known bugs on real hardware
70+
71+
According to Intel x86_64 mode hasn't been validated in CAR environments.
72+
Until now it could be verified on various Intel platforms and no issues have
73+
been found.
74+
75+
## Known bugs on KVM enabled qemu
76+
77+
The `x86_64` reference code runs fine in qemu soft-cpu, but has serious issues
78+
when using KVM mode on some machines. The workaround is to *not* place
79+
page-tables in ROM, as done in
80+
[CB:49228](https://review.coreboot.org/c/coreboot/+/49228).
81+
82+
Here's a list of known issues:
83+
84+
* After entering long mode, the FPU doesn't work anymore, including accessing
85+
MMX registers. It works fine before entering long mode. It works fine when
86+
switching back to protected mode. Other registers, like SSE registers, are
87+
working fine.
88+
* Reading from virtual memory, when the page tables are stored in ROM, causes
89+
the MMU to abort the "page table walking" mechanism when the lower address
90+
bits of the virtual address to be translated have a specific pattern.
91+
Instead of loading the correct physical page, the one containing the
92+
page tables in ROM will be loaded and used, which breaks code and data as
93+
the page table doesn't contain the expected data. This in turn leads to
94+
undefined behaviour whenever the 'wrong' address is being read.
95+
* Disabling paging in compability mode crashes the CPU.
96+
* Returning from long mode to compability mode crashes the CPU.
97+
* Entering long mode crashes on AMD host platforms.

Documentation/drivers/index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ The drivers can be found in `src/drivers`. They are intended for onboard
44
and plugin devices, significantly reducing integration complexity and
55
they allow to easily reuse existing code accross platforms.
66

7+
* [Intel DPTF](dptf.md)
78
* [IPMI KCS](ipmi_kcs.md)
89
* [SMMSTORE](smmstore.md)
910
* [SoundWire](soundwire.md)
1011
* [SMMSTOREv2](smmstorev2.md)
12+
* [USB4 Retimer](retimer.md)

Documentation/getting_started/gpio.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,3 +129,13 @@ If no pullup or pulldown is declared with these, they may end up "floating",
129129
i.e., not at logical high or logical low. This can cause problems such as
130130
unwanted power consumption or not reading the pin correctly, if it was intended
131131
to be strapped.
132+
133+
## Pad-related known issues and workarounds
134+
135+
### LPC_CLKRUNB blocks S0ix states when board uses eSPI
136+
137+
When using eSPI, the pad implementing `LPC_CLKRUNB` must be set to GPIO mode.
138+
Other pin settings i.e. Rx path enable/disable, Tx path enable/disable, pull up
139+
enable/disable etc are ignored. Leaving this pin in native mode will keep the
140+
LPC Controller awake and prevent S0ix entry. This issues is know at least on
141+
Apollolake and Geminilake.

Documentation/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,5 +187,6 @@ Contents:
187187
* [SuperIO](superio/index.md)
188188
* [Vendorcode](vendorcode/index.md)
189189
* [Utilities](util.md)
190+
* [coreboot infrastructure](infrastructure/index.md)
190191
* [Release notes for past releases](releases/index.md)
191192
* [Flashing firmware tutorial](flash_tutorial/index.md)

0 commit comments

Comments
 (0)