2023-05-13 00:50:27 +02:00
|
|
|
|
Upcoming release - coreboot 4.21
|
|
|
|
|
========================================================================
|
|
|
|
|
|
2023-08-21 03:02:27 +02:00
|
|
|
|
The 4.21 release is scheduled for August 21st, 2023
|
2023-05-13 00:50:27 +02:00
|
|
|
|
|
2023-08-21 03:02:27 +02:00
|
|
|
|
In the past quarter year, the coreboot project has gotten over 1200 new
|
|
|
|
|
patches from around 140 authors, 20 of whom contributed for the first
|
|
|
|
|
time.
|
2023-05-13 00:50:27 +02:00
|
|
|
|
|
2023-08-21 03:02:27 +02:00
|
|
|
|
Thank you to all of our donors, the code contributors, the people who
|
|
|
|
|
take time to review all of those patches and all of the people who care
|
|
|
|
|
about the coreboot project. There have been a number of new companies
|
|
|
|
|
starting to use coreboot recently, and we appreciate all of the
|
|
|
|
|
contributions and support.
|
|
|
|
|
|
|
|
|
|
### Upcoming switch from master branch to main branch
|
|
|
|
|
|
|
|
|
|
Historically, the initial branch that was created in a new git
|
|
|
|
|
repository was named ‘master’. In line with many other projects,
|
|
|
|
|
coreboot has decided to switch away from this name and use the name
|
|
|
|
|
‘main’ instead. You can read about the initial reasoning on the SFC’s
|
|
|
|
|
website: https://sfconservancy.org/news/2020/jun/23/gitbranchname/
|
|
|
|
|
|
|
|
|
|
At some point before the 4.22 release, coreboot will be switching from
|
|
|
|
|
the master branch to the main branch. This shouldn’t be a difficult
|
|
|
|
|
change for most people, as everyone will just have to rebase on top of
|
|
|
|
|
a different branch name.
|
|
|
|
|
|
|
|
|
|
We’ve already created the main branch, and it is currently synced with
|
|
|
|
|
the master branch. Please update any scripts to point to main instead
|
|
|
|
|
of master.
|
|
|
|
|
|
|
|
|
|
At the point of the changeover, we will move all patches in gerrit to
|
|
|
|
|
the main branch and disable pushes to the master branch.
|
|
|
|
|
|
|
|
|
|
After the switch, we will sync the main branch to the master branch for
|
|
|
|
|
a while to give people a little more time to update any scripts that
|
|
|
|
|
are currently pointed at the master branch. Note that this update will
|
|
|
|
|
probably be done just once per day, and the frequency of updates will
|
|
|
|
|
be decreased over time. We plan to stop updating the master branch
|
|
|
|
|
following the 4.22 release.
|
2023-05-13 00:50:27 +02:00
|
|
|
|
|
|
|
|
|
Significant or interesting changes
|
|
|
|
|
----------------------------------
|
|
|
|
|
|
2023-08-21 03:02:27 +02:00
|
|
|
|
### lib: Support localized text of memory_training_desc in ux_locales.c
|
|
|
|
|
|
|
|
|
|
Most of the text in coreboot is for logging, and does not use
|
|
|
|
|
localization. There are however, some bits of text that can be
|
|
|
|
|
presented to the user, and this patch supplies a method to localize
|
|
|
|
|
them.
|
|
|
|
|
|
|
|
|
|
To support the localized text, we need to get the locale id by vboot
|
|
|
|
|
APIs and read raw string content file: preram_locales located at either
|
|
|
|
|
RO or RW.
|
|
|
|
|
|
|
|
|
|
The preram_locales file follows the format:
|
|
|
|
|
|
|
|
|
|
[PRERAM_LOCALES_VERSION_BYTE (\x01)]
|
|
|
|
|
[string_name_1] [\x00]
|
|
|
|
|
[locale_id_1] [\x00] [localized_string_1] [\x00]
|
|
|
|
|
[locale_id_2] [\x00] [localized_string_2] …
|
|
|
|
|
[\x01]
|
|
|
|
|
[string_name_2] [\x00] ...
|
|
|
|
|
|
|
|
|
|
This code will search for the correct localized string that its string
|
|
|
|
|
name is `memory_training_desc` and its locale ID matches the ID vb2api
|
|
|
|
|
returns. If no valid string found, we will try to display in English
|
|
|
|
|
(locale ID 0).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Improved the bootsplash support
|
|
|
|
|
|
|
|
|
|
The JPEG decoder, that was added many years ago to display a bootsplash
|
|
|
|
|
in coreboot, has a few quirks. People used to do some voodoo with GIMP
|
|
|
|
|
to convert images to the right format, but we can also achieve the same
|
|
|
|
|
with ImageMagick's `convert`. The currently known constraints are:
|
|
|
|
|
|
|
|
|
|
* The framebuffer's color format is ignored,
|
|
|
|
|
* only YCC 4:2:0 color sampling is supported, and
|
|
|
|
|
* width and height have to be a multiple of 16 pixels.
|
|
|
|
|
|
|
|
|
|
Beside that, we can only display the bootsplash if it completely fits
|
|
|
|
|
into the framebuffer. As the latter's size is often decided at runtime,
|
|
|
|
|
we can't do much more than offering an option to set a specific size.
|
|
|
|
|
|
|
|
|
|
The build system has been extended so that the necessary adjustments to
|
|
|
|
|
the picture can be done by it and several options have been added to
|
|
|
|
|
Kconfig.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### libpayload/uhci: Re-write UHCI RH driver w/ generic_hub API
|
|
|
|
|
|
|
|
|
|
This is a complete rewrite of the UHCI root-hub driver, based on the
|
|
|
|
|
xHCI one. We are doing things by the book as far as possible. One
|
|
|
|
|
special case is uhci_rh_reset_port() which does the reset sequencing
|
|
|
|
|
that usually the hardware would do.
|
|
|
|
|
|
|
|
|
|
This abandons some quirks of the old driver:
|
|
|
|
|
* Ports are not disabled/re-enabled for every attachment anymore.
|
|
|
|
|
* We solely rely on the Connect Status Change bit to track changes.
|
|
|
|
|
* Further status changes are now deferred to the next polling round.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### linux_trampoline: Handle coreboot framebuffer & 64-bit addresses
|
|
|
|
|
|
|
|
|
|
Translate the coreboot framebuffer info from coreboot tables to the
|
|
|
|
|
Linux zero page.
|
|
|
|
|
|
|
|
|
|
To support full 64-bit addresses, there is a new field `ext_lfb_base`
|
|
|
|
|
since Linux 4.1. It is unclear, however, how a loader is supposed to
|
|
|
|
|
know if the kernel is compatible with this. Filling these previously
|
|
|
|
|
reserved bits doesn't hurt, but an old kernel would probably ignore
|
|
|
|
|
them and not know that it's handling a clipped, invalid address. So we
|
|
|
|
|
play safe, and only allow 64-bit addresses for kernels after the 2.15
|
|
|
|
|
version bump of the boot protocol.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### arch/x86: Don't allow hw floating point operations
|
|
|
|
|
|
|
|
|
|
Even though coreboot does not allow floating point operations, some
|
|
|
|
|
compilers like clang generate code using hw floating point registers,
|
|
|
|
|
e.g. SSE %XMMx registers on 64bit code by default. Floating point
|
|
|
|
|
operations need to be enabled in hardware for this to work (CR4). Also
|
|
|
|
|
in SMM we explicitly need to save and restore floating point registers
|
|
|
|
|
for this reason. If we instruct the compiler to not generate code with
|
|
|
|
|
FPU ops, this simplifies our code as we can skip that step.
|
|
|
|
|
|
|
|
|
|
With clang this reduces the binary size a bit. For instance ramstage
|
|
|
|
|
for emulation/qemu-q35 drops by 4 kB from from 216600 bytes
|
|
|
|
|
decompressed to 212768 bytes.
|
|
|
|
|
|
|
|
|
|
Since we now explicitly compile both ramstage and smihandler code
|
|
|
|
|
without floating point operations and associated registers we don't
|
|
|
|
|
need to save/restore floating point registers in SMM.
|
|
|
|
|
|
|
|
|
|
The EFER MSR is in the SMM save state and RSM properly restores it.
|
|
|
|
|
Returning to 32bit mode was only done so that fxsave was done in the
|
|
|
|
|
same mode as fxrstor, but this is no longer done.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Caching of PCIe 5.0 HSPHY firmware in SPI flash
|
|
|
|
|
|
|
|
|
|
This adds the ability to cache the PCIe 5.0 HSPHY firmware in the SPI
|
|
|
|
|
flash. A new flashmap region is created for that purpose. The goal of
|
|
|
|
|
caching is to reduce the dependency on the CSME (Converged Security and
|
|
|
|
|
Management Engine) and the HECI (Host Embedded Controller Interface) IP
|
|
|
|
|
LOAD command which may fail when the CSME is disabled, e.g. soft
|
|
|
|
|
disabled by HECI command or HAP (High Assurance Platform mode). By
|
|
|
|
|
caching that firmware, this allows the PCIe 5.0 root ports to keep
|
|
|
|
|
functioning even if CSME/HECI is not functional.
|
2023-05-13 00:50:27 +02:00
|
|
|
|
|
|
|
|
|
|
2023-08-21 03:02:27 +02:00
|
|
|
|
### Extracting of TPM logs using cbmem tool
|
2023-05-25 06:16:48 +02:00
|
|
|
|
|
2023-08-21 03:02:27 +02:00
|
|
|
|
CBMEM can contain logs in different forms (at most one is present):
|
|
|
|
|
* coreboot-specific format (CBMEM_ID_TPM_CB_LOG exported as
|
|
|
|
|
LB_TAG_TPM_CB_LOG)
|
|
|
|
|
* TPM1.2 format (CBMEM_ID_TCPA_TCG_LOG)
|
|
|
|
|
* TPM2 format (CBMEM_ID_TPM2_TCG_LOG)
|
|
|
|
|
|
|
|
|
|
The last two follow specifications by Trusted Computing Group, but
|
|
|
|
|
until now cbmem couldn't print them.
|
|
|
|
|
|
|
|
|
|
These changes make the cbmem utility check for existence of TPM1.2/TPM2
|
|
|
|
|
logs in CBMEM and add code necessary for parsing and printing of their
|
|
|
|
|
entries.
|
|
|
|
|
|
|
|
|
|
`cbmem -L` for CONFIG_TPM1=y case
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
TCPA log:
|
|
|
|
|
Specification: 1.21
|
|
|
|
|
Platform class: PC Client
|
|
|
|
|
TCPA log entry 1:
|
|
|
|
|
PCR: 2
|
|
|
|
|
Event type: Action
|
|
|
|
|
Digest: 5622416ea417186aa1ac32b32c527ac09009fb5e
|
|
|
|
|
Event data: FMAP: FMAP
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
`cbmem -L` for CONFIG_TPM2=y case
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
TPM2 log:
|
|
|
|
|
Specification: 2.00
|
|
|
|
|
Platform class: PC Client
|
|
|
|
|
TPM2 log entry 1:
|
|
|
|
|
PCR: 2
|
|
|
|
|
Event type: Action
|
|
|
|
|
Digests:
|
|
|
|
|
SHA256: 68d27f08cb261463a6d004524333ac5db1a3c2166721785a6061327b6538657c
|
|
|
|
|
Event data: FMAP: FMAP
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### soc/amd: read domain resource window configuration from hardware
|
|
|
|
|
|
|
|
|
|
Read the MMIO and IO decode windows for the PCI root complex and the
|
|
|
|
|
PCI bus number range decoded to the PCI root complex from the data
|
|
|
|
|
fabric registers and pass the information to the resource allocator so
|
|
|
|
|
it has the correct constraints to do its job. Also generate the
|
|
|
|
|
corresponding ACPI resource producers in the SSDT so that the OS knows
|
|
|
|
|
about this too. This is required for the upcoming USB 4 support.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Additional coreboot changes
|
|
|
|
|
---------------------------
|
|
|
|
|
|
|
|
|
|
* Added SPDX headers to more files to help automated license checking.
|
|
|
|
|
The linter has been enabled to check the Makefiles as well.
|
|
|
|
|
* Cleaned up Kconfig files and source code.
|
|
|
|
|
* Enabled acpigen to generate tables for SPCR (Serial Port Console
|
|
|
|
|
Redirection) and GTDT (Generic Timer Description Table).
|
|
|
|
|
* The resource allocation above the 4GiB boundary has been improved.
|
|
|
|
|
* Most of the code has been adjusted to make use of C99 flexible arrays
|
|
|
|
|
instead of one-element or zero-length arrays.
|
|
|
|
|
* Additional Dockerfiles based on Arch and Alpine Linux have been added
|
|
|
|
|
to build-test with alternate build environments, including musl-libc.
|
|
|
|
|
They are very basic at the moment and not equal to the coreboot-sdk.
|
|
|
|
|
They will be extended in the future.
|
|
|
|
|
* Added support for ITE IT8784E to superiotool.
|
|
|
|
|
* Added support for Intel 700 chipset series to inteltool and a build
|
|
|
|
|
issue with musl–libc has been fixed.
|
|
|
|
|
* Added support for Intel 800 chipset series to ifdtool.
|
|
|
|
|
* The coreboot-sdk container has been extended so that it allows
|
|
|
|
|
extracting the MRC binary from Haswell-based ChromeOS firmware images.
|
|
|
|
|
* From now on POST code preprocessor macros should have a POSTCODE
|
|
|
|
|
prefix following the name of the POST code.
|
|
|
|
|
* The NASM compiler provided by the coreboot toolchain wasn’t properly
|
|
|
|
|
integrated into xcompile and thus it wasn’t used by the build system.
|
|
|
|
|
Instead, it was required to install NASM on the host in order to use
|
|
|
|
|
it. This has been fixed.
|
|
|
|
|
* The time measurement done in abuild got improved and also an issue
|
|
|
|
|
has been fixed when the variant name contains hyphens.
|
|
|
|
|
* The RISC-V code was enabled to build with Clang.
|
|
|
|
|
* Initial work has been done to transform Camelcase options to
|
|
|
|
|
Snakecase.
|
|
|
|
|
* The buildgcc script is now able to just fetch the tarballs if desired,
|
|
|
|
|
which is needed for reproducible build environments for example.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Changes to external resources
|
|
|
|
|
-----------------------------
|
|
|
|
|
|
|
|
|
|
### Toolchain
|
|
|
|
|
|
|
|
|
|
* binutils
|
|
|
|
|
* Added binutils-2.40_stop_losing_entry_point_when_LTO_enabled.patch
|
2023-07-30 21:12:39 +02:00
|
|
|
|
* Upgrade IASL from 20221020 to 20230628
|
|
|
|
|
* Upgrade LLVM from 15.0.7 to 16.0.6
|
|
|
|
|
* Upgrade NASM from 2.15.05 to 2.16.01
|
2023-08-21 03:02:27 +02:00
|
|
|
|
* Added nasm-2.16.01_handle_warning_files_while_building_in_a_directory.patch
|
2023-06-03 09:51:40 +02:00
|
|
|
|
* Upgrade CMake from 3.26.3 to 3.26.4
|
2023-07-30 21:12:39 +02:00
|
|
|
|
* Upgrade GCC from 11.3.0 to 11.4.0
|
2023-08-21 03:02:27 +02:00
|
|
|
|
* Added gcc-11.4.0_rv32iafc.patch
|
2023-05-25 06:16:48 +02:00
|
|
|
|
|
2023-05-13 00:50:27 +02:00
|
|
|
|
|
2023-08-21 03:02:27 +02:00
|
|
|
|
### Git submodule pointers
|
|
|
|
|
|
|
|
|
|
#### /3rdparty
|
|
|
|
|
* amd_blobs: Update from commit id 1cd6ea5cc5 to 6a1e1457af (5 commits)
|
|
|
|
|
* arm-trusted-firmware: Update from commit id 4c985e8674 to 37366af8d4
|
|
|
|
|
(851 commits)
|
|
|
|
|
* blobs: Update from commit id 01ba15667f to a8db7dfe82 (14 commits)
|
|
|
|
|
* fsp: Update from commit id 6f2f17f3d3 to 3beceb01f9 (24 commits)
|
|
|
|
|
* intel-microcode: Update from commit id 2be47edc99 to 6f36ebde45 (5
|
|
|
|
|
commits)
|
|
|
|
|
* libgfxinit: Update from commit id 066e52eeaa to a4be8a21b0 (18
|
|
|
|
|
commits)
|
|
|
|
|
* libhwbase: Update from commit id 8be5a82b85 to 584629b9f4 (2 commits)
|
|
|
|
|
* qc_blobs: Update from commit id 33cc4f2fd8 to a252198ec6 (4 commits)
|
|
|
|
|
* vboot: Update from commit id 35f50c3154 to 0c11187c75 (83 commits)
|
|
|
|
|
|
|
|
|
|
#### /util
|
|
|
|
|
* goswid: Update from commit id bdd55e4202 to 567a1c99b0 (5 commits)
|
|
|
|
|
* nvidia/cbootimage: Update from commit id 65a6d94dd5 to 80c499ebbe (1
|
|
|
|
|
commit)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### External payloads
|
|
|
|
|
|
|
|
|
|
* Update the depthcharge payload from commit ID 902681db13 to c48613a71c
|
|
|
|
|
* Upgrade EDK2-MrChromebox from version 202304 to version 202306
|
|
|
|
|
* Upgrade SeaBIOS from version 1.16.1 to version 1.16.2
|
|
|
|
|
* Update tint from version 0.05 to version 0.07
|
|
|
|
|
* Update U-Boot from version 2021.07 to version v2023.07
|
2023-05-13 00:50:27 +02:00
|
|
|
|
|
|
|
|
|
|
2023-08-21 03:02:27 +02:00
|
|
|
|
Added mainboards:
|
|
|
|
|
-----------------
|
|
|
|
|
* ByteDance ByteDance bd_egs
|
|
|
|
|
* Google: Craaskov
|
|
|
|
|
* Google: Expresso
|
|
|
|
|
* Google: Karis
|
|
|
|
|
* Google: Karis4ES
|
|
|
|
|
* Google: Pirrha
|
|
|
|
|
* Google: Ponyta
|
|
|
|
|
* Google: Screebo4ES
|
|
|
|
|
* Google: Ovis
|
|
|
|
|
* Google: Ovis4ES
|
|
|
|
|
* Google: Rex EC ISH
|
|
|
|
|
* Google: Rex4ES
|
|
|
|
|
* HP Compaq Elite 8300 USDT
|
|
|
|
|
* HP EliteBook 820 G2
|
|
|
|
|
* IBM SBP1
|
|
|
|
|
* Intel Raptorlake silicon with Alderlake-P RVP
|
|
|
|
|
* Inventec Transformers
|
|
|
|
|
* MSI PRO Z790-P (WIFI)
|
|
|
|
|
* MSI PRO Z790-P (WIFI) DDR4
|
|
|
|
|
* Star Labs Star Labs StarBook Mk VI (i3-1315U and i7-1360P)
|
|
|
|
|
* System76 addw3
|
|
|
|
|
* System76 bonw15
|
|
|
|
|
* System76 darp9
|
|
|
|
|
* System76 galp7
|
|
|
|
|
* System76 gaze17 3050
|
|
|
|
|
* System76 gaze17 3060-b
|
|
|
|
|
* System76 gaze18
|
|
|
|
|
* System76 lemp12
|
|
|
|
|
* System76 oryp11
|
|
|
|
|
* System76 serw13
|
2023-05-13 00:50:27 +02:00
|
|
|
|
|
|
|
|
|
|
2023-08-21 03:02:27 +02:00
|
|
|
|
Removed Mainboards
|
|
|
|
|
------------------
|
|
|
|
|
|
|
|
|
|
* Intel Galileo
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Updated SoCs
|
|
|
|
|
------------
|
|
|
|
|
|
|
|
|
|
* Removed src/soc/intel/quark
|
2023-05-13 00:50:27 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Statistics from the 4.20 to the 4.21 release
|
|
|
|
|
--------------------------------------------
|
|
|
|
|
|
2023-08-21 03:02:27 +02:00
|
|
|
|
* Total Commits: 1252
|
|
|
|
|
* Average Commits per day: 12.59
|
|
|
|
|
* Total lines added: 317734
|
|
|
|
|
* Average lines added per commit: 253.78
|
|
|
|
|
* Number of patches adding more than 100 lines: 86
|
|
|
|
|
* Average lines added per small commit: 36.22
|
|
|
|
|
* Total lines removed: 261063
|
|
|
|
|
* Average lines removed per commit: 208.52
|
|
|
|
|
* Total difference between added and removed: 56671
|
|
|
|
|
|
|
|
|
|
* Total authors: 143
|
|
|
|
|
* New authors: 21
|
2023-05-13 00:50:27 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Significant Known and Open Issues
|
|
|
|
|
---------------------------------
|
|
|
|
|
|
|
|
|
|
|
2023-08-21 03:02:27 +02:00
|
|
|
|
Issues from the coreboot bugtracker: https://ticket.coreboot.org/
|
|
|
|
|
```eval_rst
|
|
|
|
|
+-----+-----------------------------------------------------------------+
|
|
|
|
|
| # | Subject |
|
|
|
|
|
+=====+=================================================================+
|
|
|
|
|
| 499 | edk2 boot fails with RESOURCE_ALLOCATION_TOP_DOWN enabled |
|
|
|
|
|
+-----+-----------------------------------------------------------------+
|
|
|
|
|
| 495 | Stoney chromebooks not booting PSPSecureOS |
|
|
|
|
|
+-----+-----------------------------------------------------------------+
|
|
|
|
|
| 478 | X200 booting Linux takes a long time with TSC |
|
|
|
|
|
+-----+-----------------------------------------------------------------+
|
|
|
|
|
| 474 | X200s crashes after graphic init with 8GB RAM |
|
|
|
|
|
+-----+-----------------------------------------------------------------+
|
|
|
|
|
| 457 | Haswell (t440p): CAR mem region conflicts with CBFS_SIZE > 8mb |
|
|
|
|
|
+-----+-----------------------------------------------------------------+
|
|
|
|
|
| 453 | Intel HDMI / DP Audio device not showing up after libgfxinit |
|
|
|
|
|
+-----+-----------------------------------------------------------------+
|
|
|
|
|
| 449 | ThinkPad T440p fail to start, continuous beeping & LED blinking |
|
|
|
|
|
+-----+-----------------------------------------------------------------+
|
|
|
|
|
| 448 | Thinkpad T440P ACPI Battery Value Issues |
|
|
|
|
|
+-----+-----------------------------------------------------------------+
|
|
|
|
|
| 446 | Optiplex 9010 No Post |
|
|
|
|
|
+-----+-----------------------------------------------------------------+
|
|
|
|
|
| 439 | Lenovo X201 Turbo Boost not working (stuck on 2,4GHz) |
|
|
|
|
|
+-----+-----------------------------------------------------------------+
|
|
|
|
|
| 427 | x200: Two battery charging issues |
|
|
|
|
|
+-----+-----------------------------------------------------------------+
|
|
|
|
|
| 414 | X9SAE-V: No USB keyboard init on SeaBIOS using Radeon RX 6800XT |
|
|
|
|
|
+-----+-----------------------------------------------------------------+
|
|
|
|
|
| 412 | x230 reboots on suspend |
|
|
|
|
|
+-----+-----------------------------------------------------------------+
|
|
|
|
|
| 393 | T500 restarts rather than waking up from suspend |
|
|
|
|
|
+-----+-----------------------------------------------------------------+
|
|
|
|
|
| 350 | I225 PCIe device not detected on Harcuvar |
|
|
|
|
|
+-----+-----------------------------------------------------------------+
|
|
|
|
|
| 327 | OperationRegion (OPRG, SystemMemory, ASLS, 0x2000) causes BSOD |
|
|
|
|
|
+-----+-----------------------------------------------------------------+
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
coreboot Links and Contact Information
|
|
|
|
|
--------------------------------------
|
|
|
|
|
|
|
|
|
|
* Main Web site: https://www.coreboot.org
|
|
|
|
|
* IRC: https://web.libera.chat/#coreboot
|
|
|
|
|
* Downloads: https://coreboot.org/downloads.html
|
|
|
|
|
* Source control: https://review.coreboot.org
|
|
|
|
|
* Documentation: https://doc.coreboot.org
|
|
|
|
|
* Issue tracker: https://ticket.coreboot.org/projects/coreboot
|
|
|
|
|
* Donations: https://coreboot.org/donate.html
|