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