1 2[//]: # ( DO NOT EDIT - AUTOGENERATED FILE ) 3 4[//]: # ( RUN 'util/util_readme/util_readme.sh' to regenerate ) 5 6# Utilities 7 8## List of utils 9 10_Scripts and programs found in the coreboot `./util` directory_ 11 12* __abuild__ - coreboot autobuild script builds coreboot images for all 13available targets. `bash` 14* __acpi__ - Walk through all ACPI tables with their addresses. `bash` 15* __amdfwtool__ - Create AMD Firmware combination `C` 16* __amdtools__ Various tools for AMD processors 17 * _update_efs_spi_speed_ - Change SPI speed in binary. `Bash` 18 * Tools to compare extended K8 memory settings. 19 * _k8-compare-pci-space.pl_ - Shows differences between values 20in PCI space and the default value. `Perl` 21 * _k8-interpret-extended-memory-settings.pl_ - Shows 22differences between memory controller values and the default value. 23`Perl` 24 * _k8-read-mem-settings.sh_ - Makes data files understood by 25the k8-interpret-extended-memory-settings script. `Bash` 26 * _parse-bkdg.pl_ - Make bkdg.data file used by above scripts. 27`Perl` 28 * _example_input_ - Sample input for the above scripts. `Text` 29* __apcb__ - AMD PSP Control Block tools 30 * _apcb_edit.py_ - This tool allows patching an existing APCB 31binary with specific SPDs and GPIO selection pins. `Python3` 32 * _apcb_v3_edit.py_ - This tool allows patching an existing 33APCB v3 binary with up to 16 specific SPDs. `Python3` 34* __archive__ - Concatenate files and create an archive `C` 35* __autoport__ - Automated porting coreboot to Sandy Bridge/Ivy Bridge 36platforms `Go` 37* __bincfg__ - Compiler/Decompiler for data blobs with specs `Lex` 38`Yacc` 39* __board_status__ - Tools to collect logs and upload them to the board 40status repository `Bash` `Go` 41* __bucts__ - A tool to manipulate the BUC.TS bit on Intel targets. `C` 42* __cavium__ - Devicetree_convert Tool to convert a DTB to a static C 43file `Python` 44* __cbfstool__ 45 * _cbfstool_ - For manipulating CBFS file `C` 46 * _fmaptool_ - Converts plaintext fmd files into fmap blobs `C` 47 * _rmodtool_ - Creates rmodules `C` 48 * _ifwitool_ - For manipulating IFWI `C` 49* __cbmem__ - CBMEM parser to read e.g. timestamps and console log `C` 50* __chromeos__ - These scripts can be used to access ChromeOS 51resources, for example to extract System Agent reference code and other 52blobs (e.g. mrc.bin, refcode, VGA option roms) from a ChromeOS recovery 53image. `C` 54* __crossgcc__ - A cross toolchain builder for -elf toolchains (ie. no 55libc support) `Bash` 56* __docker__ - Dockerfiles for _coreboot-sdk_, _coreboot-jenkins-node_, 57_coreboot.org-status_ and _docs.coreboot.org_ `Make` 58* __dtd_parser__ - DTD structure parser `Python2` 59* __ectool__ - Dumps the RAM of a laptop's Embedded/Environmental 60Controller (EC). `C` 61* __exynos__ - Computes and fills Exynos ROM checksum (for BL1 or BL2). 62`Python3` 63* __find_usbdebug__ - Help find USB debug ports `Bash` 64* __futility__ - Firmware utility for signing ChromeOS images `Make` 65* __fuzz-tests__ - Create test cases that crash the jpeg code. `C` 66* __genbuild_h__ - Generate build system definitions `Shell` 67* __gitconfig__ - Initialize git repository submodules install git 68hooks `Bash` 69* __ifdtool__ - Extract and dump Intel Firmware Descriptor information 70`C` 71* __intelmetool__ - Dump interesting things about Management Engine 72even if hidden `C` 73* __intelp2m__ - convert the configuration DW0/1 registers value from 74an inteltool dump to coreboot macros. `go` 75* __inteltool__ - Provides information about the Intel CPU/chipset 76hardware configuration (register contents, MSRs, etc). `C` 77* __intelvbttool__ - Parse VBT from VGA BIOS `C` 78* __ipqheader__ 79 * _createxbl.py_ - Concatenates XBL segments into one ELF image 80`Python` 81 * _ipqheader.py_ - Returns a packed MBN header image with the 82specified base and size `Python` 83 * _mbncat.py_ - Generate ipq8064 uber SBL `Python` 84 * *mbn_tools.py* - Contains all MBN Utilities for image 85generation `Python` 86* __kbc1126__ - Tools used to dump the two blobs from the factory 87firmware of many HP laptops with 8051-based SMSC KBC1098/KBC1126 88embedded controller and insert them to the firmware image. `C` 89* __kconfig__ - Build system `Make` 90* __lint__ - Source linter and linting rules `Shell` 91* __nixos__ - A script and NixOS configuration files to create an ISO 92image for testing purposes and for working on firmware. `Bash` 93* __mainboard__ - mainboard specific scripts 94 * _google_ - Directory for google mainboard specific scripts 95* __marvell__ - Add U-Boot boot loader for Marvell ARMADA38X `C` 96* __[me_cleaner](https://github.com/corna/me_cleaner)__ - Tool for 97partial deblobbing of Intel ME/TXE firmware images `Python` 98* __mma__ - Memory Margin Analysis automation tests `Bash` 99* __msrtool__ - Dumps chipset-specific MSR registers. `C` 100* __mtkheader__ - Generate MediaTek bootload header. `Python3` 101* __nvidia__ - nvidia blob parsers 102* __nvramtool__ - Reads and writes coreboot parameters and displaying 103information from the coreboot table in CMOS/NVRAM. `C` 104* __pmh7tool__ - Dumps, reads and writes PMH7 registers on Lenovo 105ThinkPads. PMH7 is used for switching on and off the power of some 106devices on the board such as dGPU. `C` 107* __post__ - Userspace utility that can be used to test POST cards. `C` 108* __qemu__ - Makefile & comprehensive default config for QEMU Q35 109emulation `Make` 110* __qualcomm__ - CMM script to debug Qualcomm coreboot environments. 111`CMM` 112* __release__ - Generate coreboot release `Bash` 113* __riscv__ 114 * _make-spike-elf.sh_ - Converts a flat file into an ELF, that 115can be passed to SPIKE, the RISC-V reference emulator.`Bash` 116 * _sifive-gpt.py_ - Wraps the bootblock in a GPT partition for 117SiFive's bootrom. `Python3` 118* __rockchip__ - Generate Rockchip idblock bootloader. `Python3` 119* __sconfig__ - coreboot device tree compiler `Lex` `Yacc` 120* __scripts__ 121 * _config_ - Manipulate options in a .config file from the 122command line `Bash` 123 * _cross-repo-cherrypick_ - Pull in patches from another tree 124from a gerrit repository. `Shell` 125 * _decode_spd.sh_ - Decodes Serial Presence Detect (SPD) files 126into various human readable formats. `Bash` 127 * _dts-to-fmd.sh_ -Converts a depthcharge fmap.dts into an 128fmaptool compatible .fmd format `Bash` 129 * _find-unused-kconfig-symbols.sh_ - Points out Kconfig 130variables that may be unused. There are some false positives, but it 131serves as a starting point `Shell` 132 * _gerrit-rebase_ - Applies all commits that from-branch has 133over to-branch, based on a common ancestor and gerrit meta-data `Bash` 134 * _get_maintainer.pl_ - Print selected MAINTAINERS information 135for the files modified in a patch or for a file `Perl` 136 * _maintainers.go_ - Build subsystem Maintainers `Go` 137 * _no-fsf-addresses.sh_ - Removes various FSF addresses from 138license headers `Shell` 139 * _parse-maintainers.pl_ - Script to alphabetize MAINTAINERS 140file `Perl` 141 * _rm_unused_code_ - Remove all code not used for a platform 142from the local git repository for auditing or release `Bash` 143 * _show_platforms.sh_ - Makes a list of platforms in the tree. 144Does not show variants. `Shell` 145 * _ucode_h_to_bin.sh_ - Microcode conversion tool `Bash` 146 * _update_submodules_ - Check all submodules for updates `Bash` 147* __smmstoretool__ - Offline SMMSTORE variable modification tool `C` 148* __spdtool__ - Dumps SPD ROMs from a given blob to separate files 149using known patterns and reserved bits. Useful for analysing firmware 150that holds SPDs on boards that have soldered down DRAM. `python` 151* __spkmodem_recv__ - Decode spkmodem signals `C` 152* __superiotool__ - A user-space utility to detect Super I/O of a 153mainboard and provide detailed information about the register contents 154of the Super I/O. `C` 155* __supermicro__ - Tools for supermicro platforms 156 * _smcbiosinfo_ - Generates SMC biosinfo for BMC BIOS updates 157`C` 158* __testing__ - coreboot test targets `Make` 159* __uio_usbdebug__ - Debug coreboot's usbdebug driver inside a running 160operating system (only Linux at this time). `C` 161* __util_readme__ - Creates README.md of description files in `./util` 162subdirectories `Bash` 163* __vboot_list__ - Tools to generate a list of vboot enabled devices to 164the documentation `Bash` 165* __vgabios__ - emulated vga driver for qemu `C` 166* __x86__ - Generates 32-bit PAE page tables based on a CSV input file. 167`Go` 168* __xcompile__ - Cross compile setup `Bash` 169## In depth documentation 170 171```{toctree} 172:maxdepth: 1 173 174abuild <util/abuild/index.md> 175cbfstool <util/cbfstool/index.md> 176ifdtool <util/ifdtool/index.md> 177intelp2m <util/intelp2m/index.md> 178smmstoretool <util/smmstoretool/index.md> 179``` 180 181## Generated documentation 182 183**Please do not edit the markdown file in the documentation directory 184*directly.** 185 186This file was generated by running util_readme.sh. Please make sure it 187is rerun when new tools are added or when documentation is updated. 188 189To update, edit the markdown files in the util directory, then 190re-generate this file by running `util/util_readme/util_readme.sh` 191