Canoeboot 20231026 release
Signed-off-by: Leah Rowe <leah@libreboot.org>
This commit is contained in:
parent
a2d4766d41
commit
58ec3ca34f
413 changed files with 13403 additions and 24640 deletions
82
.gitcheck
82
.gitcheck
|
@ -1,82 +0,0 @@
|
|||
#!/usr/bin/env sh
|
||||
# SPDX-FileCopyrightText: 2022 Caleb La Grange <thonkpeasant@protonmail.com>
|
||||
# SPDX-FileCopyrightText: 2023 Leah Rowe <leah@libreboot.org>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
git_name="gbmkplaceholder"
|
||||
git_email="placeholder@toejamworld.com"
|
||||
|
||||
main()
|
||||
{
|
||||
if [ $# -gt 0 ]; then
|
||||
if [ "${1}" = "clean" ]; then
|
||||
clean > /dev/null 2> /dev/null
|
||||
else
|
||||
printf "%s: Unsupported argument\n" $0
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
set_placeholders > /dev/null 2> /dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
set_placeholders()
|
||||
{
|
||||
set_git_credentials
|
||||
|
||||
# Check coreboot as well to prevent errors during building
|
||||
if [ ! -d coreboot ]; then
|
||||
return
|
||||
fi
|
||||
for x in coreboot/*; do
|
||||
if [ ! -d "${x}" ]; then
|
||||
continue
|
||||
fi
|
||||
(
|
||||
cd "${x}"
|
||||
set_git_credentials
|
||||
)
|
||||
done
|
||||
}
|
||||
|
||||
set_git_credentials()
|
||||
{
|
||||
# Check if username and or email is set.
|
||||
if ! git config user.name || git config user.email ; then
|
||||
git config user.name \
|
||||
|| git config user.name "${git_name}"
|
||||
git config user.email \
|
||||
|| git config user.email "${git_email}"
|
||||
fi
|
||||
}
|
||||
|
||||
clean()
|
||||
{
|
||||
unset_placeholders
|
||||
|
||||
if [ ! -d coreboot ]; then
|
||||
return
|
||||
fi
|
||||
for x in coreboot/*; do
|
||||
if [ ! -d "${x}" ]; then
|
||||
continue
|
||||
fi
|
||||
(
|
||||
cd "${x}"
|
||||
unset_placeholders
|
||||
)
|
||||
done
|
||||
}
|
||||
|
||||
unset_placeholders()
|
||||
{
|
||||
if [ "$(git config user.name)" = "${git_name}" ]; then
|
||||
git config --unset user.name
|
||||
fi
|
||||
|
||||
if [ "$(git config user.email)" = "${git_email}" ]; then
|
||||
git config --unset user.email
|
||||
fi
|
||||
}
|
||||
|
||||
main $@
|
28
.gitignore
vendored
28
.gitignore
vendored
|
@ -1,19 +1,11 @@
|
|||
*~
|
||||
*.o
|
||||
/gbmk.err.log
|
||||
/cbmk.err.log
|
||||
/cbutils/
|
||||
/pciroms/
|
||||
/util/e6400-flash-unlock/e6400_flash_unlock
|
||||
/util/ich9utils/*.bin
|
||||
/util/ich9utils/demefactory
|
||||
/util/ich9utils/ich9deblob
|
||||
/util/ich9utils/ich9show
|
||||
/util/ich9utils/ich9gen
|
||||
/util/dell-flash-unlock/dell_flash_unlock
|
||||
/TODO
|
||||
/bios_extract/
|
||||
/tmp/
|
||||
/payload/
|
||||
/me_cleaner/
|
||||
/elf/
|
||||
*.s[a-w]?
|
||||
*.vim
|
||||
/*.elf
|
||||
|
@ -21,22 +13,12 @@
|
|||
/*.rom
|
||||
/build_error
|
||||
/TODO/
|
||||
/docs/version
|
||||
/bucts/
|
||||
/coreboot/
|
||||
/crossgcc/
|
||||
/depthcharge/
|
||||
/flashrom/
|
||||
/resources/coreboot/*/seen
|
||||
/grub/
|
||||
/memtest86plus/
|
||||
/seabios/
|
||||
/u-boot/
|
||||
/config/*/*/seen
|
||||
/bin/
|
||||
/release/
|
||||
/descriptors/
|
||||
/*.bin
|
||||
/push
|
||||
/version
|
||||
/versiondate
|
||||
/util/nvmutil/nvm
|
||||
/src/
|
||||
|
|
82
Makefile
82
Makefile
|
@ -1,82 +0,0 @@
|
|||
#
|
||||
# Makefile for official GNU purposes
|
||||
# You can use this, but it just runs gbmk commands.
|
||||
#
|
||||
# Copyright (C) 2020, 2021, 2023 Leah Rowe <info@minifree.org>
|
||||
# Copyright (C) 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
.POSIX:
|
||||
|
||||
#.PHONY: all check download modules ich9m-descriptors payloads roms release \
|
||||
# clean crossgcc-clean install-dependencies-ubuntu \
|
||||
# install-dependencies-debian install-dependencies-arch \
|
||||
# install-dependencies-void install-dependencies-fedora38 \
|
||||
# install-dependencies-parabola
|
||||
|
||||
all: roms
|
||||
|
||||
download:
|
||||
./download all
|
||||
|
||||
modules:
|
||||
./build module all
|
||||
|
||||
ich9m-descriptors:
|
||||
./build descriptors ich9m
|
||||
|
||||
payloads:
|
||||
./build payload all
|
||||
|
||||
roms:
|
||||
./build boot roms all
|
||||
|
||||
release:
|
||||
./build release src
|
||||
./build release roms
|
||||
|
||||
clean:
|
||||
./build clean cbutils
|
||||
./build clean flashrom
|
||||
./build clean ich9utils
|
||||
./build clean payloads
|
||||
./build clean seabios
|
||||
./build clean grub
|
||||
./build clean memtest86plus
|
||||
./build clean rom_images
|
||||
./build clean u-boot
|
||||
./build clean bios_extract
|
||||
|
||||
crossgcc-clean:
|
||||
./build clean crossgcc
|
||||
|
||||
install-dependencies-ubuntu:
|
||||
./build dependencies ubuntu2004
|
||||
|
||||
install-dependencies-debian:
|
||||
./build dependencies debian
|
||||
|
||||
install-dependencies-arch:
|
||||
./build dependencies arch
|
||||
|
||||
install-dependencies-void:
|
||||
./build dependencies void
|
||||
|
||||
install-dependencies-fedora38:
|
||||
./build dependencies fedora38
|
||||
|
||||
install-dependencies-parabola:
|
||||
./build dependencies parabola
|
250
README.md
250
README.md
|
@ -1,11 +1,250 @@
|
|||
non-GeNUine Boot
|
||||
Canoeboot
|
||||
=========
|
||||
|
||||
This software was made purely for fun, by Leah Rowe of Libreboot.
|
||||
Find canoeboot documentation at <https://canoeboot.org/>
|
||||
|
||||
You should otherwise use Libreboot:
|
||||
The `canoeboot` project provides
|
||||
[libre](https://writefreesoftware.org/) *boot
|
||||
firmware* that initializes the hardware (e.g. memory controller, CPU,
|
||||
peripherals) on specific Intel/AMD x86 and ARM targets, which
|
||||
then starts a bootloader for your operating system. Linux/BSD are
|
||||
well-supported. It replaces proprietary BIOS/UEFI firmware. Help is available
|
||||
via [\#canoeboot IRC](https://web.libera.chat/#canoeboot)
|
||||
on [Libera](https://libera.chat/) IRC.
|
||||
|
||||
<https://libreboot.org/>
|
||||
Why use Canoeboot?
|
||||
==================
|
||||
|
||||
Why should you use *canoeboot*?
|
||||
----------------------------
|
||||
|
||||
Canoeboot gives you freedoms that you otherwise can't get with most other
|
||||
boot firmware. It's extremely powerful and configurable for many use cases.
|
||||
|
||||
You have rights. The right to privacy, freedom of thought, freedom of speech
|
||||
and the right to read. In this context, Canoeboot gives you these rights.
|
||||
Your freedom matters.
|
||||
[Right to repair](https://vid.puffyan.us/watch?v=Npd_xDuNi9k) matters.
|
||||
Many people use proprietary (non-libre)
|
||||
boot firmware, even if they use [a libre OS](https://www.openbsd.org/).
|
||||
Proprietary firmware often contains backdoors (more info on the FAQ), and it
|
||||
and can be buggy. The canoeboot project was founded in October 2023,
|
||||
with the express purpose of making coreboot firmware accessible for
|
||||
non-technical users.
|
||||
|
||||
The `canoeboot` project uses [coreboot](https://www.coreboot.org/) for [hardware
|
||||
initialisation](https://doc.coreboot.org/getting_started/architecture.html).
|
||||
Coreboot is notoriously difficult to install for most non-technical users; it
|
||||
handles only basic initialization and jumps to a separate
|
||||
[payload](https://doc.coreboot.org/payloads.html) program (e.g.
|
||||
[GRUB](https://www.gnu.org/software/grub/),
|
||||
[Tianocore](https://www.tianocore.org/)), which must also be configured.
|
||||
*The canoeboot software solves this problem*; it is a *coreboot distribution* with
|
||||
an automated build system (named *cbmk*) that builds complete *ROM images*, for
|
||||
more robust installation. Documentation is provided.
|
||||
|
||||
How does Canoeboot differ from coreboot?
|
||||
========================================
|
||||
|
||||
In the same way that *Debian* is a GNU+Linux distribution, `canoeboot` is
|
||||
a *coreboot distribution*. If you want to build a ROM image from scratch, you
|
||||
otherwise have to perform expert-level configuration of coreboot, GRUB and
|
||||
whatever other software you need, to prepare the ROM image. With *canoeboot*,
|
||||
you can literally download from Git or a source archive, and run `make`, and it
|
||||
will build entire ROM images. An automated build system, named `cbmk`
|
||||
(Canoeboot MaKe), builds these ROM images automatically, without any user input
|
||||
or intervention required. Configuration has already been performed in advance.
|
||||
|
||||
If you were to build regular coreboot, without using canoeboot's automated
|
||||
build system, it would require a lot more intervention and decent technical
|
||||
knowledge to produce a working configuration.
|
||||
|
||||
Regular binary releases of `canoeboot` provide these
|
||||
ROM images pre-compiled, and you can simply install them, with no special
|
||||
knowledge or skill except the ability to follow installation instructions
|
||||
and run commands BSD/Linux.
|
||||
|
||||
Canoeboot vs Libreboot
|
||||
----------------------
|
||||
|
||||
Libreboot and Canoeboot are both lead by the same founder, Leah Rowe, kept in
|
||||
sync whenever feasible; for each Libreboot release, a Canoeboot release follows.
|
||||
|
||||
Canoeboot is a fork of [Libreboot](https://libreboot.org/), provided as a proof
|
||||
of concept demonstrating Libreboot in its current state per release, while
|
||||
removing any and all parts that do not comply with the GNU Free System
|
||||
Distribution Guideline (GNU FSDG). GNU FSDG is the policy that Libreboot used to
|
||||
be based on, but Libreboot adopted a more pragmatic [Binary Blob Reduction
|
||||
Policy](https://libreboot.org/news/policy.html) in November 2022, resulting
|
||||
in greater hardware support.
|
||||
|
||||
Canoeboot supports fewer mainboards than Libreboot,
|
||||
because it takes a hardline approach by limiting itself only to those mainboards
|
||||
which can be booted entirely without binary blob code *in the main boot flash*.
|
||||
The distinction of *in the main boot flash* is extremely important, because many
|
||||
examples exist where coreboot interacts with certain proprietary software; for
|
||||
example, the EC (Embedded Controller) firmware on some ThinkPads that both
|
||||
Libreboot and Canoeboot support. GNU FSDG is full of contradictions like this;
|
||||
for example, the HP Elitebooks supported by Libreboot 20231021 use proprietary
|
||||
EC firmware too, but it's in the main boot flash, whereas on many other machines
|
||||
it would be on a separate chip, and not the main boot flash.
|
||||
|
||||
Coreboot can boot with Free Software exclusively on many boards, but quite a few
|
||||
more mainboards exist where that is not the case. For example, a given mainboard
|
||||
may require a blob to configure the memory controller. Libreboot provides as few
|
||||
binary blobs as possible while allowing any mainboard to be supported, whereas
|
||||
Canoeboot provides *no* binary blobs and thus can only support a limited subset
|
||||
of what coreboot supports.
|
||||
|
||||
Libreboot started with the no-blob policy, in December 2013. In December 2020,
|
||||
another project lead by Leah Rowe was created, named *osboot*. The osboot
|
||||
project had the same policy as current Libreboot, and was later merged into
|
||||
Libreboot, during November 2022. Thus, Libreboot *became* osboot, and it has
|
||||
improved substantially since then. This was done, in an effort to bring coreboot
|
||||
to more people, since Libreboot was much better established at that point. Since
|
||||
then, the decision has proven to be quite successful, with many more users.
|
||||
|
||||
While the no-blob approach may seem noble, it stifles the adopt of Free
|
||||
Software, in this case coreboot, by alienating those users who like the idea of
|
||||
free software but do not have such "pure" hardware. The FSF's definition of
|
||||
purity (in this context) is deeply flawed, as it contains many contradictions.
|
||||
|
||||
Binary blobs are *bad*. Free software is *good*, and everyone deserves to have
|
||||
freedom in their computing. The irony is that there are some who would denounce
|
||||
the current Libreboot project, under the logic that it is *enabling* proprietary
|
||||
software, but this is not so; Libreboot is *removing* proprietary software, when
|
||||
you install it.
|
||||
|
||||
Therefore, the nuance in the type of thinking behind *Libreboot* policy is that
|
||||
while proprietary software *is* bad, and should be avoided, that choice may not
|
||||
always be available; in such cases then, it can be used but with the stipulation
|
||||
that it be replaced (with free software) at a future date, and that strong
|
||||
education is given about it in the meantime. Indeed, many projects out there,
|
||||
for example many Linux and/or GNU-based systems, will *include* such proprietary
|
||||
software (such as wifi firmware blobs) and *not tell you about it*, or not
|
||||
clearly document its existence. Libreboot very clearly documents what and where
|
||||
these blobs are, in this document:
|
||||
<https://libreboot.org/freedom-status.html>
|
||||
|
||||
The mentality behind Libreboot policy is that *some* software freedom is better
|
||||
than none. For example, if you're running a ThinkPad X230 or T440p, both of these
|
||||
can boot entirely without binary blobs in coreboot, but you do still need the
|
||||
neutered Intel ME image outside of that (in the ME region of the flash, whereas
|
||||
coreboot goes in the BIOS region). More information about that is available,
|
||||
on the Freedom Status page of the Libreboot project:
|
||||
<https://libreboot.org/freedom-status.html>
|
||||
|
||||
Libreboot still supports all of the same mainboards that Canoeboot supports, and
|
||||
provides the exact same configuration as options in each release. In other words,
|
||||
the no-blob configuration is still possible in Libreboot, and that will always
|
||||
be true, when possible on a given mainboard. Libreboot's *preference* is
|
||||
precisely to promote Free Software, hence the Binary Blob Reduction Policy.
|
||||
Again for posterity, here is a link to the text of that policy:
|
||||
<https://libreboot.org/news/policy.html>
|
||||
|
||||
By contrast, many projects (that handle blobs) do not have such a stipulation.
|
||||
They either have no policy, a loosely defined policy, or they actively
|
||||
encourage the use of blobs. Libreboot does not encourage use of binary blobs,
|
||||
unless absolutely necessary on a given mainboard; whereas, a project like
|
||||
Debian will provide the `nouveau` driver for nvidia graphics cards, while also
|
||||
providing the binary drivers from Nvidia (which is proprietary); if Libreboot
|
||||
were to become a Debian, it would only recommend the `nouveau` driver if that
|
||||
works well enough. And now an example closer to home: in Libreboot, let's say
|
||||
you have a board with Intel graphics. Libreboot provides free initialisation
|
||||
of the framebuffer (using coreboot's `libgfxinit`), which has some limitations
|
||||
but does work well with Linux/BSD, and you could add Tianocore for an efi
|
||||
framebuffer if you wanted; an alternative to this is the proprietary VGA Option
|
||||
ROM from intel, which can provide full VGA mode setting as a BIOS callback,
|
||||
which would enable more operating systems (e.g. ReactOS, games in FreeDOS, etc).
|
||||
Libreboot does not provide the Intel VGA ROM, because it is not needed. Linux
|
||||
and BSD are fine, you you can play DOS games in dosbox if you really want to.
|
||||
You do not need to boot DOOM on FreeDOS.
|
||||
|
||||
To summarise the above point:
|
||||
if Libreboot had a policy like the Debian one, it would provide that VGA ROM.
|
||||
Libreboot is not Debian. But it does not follow GNU's hardline approach either.
|
||||
Both approaches are bad. Libreboot policy is based on FSF ideology, but without
|
||||
dogma. So, the difference with Canoeboot is that it *also implements the dogma*.
|
||||
The FSF and GNU dogma is that proprietary software must *always* be avoided,
|
||||
under all circumstances. Libreboot does not implement such dogma.
|
||||
|
||||
The purpose of Canoeboot is therefore to demonstrate what can be done under
|
||||
such dogma, while providing criticism of it in favour of Libreboot policy.
|
||||
The Libreboot policy is correct because it provides more software freedom
|
||||
overall to more people. In any software community, a certain fixed percentage
|
||||
of people will become programmers, and so bringing coreboot to more people will
|
||||
inevitably lead to more people becoming coreboot developers; this may then
|
||||
encourage more people to reverse engineer the blobs to produce free source code.
|
||||
|
||||
To put the above point another way:
|
||||
the GNU FSDG policy, dictated by the FSF, is causing *active harm* to the
|
||||
adoption of Free Software. For example, if a Windows user is introduced to Linux
|
||||
for the first time, but they are introduced to an FSDG-compliant distro like
|
||||
Trisquel, they may find that certain hardware doesn't work. They aren't master
|
||||
hackers, they are clueless novices, and everything needs to work or they are
|
||||
going to ditch Linux and keep using Windows. That is just a fact, with most
|
||||
people, even principled people who believe in the ideals. When someone is just
|
||||
starting out, they need the experience to be as smooth as possible.
|
||||
|
||||
That novice user could one day reverse engineer graphics drivers and bring about
|
||||
the next revolution in software freedom, but a bad early experience will deter
|
||||
them early on, and thus stifle future development of free software. This is the
|
||||
argument put forward by Libreboot, as of November 2022 with the merging of osboot.
|
||||
|
||||
tl;dr just imagine a universe where osboot never existed, and know that
|
||||
Canoeboot is essentially what Libreboot *might* have been at this point in
|
||||
time. It is a representation of what *was*, and what could have been. Canoeboot
|
||||
is one possible answer to that *what if*, although the actual universe where
|
||||
osboot didn't exist may not have produced exactly the same result as Canoeboot
|
||||
today; it could be slightly different. Libreboot butterflies...
|
||||
|
||||
Libreboot today is far superior to Canoeboot, and it's what you should use, but
|
||||
there are a few who prefer the old Libreboot policy, who absolutely do not want
|
||||
any proprietary software even to be present, let alone installed and/or
|
||||
executed. Thus, canoeboot was born.
|
||||
|
||||
Canoeboot provides the same level of automation that Libreboot does in the
|
||||
downloading, patching and building of coreboot ROM images, but it excludes any
|
||||
binary blobs that may otherwise be present in upstream projects. Canoeboot will
|
||||
also remove non-blobs that are still proprietary software; there are some cases
|
||||
where software may be provided by a vendor with source code, but under some
|
||||
license that puts restrictions on its use or distribution. Canoeboot will only
|
||||
knowingly provide software that adheres to the GNU Free Software Definition, in
|
||||
compliance with the GNU Free System Distribution Guidelines.
|
||||
|
||||
Project goals
|
||||
=============
|
||||
|
||||
- *Support as much hardware as possible!* (within the restrictions imposed
|
||||
by GNU FSDG policy)
|
||||
- *Make coreboot easy to use*. Coreboot is notoriously difficult
|
||||
to install, due to an overall lack of user-focused documentation
|
||||
and support. Most people will simply give up before attempting to
|
||||
install coreboot. Canoeboot's automated build system and user-friendly
|
||||
installation instructions solves this problem.
|
||||
|
||||
Canoeboot attempts to bridge this divide by providing a build system
|
||||
automating much of the coreboot image creation and customization.
|
||||
Secondly, the project produces documentation aimed at non-technical users.
|
||||
Thirdly, the project attempts to provide excellent user support via IRC.
|
||||
|
||||
Canoeboot already comes with a payload (GRUB), flashrom and other
|
||||
needed parts. Everything is fully integrated, in a way where most of
|
||||
the complicated steps that are otherwise required, are instead done
|
||||
for the user in advance.
|
||||
|
||||
You can download ROM images for your canoeboot system and install
|
||||
them without having to build anything from source. If, however, you are
|
||||
interested in building your own image, the build system makes it relatively
|
||||
easy to do so.
|
||||
|
||||
Not a coreboot fork!
|
||||
--------------------
|
||||
|
||||
Canoeboot is not a fork of coreboot. Every so often, the project
|
||||
re-bases on the latest version of coreboot, with the number of custom
|
||||
patches in use minimized. Tested, *stable* (static) releases are then provided
|
||||
in Canoeboot, based on specific coreboot revisions.
|
||||
|
||||
LICENSE FOR THIS README
|
||||
=======================
|
||||
|
@ -15,3 +254,6 @@ Creative Commons Zero license, version 1.0 of the license, which you can
|
|||
read here:
|
||||
|
||||
<https://creativecommons.org/publicdomain/zero/1.0/legalcode.txt>
|
||||
|
||||
The documentation in Canoeboot will use a mix of other licenses, so you should
|
||||
check that for more information.
|
||||
|
|
1
build
1
build
|
@ -1 +0,0 @@
|
|||
gbmk
|
138
build
Executable file
138
build
Executable file
|
@ -0,0 +1,138 @@
|
|||
#!/usr/bin/env sh
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
# SPDX-FileCopyrightText: 2014,2015,2020,2021,2023 Leah Rowe <leah@libreboot.org>
|
||||
# SPDX-FileCopyrightText: 2015 Patrick "P. J." McDermott <pj@pehjota.net>
|
||||
# SPDX-FileCopyrightText: 2015, 2016 Klemens Nanni <contact@autoboot.org>
|
||||
# SPDX-FileCopyrightText: 2022, Caleb La Grange <thonkpeasant@protonmail.com>
|
||||
|
||||
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
||||
set -u -e
|
||||
|
||||
. "include/err.sh"
|
||||
. "include/option.sh"
|
||||
|
||||
eval "$(setvars "" option aur_notice tmpdir)"
|
||||
|
||||
tmpdir_was_set="y"
|
||||
set | grep TMPDIR 1>/dev/null 2>/dev/null || tmpdir_was_set="n"
|
||||
if [ "${tmpdir_was_set}" = "y" ]; then
|
||||
tmpdir="${TMPDIR##*/}"
|
||||
tmpdir="${TMPDIR%_*}"
|
||||
if [ "${tmpdir}" = "cbmk" ]; then
|
||||
tmpdir=""
|
||||
tmpdir_was_set="n"
|
||||
fi
|
||||
fi
|
||||
if [ "${tmpdir_was_set}" = "n" ]; then
|
||||
export TMPDIR="/tmp"
|
||||
tmpdir="$(mktemp -d -t cbmk_XXXXXXXX)"
|
||||
export TMPDIR="${tmpdir}"
|
||||
else
|
||||
export TMPDIR="${TMPDIR}"
|
||||
fi
|
||||
tmpdir="${TMPDIR}"
|
||||
|
||||
linkpath="${0}"
|
||||
linkname="${linkpath##*/}"
|
||||
buildpath="./script/${linkname}"
|
||||
|
||||
main()
|
||||
{
|
||||
xx_ id -u 1>/dev/null 2>/dev/null
|
||||
[ $# -lt 1 ] && fail "Too few arguments. Try: ${0} help"
|
||||
[ "${1}" = "dependencies" ] && xx_ install_packages $@ && cbmk_exit 0
|
||||
|
||||
initialise_command $@ && shift 1
|
||||
|
||||
check_git
|
||||
check_project "fail"
|
||||
git_init
|
||||
|
||||
execute_command $@
|
||||
cbmk_exit 0
|
||||
}
|
||||
|
||||
initialise_command()
|
||||
{
|
||||
[ "$(id -u)" != "0" ] || fail "this command as root is not permitted"
|
||||
|
||||
case "${1}" in
|
||||
help) usage ${0} && cbmk_exit 0 ;;
|
||||
list) items "${buildpath}" && cbmk_exit 0 ;;
|
||||
esac
|
||||
option="${1}"
|
||||
}
|
||||
|
||||
install_packages()
|
||||
{
|
||||
if [ $# -lt 2 ]; then
|
||||
printf "You must specify a distro, namely:\n" 1>&2
|
||||
printf "Look at files under config/dependencies/\n" 1>&2
|
||||
printf "Example: ./build dependencies debian\n" 1>&2
|
||||
fail "install_packages: target not specified"
|
||||
fi
|
||||
|
||||
[ -f "config/dependencies/${2}" ] || fail "Unsupported target"
|
||||
|
||||
. "config/dependencies/${2}"
|
||||
|
||||
xx_ ${pkg_add} ${pkglist}
|
||||
[ -z "${aur_notice}" ] && return 0
|
||||
printf "You must install AUR packages: %s\n" "${aur_notice}" 1>&2
|
||||
}
|
||||
|
||||
# release archives contain .gitignore, but not .git.
|
||||
# cbmk can be run from cbmk.git, or an archive.
|
||||
git_init()
|
||||
{
|
||||
[ -L ".git" ] && fail "Reference .git is a symlink"
|
||||
[ -e ".git" ] && return 0
|
||||
eval "$(setvars "$(date -Rd @${versiondate})" cdate _nogit)"
|
||||
|
||||
git init || fail "${PWD}: cannot initialise Git repository"
|
||||
git add -A . || fail "${PWD}: cannot add files to Git repository"
|
||||
git commit -m "${projectname} ${version}" --date "${cdate}" || \
|
||||
fail "${PWD}: can't commit ${projectname}/${version}, date ${cdate}"
|
||||
git tag -a "${version}" -m "${projectname} ${version}" || \
|
||||
fail "${PWD}: cannot git-tag ${projectname}/${version}"
|
||||
}
|
||||
|
||||
execute_command()
|
||||
{
|
||||
cbmkcmd="${buildpath}/${option}"
|
||||
[ -f "${cbmkcmd}" ] || fail "Invalid command. Run: ${linkpath} help"
|
||||
"${cbmkcmd}" $@ || fail "execute_command: ${cbmkcmd} ${@}"
|
||||
}
|
||||
|
||||
usage()
|
||||
{
|
||||
progname=${0}
|
||||
cat <<- EOF
|
||||
USAGE: ${progname} <OPTION>
|
||||
|
||||
possible values for 'OPTION':
|
||||
$(items "${buildpath}")
|
||||
|
||||
Refer to ${projectname} documentation for more info.
|
||||
EOF
|
||||
}
|
||||
|
||||
cbmk_exit()
|
||||
{
|
||||
tmp_cleanup || err "cbmk_exit: can't rm tmpdir upon exit $1: ${tmpdir}"
|
||||
exit $1
|
||||
}
|
||||
|
||||
fail()
|
||||
{
|
||||
tmp_cleanup || printf "WARNING: can't rm tmpdir: %s\n" "${tmpdir}" 1>&2
|
||||
err "${1}"
|
||||
}
|
||||
|
||||
tmp_cleanup()
|
||||
{
|
||||
[ "${tmpdir_was_set}" = "n" ] || return 0
|
||||
rm -Rf "${tmpdir}" || return 1
|
||||
}
|
||||
|
||||
main $@
|
1
config/coreboot/build.list
Normal file
1
config/coreboot/build.list
Normal file
|
@ -0,0 +1 @@
|
|||
build/coreboot.rom
|
|
@ -62,6 +62,7 @@ CONFIG_TSEG_STAGE_CACHE=y
|
|||
# CONFIG_VENDOR_ASUS is not set
|
||||
# CONFIG_VENDOR_BIOSTAR is not set
|
||||
# CONFIG_VENDOR_BOSTENTECH is not set
|
||||
# CONFIG_VENDOR_BYTEDANCE is not set
|
||||
# CONFIG_VENDOR_CAVIUM is not set
|
||||
# CONFIG_VENDOR_CLEVO is not set
|
||||
# CONFIG_VENDOR_COMPULAB is not set
|
||||
|
@ -75,7 +76,9 @@ CONFIG_TSEG_STAGE_CACHE=y
|
|||
# CONFIG_VENDOR_GOOGLE is not set
|
||||
# CONFIG_VENDOR_HP is not set
|
||||
# CONFIG_VENDOR_IBASE is not set
|
||||
# CONFIG_VENDOR_IBM is not set
|
||||
CONFIG_VENDOR_INTEL=y
|
||||
# CONFIG_VENDOR_INVENTEC is not set
|
||||
# CONFIG_VENDOR_KONTRON is not set
|
||||
# CONFIG_VENDOR_LENOVO is not set
|
||||
# CONFIG_VENDOR_LIBRETREND is not set
|
||||
|
@ -126,18 +129,22 @@ CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default"
|
|||
CONFIG_CMOS_LAYOUT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.layout"
|
||||
CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0
|
||||
# CONFIG_CONSOLE_POST is not set
|
||||
CONFIG_ECAM_MMCONF_BASE_ADDRESS=0xe0000000
|
||||
CONFIG_ECAM_MMCONF_BUS_NUMBER=256
|
||||
CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld"
|
||||
CONFIG_DCACHE_RAM_BASE=0xfefc0000
|
||||
CONFIG_DCACHE_RAM_SIZE=0x8000
|
||||
CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000
|
||||
CONFIG_DCACHE_BSP_STACK_SIZE=0x2000
|
||||
CONFIG_ECAM_MMCONF_BASE_ADDRESS=0xe0000000
|
||||
CONFIG_ECAM_MMCONF_BUS_NUMBER=256
|
||||
CONFIG_MAX_ACPI_TABLE_SIZE_KB=144
|
||||
CONFIG_SPI_FLASH_INCLUDE_ALL_DRIVERS=y
|
||||
CONFIG_SPI_FLASH_WINBOND=y
|
||||
# CONFIG_DRIVERS_INTEL_WIFI is not set
|
||||
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
|
||||
CONFIG_VBT_DATA_SIZE_KB=8
|
||||
CONFIG_CARDBUS_PLUGIN_SUPPORT=y
|
||||
CONFIG_SPI_FLASH_GIGADEVICE=y
|
||||
CONFIG_SPI_FLASH_STMICRO=y
|
||||
# CONFIG_BOARD_INTEL_ADLRVP_P is not set
|
||||
# CONFIG_BOARD_INTEL_ADLRVP_P_EXT_EC is not set
|
||||
# CONFIG_BOARD_INTEL_ADLRVP_P_MCHP is not set
|
||||
|
@ -145,9 +152,11 @@ CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
|
|||
# CONFIG_BOARD_INTEL_ADLRVP_M_EXT_EC is not set
|
||||
# CONFIG_BOARD_INTEL_ADLRVP_N is not set
|
||||
# CONFIG_BOARD_INTEL_ADLRVP_N_EXT_EC is not set
|
||||
# CONFIG_BOARD_INTEL_ADLRVP_RPL is not set
|
||||
# CONFIG_BOARD_INTEL_ADLRVP_RPL_EXT_EC is not set
|
||||
# CONFIG_BOARD_INTEL_APOLLOLAKE_RVP1 is not set
|
||||
# CONFIG_BOARD_INTEL_APOLLOLAKE_RVP2 is not set
|
||||
# CONFIG_BOARD_INTEL_ARCHERCITY_CRB is not set
|
||||
# CONFIG_BOARD_INTEL_BASKING_RIDGE is not set
|
||||
# CONFIG_BOARD_INTEL_CEDARISLAND_CRB is not set
|
||||
|
||||
|
@ -164,9 +173,9 @@ CONFIG_BOARD_INTEL_D510MO=y
|
|||
# CONFIG_BOARD_INTEL_DCP847SKE is not set
|
||||
# CONFIG_BOARD_INTEL_DG41WV is not set
|
||||
# CONFIG_BOARD_INTEL_DG43GT is not set
|
||||
# CONFIG_BOARD_INTEL_DQ67SW is not set
|
||||
# CONFIG_BOARD_INTEL_ELKHARTLAKE_CRB is not set
|
||||
# CONFIG_BOARD_INTEL_EMERALDLAKE2 is not set
|
||||
# CONFIG_BOARD_INTEL_GALILEO is not set
|
||||
# CONFIG_BOARD_INTEL_GLKRVP is not set
|
||||
# CONFIG_BOARD_INTEL_HARCUVAR is not set
|
||||
# CONFIG_BOARD_INTEL_JASPERLAKE_RVP is not set
|
||||
|
@ -180,23 +189,26 @@ CONFIG_BOARD_INTEL_D510MO=y
|
|||
# CONFIG_BOARD_INTEL_MINNOW3 is not set
|
||||
# CONFIG_BOARD_INTEL_MTLRVP_P is not set
|
||||
# CONFIG_BOARD_INTEL_MTLRVP_P_EXT_EC is not set
|
||||
# CONFIG_BOARD_INTEL_MTLRVP_P_MCHP is not set
|
||||
# CONFIG_BOARD_INTEL_SKLSDLBRK is not set
|
||||
# CONFIG_BOARD_INTEL_SHADOWMOUNTAIN is not set
|
||||
# CONFIG_BOARD_INTEL_STRAGO is not set
|
||||
# CONFIG_BOARD_INTEL_TGLRVP_UP3 is not set
|
||||
# CONFIG_BOARD_INTEL_TGLRVP_UP4 is not set
|
||||
# CONFIG_BOARD_INTEL_WTM2 is not set
|
||||
# CONFIG_DEBUG_SMI is not set
|
||||
CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="D510MO"
|
||||
CONFIG_PCIEXP_HOTPLUG_BUSES=32
|
||||
CONFIG_PCIEXP_HOTPLUG_MEM=0x800000
|
||||
CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM=0x10000000
|
||||
CONFIG_PS2K_EISAID="PNP0303"
|
||||
CONFIG_PS2M_EISAID="PNP0F13"
|
||||
# CONFIG_DEBUG_SMI is not set
|
||||
CONFIG_D3COLD_SUPPORT=y
|
||||
# CONFIG_PCIEXP_ASPM is not set
|
||||
# CONFIG_PCIEXP_L1_SUB_STATE is not set
|
||||
# CONFIG_PCIEXP_CLK_PM is not set
|
||||
# CONFIG_DRIVERS_UART_8250IO is not set
|
||||
CONFIG_HEAP_SIZE=0x4000
|
||||
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
|
||||
CONFIG_EC_GPE_SCI=0x50
|
||||
CONFIG_BOARD_ROMSIZE_KB_1024=y
|
||||
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
|
||||
|
@ -235,10 +247,9 @@ CONFIG_ROMSTAGE_ADDR=0x2000000
|
|||
CONFIG_VERSTAGE_ADDR=0x2000000
|
||||
CONFIG_SMM_RESERVED_SIZE=0x80000
|
||||
CONFIG_SMM_MODULE_STACK_SIZE=0x400
|
||||
CONFIG_ACPI_CPU_STRING="\\_SB.CP%02X"
|
||||
CONFIG_EHCI_BAR=0xfef00000
|
||||
CONFIG_ACPI_CPU_STRING="CP%02X"
|
||||
CONFIG_STACK_SIZE=0x2000
|
||||
CONFIG_VBT_DATA_SIZE_KB=8
|
||||
CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254
|
||||
CONFIG_INTEL_GMA_BCLV_WIDTH=16
|
||||
CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256
|
||||
|
@ -247,7 +258,6 @@ CONFIG_BOOTBLOCK_IN_CBFS=y
|
|||
CONFIG_FIXED_MCHBAR_MMIO_BASE=0xfed14000
|
||||
CONFIG_FIXED_DMIBAR_MMIO_BASE=0xfed18000
|
||||
CONFIG_FIXED_EPBAR_MMIO_BASE=0xfed19000
|
||||
# CONFIG_PCIEXP_ASPM is not set
|
||||
# CONFIG_PCIEXP_COMMON_CLOCK is not set
|
||||
CONFIG_FIXED_SMBUS_IO_BASE=0x400
|
||||
CONFIG_HPET_MIN_TICKS=0x80
|
||||
|
@ -255,12 +265,12 @@ CONFIG_CBFS_CACHE_ALIGN=8
|
|||
CONFIG_INTEL_HAS_TOP_SWAP=y
|
||||
# CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set
|
||||
CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000
|
||||
CONFIG_DOMAIN_RESOURCE_32BIT_LIMIT=0xfe000000
|
||||
|
||||
#
|
||||
# CPU
|
||||
#
|
||||
CONFIG_CPU_INTEL_MODEL_106CX=y
|
||||
CONFIG_SOCKET_SPECIFIC_OPTIONS=y
|
||||
CONFIG_CPU_INTEL_SOCKET_FCBGA559=y
|
||||
CONFIG_CPU_INTEL_COMMON=y
|
||||
CONFIG_ENABLE_VMX=y
|
||||
|
@ -278,13 +288,12 @@ CONFIG_XAPIC_ONLY=y
|
|||
CONFIG_UDELAY_TSC=y
|
||||
CONFIG_TSC_MONOTONIC_TIMER=y
|
||||
CONFIG_TSC_SYNC_MFENCE=y
|
||||
CONFIG_LOGICAL_CPUS=y
|
||||
CONFIG_HAVE_SMI_HANDLER=y
|
||||
CONFIG_SMM_TSEG=y
|
||||
CONFIG_SMM_LAPIC_REMAP_MITIGATION=y
|
||||
CONFIG_SMM_PCI_RESOURCE_STORE_NUM_SLOTS=8
|
||||
CONFIG_AP_STACK_SIZE=0x800
|
||||
CONFIG_SMP=y
|
||||
CONFIG_MMX=y
|
||||
CONFIG_SSE=y
|
||||
CONFIG_SSE2=y
|
||||
CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y
|
||||
|
@ -341,6 +350,7 @@ CONFIG_ARCH_ROMSTAGE_X86_32=y
|
|||
CONFIG_ARCH_POSTCAR_X86_32=y
|
||||
CONFIG_ARCH_RAMSTAGE_X86_32=y
|
||||
CONFIG_ARCH_ALL_STAGES_X86_32=y
|
||||
CONFIG_RESERVED_PHYSICAL_ADDRESS_BITS_SUPPORT=y
|
||||
CONFIG_AP_IN_SIPI_WAIT=y
|
||||
CONFIG_SIPI_VECTOR_IN_ROM=y
|
||||
CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y
|
||||
|
@ -353,6 +363,7 @@ CONFIG_COLLECT_TIMESTAMPS_TSC=y
|
|||
CONFIG_HAVE_CF9_RESET=y
|
||||
CONFIG_DEBUG_HW_BREAKPOINTS=y
|
||||
CONFIG_DEBUG_NULL_DEREF_BREAKPOINTS=y
|
||||
# CONFIG_DUMP_SMBIOS_TYPE17 is not set
|
||||
# end of Chipset
|
||||
|
||||
#
|
||||
|
@ -374,7 +385,6 @@ CONFIG_VGA_TEXT_FRAMEBUFFER=y
|
|||
CONFIG_PCI=y
|
||||
CONFIG_ECAM_MMCONF_SUPPORT=y
|
||||
CONFIG_PCIX_PLUGIN_SUPPORT=y
|
||||
CONFIG_CARDBUS_PLUGIN_SUPPORT=y
|
||||
CONFIG_AZALIA_PLUGIN_SUPPORT=y
|
||||
CONFIG_PCIEXP_PLUGIN_SUPPORT=y
|
||||
CONFIG_ECAM_MMCONF_LENGTH=0x10000000
|
||||
|
@ -396,9 +406,6 @@ CONFIG_INTEL_GMA_ADD_VBT=y
|
|||
# CONFIG_SOFTWARE_I2C is not set
|
||||
CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
|
||||
# CONFIG_RESOURCE_ALLOCATION_TOP_DOWN is not set
|
||||
CONFIG_NO_DDR5=y
|
||||
CONFIG_NO_LPDDR4=y
|
||||
CONFIG_NO_DDR4=y
|
||||
CONFIG_USE_DDR3=y
|
||||
CONFIG_USE_DDR2=y
|
||||
# end of Devices
|
||||
|
@ -417,11 +424,9 @@ CONFIG_SPI_FLASH_ADESTO=y
|
|||
CONFIG_SPI_FLASH_AMIC=y
|
||||
CONFIG_SPI_FLASH_ATMEL=y
|
||||
CONFIG_SPI_FLASH_EON=y
|
||||
CONFIG_SPI_FLASH_GIGADEVICE=y
|
||||
CONFIG_SPI_FLASH_MACRONIX=y
|
||||
CONFIG_SPI_FLASH_SPANSION=y
|
||||
CONFIG_SPI_FLASH_SST=y
|
||||
CONFIG_SPI_FLASH_STMICRO=y
|
||||
# CONFIG_DRIVERS_UART_OXPCIE is not set
|
||||
CONFIG_HAVE_USBDEBUG=y
|
||||
# CONFIG_USBDEBUG is not set
|
||||
|
@ -436,11 +441,11 @@ CONFIG_DRIVERS_I2C_CK505=y
|
|||
CONFIG_INTEL_EDID=y
|
||||
CONFIG_INTEL_INT15=y
|
||||
CONFIG_INTEL_GMA_ACPI=y
|
||||
CONFIG_INTEL_GMA_OPREGION_2_0=y
|
||||
# CONFIG_DRIVERS_NXP_UWB_SR1XX is not set
|
||||
# CONFIG_DRIVERS_PS2_KEYBOARD is not set
|
||||
CONFIG_DRIVERS_MC146818=y
|
||||
# CONFIG_USE_PC_CMOS_ALTCENTURY is not set
|
||||
CONFIG_PC_CMOS_BASE_PORT_BANK0=0x70
|
||||
CONFIG_VGA=y
|
||||
# CONFIG_DRIVERS_SIL_3114 is not set
|
||||
# end of Generic Drivers
|
||||
|
@ -464,6 +469,10 @@ CONFIG_VGA=y
|
|||
# Trusted Platform Module
|
||||
#
|
||||
CONFIG_NO_TPM=y
|
||||
CONFIG_PCR_BOOT_MODE=1
|
||||
CONFIG_PCR_HWID=1
|
||||
CONFIG_PCR_SRTM=2
|
||||
CONFIG_PCR_RUNTIME_DATA=3
|
||||
# end of Trusted Platform Module
|
||||
|
||||
#
|
||||
|
@ -483,10 +492,14 @@ CONFIG_BOOTMEDIA_LOCK_NONE=y
|
|||
CONFIG_ACPI_HAVE_PCAT_8259=y
|
||||
CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y
|
||||
CONFIG_ACPI_SOC_NVS=y
|
||||
CONFIG_ACPI_NO_CUSTOM_MADT=y
|
||||
CONFIG_ACPI_COMMON_MADT_LAPIC=y
|
||||
CONFIG_ACPI_COMMON_MADT_IOAPIC=y
|
||||
CONFIG_HAVE_ACPI_TABLES=y
|
||||
CONFIG_BOOT_DEVICE_SPI_FLASH=y
|
||||
CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y
|
||||
CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y
|
||||
CONFIG_HEAP_SIZE=0x100000
|
||||
|
||||
#
|
||||
# Console
|
||||
|
@ -531,6 +544,7 @@ CONFIG_USE_WATCHDOG_ON_BOOT=y
|
|||
# System tables
|
||||
#
|
||||
CONFIG_GENERATE_SMBIOS_TABLES=y
|
||||
CONFIG_BIOS_VENDOR="coreboot"
|
||||
CONFIG_MAINBOARD_SERIAL_NUMBER="123456789"
|
||||
# end of System tables
|
||||
|
||||
|
@ -566,6 +580,7 @@ CONFIG_HAVE_DEBUG_SMBUS=y
|
|||
# CONFIG_DEBUG_SPI_FLASH is not set
|
||||
# CONFIG_DEBUG_BOOT_STATE is not set
|
||||
# CONFIG_DEBUG_ADA_CODE is not set
|
||||
# CONFIG_DEBUG_ACPICA_COMPATIBLE is not set
|
||||
# end of Debugging
|
||||
|
||||
CONFIG_DECOMPRESS_OFAST=y
|
|
@ -1,8 +1,7 @@
|
|||
cbtree="fam15h_udimm"
|
||||
tree="default"
|
||||
romtype="normal"
|
||||
arch="x86_64"
|
||||
payload_grub="n"
|
||||
payload_grub_withseabios="n"
|
||||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
crossgcc_ada="n"
|
|
@ -62,6 +62,7 @@ CONFIG_TSEG_STAGE_CACHE=y
|
|||
# CONFIG_VENDOR_ASUS is not set
|
||||
# CONFIG_VENDOR_BIOSTAR is not set
|
||||
# CONFIG_VENDOR_BOSTENTECH is not set
|
||||
# CONFIG_VENDOR_BYTEDANCE is not set
|
||||
# CONFIG_VENDOR_CAVIUM is not set
|
||||
# CONFIG_VENDOR_CLEVO is not set
|
||||
# CONFIG_VENDOR_COMPULAB is not set
|
||||
|
@ -75,7 +76,9 @@ CONFIG_TSEG_STAGE_CACHE=y
|
|||
# CONFIG_VENDOR_GOOGLE is not set
|
||||
# CONFIG_VENDOR_HP is not set
|
||||
# CONFIG_VENDOR_IBASE is not set
|
||||
# CONFIG_VENDOR_IBM is not set
|
||||
CONFIG_VENDOR_INTEL=y
|
||||
# CONFIG_VENDOR_INVENTEC is not set
|
||||
# CONFIG_VENDOR_KONTRON is not set
|
||||
# CONFIG_VENDOR_LENOVO is not set
|
||||
# CONFIG_VENDOR_LIBRETREND is not set
|
||||
|
@ -126,18 +129,22 @@ CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default"
|
|||
CONFIG_CMOS_LAYOUT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.layout"
|
||||
CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0
|
||||
# CONFIG_CONSOLE_POST is not set
|
||||
CONFIG_ECAM_MMCONF_BASE_ADDRESS=0xe0000000
|
||||
CONFIG_ECAM_MMCONF_BUS_NUMBER=256
|
||||
CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld"
|
||||
CONFIG_DCACHE_RAM_BASE=0xfefc0000
|
||||
CONFIG_DCACHE_RAM_SIZE=0x8000
|
||||
CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000
|
||||
CONFIG_DCACHE_BSP_STACK_SIZE=0x2000
|
||||
CONFIG_ECAM_MMCONF_BASE_ADDRESS=0xe0000000
|
||||
CONFIG_ECAM_MMCONF_BUS_NUMBER=256
|
||||
CONFIG_MAX_ACPI_TABLE_SIZE_KB=144
|
||||
CONFIG_SPI_FLASH_INCLUDE_ALL_DRIVERS=y
|
||||
CONFIG_SPI_FLASH_WINBOND=y
|
||||
# CONFIG_DRIVERS_INTEL_WIFI is not set
|
||||
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
|
||||
CONFIG_VBT_DATA_SIZE_KB=8
|
||||
CONFIG_CARDBUS_PLUGIN_SUPPORT=y
|
||||
CONFIG_SPI_FLASH_GIGADEVICE=y
|
||||
CONFIG_SPI_FLASH_STMICRO=y
|
||||
# CONFIG_BOARD_INTEL_ADLRVP_P is not set
|
||||
# CONFIG_BOARD_INTEL_ADLRVP_P_EXT_EC is not set
|
||||
# CONFIG_BOARD_INTEL_ADLRVP_P_MCHP is not set
|
||||
|
@ -145,9 +152,11 @@ CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
|
|||
# CONFIG_BOARD_INTEL_ADLRVP_M_EXT_EC is not set
|
||||
# CONFIG_BOARD_INTEL_ADLRVP_N is not set
|
||||
# CONFIG_BOARD_INTEL_ADLRVP_N_EXT_EC is not set
|
||||
# CONFIG_BOARD_INTEL_ADLRVP_RPL is not set
|
||||
# CONFIG_BOARD_INTEL_ADLRVP_RPL_EXT_EC is not set
|
||||
# CONFIG_BOARD_INTEL_APOLLOLAKE_RVP1 is not set
|
||||
# CONFIG_BOARD_INTEL_APOLLOLAKE_RVP2 is not set
|
||||
# CONFIG_BOARD_INTEL_ARCHERCITY_CRB is not set
|
||||
# CONFIG_BOARD_INTEL_BASKING_RIDGE is not set
|
||||
# CONFIG_BOARD_INTEL_CEDARISLAND_CRB is not set
|
||||
|
||||
|
@ -164,9 +173,9 @@ CONFIG_BOARD_INTEL_D510MO=y
|
|||
# CONFIG_BOARD_INTEL_DCP847SKE is not set
|
||||
# CONFIG_BOARD_INTEL_DG41WV is not set
|
||||
# CONFIG_BOARD_INTEL_DG43GT is not set
|
||||
# CONFIG_BOARD_INTEL_DQ67SW is not set
|
||||
# CONFIG_BOARD_INTEL_ELKHARTLAKE_CRB is not set
|
||||
# CONFIG_BOARD_INTEL_EMERALDLAKE2 is not set
|
||||
# CONFIG_BOARD_INTEL_GALILEO is not set
|
||||
# CONFIG_BOARD_INTEL_GLKRVP is not set
|
||||
# CONFIG_BOARD_INTEL_HARCUVAR is not set
|
||||
# CONFIG_BOARD_INTEL_JASPERLAKE_RVP is not set
|
||||
|
@ -180,23 +189,26 @@ CONFIG_BOARD_INTEL_D510MO=y
|
|||
# CONFIG_BOARD_INTEL_MINNOW3 is not set
|
||||
# CONFIG_BOARD_INTEL_MTLRVP_P is not set
|
||||
# CONFIG_BOARD_INTEL_MTLRVP_P_EXT_EC is not set
|
||||
# CONFIG_BOARD_INTEL_MTLRVP_P_MCHP is not set
|
||||
# CONFIG_BOARD_INTEL_SKLSDLBRK is not set
|
||||
# CONFIG_BOARD_INTEL_SHADOWMOUNTAIN is not set
|
||||
# CONFIG_BOARD_INTEL_STRAGO is not set
|
||||
# CONFIG_BOARD_INTEL_TGLRVP_UP3 is not set
|
||||
# CONFIG_BOARD_INTEL_TGLRVP_UP4 is not set
|
||||
# CONFIG_BOARD_INTEL_WTM2 is not set
|
||||
# CONFIG_DEBUG_SMI is not set
|
||||
CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="D510MO"
|
||||
CONFIG_PCIEXP_HOTPLUG_BUSES=32
|
||||
CONFIG_PCIEXP_HOTPLUG_MEM=0x800000
|
||||
CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM=0x10000000
|
||||
CONFIG_PS2K_EISAID="PNP0303"
|
||||
CONFIG_PS2M_EISAID="PNP0F13"
|
||||
# CONFIG_DEBUG_SMI is not set
|
||||
CONFIG_D3COLD_SUPPORT=y
|
||||
# CONFIG_PCIEXP_ASPM is not set
|
||||
# CONFIG_PCIEXP_L1_SUB_STATE is not set
|
||||
# CONFIG_PCIEXP_CLK_PM is not set
|
||||
# CONFIG_DRIVERS_UART_8250IO is not set
|
||||
CONFIG_HEAP_SIZE=0x4000
|
||||
CONFIG_PC_CMOS_BASE_PORT_BANK1=0x72
|
||||
CONFIG_EC_GPE_SCI=0x50
|
||||
CONFIG_BOARD_ROMSIZE_KB_1024=y
|
||||
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
|
||||
|
@ -235,10 +247,9 @@ CONFIG_ROMSTAGE_ADDR=0x2000000
|
|||
CONFIG_VERSTAGE_ADDR=0x2000000
|
||||
CONFIG_SMM_RESERVED_SIZE=0x80000
|
||||
CONFIG_SMM_MODULE_STACK_SIZE=0x400
|
||||
CONFIG_ACPI_CPU_STRING="\\_SB.CP%02X"
|
||||
CONFIG_EHCI_BAR=0xfef00000
|
||||
CONFIG_ACPI_CPU_STRING="CP%02X"
|
||||
CONFIG_STACK_SIZE=0x2000
|
||||
CONFIG_VBT_DATA_SIZE_KB=8
|
||||
CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254
|
||||
CONFIG_INTEL_GMA_BCLV_WIDTH=16
|
||||
CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256
|
||||
|
@ -247,7 +258,6 @@ CONFIG_BOOTBLOCK_IN_CBFS=y
|
|||
CONFIG_FIXED_MCHBAR_MMIO_BASE=0xfed14000
|
||||
CONFIG_FIXED_DMIBAR_MMIO_BASE=0xfed18000
|
||||
CONFIG_FIXED_EPBAR_MMIO_BASE=0xfed19000
|
||||
# CONFIG_PCIEXP_ASPM is not set
|
||||
# CONFIG_PCIEXP_COMMON_CLOCK is not set
|
||||
CONFIG_FIXED_SMBUS_IO_BASE=0x400
|
||||
CONFIG_HPET_MIN_TICKS=0x80
|
||||
|
@ -255,12 +265,12 @@ CONFIG_CBFS_CACHE_ALIGN=8
|
|||
CONFIG_INTEL_HAS_TOP_SWAP=y
|
||||
# CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK is not set
|
||||
CONFIG_INTEL_TOP_SWAP_BOOTBLOCK_SIZE=0x10000
|
||||
CONFIG_DOMAIN_RESOURCE_32BIT_LIMIT=0xfe000000
|
||||
|
||||
#
|
||||
# CPU
|
||||
#
|
||||
CONFIG_CPU_INTEL_MODEL_106CX=y
|
||||
CONFIG_SOCKET_SPECIFIC_OPTIONS=y
|
||||
CONFIG_CPU_INTEL_SOCKET_FCBGA559=y
|
||||
CONFIG_CPU_INTEL_COMMON=y
|
||||
CONFIG_ENABLE_VMX=y
|
||||
|
@ -278,13 +288,12 @@ CONFIG_XAPIC_ONLY=y
|
|||
CONFIG_UDELAY_TSC=y
|
||||
CONFIG_TSC_MONOTONIC_TIMER=y
|
||||
CONFIG_TSC_SYNC_MFENCE=y
|
||||
CONFIG_LOGICAL_CPUS=y
|
||||
CONFIG_HAVE_SMI_HANDLER=y
|
||||
CONFIG_SMM_TSEG=y
|
||||
CONFIG_SMM_LAPIC_REMAP_MITIGATION=y
|
||||
CONFIG_SMM_PCI_RESOURCE_STORE_NUM_SLOTS=8
|
||||
CONFIG_AP_STACK_SIZE=0x800
|
||||
CONFIG_SMP=y
|
||||
CONFIG_MMX=y
|
||||
CONFIG_SSE=y
|
||||
CONFIG_SSE2=y
|
||||
CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y
|
||||
|
@ -341,6 +350,7 @@ CONFIG_ARCH_ROMSTAGE_X86_32=y
|
|||
CONFIG_ARCH_POSTCAR_X86_32=y
|
||||
CONFIG_ARCH_RAMSTAGE_X86_32=y
|
||||
CONFIG_ARCH_ALL_STAGES_X86_32=y
|
||||
CONFIG_RESERVED_PHYSICAL_ADDRESS_BITS_SUPPORT=y
|
||||
CONFIG_AP_IN_SIPI_WAIT=y
|
||||
CONFIG_SIPI_VECTOR_IN_ROM=y
|
||||
CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y
|
||||
|
@ -353,6 +363,7 @@ CONFIG_COLLECT_TIMESTAMPS_TSC=y
|
|||
CONFIG_HAVE_CF9_RESET=y
|
||||
CONFIG_DEBUG_HW_BREAKPOINTS=y
|
||||
CONFIG_DEBUG_NULL_DEREF_BREAKPOINTS=y
|
||||
# CONFIG_DUMP_SMBIOS_TYPE17 is not set
|
||||
# end of Chipset
|
||||
|
||||
#
|
||||
|
@ -374,7 +385,6 @@ CONFIG_VGA_TEXT_FRAMEBUFFER=y
|
|||
CONFIG_PCI=y
|
||||
CONFIG_ECAM_MMCONF_SUPPORT=y
|
||||
CONFIG_PCIX_PLUGIN_SUPPORT=y
|
||||
CONFIG_CARDBUS_PLUGIN_SUPPORT=y
|
||||
CONFIG_AZALIA_PLUGIN_SUPPORT=y
|
||||
CONFIG_PCIEXP_PLUGIN_SUPPORT=y
|
||||
CONFIG_ECAM_MMCONF_LENGTH=0x10000000
|
||||
|
@ -396,9 +406,6 @@ CONFIG_INTEL_GMA_ADD_VBT=y
|
|||
# CONFIG_SOFTWARE_I2C is not set
|
||||
CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
|
||||
# CONFIG_RESOURCE_ALLOCATION_TOP_DOWN is not set
|
||||
CONFIG_NO_DDR5=y
|
||||
CONFIG_NO_LPDDR4=y
|
||||
CONFIG_NO_DDR4=y
|
||||
CONFIG_USE_DDR3=y
|
||||
CONFIG_USE_DDR2=y
|
||||
# end of Devices
|
||||
|
@ -417,11 +424,9 @@ CONFIG_SPI_FLASH_ADESTO=y
|
|||
CONFIG_SPI_FLASH_AMIC=y
|
||||
CONFIG_SPI_FLASH_ATMEL=y
|
||||
CONFIG_SPI_FLASH_EON=y
|
||||
CONFIG_SPI_FLASH_GIGADEVICE=y
|
||||
CONFIG_SPI_FLASH_MACRONIX=y
|
||||
CONFIG_SPI_FLASH_SPANSION=y
|
||||
CONFIG_SPI_FLASH_SST=y
|
||||
CONFIG_SPI_FLASH_STMICRO=y
|
||||
# CONFIG_DRIVERS_UART_OXPCIE is not set
|
||||
CONFIG_HAVE_USBDEBUG=y
|
||||
# CONFIG_USBDEBUG is not set
|
||||
|
@ -436,11 +441,11 @@ CONFIG_DRIVERS_I2C_CK505=y
|
|||
CONFIG_INTEL_EDID=y
|
||||
CONFIG_INTEL_INT15=y
|
||||
CONFIG_INTEL_GMA_ACPI=y
|
||||
CONFIG_INTEL_GMA_OPREGION_2_0=y
|
||||
# CONFIG_DRIVERS_NXP_UWB_SR1XX is not set
|
||||
# CONFIG_DRIVERS_PS2_KEYBOARD is not set
|
||||
CONFIG_DRIVERS_MC146818=y
|
||||
# CONFIG_USE_PC_CMOS_ALTCENTURY is not set
|
||||
CONFIG_PC_CMOS_BASE_PORT_BANK0=0x70
|
||||
CONFIG_VGA=y
|
||||
# CONFIG_DRIVERS_SIL_3114 is not set
|
||||
# end of Generic Drivers
|
||||
|
@ -464,6 +469,10 @@ CONFIG_VGA=y
|
|||
# Trusted Platform Module
|
||||
#
|
||||
CONFIG_NO_TPM=y
|
||||
CONFIG_PCR_BOOT_MODE=1
|
||||
CONFIG_PCR_HWID=1
|
||||
CONFIG_PCR_SRTM=2
|
||||
CONFIG_PCR_RUNTIME_DATA=3
|
||||
# end of Trusted Platform Module
|
||||
|
||||
#
|
||||
|
@ -483,10 +492,14 @@ CONFIG_BOOTMEDIA_LOCK_NONE=y
|
|||
CONFIG_ACPI_HAVE_PCAT_8259=y
|
||||
CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y
|
||||
CONFIG_ACPI_SOC_NVS=y
|
||||
CONFIG_ACPI_NO_CUSTOM_MADT=y
|
||||
CONFIG_ACPI_COMMON_MADT_LAPIC=y
|
||||
CONFIG_ACPI_COMMON_MADT_IOAPIC=y
|
||||
CONFIG_HAVE_ACPI_TABLES=y
|
||||
CONFIG_BOOT_DEVICE_SPI_FLASH=y
|
||||
CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y
|
||||
CONFIG_BOOT_DEVICE_SUPPORTS_WRITES=y
|
||||
CONFIG_HEAP_SIZE=0x100000
|
||||
|
||||
#
|
||||
# Console
|
||||
|
@ -531,6 +544,7 @@ CONFIG_USE_WATCHDOG_ON_BOOT=y
|
|||
# System tables
|
||||
#
|
||||
CONFIG_GENERATE_SMBIOS_TABLES=y
|
||||
CONFIG_BIOS_VENDOR="coreboot"
|
||||
CONFIG_MAINBOARD_SERIAL_NUMBER="123456789"
|
||||
# end of System tables
|
||||
|
||||
|
@ -566,6 +580,7 @@ CONFIG_HAVE_DEBUG_SMBUS=y
|
|||
# CONFIG_DEBUG_SPI_FLASH is not set
|
||||
# CONFIG_DEBUG_BOOT_STATE is not set
|
||||
# CONFIG_DEBUG_ADA_CODE is not set
|
||||
# CONFIG_DEBUG_ACPICA_COMPATIBLE is not set
|
||||
# end of Debugging
|
||||
|
||||
CONFIG_DECOMPRESS_OFAST=y
|
6
config/coreboot/d510mo_16mb/target.cfg
Normal file
6
config/coreboot/d510mo_16mb/target.cfg
Normal file
|
@ -0,0 +1,6 @@
|
|||
tree="default"
|
||||
romtype="normal"
|
||||
arch="x86_64"
|
||||
payload_seabios="y"
|
||||
payload_seabios_withgrub="y"
|
||||
payload_memtest="y"
|
10
config/coreboot/default/blobs.list
Normal file
10
config/coreboot/default/blobs.list
Normal file
|
@ -0,0 +1,10 @@
|
|||
Documentation
|
||||
3rdparty/arm-trusted-firmware/plat/mediatek/mt8173/drivers/spm/spm_hotplug.c
|
||||
3rdparty/arm-trusted-firmware/plat/mediatek/mt8173/drivers/spm/spm_mcdi.c
|
||||
3rdparty/arm-trusted-firmware/plat/mediatek/mt8173/drivers/spm/spm_suspend.c
|
||||
3rdparty/arm-trusted-firmware/plat/rockchip/rk3368/drivers/ddr/rk3368_ddr_reg_resume_V1.05.bin
|
||||
3rdparty/chromeec/test/legacy_nvmem_dump.h
|
||||
3rdparty/vboot/tests/futility/data/bios_link_mp.bin
|
||||
3rdparty/vboot/tests/futility/data/bios_peppy_mp.bin
|
||||
3rdparty/chromeec/third_party/bmi260/accelgyro_bmi260_config_tbin.h
|
||||
3rdparty/vboot/tests/futility/data/bios_peppy_dev.bin
|
|
@ -1,7 +1,7 @@
|
|||
From 4c5971a6fcf7e948f7df4d0ce2ab0751060cb2ca Mon Sep 17 00:00:00 2001
|
||||
From e8f5f6c372152c7deddd3080954d0f4fdd39ae2b Mon Sep 17 00:00:00 2001
|
||||
From: Leah Rowe <leah@retroboot.org>
|
||||
Date: Fri, 19 Mar 2021 05:54:58 +0000
|
||||
Subject: [PATCH 01/18] apple/macbook21: Set default VRAM to 64MiB instead of
|
||||
Subject: [PATCH 01/22] apple/macbook21: Set default VRAM to 64MiB instead of
|
||||
8MiB
|
||||
|
||||
---
|
|
@ -1,7 +1,7 @@
|
|||
From ff523fd40649b72512b0f1253701509d83ca4a8d Mon Sep 17 00:00:00 2001
|
||||
From fdd756a8217548981a1eb62e504cc37371c9fd51 Mon Sep 17 00:00:00 2001
|
||||
From: Vitali64 <5405891-vitali64yt@users.noreply.gitlab.com>
|
||||
Date: Wed, 27 Oct 2021 13:36:01 +0200
|
||||
Subject: [PATCH 02/18] add c3 and clockgen to apple/macbook21
|
||||
Subject: [PATCH 02/22] add c3 and clockgen to apple/macbook21
|
||||
|
||||
---
|
||||
src/mainboard/apple/macbook21/Kconfig | 1 +
|
||||
|
@ -46,7 +46,7 @@ index 13d06f0839..88b8669c61 100644
|
|||
|
||||
int get_cst_entries(const acpi_cstate_t **entries)
|
||||
diff --git a/src/mainboard/apple/macbook21/devicetree.cb b/src/mainboard/apple/macbook21/devicetree.cb
|
||||
index dd701da7ed..5587c48d1f 100644
|
||||
index fd86e939b9..263fbabcd1 100644
|
||||
--- a/src/mainboard/apple/macbook21/devicetree.cb
|
||||
+++ b/src/mainboard/apple/macbook21/devicetree.cb
|
||||
@@ -100,7 +100,13 @@ chip northbridge/intel/i945
|
|
@ -1,7 +1,7 @@
|
|||
From fe79712702002bf2044227d6c3cef7ae022e3539 Mon Sep 17 00:00:00 2001
|
||||
From c8332a8bac4986afec6c639f55c5876f83e50b76 Mon Sep 17 00:00:00 2001
|
||||
From: Leah Rowe <leah@osboot.org>
|
||||
Date: Sun, 3 Jan 2021 03:34:01 +0000
|
||||
Subject: [PATCH 03/18] lenovo/x60: 64MiB Video RAM changed to default
|
||||
Subject: [PATCH 03/22] lenovo/x60: 64MiB Video RAM changed to default
|
||||
(previously it was 8MiB)
|
||||
|
||||
---
|
|
@ -1,7 +1,7 @@
|
|||
From 79440902866bdafeec651476a5a0e51d42b43b21 Mon Sep 17 00:00:00 2001
|
||||
From 2e3ad35c24a86cb3109f4e5139b9ffba931eb80b Mon Sep 17 00:00:00 2001
|
||||
From: Leah Rowe <leah@osboot.org>
|
||||
Date: Mon, 22 Feb 2021 22:16:59 +0000
|
||||
Subject: [PATCH 04/18] lenovo/t60: make 64MiB VRAM the default in cmos.default
|
||||
Subject: [PATCH 04/22] lenovo/t60: make 64MiB VRAM the default in cmos.default
|
||||
|
||||
---
|
||||
src/mainboard/lenovo/t60/cmos.default | 2 +-
|
|
@ -1,19 +1,15 @@
|
|||
From 73ca2562e77c971c2e581a414dc57b4b9aa544d7 Mon Sep 17 00:00:00 2001
|
||||
From 5fc03fbf8c7fa30588dab93c76b5532ce03b1610 Mon Sep 17 00:00:00 2001
|
||||
From: Leah Rowe <leah@libreboot.org>
|
||||
Date: Fri, 14 May 2021 13:10:33 +0100
|
||||
Subject: [PATCH 05/18] lenovo/t400: set VRAM to 352MiB VRAM by default
|
||||
Subject: [PATCH 05/22] lenovo/t400: set VRAM to 256MiB VRAM by default
|
||||
|
||||
In the past, this caused stability issues so we set it to 256MiB. Nowadays,
|
||||
coreboot has fixed the issue preventing this. See:
|
||||
https://review.coreboot.org/c/coreboot/+/16831
|
||||
|
||||
So, set the VRAM to 352MiB
|
||||
Signed-off-by: Leah Rowe <leah@libreboot.org>
|
||||
---
|
||||
src/mainboard/lenovo/t400/cmos.default | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/mainboard/lenovo/t400/cmos.default b/src/mainboard/lenovo/t400/cmos.default
|
||||
index a326e315b1..e74d15d030 100644
|
||||
index a326e315b1..b907a3e2df 100644
|
||||
--- a/src/mainboard/lenovo/t400/cmos.default
|
||||
+++ b/src/mainboard/lenovo/t400/cmos.default
|
||||
@@ -13,4 +13,4 @@ power_management_beeps=Enable
|
||||
|
@ -21,7 +17,7 @@ index a326e315b1..e74d15d030 100644
|
|||
sata_mode=AHCI
|
||||
hybrid_graphics_mode=Integrated Only
|
||||
-gfx_uma_size=32M
|
||||
+gfx_uma_size=352M
|
||||
+gfx_uma_size=256M
|
||||
--
|
||||
2.39.2
|
||||
|
|
@ -1,16 +1,15 @@
|
|||
From badcbb2f07ac0e3d8b53a23e324f709bf93c3dd5 Mon Sep 17 00:00:00 2001
|
||||
From 93f607fed477b3e63b7929808937436ac2898b34 Mon Sep 17 00:00:00 2001
|
||||
From: Leah Rowe <leah@libreboot.org>
|
||||
Date: Fri, 14 May 2021 13:11:59 +0100
|
||||
Subject: [PATCH 06/18] lenovo/x200: set VRAM to 352MiB by default
|
||||
Subject: [PATCH 06/22] lenovo/x200: set VRAM to 256MiB by default
|
||||
|
||||
This fix makes it possible:
|
||||
https://review.coreboot.org/c/coreboot/+/16831
|
||||
Signed-off-by: Leah Rowe <leah@libreboot.org>
|
||||
---
|
||||
src/mainboard/lenovo/x200/cmos.default | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/mainboard/lenovo/x200/cmos.default b/src/mainboard/lenovo/x200/cmos.default
|
||||
index bb4323836e..33a6a69f59 100644
|
||||
index bb4323836e..458b3f19c5 100644
|
||||
--- a/src/mainboard/lenovo/x200/cmos.default
|
||||
+++ b/src/mainboard/lenovo/x200/cmos.default
|
||||
@@ -12,4 +12,4 @@ sticky_fn=Disable
|
||||
|
@ -18,7 +17,7 @@ index bb4323836e..33a6a69f59 100644
|
|||
low_battery_beep=Enable
|
||||
sata_mode=AHCI
|
||||
-gfx_uma_size=32M
|
||||
+gfx_uma_size=352M
|
||||
+gfx_uma_size=256M
|
||||
--
|
||||
2.39.2
|
||||
|
|
@ -1,14 +1,15 @@
|
|||
From 59e14decddd3a3d0eb9905196df045e34b7ce035 Mon Sep 17 00:00:00 2001
|
||||
From 9faa780b2ac45bc1bf61aa252364ee3158c4cb10 Mon Sep 17 00:00:00 2001
|
||||
From: Leah Rowe <leah@libreboot.org>
|
||||
Date: Fri, 14 May 2021 13:18:26 +0100
|
||||
Subject: [PATCH 07/18] gigabyte/ga-g41m-es2l: set VRAM to 352MiB by default
|
||||
Subject: [PATCH 07/22] gigabyte/ga-g41m-es2l: set VRAM to 256MiB by default
|
||||
|
||||
Signed-off-by: Leah Rowe <leah@libreboot.org>
|
||||
---
|
||||
src/mainboard/gigabyte/ga-g41m-es2l/cmos.default | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/mainboard/gigabyte/ga-g41m-es2l/cmos.default b/src/mainboard/gigabyte/ga-g41m-es2l/cmos.default
|
||||
index 8372032119..3a9a8e2d72 100644
|
||||
index 8372032119..bedad54d2a 100644
|
||||
--- a/src/mainboard/gigabyte/ga-g41m-es2l/cmos.default
|
||||
+++ b/src/mainboard/gigabyte/ga-g41m-es2l/cmos.default
|
||||
@@ -2,4 +2,4 @@ boot_option=Fallback
|
||||
|
@ -16,7 +17,7 @@ index 8372032119..3a9a8e2d72 100644
|
|||
power_on_after_fail=Enable
|
||||
nmi=Enable
|
||||
-gfx_uma_size=64M
|
||||
+gfx_uma_size=352M
|
||||
+gfx_uma_size=256M
|
||||
--
|
||||
2.39.2
|
||||
|
|
@ -1,14 +1,15 @@
|
|||
From 794e082e64558678fe245c86a2c81b4edc582795 Mon Sep 17 00:00:00 2001
|
||||
From f1c59cd67446303a5cdf9107461247a63f894de3 Mon Sep 17 00:00:00 2001
|
||||
From: Leah Rowe <leah@libreboot.org>
|
||||
Date: Fri, 14 May 2021 13:21:39 +0100
|
||||
Subject: [PATCH 08/18] acer/g43t-am3: set VRAM to 352MiB by default
|
||||
Subject: [PATCH 08/22] acer/g43t-am3: set VRAM to 256MiB by default
|
||||
|
||||
Signed-off-by: Leah Rowe <leah@libreboot.org>
|
||||
---
|
||||
src/mainboard/acer/g43t-am3/cmos.default | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/mainboard/acer/g43t-am3/cmos.default b/src/mainboard/acer/g43t-am3/cmos.default
|
||||
index 706f5dd551..98899e8bf5 100644
|
||||
index 706f5dd551..e8b45ea22c 100644
|
||||
--- a/src/mainboard/acer/g43t-am3/cmos.default
|
||||
+++ b/src/mainboard/acer/g43t-am3/cmos.default
|
||||
@@ -3,4 +3,4 @@ debug_level=Debug
|
||||
|
@ -16,7 +17,7 @@ index 706f5dd551..98899e8bf5 100644
|
|||
nmi=Enable
|
||||
sata_mode=AHCI
|
||||
-gfx_uma_size=64M
|
||||
+gfx_uma_size=352M
|
||||
+gfx_uma_size=256M
|
||||
--
|
||||
2.39.2
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
From 62121b837771b0b05f6490943ff9f1ccaba45bdb Mon Sep 17 00:00:00 2001
|
||||
From 75858ba200a2a5835bca0af9b5f508a52ed978de Mon Sep 17 00:00:00 2001
|
||||
From: persmule <persmule@gmail.com>
|
||||
Date: Sun, 31 Oct 2021 23:33:26 +0000
|
||||
Subject: [PATCH 09/18] lenovo/t400: Enable all SATA ports
|
||||
Subject: [PATCH 09/22] lenovo/t400: Enable all SATA ports
|
||||
|
||||
There are 2 SATA ports on the chassis of t400(s), but at least one dock for
|
||||
t400 contains a port for (P/S)ATA device, and t400s has a eSATA port on its
|
||||
|
@ -15,7 +15,7 @@ This patch unmasked all SATA ports found within t400s with factory firmware.
|
|||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/mainboard/lenovo/t400/devicetree.cb b/src/mainboard/lenovo/t400/devicetree.cb
|
||||
index 1df350ab67..21c8e2c9a1 100644
|
||||
index 259c3e1b21..3d007533a4 100644
|
||||
--- a/src/mainboard/lenovo/t400/devicetree.cb
|
||||
+++ b/src/mainboard/lenovo/t400/devicetree.cb
|
||||
@@ -46,8 +46,8 @@ chip northbridge/intel/gm45
|
|
@ -1,7 +1,7 @@
|
|||
From 3cf315fd59f1388d60cce9290eb52bccb7b29625 Mon Sep 17 00:00:00 2001
|
||||
From 3ec06fa2393995b87af1dbc0387c5d3255d5c0db Mon Sep 17 00:00:00 2001
|
||||
From: Leah Rowe <leah@libreboot.org>
|
||||
Date: Wed, 1 Dec 2021 02:53:00 +0000
|
||||
Subject: [PATCH 1/2] fix speedstep on x200/t400: Revert
|
||||
Subject: [PATCH 16/22] fix speedstep on x200/t400: Revert
|
||||
"cpu/intel/model_1067x: enable PECI"
|
||||
|
||||
This reverts commit 70fea013c7ebd6d85a7806748233fcfd76802f5f.
|
||||
|
@ -43,5 +43,5 @@ index 315e7c36fc..1423fd72bc 100644
|
|||
|
||||
#define PIC_SENS_CFG 0x1aa
|
||||
--
|
||||
2.40.0
|
||||
2.39.2
|
||||
|
|
@ -1,17 +1,38 @@
|
|||
From 651292a204b00d7a39d8722f9d26fd9d7178fba2 Mon Sep 17 00:00:00 2001
|
||||
From fdde15b69bd5c8bf54339adf3581a32fa992a503 Mon Sep 17 00:00:00 2001
|
||||
From: Leah Rowe <leah@libreboot.org>
|
||||
Date: Mon, 17 Apr 2023 15:49:57 +0100
|
||||
Subject: [PATCH 1/1] GM45-type CPUs: don't enable alternative SMRR
|
||||
Subject: [PATCH 17/22] GM45-type CPUs: don't enable alternative SMRR
|
||||
|
||||
This reverts the changes in coreboot revision:
|
||||
df7aecd92643d207feaf7fd840f8835097346644
|
||||
|
||||
While this fix is *technically correct*, the one in
|
||||
coreboot, it breaks rebooting as tested on several
|
||||
GM45 ThinkPads e.g. X200, T400, when microcode
|
||||
updates are not applied.
|
||||
|
||||
Since November 2022, Libreboot includes microcode
|
||||
updates by default, but it tells users how to remove
|
||||
it from the ROM (with cbfstool) if they wish.
|
||||
|
||||
Well, with Libreboot 20221214, 20230319 and 20230413,
|
||||
mitigations present in Libreboot 20220710 (which did
|
||||
not have microcode updates) do not exist.
|
||||
|
||||
This patch, along with the other patch to remove PECI
|
||||
support (which breaks speedstep when microcode updates
|
||||
are not applied) have now been applied to non-GeNUine Boot.
|
||||
are not applied) have now been re-added to Libreboot.
|
||||
|
||||
This fixes broken rebooting on GM45 platforms, when microcode
|
||||
updates are excluded.
|
||||
It is still best to use microcode updates by default.
|
||||
These patches in coreboot are not critically urgent,
|
||||
and you can use the machines with or without them,
|
||||
regardless of ucode.
|
||||
|
||||
I'll probably re-write this and the other patch at
|
||||
some point, applying the change conditionally upon
|
||||
whether or not microcode is applied.
|
||||
|
||||
Pragmatism is a good thing. I recommend it.
|
||||
---
|
||||
src/cpu/intel/model_1067x/model_1067x_init.c | 4 +++
|
||||
src/cpu/intel/model_1067x/mp_init.c | 26 --------------------
|
||||
|
@ -148,5 +169,5 @@ index 535fb8fae7..f7b05facd2 100644
|
|||
configure_c_states();
|
||||
|
||||
--
|
||||
2.40.0
|
||||
2.39.2
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
From 521a2edd13050fa39c896bf4f481ff0021c9213e Mon Sep 17 00:00:00 2001
|
||||
From a65797a9e7e610b1c916cb4d275b72848622c218 Mon Sep 17 00:00:00 2001
|
||||
From: Nicholas Chin <nic.c3.14@gmail.com>
|
||||
Date: Sat, 6 May 2023 15:53:41 -0600
|
||||
Subject: [PATCH] mb/dell/e6400: Enable 01.0 device in devicetree for dGPU
|
||||
models
|
||||
Subject: [PATCH 18/22] mb/dell/e6400: Enable 01.0 device in devicetree for
|
||||
dGPU models
|
||||
|
||||
Change-Id: I9b8e5d3cd1e1f64dc87b682b1e045b6342924aed
|
||||
Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com>
|
||||
|
@ -24,5 +24,5 @@ index bb954cbd7b..e9f3915d17 100644
|
|||
device pci 02.1 on end # Display
|
||||
device pci 03.0 on end # ME
|
||||
--
|
||||
2.40.1
|
||||
2.39.2
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
From 1ce4f118b024a6367382b46016781f30fe622e3e Mon Sep 17 00:00:00 2001
|
||||
From 7d5452bc3358cf82eea48fde312494bcb4ca8101 Mon Sep 17 00:00:00 2001
|
||||
From: Nicholas Chin <nic.c3.14@gmail.com>
|
||||
Date: Fri, 12 May 2023 19:55:15 -0600
|
||||
Subject: [PATCH] Remove warning for coreboot images built without a payload
|
||||
Subject: [PATCH 19/22] Remove warning for coreboot images built without a
|
||||
payload
|
||||
|
||||
I added this in upstream to prevent people from accidentally flashing
|
||||
roms without a payload resulting in a no boot situation, but in
|
||||
|
@ -34,5 +35,5 @@ index e735443a76..4f1692a873 100644
|
|||
-.PHONY: clean-payloads distclean-payloads print-repo-info-payloads warn_no_payload
|
||||
+.PHONY: clean-payloads distclean-payloads print-repo-info-payloads
|
||||
--
|
||||
2.40.1
|
||||
2.39.2
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
From f0db13a15c76c2947eec8919fd121450048914ce Mon Sep 17 00:00:00 2001
|
||||
From: Nicholas Chin <nic.c3.14@gmail.com>
|
||||
Date: Sun, 27 Aug 2023 17:36:36 -0600
|
||||
Subject: [PATCH 20/22] ec/dell/mec5035: Add command to enable/disable radios
|
||||
|
||||
These were determined by sniffing the LPC bus while toggling the
|
||||
hardware wireless switch on the Latitude E6400. To differentiate devices
|
||||
options in the vendor BIOS to change which radios the switch controlled
|
||||
were used.
|
||||
|
||||
Change-Id: I173dc197d63cda232dd7ede0cb798ab0a364482b
|
||||
Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com>
|
||||
---
|
||||
src/ec/dell/mec5035/mec5035.c | 9 +++++++++
|
||||
src/ec/dell/mec5035/mec5035.h | 8 ++++++++
|
||||
2 files changed, 17 insertions(+)
|
||||
|
||||
diff --git a/src/ec/dell/mec5035/mec5035.c b/src/ec/dell/mec5035/mec5035.c
|
||||
index 8da11e5b1c..e0335a4635 100644
|
||||
--- a/src/ec/dell/mec5035/mec5035.c
|
||||
+++ b/src/ec/dell/mec5035/mec5035.c
|
||||
@@ -84,6 +84,15 @@ u8 mec5035_mouse_touchpad(u8 setting)
|
||||
return buf[0];
|
||||
}
|
||||
|
||||
+void mec5035_radio_enable(enum mec5035_radio_dev dev, u8 on)
|
||||
+{
|
||||
+ /* From LPC traces and userspace testing with other values,
|
||||
+ the second byte has to be 2 for an unknown reason. */
|
||||
+ u8 buf[3] = {dev, 2, on};
|
||||
+ write_mailbox_regs(buf, 2, 3);
|
||||
+ ec_command(CMD_RADIO_EN);
|
||||
+}
|
||||
+
|
||||
void mec5035_early_init(void)
|
||||
{
|
||||
/* If this isn't sent the EC shuts down the system after about 15
|
||||
diff --git a/src/ec/dell/mec5035/mec5035.h b/src/ec/dell/mec5035/mec5035.h
|
||||
index e7a05b64d4..16512e2cc2 100644
|
||||
--- a/src/ec/dell/mec5035/mec5035.h
|
||||
+++ b/src/ec/dell/mec5035/mec5035.h
|
||||
@@ -16,8 +16,16 @@
|
||||
|
||||
#define CMD_CPU_OK 0xc2
|
||||
|
||||
+#define CMD_RADIO_EN 0x2b
|
||||
+enum mec5035_radio_dev {
|
||||
+ RADIO_WLAN = 0,
|
||||
+ RADIO_WWAN = 1,
|
||||
+ RADIO_WPAN = 2,
|
||||
+};
|
||||