mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-24 10:58:52 +09:00
![Eric Nelson](/assets/img/avatar_default.png)
Add a block device cache to speed up repeated reads of block devices by
various filesystems.
This small amount of cache can dramatically speed up filesystem
operations by skipping repeated reads of common areas of a block
device (typically directory structures).
This has shown to have some benefit on FAT filesystem operations of
loading a kernel and RAM disk, but more dramatic benefits on ext4
filesystems when the kernel and/or RAM disk are spread across
multiple extent header structures as described in commit fc0fc50
.
The cache is implemented through a minimal list (block_cache) maintained
in most-recently-used order and count of the current number of entries
(cache_count). It uses a maximum block count setting to prevent copies
of large block reads and an upper bound on the number of cached areas.
The maximum number of entries in the cache defaults to 32 and the maximum
number of blocks per cache entry has a default of 2, which has shown to
produce the best results on testing of ext4 and FAT filesystems.
The 'blkcache' command (enabled through CONFIG_CMD_BLOCK_CACHE) allows
changing these values and can be used to tune for a particular filesystem
layout.
Signed-off-by: Eric Nelson <eric@nelint.com>
616 lines
14 KiB
Plaintext
616 lines
14 KiB
Plaintext
menu "Command line interface"
|
|
|
|
config CMDLINE
|
|
bool "Support U-Boot commands"
|
|
default y
|
|
help
|
|
Enable U-Boot's command-line functions. This provides a means
|
|
to enter commands into U-Boot for a wide variety of purposes. It
|
|
also allows scripts (containing commands) to be executed.
|
|
Various commands and command categorys can be indivdually enabled.
|
|
Depending on the number of commands enabled, this can add
|
|
substantially to the size of U-Boot.
|
|
|
|
config HUSH_PARSER
|
|
bool "Use hush shell"
|
|
select SYS_HUSH_PARSER
|
|
depends on CMDLINE
|
|
help
|
|
This option enables the "hush" shell (from Busybox) as command line
|
|
interpreter, thus enabling powerful command line syntax like
|
|
if...then...else...fi conditionals or `&&' and '||'
|
|
constructs ("shell scripts").
|
|
|
|
If disabled, you get the old, much simpler behaviour with a somewhat
|
|
smaller memory footprint.
|
|
|
|
config SYS_HUSH_PARSER
|
|
bool
|
|
help
|
|
Backward compatibility.
|
|
|
|
config SYS_PROMPT
|
|
string "Shell prompt"
|
|
default "=> "
|
|
help
|
|
This string is displayed in the command line to the left of the
|
|
cursor.
|
|
|
|
menu "Autoboot options"
|
|
|
|
config AUTOBOOT_KEYED
|
|
bool "Stop autobooting via specific input key / string"
|
|
default n
|
|
help
|
|
This option enables stopping (aborting) of the automatic
|
|
boot feature only by issuing a specific input key or
|
|
string. If not enabled, any input key will abort the
|
|
U-Boot automatic booting process and bring the device
|
|
to the U-Boot prompt for user input.
|
|
|
|
config AUTOBOOT_PROMPT
|
|
string "Autoboot stop prompt"
|
|
depends on AUTOBOOT_KEYED
|
|
default "Autoboot in %d seconds\\n"
|
|
help
|
|
This string is displayed before the boot delay selected by
|
|
CONFIG_BOOTDELAY starts. If it is not defined there is no
|
|
output indicating that autoboot is in progress.
|
|
|
|
Note that this define is used as the (only) argument to a
|
|
printf() call, so it may contain '%' format specifications,
|
|
provided that it also includes, sepearated by commas exactly
|
|
like in a printf statement, the required arguments. It is
|
|
the responsibility of the user to select only such arguments
|
|
that are valid in the given context.
|
|
|
|
config AUTOBOOT_ENCRYPTION
|
|
bool "Enable encryption in autoboot stopping"
|
|
depends on AUTOBOOT_KEYED
|
|
default n
|
|
|
|
config AUTOBOOT_DELAY_STR
|
|
string "Delay autobooting via specific input key / string"
|
|
depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
|
|
help
|
|
This option delays the automatic boot feature by issuing
|
|
a specific input key or string. If CONFIG_AUTOBOOT_DELAY_STR
|
|
or the environment variable "bootdelaykey" is specified
|
|
and this string is received from console input before
|
|
autoboot starts booting, U-Boot gives a command prompt. The
|
|
U-Boot prompt will time out if CONFIG_BOOT_RETRY_TIME is
|
|
used, otherwise it never times out.
|
|
|
|
config AUTOBOOT_STOP_STR
|
|
string "Stop autobooting via specific input key / string"
|
|
depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
|
|
help
|
|
This option enables stopping (aborting) of the automatic
|
|
boot feature only by issuing a specific input key or
|
|
string. If CONFIG_AUTOBOOT_STOP_STR or the environment
|
|
variable "bootstopkey" is specified and this string is
|
|
received from console input before autoboot starts booting,
|
|
U-Boot gives a command prompt. The U-Boot prompt never
|
|
times out, even if CONFIG_BOOT_RETRY_TIME is used.
|
|
|
|
config AUTOBOOT_KEYED_CTRLC
|
|
bool "Enable Ctrl-C autoboot interruption"
|
|
depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
|
|
default n
|
|
help
|
|
This option allows for the boot sequence to be interrupted
|
|
by ctrl-c, in addition to the "bootdelaykey" and "bootstopkey".
|
|
Setting this variable provides an escape sequence from the
|
|
limited "password" strings.
|
|
|
|
config AUTOBOOT_STOP_STR_SHA256
|
|
string "Stop autobooting via SHA256 encrypted password"
|
|
depends on AUTOBOOT_KEYED && AUTOBOOT_ENCRYPTION
|
|
help
|
|
This option adds the feature to only stop the autobooting,
|
|
and therefore boot into the U-Boot prompt, when the input
|
|
string / password matches a values that is encypted via
|
|
a SHA256 hash and saved in the environment.
|
|
|
|
endmenu
|
|
|
|
comment "Commands"
|
|
|
|
menu "Info commands"
|
|
|
|
config CMD_BDI
|
|
bool "bdinfo"
|
|
default y
|
|
help
|
|
Print board info
|
|
|
|
config CMD_CONSOLE
|
|
bool "coninfo"
|
|
default y
|
|
help
|
|
Print console devices and information.
|
|
|
|
config CMD_CPU
|
|
bool "cpu"
|
|
help
|
|
Print information about available CPUs. This normally shows the
|
|
number of CPUs, type (e.g. manufacturer, architecture, product or
|
|
internal name) and clock frequency. Other information may be
|
|
available depending on the CPU driver.
|
|
|
|
config CMD_LICENSE
|
|
bool "license"
|
|
help
|
|
Print GPL license text
|
|
|
|
endmenu
|
|
|
|
menu "Boot commands"
|
|
|
|
config CMD_BOOTD
|
|
bool "bootd"
|
|
default y
|
|
help
|
|
Run the command stored in the environment "bootcmd", i.e.
|
|
"bootd" does the same thing as "run bootcmd".
|
|
|
|
config CMD_BOOTM
|
|
bool "bootm"
|
|
default y
|
|
help
|
|
Boot an application image from the memory.
|
|
|
|
config CMD_BOOTEFI
|
|
bool "bootefi"
|
|
depends on EFI_LOADER
|
|
default y
|
|
help
|
|
Boot an EFI image from memory.
|
|
|
|
config CMD_ELF
|
|
bool "bootelf, bootvx"
|
|
default y
|
|
help
|
|
Boot an ELF/vxWorks image from the memory.
|
|
|
|
config CMD_GO
|
|
bool "go"
|
|
default y
|
|
help
|
|
Start an application at a given address.
|
|
|
|
config CMD_RUN
|
|
bool "run"
|
|
default y
|
|
help
|
|
Run the command in the given environment variable.
|
|
|
|
config CMD_IMI
|
|
bool "iminfo"
|
|
default y
|
|
help
|
|
Print header information for application image.
|
|
|
|
config CMD_IMLS
|
|
bool "imls"
|
|
default y
|
|
help
|
|
List all images found in flash
|
|
|
|
config CMD_XIMG
|
|
bool "imxtract"
|
|
default y
|
|
help
|
|
Extract a part of a multi-image.
|
|
|
|
config CMD_POWEROFF
|
|
bool
|
|
|
|
endmenu
|
|
|
|
menu "Environment commands"
|
|
|
|
config CMD_EXPORTENV
|
|
bool "env export"
|
|
default y
|
|
help
|
|
Export environments.
|
|
|
|
config CMD_IMPORTENV
|
|
bool "env import"
|
|
default y
|
|
help
|
|
Import environments.
|
|
|
|
config CMD_EDITENV
|
|
bool "editenv"
|
|
default y
|
|
help
|
|
Edit environment variable.
|
|
|
|
config CMD_SAVEENV
|
|
bool "saveenv"
|
|
default y
|
|
help
|
|
Save all environment variables into the compiled-in persistent
|
|
storage.
|
|
|
|
config CMD_ENV_EXISTS
|
|
bool "env exists"
|
|
default y
|
|
help
|
|
Check if a variable is defined in the environment for use in
|
|
shell scripting.
|
|
|
|
endmenu
|
|
|
|
menu "Memory commands"
|
|
|
|
config CMD_MEMORY
|
|
bool "md, mm, nm, mw, cp, cmp, base, loop"
|
|
default y
|
|
help
|
|
Memeory commands.
|
|
md - memory display
|
|
mm - memory modify (auto-incrementing address)
|
|
nm - memory modify (constant address)
|
|
mw - memory write (fill)
|
|
cp - memory copy
|
|
cmp - memory compare
|
|
base - print or set address offset
|
|
loop - initinite loop on address range
|
|
|
|
config CMD_CRC32
|
|
bool "crc32"
|
|
default y
|
|
help
|
|
Compute CRC32.
|
|
|
|
config LOOPW
|
|
bool "loopw"
|
|
help
|
|
Infinite write loop on address range
|
|
|
|
config CMD_MEMTEST
|
|
bool "memtest"
|
|
help
|
|
Simple RAM read/write test.
|
|
|
|
config CMD_MX_CYCLIC
|
|
bool "mdc, mwc"
|
|
help
|
|
mdc - memory display cyclic
|
|
mwc - memory write cyclic
|
|
|
|
config CMD_MEMINFO
|
|
bool "meminfo"
|
|
help
|
|
Display memory information.
|
|
|
|
endmenu
|
|
|
|
menu "Device access commands"
|
|
|
|
config CMD_DM
|
|
bool "dm - Access to driver model information"
|
|
depends on DM
|
|
default y
|
|
help
|
|
Provides access to driver model data structures and information,
|
|
such as a list of devices, list of uclasses and the state of each
|
|
device (e.g. activated). This is not required for operation, but
|
|
can be useful to see the state of driver model for debugging or
|
|
interest.
|
|
|
|
config CMD_DEMO
|
|
bool "demo - Demonstration commands for driver model"
|
|
depends on DM
|
|
help
|
|
Provides a 'demo' command which can be used to play around with
|
|
driver model. To use this properly you will need to enable one or
|
|
both of the demo devices (DM_DEMO_SHAPE and DM_DEMO_SIMPLE).
|
|
Otherwise you will always get an empty list of devices. The demo
|
|
devices are defined in the sandbox device tree, so the easiest
|
|
option is to use sandbox and pass the -d point to sandbox's
|
|
u-boot.dtb file.
|
|
|
|
config CMD_LOADB
|
|
bool "loadb"
|
|
default y
|
|
help
|
|
Load a binary file over serial line.
|
|
|
|
config CMD_LOADS
|
|
bool "loads"
|
|
default y
|
|
help
|
|
Load an S-Record file over serial line
|
|
|
|
config CMD_FLASH
|
|
bool "flinfo, erase, protect"
|
|
default y
|
|
help
|
|
NOR flash support.
|
|
flinfo - print FLASH memory information
|
|
erase - FLASH memory
|
|
protect - enable or disable FLASH write protection
|
|
|
|
config CMD_ARMFLASH
|
|
depends on FLASH_CFI_DRIVER
|
|
bool "armflash"
|
|
help
|
|
ARM Ltd reference designs flash partition access
|
|
|
|
config CMD_NAND
|
|
bool "nand"
|
|
help
|
|
NAND support.
|
|
|
|
config CMD_SF
|
|
bool "sf"
|
|
help
|
|
SPI Flash support
|
|
|
|
config CMD_SPI
|
|
bool "sspi"
|
|
help
|
|
SPI utility command.
|
|
|
|
config CMD_I2C
|
|
bool "i2c"
|
|
help
|
|
I2C support.
|
|
|
|
config CMD_USB
|
|
bool "usb"
|
|
help
|
|
USB support.
|
|
|
|
config CMD_FPGA
|
|
bool "fpga"
|
|
default y
|
|
help
|
|
FPGA support.
|
|
|
|
config CMD_REMOTEPROC
|
|
bool "remoteproc"
|
|
depends on REMOTEPROC
|
|
help
|
|
Support for Remote Processor control
|
|
|
|
config CMD_GPIO
|
|
bool "gpio"
|
|
help
|
|
GPIO support.
|
|
|
|
endmenu
|
|
|
|
|
|
menu "Shell scripting commands"
|
|
|
|
config CMD_ECHO
|
|
bool "echo"
|
|
default y
|
|
help
|
|
Echo args to console
|
|
|
|
config CMD_ITEST
|
|
bool "itest"
|
|
default y
|
|
help
|
|
Return true/false on integer compare.
|
|
|
|
config CMD_SOURCE
|
|
bool "source"
|
|
default y
|
|
help
|
|
Run script from memory
|
|
|
|
config CMD_SETEXPR
|
|
bool "setexpr"
|
|
default y
|
|
help
|
|
Evaluate boolean and math expressions and store the result in an env
|
|
variable.
|
|
Also supports loading the value at a memory location into a variable.
|
|
If CONFIG_REGEX is enabled, setexpr also supports a gsub function.
|
|
|
|
endmenu
|
|
|
|
menu "Network commands"
|
|
|
|
config CMD_NET
|
|
bool "bootp, tftpboot"
|
|
select NET
|
|
default y
|
|
help
|
|
Network commands.
|
|
bootp - boot image via network using BOOTP/TFTP protocol
|
|
tftpboot - boot image via network using TFTP protocol
|
|
|
|
config CMD_TFTPPUT
|
|
bool "tftp put"
|
|
help
|
|
TFTP put command, for uploading files to a server
|
|
|
|
config CMD_TFTPSRV
|
|
bool "tftpsrv"
|
|
help
|
|
Act as a TFTP server and boot the first received file
|
|
|
|
config CMD_RARP
|
|
bool "rarpboot"
|
|
help
|
|
Boot image via network using RARP/TFTP protocol
|
|
|
|
config CMD_DHCP
|
|
bool "dhcp"
|
|
help
|
|
Boot image via network using DHCP/TFTP protocol
|
|
|
|
config CMD_NFS
|
|
bool "nfs"
|
|
default y
|
|
help
|
|
Boot image via network using NFS protocol.
|
|
|
|
config CMD_PING
|
|
bool "ping"
|
|
help
|
|
Send ICMP ECHO_REQUEST to network host
|
|
|
|
config CMD_CDP
|
|
bool "cdp"
|
|
help
|
|
Perform CDP network configuration
|
|
|
|
config CMD_SNTP
|
|
bool "sntp"
|
|
help
|
|
Synchronize RTC via network
|
|
|
|
config CMD_DNS
|
|
bool "dns"
|
|
help
|
|
Lookup the IP of a hostname
|
|
|
|
config CMD_LINK_LOCAL
|
|
bool "linklocal"
|
|
help
|
|
Acquire a network IP address using the link-local protocol
|
|
|
|
endmenu
|
|
|
|
menu "Misc commands"
|
|
|
|
config CMD_AMBAPP
|
|
bool "ambapp"
|
|
depends on LEON3
|
|
default y
|
|
help
|
|
Lists AMBA Plug-n-Play information.
|
|
|
|
config SYS_AMBAPP_PRINT_ON_STARTUP
|
|
bool "Show AMBA PnP info on startup"
|
|
depends on CMD_AMBAPP
|
|
default n
|
|
help
|
|
Show AMBA Plug-n-Play information on startup.
|
|
|
|
config CMD_BLOCK_CACHE
|
|
bool "blkcache - control and stats for block cache"
|
|
depends on BLOCK_CACHE
|
|
default y if BLOCK_CACHE
|
|
help
|
|
Enable the blkcache command, which can be used to control the
|
|
operation of the cache functions.
|
|
This is most useful when fine-tuning the operation of the cache
|
|
during development, but also allows the cache to be disabled when
|
|
it might hurt performance (e.g. when using the ums command).
|
|
|
|
config CMD_TIME
|
|
bool "time"
|
|
help
|
|
Run commands and summarize execution time.
|
|
|
|
# TODO: rename to CMD_SLEEP
|
|
config CMD_MISC
|
|
bool "sleep"
|
|
default y
|
|
help
|
|
Delay execution for some time
|
|
|
|
config CMD_TIMER
|
|
bool "timer"
|
|
help
|
|
Access the system timer.
|
|
|
|
config CMD_SETGETDCR
|
|
bool "getdcr, setdcr, getidcr, setidcr"
|
|
depends on 4xx
|
|
default y
|
|
help
|
|
getdcr - Get an AMCC PPC 4xx DCR's value
|
|
setdcr - Set an AMCC PPC 4xx DCR's value
|
|
getidcr - Get a register value via indirect DCR addressing
|
|
setidcr - Set a register value via indirect DCR addressing
|
|
|
|
config CMD_SOUND
|
|
bool "sound"
|
|
depends on SOUND
|
|
help
|
|
This provides basic access to the U-Boot's sound support. The main
|
|
feature is to play a beep.
|
|
|
|
sound init - set up sound system
|
|
sound play - play a sound
|
|
|
|
endmenu
|
|
|
|
config CMD_BOOTSTAGE
|
|
bool "Enable the 'bootstage' command"
|
|
depends on BOOTSTAGE
|
|
help
|
|
Add a 'bootstage' command which supports printing a report
|
|
and un/stashing of bootstage data.
|
|
|
|
menu "Power commands"
|
|
config CMD_PMIC
|
|
bool "Enable Driver Model PMIC command"
|
|
depends on DM_PMIC
|
|
help
|
|
This is the pmic command, based on a driver model pmic's API.
|
|
Command features are unchanged:
|
|
- list - list pmic devices
|
|
- pmic dev <id> - show or [set] operating pmic device (NEW)
|
|
- pmic dump - dump registers
|
|
- pmic read address - read byte of register at address
|
|
- pmic write address - write byte to register at address
|
|
The only one change for this command is 'dev' subcommand.
|
|
|
|
config CMD_REGULATOR
|
|
bool "Enable Driver Model REGULATOR command"
|
|
depends on DM_REGULATOR
|
|
help
|
|
This command is based on driver model regulator's API.
|
|
User interface features:
|
|
- list - list regulator devices
|
|
- regulator dev <id> - show or [set] operating regulator device
|
|
- regulator info - print constraints info
|
|
- regulator status - print operating status
|
|
- regulator value <val] <-f> - print/[set] voltage value [uV]
|
|
- regulator current <val> - print/[set] current value [uA]
|
|
- regulator mode <id> - print/[set] operating mode id
|
|
- regulator enable - enable the regulator output
|
|
- regulator disable - disable the regulator output
|
|
|
|
The '-f' (force) option can be used for set the value which exceeds
|
|
the limits, which are found in device-tree and are kept in regulator's
|
|
uclass platdata structure.
|
|
|
|
endmenu
|
|
|
|
menu "Security commands"
|
|
config CMD_TPM
|
|
bool "Enable the 'tpm' command"
|
|
depends on TPM
|
|
help
|
|
This provides a means to talk to a TPM from the command line. A wide
|
|
range of commands if provided - see 'tpm help' for details. The
|
|
command requires a suitable TPM on your board and the correct driver
|
|
must be enabled.
|
|
|
|
config CMD_TPM_TEST
|
|
bool "Enable the 'tpm test' command"
|
|
depends on CMD_TPM
|
|
help
|
|
This provides a a series of tests to confirm that the TPM is working
|
|
correctly. The tests cover initialisation, non-volatile RAM, extend,
|
|
global lock and checking that timing is within expectations. The
|
|
tests pass correctly on Infineon TPMs but may need to be adjusted
|
|
for other devices.
|
|
|
|
endmenu
|
|
|
|
endmenu
|