siemens/mc_apl4: Clean up ramstage
[coreboot.git] / Documentation / util.md
blob59f2c3bd8acf45c7bb54dd6537a144cc6abe0610
1 # Utilities
2 _Scripts and programs found in the `./util` directory_
3 * __abuild__ - coreboot autobuild script builds coreboot images for all
4 available targets. `bash`
5 * __acpi__ - Walk through all ACPI tables with their addresses. `bash`
6 * __amdfwtool__ - Create AMD Firmware combination `C`
7 * __amdtools__ - A set of tools to compare extended) K8 memory
8 settings. `Perl`
9 * __archive__ - Concatenate files and create an archive `C`
10 * __mksunxiboot__ - A simple tool to generate bootable image for sunxi
11 platform. `C`
12 * __autoport__ - Automated porting coreboot to Sandy Bridge/Ivy Bridge
13 platforms `Go`
14 * __bimgtool__ - A simple tool which generates and verifies boot images
15 in the BIMG format, used in systems designed by Imagination
16 Technologies, for example the Pistachio SoC. `C`
17 * __bincfg__ - Compiler/Decompiler for data blobs with specs `Lex`
18 `Yacc`
19 * __board_status__ - Tools to collect logs and upload them to the board
20 status repository `Bash` `Go`
21 * __broadcom__ - Generate Broadcom secure boot image. `C`
22 * __cavium__ - Devicetree_convert Tool to convert a DTB to a static C
23 file `Python`
24 * __cbfstool__
25         * _cbfstool_ - For manipulating CBFS file `C`
26         * _fmaptool_ - Converts plaintext fmd files into fmap blobs `C`
27         * _rmodtool_ - Creates rmodules `C`
28         * _ifwitool_ - For manipulating IFWI `C`
29 * __cbmem__ - Cbmem console log reader `C`
30 * __checklist__ - Board implementation checklist generator `Make`
31 * __chromeos__ - These scripts can be used to extract System Agent
32 reference code and other blobs (e.g. mrc.bin, refcode, VGA option roms)
33 from a Chrome OS recovery image. `C`
34 * __crossgcc__ - A cross toolchain builder for -elf toolchains (ie. no
35 libc support)
36 * __docker__ - Dockerfiles for _coreboot-sdk_, _coreboot-jenkins-node_,
37 _coreboot.org-status_ and _docs.coreboot.org_
38 * __dtd_parser__ - DTD structure parser `Python2`
39 * __ectool__ - Dumps the RAM of a laptop's Embedded/Environmental
40 Controller (EC). `C`
41 * __exynos__ - Computes and fills Exynos ROM checksum (for BL1 or BL2).
42 `Python2`
43 * __futility__ - Firmware utility for signing ChromeOS images `Make`
44 * __fuzz-tests__ - Create test cases that crash the jpeg code. `C`
45 * __genbuild_h__ - Generate build system definitions `Shell`
46 * __genprof__ - Format function tracing logs `Bash` `C`
47 * __gitconfig__ - Initialize git repository submodules install git
48 hooks `Bash`
49 * __ifdtool__ - Extract and dump Intel Firmware Descriptor information
50 `C`
51 * __intelmetool__ - Dump interesting things about Management Engine
52 even if hidden `C`
53 * __inteltool__ - Provides information about the Intel CPU/chipset
54 hardware configuration (register contents, MSRs, etc). `C`
55 * __intelvbttool__ - Parse VBT from VGA BIOS `C`
56 * __ipqheader__
57         * _createxbl.py_ - Concatentates XBL segments into one ELF
58 image `Python`
59         * _ipqheader.py_ - Returns a packed MBN header image with the
60 specified base and size `Python`
61         * _mbncat.py_ - Generate ipq8064 uber SBL `Python`
62         * *mbn_tools.py* - Contains all MBN Utilities for image
63 generation `Python`
64 * __k8resdump__ - This program will dump the IO/memory/PCI resources
65 from the K8 memory controller `C`
66 * __kbc1126__ - Tools used to dump the two blobs from the factory
67 firmware of many HP laptops with 8051-based SMSC KBC1098/KBC1126
68 embedded controller and insert them to the firmware image. `C`
69 * __kconfig__ - Build system `Make`
70 * __lint__ - Source linter and linting rules `Shell`
71 * __marvell__ - Add U-Boot boot loader for Marvell ARMADA38X `C`
72 * __[me_cleaner](https://github.com/corna/me_cleaner)__ - Tool for
73 partial deblobbing of Intel ME/TXE firmware images `Python`
74 * __mma__ - Memory Margin Analysis automation tests `Bash`
75 * __msrtool__ - Dumps chipset-specific MSR registers. `C`
76 * __mtkheader__ - Generate MediaTek bootload header. `Python2`
77 * __nvidia__ - nvidia blob parsers
78 * __nvramtool__ - Reads and writes coreboot parameters and displaying
79 information from the coreboot table in CMOS/NVRAM. `C`
80 * __pmh7tool__ - Dumps, reads and writes PMH7 registers on Lenovo
81 ThinkPads. PMH7 is used for switching on and off the power of some
82 devices on the board such as dGPU. `C`
83 * __post__ - Userspace utility that can be used to test POST cards. `C`
84 * __qualcomm__ - CMM script to debug Qualcomm coreboot environments.
85 `CMM`
86 * __release__ - Generate coreboot release `Bash`
87 * __riscv__
88         * _make-spike-elf.sh_ - Converts a flat file into an ELF, that
89 can be passed to SPIKE, the RISC-V reference emulator.`Bash`
90         * _sifive-gpt.py_ - Wraps the bootblock in a GPT partition for
91 SiFive's bootrom. `Python3`
92 * __rockchip__ - Generate Rockchip idblock bootloader. `Python2`
93 * __romcc__ - Compile a C source file generating a binary that does not
94 implicitly use RAM. `C`
95 * __sconfig__ - coreboot device tree compiler `Lex` `Yacc`
96 * __scripts__
97         * _config_ - Manipulate options in a .config file from the
98 command line `Bash`
99         * _cross-repo-cherrypick_ - Pull in patches from another tree
100 from a gerrit repository. `Shell`
101         * _dts-to-fmd.sh_ -Converts a depthcharge fmap.dts into an
102 fmaptool compatible .fmd format `Bash`
103         * _find-unused-kconfig-symbols.sh_ - Points out Kconfig
104 variables that may be unused. There are some false positives, but it
105 serves as a starting point `Shell`
106         * _gerrit-rebase_ - Applies all commits that from-branch has
107 over to-branch, based on a common ancestor and gerrit meta-data `Bash`
108         * _get_maintainer.pl_ - Print selected MAINTAINERS information
109 for the files modified in a patch or for a file `Perl`
110         * _maintainers.go_ - Build subsystem Maintainers `Go`
111         * _no-fsf-addresses.sh_ - Removes various FSF addresses from
112 license headers `Shell`
113         * _parse-maintainers.pl_ - Script to alphabetize MAINTAINERS
114 file `Perl`
115         * _ucode_h_to_bin.sh_ - Microcode conversion tool `Bash`
116         * _update_submodules_ - Check all submodules for updates `Bash`
117 * __showdevicetree__ - Compile and dump the device tree `C`
118 * __spkmodem_recv__ - Decode spkmodem signals `C`
119 * __superiotool__ - A user-space utility to detect Super I/O of a
120 mainboard and provide detailed information about the register contents
121 of the Super I/O. `C`
122 * __testing__ - coreboot test targets `Make`
123 * __uio_usbdebug__ - Debug coreboot's usbdebug driver inside a running
124 operating system (only Linux at this time). `C`
125 * __util_readme__ - Creates README.md of description files in `./util`
126 subdirectories `Bash`
127 * __vgabios__ - emulated vga driver for qemu `C`
128 * __viatool__ - Extract certain configuration bits on VIA chipsets and
129 CPUs. `C`
130 * __x86__ - Generates 32-bit PAE page tables based on a CSV input file.
131 `Go`
132 * __xcompile__ - Cross compile setup `Bash`