summaryrefslogtreecommitdiffstats
path: root/util
Commit message (Collapse)AuthorAgeFilesLines
* */mem_parts_used.txt: Change Makefile.inc to Makefile.mkMartin Roth2024-01-249-9/+9
| | | | | | | | | | | | Now that the files are renamed, make sure all references to Makefile.inc are updated as well. Signed-off-by: Martin Roth <gaumless@gmail.com> Change-Id: I09e235eecf0c32c80a41bfcbbd3580cce6555e10 Reviewed-on: https://review.coreboot.org/c/coreboot/+/80112 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de> Reviewed-by: Eric Lai <ericllai@google.com>
* payloads: Rename Makefiles from .inc to .mkMartin Roth2024-01-241-1/+1
| | | | | | | | | | | | | | | | The .inc suffix is confusing to various tools as it's not specific to Makefiles. This means that editors don't recognize the files, and don't open them with highlighting and any other specific editor functionality. This issue is also seen in the release notes generation script where Makefiles get renamed before running cloc. Signed-off-by: Martin Roth <gaumless@gmail.com> Change-Id: Ie7038712de8cc646632d5e7d29550e3260bf2c62 Reviewed-on: https://review.coreboot.org/c/coreboot/+/80103 Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de> Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
* Makefiles: Rename top-level Makefiles from .inc to .mkMartin Roth2024-01-243-1/+1
| | | | | | | | | | | | | | | | | | | The .inc suffix is confusing to various tools as it's not specific to Makefiles. This means that editors don't recognize the files, and don't open them with highlighting and any other specific editor functionality. This issue is also seen in the release notes generation script where Makefiles get renamed before running cloc. The rest of the Makefiles will be renamed in following commits. Signed-off-by: Martin Roth <gaumless@gmail.com> Change-Id: Idaf69c6871d0bc1ee5e2e53157b8631c55eb3db9 Reviewed-on: https://review.coreboot.org/c/coreboot/+/80063 Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de> Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
* util/superiotool: reformat alternate dump outputMatt DeVillier2024-01-181-8/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reformat alternate dump output to show default values before read values, and to use brackets to visually indicate which values differ from the defaults. old output: Register dump: idx val def 0x07: 0x0b (0x00) 0x10: 0xff (0xff) 0x11: 0xff (0xff) ... new output: Register dump: idx def val 0x07: 0x00 [0x0b] 0x10: 0xff 0xff 0x11: 0xff 0xff ... TEST=build/dump registers from Erying SRMJ4 w/Nuvoton NCT6796D. Change-Id: Idef2cc136151328b114620eb297ab8fd62b71bcd Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/80004 Reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
* util/superiotool: add support for Nuvoton NCT6796DMatt DeVillier2024-01-181-0/+59
| | | | | | | | | | | | | Registers and default values taken from public datasheet: https://www.nuvoton.com/resource-files/NCT6796D_Datasheet_V0_6.pdf TEST=build/dump SIO registers on Erying SRMJ4 mainboard Change-Id: I0ff940a17b0c38a5ca66e90dd4e075a2b04dcfc1 Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/80003 Reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
* util/inteltool: Add support for RPL-H CPUMatt DeVillier2024-01-182-0/+7
| | | | | | | | | | | | | | | | | | | | | | Add PCI IDs and descriptor strings to support the integrated north/south bridges and GPU for the i9-13900H CPU. --- CPU: ID 0xb06a2, Processor Type 0x0, Family 0x6, Model 0xba, Stepping 0x2 Northbridge: 8086:a706 (13th generation (Raptor Lake H family) Core Processor) Southbridge: 8086:519d (Raptor Lake) IGD: 8086:a7a0 (Intel(R) Iris Xe Graphics [RPL-P]) SBREG_BAR = 0xfd000000 (MEM) --- TEST=build/run inteltool on Erying SRMJ4 mainboard, verify PCI IDs not unknown, GPIOs dumped. Change-Id: I4cf3f419f103a1a7d4c6850f2257b7e7d45f3b18 Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79962 Reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
* util/autoport: Improve USB codePatrick Rudolph2024-01-151-3/+13
| | | | | | | | | | | | | | | | | | | | Currently autoport fills in USB current '0' if the detected setting isn't one of the known settings. This works as 0 is a valid setting from C point of view, but it's not supported on desktop PCs and on mobile platform results in the lowest possible USB PHY gain. Thus this might cause instabilities as the original firmware had stronger USB drive currents and gain settings. Add more known USB current fields to the map and generate a FIXME as comment when the detected current isn't one of the known entries instead of defaulting to 0. Change-Id: I48f4d636ce3401ba188f5519b5ff45fccf13f080 Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/78828 Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
* tree: Use accessor functions for struct region fieldsNico Huber2024-01-142-18/+18
| | | | | | | | | | | | | | | Always use the high-level API region_offset() and region_sz() functions. This excludes the internal `region.c` code as well as unit tests. FIT payload support was also skipped, as it seems it never tried to use the API and would need a bigger overhaul. Change-Id: Iaae116a1ab2da3b2ea2a5ebcd0c300b238582834 Signed-off-by: Nico Huber <nico.h@gmx.de> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79904 Reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
* lint/kconfig_lint: Remove SOUTH_BRIDGE_OPTIONSElyes Haouas2024-01-121-1/+1
| | | | | | | | | | | SOUTH_BRIDGE_OPTIONS Kconfig symbol is no longer used. Change-Id: I2380f1ce48afd191755d8b3dcab0b51909f5231f Signed-off-by: Elyes Haouas <ehaouas@noos.fr> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79913 Reviewed-by: Nico Huber <nico.h@gmx.de> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
* util/ifdtool: Enable Read Access for SPI device expansion 2 regionSubrata Banik2024-01-121-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per Intel Meteor Lake SPI programming doc, the BIOS region should have a read access enabled for device expansion 2 region (aka region 9). This patch ensures that BIOS region is able to read the device expansion 2 region for Intel Meteor Lake platform as known as SPI padding region. BUG=b:274356894 BRANCH=firmware-rex-15709.B TEST=Able to flash screebo AP FW image using flashrom on DUT. Without this patch: > flashrom -p internal -r /tmp/bios.rom flashrom 1.4.0-devel on Linux 6.1.67-09255-ge8ae3115f8b0 (x86_64) ... ... Found Winbond flash chip "W25Q256JW_DTR" (32768 kB, Programmer-specific) on internal. Reading flash... Transaction error between offset 0x0072f000 and 0x0072f03f (= 0x0072f000 + 63)! read_flash: failed to read (0x72f000..0x7fffff). Read operation failed! FAILED. FAILED With this patch: > flashrom -p internal -r /tmp/bios.rom flashrom 1.4.0-devel on Linux 6.1.68-09294-g001fdda5287d (x86_64) ... ... Found Winbond flash chip "W25Q256JW_DTR" (32768 kB, Programmer-specific) on internal. Reading flash... done. SUCCESS Change-Id: I18c44aa9a0f890f01a889247da118b69a58936e8 Signed-off-by: Subrata Banik <subratabanik@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79902 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Kapil Porwal <kapilporwal@google.com> Reviewed-by: Reka Norman <rekanorman@chromium.org> Reviewed-by: Eric Lai <ericllai@google.com>
* util/lint: Remove the extra `\` in lint-stable-003-whitespaceRuihai Zhou2024-01-081-1/+1
| | | | | | | | | | | | | | | | | | | | | A following error occurred when I commit, it seems that the extra `\` after `\.md$` is unnecessary. File Binary file src/mainboard/google/guybrush/data.apcb matches has lines ending with whitespace. File Binary file src/mainboard/google/skyrim/data.apcb matches has lines ending with whitespace. File Binary file src/mainboard/google/zork/data.apcb matches has lines ending with whitespace. test failed Signed-off-by: Ruihai Zhou <zhouruihai@huaqin.corp-partner.google.com> Change-Id: I315a37ccc3c6ebb67f7a250402549761c699dd1b Reviewed-on: https://review.coreboot.org/c/coreboot/+/79782 Reviewed-by: cong yang <yangcong5@huaqin.corp-partner.google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Yu-Ping Wu <yupingso@google.com> Reviewed-by: Yidi Lin <yidilin@google.com>
* util/ifdtool: Add support for extended region read/write accessReka Norman2024-01-081-10/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Platforms from CNL onwards support up to 16 flash regions, not 12. The permissions for regions [15:12] are stored in extended region read/write access fields in the FLMSTR registers. Currently ifdtool treats these fields as reserved, so they're not modified when locking or unlocking. Add support for extended regions so that they are locked/unlocked by the --lock/--unlock options. This will make the locked/unlocked descriptors generated by ifdtool match those generated by mFIT. BUG=b:270275115 TEST=Without this change: `ifdtool -lr -p adl` on unlocked image: Before: 00000080 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 00000090 ff ff ff ff After: 00000080 ff 07 20 00 ff 05 40 00 ff 00 00 00 00 00 00 00 00000090 ff 00 00 00 `ifdtool -u -p adl` on locked image: Before: 00000080 00 07 20 00 00 05 40 00 00 00 00 00 00 00 00 00 00000090 00 00 00 00 After: 00000080 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 00 00 00 00000090 00 ff ff ff With this change: `ifdtool -lr -p adl` on unlocked image: Before: 00000080 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 00000090 ff ff ff ff After: 00000080 00 07 20 00 00 05 40 00 00 00 00 00 00 00 00 00 00000090 00 00 00 00 `ifdtool -u -p adl` on locked image: Before: 00000080 00 07 20 00 00 05 40 00 00 00 00 00 00 00 00 00 00000090 00 00 00 00 After: 00000080 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 00000090 ff ff ff ff Change-Id: Iaa43524d91c399a996ade56f2f613b4110a44aad Signed-off-by: Reka Norman <rekanorman@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79790 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Subrata Banik <subratabanik@google.com>
* util/ifdtool: Add support for disabling GPR0Reka Norman2024-01-051-3/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | On ChromeOS devices with updateable CSE firmware, the GPR0 (Global Protected Range) register is used to ensure the CSE RO is write protected even when the FLMSTR-based protection is temporarily disabled by coreboot to allow updating the CSE RW. For more details see Documentation/soc/intel/cse_fw_update/cse_fw_update.md Therefore to allow modifying the CSE firmware from the CPU, the descriptor must have both the FLMSTR-based protection disabled (which can be done using ifdtool --unlock), and GPR0 disabled. Add an ifdtool option for disabling GPR0. For now I've added support for all platforms for which I have the SPI programming guide. Support for more platforms can be added in the future if needed. BUG=b:270275115 TEST=Run `ifdtool -p adl -g image.bin -O image-unlocked.bin` on a locked craask image, check the GPR0 field is set to 0. Change-Id: Iee13ce0b702b3c7a443501cb4fc282580869d03a Signed-off-by: Reka Norman <rekanorman@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79788 Reviewed-by: Subrata Banik <subratabanik@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
* util/liveiso: Update to 23.11 releaseFelix Singer2023-12-292-3/+2
| | | | | | | | | | | | The package 'bluezFull' got superseded by 'bluez'. So just remove the related line since 'bluez' is the default. Change-Id: Ibf72c37205017b27012064b311a9510136351c0f Signed-off-by: Felix Singer <felixsinger@posteo.net> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79416 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Marvin Evers <marvin.n.evers@gmail.com> Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com>
* util/docker/fedora: Add Dockerfile.baseFelix Singer2023-12-291-0/+44
| | | | | | | | | | | | | | Following commands were used to test if everything builds: * make crossgcc * make clang * make what-jenkins-does Change-Id: I8d04c570f91215f534f173db2ae559b64b58012f Signed-off-by: Felix Singer <felixsinger@posteo.net> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79316 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com>
* util/{cbfstool,nvramtool}: Use same indent levels for switch/caseFelix Singer2023-12-202-60/+60
| | | | | | | | | | | | Use same indent levels for switch/case in order to comply with the linter. Change-Id: I2dd0c2ccc4f4ae7af7dd815723adf757244d2005 Signed-off-by: Felix Singer <felixsinger@posteo.net> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79448 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Alexander Couzens <lynxis@fe80.eu> Reviewed-by: Eric Lai <ericllai@google.com>
* util/lint: Exclude .apcb files from various checksMatt DeVillier2023-12-174-2/+4
| | | | | | | | | | | .apcb files are binary configuration data and not human readable; exclude them from license, newline, and whitespace checks. Change-Id: Idc1ddd5067cb97ef8b5758a0b8bf040d1e421871 Signed-off-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79589 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin Roth <martin.roth@amd.corp-partner.google.com>
* lib/jpeg: Replace decoder with Wuffs' implementationPatrick Georgi2023-12-133-7/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To quote its repo[0]: Wuffs is a memory-safe programming language (and a standard library written in that language) for Wrangling Untrusted File Formats Safely. Wrangling includes parsing, decoding and encoding. It compiles its library, written in its own language, to a C/C++ source file that can then be used independently without needing support for the language. That library is now imported to src/vendorcode/wuffs/. This change modifies our linters to ignore that directory because it's supposed to contain the wuffs compiler's result verbatim. Nigel Tao provided an initial wrapper around wuffs' jpeg decoder that implements our JPEG API. I further changed it a bit regarding data placement, dropped stuff from our API that wasn't ever used, or isn't used anymore, and generally made it fit coreboot a bit better. Features are Nigel's, bugs are mine. This commit also adapts our jpeg fuzz test to work with the modified API. After limiting it to deal only with approximately screen sized inputs, it fuzzed for 25 hours CPU time without a single hang or crash. This is a notable improvement over running the test with our old decoder which crashes within a minute. Finally, I tried the new parser with a pretty-much-random JPEG file I got from the internet, and it just showed it (once the resolution matched), which is also a notable improvement over the old decoder which is very particular about the subset of JPEG it supports. In terms of code size, a QEmu build's ramstage increases from 128060 bytes decompressed (64121 bytes after LZMA) to 172304 bytes decompressed (82734 bytes after LZMA). [0] https://github.com/google/wuffs Change-Id: If8fa7da69da1ad412f27c2c5e882393c7739bc82 Signed-off-by: Patrick Georgi <patrick@coreboot.org> Based-on-work-by: Nigel Tao <nigeltao@golang.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/78271 Reviewed-by: Paul Menzel <paulepanter@mailbox.org> Reviewed-by: Martin L Roth <gaumless@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
* util/abuild: Better identify config string in logMartin Roth2023-12-121-7/+7
| | | | | | | | | | | | | | | | When using the --skip_set and --skip_unset arguments, the config line looked like a statement that the build was being skipped instead of abuild just printing the configuration. This updates those config statements to better show that it's the config and not stating that this particular build is being skipped. Signed-off-by: Martin Roth <gaumless@gmail.com> Change-Id: I6cc59f9b33dcda51aeb3640d449037a0aa054e36 Reviewed-on: https://review.coreboot.org/c/coreboot/+/76936 Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Eric Lai <ericllai@google.com>
* util/docker/alma: Add Dockerfile.baseFelix Singer2023-12-081-0/+48
| | | | | | | | | | | | | | | Following commands were used to test if everything builds: * make crossgcc * make clang * make what-jenkins-does Change-Id: Iab15fe908aa6ca81724ed7557caf70c38817ad25 Signed-off-by: Felix Singer <felixsinger@posteo.net> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79389 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Zebreus <lennarteichhorn@googlemail.com> Reviewed-by: Martin L Roth <gaumless@gmail.com>
* util/docker/rocky: Add Dockerfile.baseFelix Singer2023-12-081-0/+48
| | | | | | | | | | | | | | | Following commands were used to test if everything builds: * make crossgcc * make clang * make what-jenkins-does Change-Id: I60e00932332801c0f62d88b7860afb330d9469e4 Signed-off-by: Felix Singer <felixsinger@posteo.net> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79384 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Zebreus <lennarteichhorn@googlemail.com> Reviewed-by: Martin L Roth <gaumless@gmail.com>
* util/docker/archlinux: Rename Dockerfile to Dockerfile.baseFelix Singer2023-12-081-0/+0
| | | | | | | | | | | | Rename Dockerfile to Dockerfile.base since additional Dockerfiles basing on this one will be added later. Change-Id: I70f2c89f739068749e1017524b6f8ef1b03d6456 Signed-off-by: Felix Singer <felixsinger@posteo.net> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79344 Reviewed-by: Martin L Roth <gaumless@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Zebreus <lennarteichhorn@googlemail.com>
* util/docker/archlinux: Add more packages allowing CI buildsFelix Singer2023-12-081-0/+6
| | | | | | | | | | | | | | | Following commands were used to test if everything builds: * make crossgcc * make clang * make what-jenkins-does Change-Id: I757e6dbac557bcb640777b819529a978bf54ed93 Signed-off-by: Felix Singer <felixsinger@posteo.net> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79314 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Zebreus <lennarteichhorn@googlemail.com> Reviewed-by: Martin L Roth <gaumless@gmail.com>
* util/docker: Add build scriptFelix Singer2023-12-061-0/+29
| | | | | | | | | | | | | Integration for additional container images might be added to the Makefile at some later point. However, in order to build and test new images just add a simple script which fulfills that requirement until then. Change-Id: Ibd0a6d59f395e074c784452849650d7f03b4f1d8 Signed-off-by: Felix Singer <felixsinger@posteo.net> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79361 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin L Roth <gaumless@gmail.com>
* util/docker/alpine: Rename Dockerfile to Dockerfile.baseFelix Singer2023-12-061-0/+0
| | | | | | | | | | | Rename Dockerfile to Dockerfile.base since additional Dockerfiles basing on this one will be added later. Change-Id: I611feca234ae7600f9c17ae397f9f3903879c057 Signed-off-by: Felix Singer <felixsinger@posteo.net> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79362 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin L Roth <gaumless@gmail.com>
* inteltool: memory: log PCI id of unknown devicesAlexander Couzens2023-12-041-0/+1
| | | | | | | | Change-Id: I25396e5480c45729710b16345f997c78e8bcbccb Signed-off-by: Alexander Couzens <lynxis@fe80.eu> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79363 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
* inteltool/gpio_names/*.h: Add GPL-2.0-only SPDX license headerNicholas Chin2023-12-0215-0/+30
| | | | | | | | | | | | | Inteltool is GPLv2 licensed so all files that link to it should be GPLv2 by default. In addition, the contents of several of these headers were originally moved directly from gpio_groups.c, which is explicitly marked as GPL-2.0-only. Change-Id: Ie897cb238c0c9e89fe677c999cbf1803f5f4609a Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/78628 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
* build system: Exempt `make *config` from strict symbol checksPatrick Georgi2023-11-301-2/+0
| | | | | | | | | | | | | | | | | | The "config" targets exist to edit the .config file, and so they should be more forgiving with invalid configs (that they'll convert into valid configs on save). They will still emit warnings about invalid symbols, but not exit with an error. The regular build process still fails if the .config looks unexpected (for example when there's an unknown config flag). Change-Id: If427e075766c68d493dd406609f21b6bb27d1d74 Signed-off-by: Patrick Georgi <patrick@coreboot.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79298 Reviewed-by: Mike Banon <mikebdp2@gmail.com> Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin L Roth <gaumless@gmail.com>
* util/kconfig: Import some more of Linux's build infraPatrick Georgi2023-11-271-0/+3
| | | | | | | | | | | | | | | cmd and cmd_conf_cfg are necessary for `make menuconfig` and `make nconfig`. Change-Id: Ie16ef31a8e0137f3fd4129fb73ca6ef4669173cc Signed-off-by: Patrick Georgi <patrick@georgi.software> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79264 Reviewed-by: Mike Banon <mikebdp2@gmail.com> Reviewed-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de> Reviewed-by: Nico Huber <nico.h@gmx.de> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin L Roth <gaumless@gmail.com>
* util/kconfig: Uprev to Linux 6.6's kconfigPatrick Georgi2023-11-2523-440/+399
| | | | | | | | | | | | | | | | | | Upstream reimplemented KCONFIG_STRICT, just calling it KCONFIG_WERROR. Therefore, adapt our build system and documentation. Upstream is less strict at this time, but there's a proposed patch that got imported. TEST=`util/abuild/abuild -C` output (config.h and config.build) remains the same. Also, the failure type fixed in https://review.coreboot.org/c/coreboot/+/11272 can be detected, which I tested by manually breaking our Kconfig in a similar way. Change-Id: I322fb08a2f7308b93cff71a5dd4136f1a998773b Signed-off-by: Patrick Georgi <patrick@coreboot.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79259 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin L Roth <gaumless@gmail.com> Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
* tree wide: Rename VBOOT_MEASURED_BOOT* to TPM_MEASURED_BOOTPatrick Georgi2023-11-251-1/+1
| | | | | | | | | | | | | This follows commit c79e96b4eb3 which did the rename across the tree except in these places. Remove the flag from CHROMEOS abuild builds because it never really belonged there. Change-Id: If98fa27f64d6b676d3edf68ba6fbaacf7ac422e4 Signed-off-by: Patrick Georgi <patrick@coreboot.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79258 Reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
* crossgcc: Upgrade GCC from 11.4.0 to 13.2.0Elyes Haouas2023-11-2411-169/+238
| | | | | | | | | | | | | | | | | | Changelogs: * https://gcc.gnu.org/gcc-12/changes.html * https://gcc.gnu.org/gcc-13/changes.html Porting guides: * https://gcc.gnu.org/gcc-12/porting_to.html * https://gcc.gnu.org/gcc-13/porting_to.html Change-Id: I4f2ed4de4811abaa13528906de71eee29a8f2910 Signed-off-by: Elyes Haouas <ehaouas@noos.fr> Signed-off-by: Nico Huber <nico.h@gmx.de> Signed-off-by: Felix Singer <felixsinger@posteo.net> Reviewed-on: https://review.coreboot.org/c/coreboot/+/70771 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin L Roth <gaumless@gmail.com>
* util/kconfig: Uprev to Linux 6.5's kconfigPatrick Georgi2023-11-242-8/+5
| | | | | | | | | | | TEST=`util/abuild/abuild -C` output (config.h and config.build) remains the same Change-Id: If717d064d87b0045f276a4ee963db0a62230f5d8 Signed-off-by: Patrick Georgi <patrick@coreboot.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79182 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin L Roth <gaumless@gmail.com>
* util/kconfig: Uprev to Linux 6.4's kconfigPatrick Georgi2023-11-245-341/+279
| | | | | | | | | | | TEST=`util/abuild/abuild -C` output (config.h and config.build) remains the same Change-Id: Idbcd88165271b58ba3697c66df447af0b8b57b1b Signed-off-by: Patrick Georgi <patrick@coreboot.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79181 Reviewed-by: Martin L Roth <gaumless@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
* util/kconfig: Uprev to Linux 6.3's kconfigPatrick Georgi2023-11-242-11/+20
| | | | | | | | | | | | | Minor bugfix, plus stuff that doesn't really affect us. TEST=`util/abuild/abuild -C` output (config.h and config.build) remains the same Change-Id: I0af0c2ae4cb11bb58457830ffcd8bb8c2422a3d1 Signed-off-by: Patrick Georgi <patrick@coreboot.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79180 Reviewed-by: Martin L Roth <gaumless@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
* util/kconfig: Uprev to Linux 6.2's kconfigPatrick Georgi2023-11-2413-59/+94
| | | | | | | | | | | | | | The upstream build system uses a newly introduced function `read-file`, so copy that in from Linux 6.2. TEST=`util/abuild/abuild -C` output (config.h and config.build) remains the same Change-Id: Ic100bf189ebd3eaa0eb26904ae8602910329a180 Signed-off-by: Patrick Georgi <patrick@coreboot.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79179 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin L Roth <gaumless@gmail.com>
* util/kconfig: Uprev to Linux 6.1's kconfigPatrick Georgi2023-11-2412-70/+94
| | | | | | | | | | | | | This also cleans up our patch queue. TEST=`util/abuild/abuild -C` output (config.h and config.build) remains the same Change-Id: I79159130ba3515ede59e9fb9fbf087e2ed76257a Signed-off-by: Patrick Georgi <patrick@coreboot.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79203 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin L Roth <gaumless@gmail.com>
* util/docker/archlinux: Extend the environment with packages and configsFelix Singer2023-11-241-1/+15
| | | | | | | | | | | Add more packages which are useful for a coreboot development and build environment and also make neovim the default editor. Change-Id: Ied09a9b9500d85348fc9c3862247bd8b85e50b54 Signed-off-by: Felix Singer <felixsinger@posteo.net> Reviewed-on: https://review.coreboot.org/c/coreboot/+/77724 Reviewed-by: Martin L Roth <gaumless@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
* util/crossgcc: Update CMake from 3.26.4 to 3.27.7Felix Singer2023-11-213-2/+2
| | | | | | | | Change-Id: I4dbe9b7a05171bb244ec1ebe6ce7d390a6373d61 Signed-off-by: Felix Singer <felixsinger@posteo.net> Reviewed-on: https://review.coreboot.org/c/coreboot/+/78883 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin L Roth <gaumless@gmail.com>
* cross-repo-cherrypick: Update downstream branchJon Murphy2023-11-201-1/+1
| | | | | | | | | | | | | | | ChromeOS has switched to using the main branch, update accordingly. BUG=b:294218930 TEST=None Change-Id: I31f67ef4fb175a4e4896b5bed81d5ae1cdddb827 Signed-off-by: Jon Murphy <jpmurphy@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79143 Reviewed-by: Eric Lai <ericllai@google.com> Reviewed-by: Subrata Banik <subratabanik@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
* util/lint: Add linter to keep selects out of Kconfig.name4.22Martin Roth2023-11-181-0/+16
| | | | | | | | | | | | | | | | | | While having select statements in Kconfig.name files is valid in the syntax of the Kconfig language, having the selections split between the normal Kconfig file and Kconfig.name files makes it harder to see what's going on. Kconfig.name files will now be limited to their original purpose of selecting a particular board or board variant, not actually configuring that board. Signed-off-by: Martin Roth <gaumless@gmail.com> Change-Id: I2aab78e296f2958e77a938b1afa40a25a6aa82b0 Reviewed-on: https://review.coreboot.org/c/coreboot/+/78972 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com> Reviewed-by: Julius Werner <jwerner@chromium.org>
* docker/coreboot-sdk: Add perl modules for gcovMartin Roth2023-11-171-0/+3
| | | | | | | | | | | These perl modules are needed to run the coverage-report target for gcov. Signed-off-by: Martin Roth <gaumless@gmail.com> Change-Id: If32a42ce17edcbae94394f770c26d3300abebcbe Reviewed-on: https://review.coreboot.org/c/coreboot/+/79072 Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
* util/docker: Switch back to root user in jenkins-nodeMartin Roth2023-11-161-0/+1
| | | | | | | | | | | | | Leaving the user as coreboot caused the entrypoint to run as coreboot, which means we couldn't mount directories or run sshd correctly. Switching to root at the end of the file fixes this. Signed-off-by: Martin Roth <gaumless@gmail.com> Change-Id: Ie10e1d7ad4def0faafe3bcd580a77e23c3bfe948 Reviewed-on: https://review.coreboot.org/c/coreboot/+/79067 Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
* util/ifdtool/ifdtool.c: Add NULL check for fmapnameMaximilian Brune2023-11-161-0/+8
| | | | | | | | | | | | | | | | | | Some boards (e.g. prodrive/hermes) that do not provide their own FMAP and therefore have been generated by the build system (+ ifdtool) experience a failure when trying to build with an IFD that contains regions which do not have equivalent fmap names (set to NULL). Therefore add a NULL check for the fmapname and ignore the region if we do not have an fmapname. Test: compile prodrive/hermes Signed-off-by: Maximilian Brune <maximilian.brune@9elements.com> Change-Id: Ib4589b7fdbd11d644214ca5601536e9aeb26882f Reviewed-on: https://review.coreboot.org/c/coreboot/+/79010 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
* util/lint/kconfig_lint: Ignore C preprocessor macros in codeMartin Roth2023-11-131-2/+3
| | | | | | | | | | | | | | | | | | To see which Kconfig symbols are actually used, and to verify that they're used correctly, kconfig_lint scans the C code. It gives an error if it sees a CONFIG(symbol) where the symbol doesn't exist. This creates a problem when a C preprocessor macro is created to match multiple Kconfig symbols. The simple solution here is to just ignore those C preprocessor macro definitions as beyond the scope of this linter. Signed-off-by: Martin Roth <gaumless@gmail.com> Change-Id: I5a20e8bb5a3e19e380802cba712d6dd3ff2f4dc0 Reviewed-on: https://review.coreboot.org/c/coreboot/+/78681 Reviewed-by: Fred Reitberger <reitbergerfred@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
* util/docker/jenkins-node: Install pip modules into virtual envMartin Roth2023-11-121-4/+8
| | | | | | | | | | | | | | | | Instead of installing the pip modules system-wide, and possibly causing conflicts, install them into a virtual environment for the coreboot user. If we wanted to, in the future, we could install different versions of the modules into different virtual environment directories to allow for testing or anything else we needed. Change-Id: I49c749a13a698bfb7af29bf07e42ac14b67b2ae7 Signed-off-by: Martin Roth <gaumless@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79006 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
* util/docker: change main branch back to master for encapsulateMartin Roth2023-11-121-1/+1
| | | | | | | | | | | | The branch for the encapsulate tool accidentally got caught up in the switch from master to main. The default branch for this tool has not changed, so still needs to be referenced as master. Change-Id: I0ff47308dcbf30888e4e88637bab63f20467307a Signed-off-by: Martin Roth <gaumless@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79005 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
* util/abuild: Add all builds to junit.xml filesMartin Roth2023-11-071-6/+17
| | | | | | | | | | | | | | | The builds from the configs directory were not being saved in the junit.xml files that Jenkins uses to determine pass vs fail of the individual builds. This also fixes the path to a log file that I noticed while testing. Signed-off-by: Martin Roth <gaumless@gmail.com> Change-Id: I37dbee676cc9e507e612ce66994a04aba062757a Reviewed-on: https://review.coreboot.org/c/coreboot/+/78863 Reviewed-by: Julius Werner <jwerner@chromium.org> Reviewed-by: Matt DeVillier <matt.devillier@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
* util/docker: Add libnss3-dev package to coreboot-sdk for vbootMartin Roth2023-11-021-0/+1
| | | | | | | | | | | | The latest updates to Vboot use libnss, so add the library to the coreboot sdk. Signed-off-by: Martin Roth <gaumless@gmail.com> Change-Id: Iee0c44296b189b5327ef8f950b1bba9eb668f298 Reviewed-on: https://review.coreboot.org/c/coreboot/+/78867 Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
* util/crossgcc/buildgcc: Fix detection of GNAT on recent versionsFelix Singer2023-11-021-0/+10
| | | | | | | | | | | | | | | gnatgcc is deprecated and in recent GCC releases its purpose is fulfilled by the gcc binary. In case of a deprecated gnatgcc version is installed, it doesn't provide the expected output and hostcc_has_gnat1() fails. In this case, just set the value of CC to gcc. It's still required to install GNAT in addition to GCC. Change-Id: I730bdfda81268d10bd2a41ef5cb4e3810b76a42c Signed-off-by: Felix Singer <felixsinger@posteo.net> Reviewed-on: https://review.coreboot.org/c/coreboot/+/78215 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin L Roth <gaumless@gmail.com>