x86: qemu: Report high memory in the E820 table
[oweals/u-boot.git] / cmd / Kconfig
index 2bdbfcb3d09106a2c5b500e68ae0564a321dce1a..98647f58b7acaf8fa3c5b7a31010f260b93d481a 100644 (file)
@@ -53,6 +53,17 @@ config SYS_PROMPT
          This string is displayed in the command line to the left of the
          cursor.
 
+config SYS_XTRACE
+       string "Command execution tracer"
+       depends on CMDLINE
+       default y if CMDLINE
+       help
+         This option enables the possiblity to print all commands before
+         executing them and after all variables are evaluated (similar
+         to Bash's xtrace/'set -x' feature).
+         To enable the tracer a variable "xtrace" needs to be defined in
+         the environment.
+
 menu "Autoboot options"
 
 config AUTOBOOT
@@ -90,7 +101,14 @@ config AUTOBOOT_PROMPT
 config AUTOBOOT_ENCRYPTION
        bool "Enable encryption in autoboot stopping"
        depends on AUTOBOOT_KEYED
-       default n
+       help
+         This option allows a string to be entered into U-Boot to stop the
+         autoboot. The string itself is hashed and compared against the hash
+         in the environment variable 'bootstopkeysha256'. If it matches then
+         boot stops and a command-line prompt is presented.
+
+         This provides a way to ship a secure production device which can also
+         be accessed at the U-Boot command line.
 
 config AUTOBOOT_DELAY_STR
        string "Delay autobooting via specific input key / string"
@@ -135,6 +153,31 @@ config AUTOBOOT_STOP_STR_SHA256
          string / password matches a values that is encypted via
          a SHA256 hash and saved in the environment.
 
+config AUTOBOOT_USE_MENUKEY
+       bool "Allow a specify key to run a menu from the environment"
+       depends on !AUTOBOOT_KEYED
+       help
+         If a specific key is pressed to stop autoboot, then the commands in
+         the environment variable 'menucmd' are executed before boot starts.
+
+config AUTOBOOT_MENUKEY
+       int "ASCII value of boot key to show a menu"
+       default 0
+       depends on AUTOBOOT_USE_MENUKEY
+       help
+         If this key is pressed to stop autoboot, then the commands in the
+         environment variable 'menucmd' will be executed before boot starts.
+         For example, 33 means "!" in ASCII, so pressing ! at boot would take
+         this action.
+
+config AUTOBOOT_MENU_SHOW
+       bool "Show a menu on boot"
+       help
+         This enables the boot menu, controlled by environment variables
+         defined by the board. The menu starts after running the 'preboot'
+         environmnent variable (if enabled) and before handling the boot delay.
+         See README.bootmenu for more details.
+
 endmenu
 
 config BUILD_BIN2C
@@ -212,7 +255,7 @@ config CMD_BOOTZ
 
 config CMD_BOOTI
        bool "booti"
-       depends on ARM64
+       depends on ARM64 || RISCV
        default y
        help
          Boot an AArch64 Linux Kernel image from memory.
@@ -314,8 +357,8 @@ config CMD_SPL
          command.
 
 config CMD_SPL_NAND_OFS
-       hex "Offset of OS command line args for Falcon-mode NAND boot"
-       depends on CMD_SPL
+       hex "Offset of OS args or dtb for Falcon-mode NAND boot"
+       depends on CMD_SPL && (TPL_NAND_SUPPORT || SPL_NAND_SUPPORT)
        default 0
        help
          This provides the offset of the command line arguments for Linux
@@ -323,6 +366,14 @@ config CMD_SPL_NAND_OFS
          for full information about how to use this option (and also see
          board/gateworks/gw_ventana/README for an example).
 
+config CMD_SPL_NOR_OFS
+       hex "Offset of OS args or dtb for Falcon-mode NOR boot"
+       depends on CMD_SPL && SPL_NOR_SUPPORT
+       default 0
+       help
+         This provides the offset of the command line arguments or dtb for
+         Linux when booting from NOR in Falcon mode.
+
 config CMD_SPL_WRITE_SIZE
        hex "Size of argument area"
        depends on CMD_SPL
@@ -397,6 +448,14 @@ config CMD_SAVEENV
          Save all environment variables into the compiled-in persistent
          storage.
 
+config CMD_ERASEENV
+       bool "eraseenv"
+       default n
+       depends on CMD_SAVEENV
+       help
+         Erase environment variables from the compiled-in persistent
+         storage.
+
 config CMD_ENV_EXISTS
        bool "env exists"
        default y
@@ -430,6 +489,19 @@ config CMD_NVEDIT_EFI
          If enabled, we are allowed to set/print UEFI variables using
          "env" command with "-e" option without knowing details.
 
+config CMD_NVEDIT_INFO
+       bool "env info - print or evaluate environment information"
+       help
+         Print environment information:
+         - env_valid : is environment valid
+         - env_ready : is environment imported into hash table
+         - env_use_default : is default environment used
+
+         This command can be optionally used for evaluation in scripts:
+         [-d] : evaluate whether default environment is used
+         [-p] : evaluate whether environment can be persisted
+         The result of multiple evaluations will be combined with AND.
+
 endmenu
 
 menu "Memory commands"
@@ -455,7 +527,6 @@ config CRC32_VERIFY
 
 config CMD_EEPROM
        bool "eeprom - EEPROM subsystem"
-       depends on !DM_I2C || DM_I2C_COMPAT
        help
          (deprecated, needs conversion to driver model)
          Provides commands to read and write EEPROM (Electrically Erasable
@@ -540,6 +611,27 @@ config CMD_MEMORY
            base - print or set address offset
            loop - initialize loop on address range
 
+config MX_CYCLIC
+       bool "Enable cyclic md/mw commands"
+       depends on CMD_MEMORY
+       help
+          Add the "mdc" and "mwc" memory commands. These are cyclic
+          "md/mw" commands.
+          Examples:
+
+         => mdc.b 10 4 500
+         This command will print 4 bytes (10,11,12,13) each 500 ms.
+
+         => mwc.l 100 12345678 10
+         This command will write 12345678 to address 100 all 10 ms.
+
+config CMD_RANDOM
+       bool "random"
+       default y
+       depends on CMD_MEMORY && (LIB_RAND || LIB_HW_RAND)
+       help
+         random - fill memory with random data
+
 config CMD_MEMTEST
        bool "memtest"
        help
@@ -621,6 +713,23 @@ config CMD_ADC
          Shows ADC device info and permit printing one-shot analog converted
          data from a named Analog to Digital Converter.
 
+config CMD_BCB
+       bool "bcb"
+       depends on MMC
+       depends on PARTITIONS
+       help
+         Read/modify/write the fields of Bootloader Control Block, usually
+         stored on the flash "misc" partition with its structure defined in:
+         https://android.googlesource.com/platform/bootable/recovery/+/master/
+         bootloader_message/include/bootloader_message/bootloader_message.h
+
+         Some real-life use-cases include (but are not limited to):
+         - Determine the "boot reason" (and act accordingly):
+           https://source.android.com/devices/bootloader/boot-reason
+         - Get/pass a list of commands from/to recovery:
+           https://android.googlesource.com/platform/bootable/recovery
+         - Inspect/dump the contents of the BCB fields
+
 config CMD_BIND
        bool "bind/unbind - Bind or unbind a device to/from a driver"
        depends on DM
@@ -680,7 +789,7 @@ config CMD_FASTBOOT
          Android devices. Fastboot requires either the network stack
          enabled or support for acting as a USB device.
 
-         See doc/README.android-fastboot for more information.
+         See doc/android/fastboot.txt for more information.
 
 config CMD_FDC
        bool "fdcboot - Boot from floppy device"
@@ -915,15 +1024,6 @@ config CMD_NVME
        help
          NVM Express device support
 
-config CMD_MMC_SPI
-       bool "mmc_spi - Set up MMC SPI device"
-       help
-         Provides a way to set up an MMC (Multimedia Card) SPI (Serial
-         Peripheral Interface) device. The device provides a means of
-         accessing an MMC device via SPI using a single data line, limited
-         to 20MHz. It is useful since it reduces the amount of protocol code
-         required.
-
 config CMD_ONENAND
        bool "onenand - access to onenand device"
        help
@@ -956,14 +1056,6 @@ config CMD_PCI
          peripherals. Sub-commands allow bus enumeration, displaying and
          changing configuration space and a few other features.
 
-config CMD_PCMCIA
-       bool "pinit - Set up PCMCIA device"
-       help
-         Provides a means to initialise a PCMCIA (Personal Computer Memory
-         Card International Association) device. This is an old standard from
-         about 1990. These devices are typically removable memory or network
-         cards using a standard 68-pin connector.
-
 config CMD_PINMUX
        bool "pinmux - show pins muxing"
        default y if PINCTRL
@@ -1025,11 +1117,13 @@ config CMD_SDRAM
 
 config CMD_SF
        bool "sf"
+       depends on DM_SPI_FLASH || SPI_FLASH
        help
          SPI Flash support
 
 config CMD_SF_TEST
        bool "sf test - Allow testing of SPI flash"
+       depends on CMD_SF
        help
          Provides a way to test that SPI flash is working correctly. The
          test is destructive, in that an area of SPI flash must be provided
@@ -1041,6 +1135,7 @@ config CMD_SF_TEST
 
 config CMD_SPI
        bool "sspi - Command to access spi device"
+       depends on SPI
        help
          SPI utility command.
 
@@ -1149,6 +1244,21 @@ config CMD_SETEXPR
 
 endmenu
 
+menu "Android support commands"
+
+config CMD_AB_SELECT
+       bool "ab_select"
+       default n
+       depends on ANDROID_AB
+       help
+         On Android devices with more than one boot slot (multiple copies of
+         the kernel and system images) this provides a command to select which
+         slot should be used to boot from and register the boot attempt. This
+         is used by the new A/B update model where one slot is updated in the
+         background while running from the other slot.
+
+endmenu
+
 if NET
 
 menuconfig CMD_NET
@@ -1229,6 +1339,13 @@ config BOOTP_NTPSERVER
        bool "Request & store 'ntpserverip' from BOOTP/DHCP server"
        depends on CMD_BOOTP
 
+config CMD_PCAP
+       bool "pcap capture"
+       help
+         Selecting this will allow capturing all Ethernet packets and store
+         them in physical memory in a PCAP formated file,
+         later to be analyzed by PCAP reader application (IE. WireShark).
+
 config BOOTP_PXE
        bool "Send PXE client arch to BOOTP/DHCP server"
        default y
@@ -1415,17 +1532,10 @@ config CMD_CLS
          Enable the 'cls' command which clears the screen contents
          on video frame buffer.
 
-config CMD_DISPLAY
-       bool "Enable the 'display' command, for character displays"
-       help
-         (this needs porting to driver model)
-         This enables the 'display' command which allows a string to be
-         displayed on a simple board-specific display. Implement
-         display_putc() to use it.
-
 config CMD_EFIDEBUG
        bool "efidebug - display/configure UEFI environment"
        depends on EFI_LOADER
+       select EFI_DEVICE_PATH_TO_TEXT
        default n
        help
          Enable the 'efidebug' command which provides a subset of UEFI
@@ -1433,6 +1543,12 @@ config CMD_EFIDEBUG
          particularly for managing boot parameters as  well as examining
          various EFI status for debugging.
 
+config CMD_EXCEPTION
+       bool "exception - raise exception"
+       depends on ARM || RISCV || X86
+       help
+         Enable the 'exception' command which allows to raise an exception.
+
 config CMD_LED
        bool "led"
        depends on LED
@@ -1894,7 +2010,7 @@ config CMD_TRACE
          Enables a command to control using of function tracing within
          U-Boot. This allows recording of call traces including timing
          information. The command can write data to memory for exporting
-         for analsys (e.g. using bootchart). See doc/README.trace for full
+         for analysis (e.g. using bootchart). See doc/README.trace for full
          details.
 
 config CMD_AVB
@@ -1917,7 +2033,6 @@ endmenu
 
 config CMD_UBI
        tristate "Enable UBI - Unsorted block images commands"
-       select CRC32
        select MTD_UBI
        help
          UBI is a software layer above MTD layer which admits use of LVM-like
@@ -1933,7 +2048,6 @@ config CMD_UBIFS
        tristate "Enable UBIFS - Unsorted block images filesystem commands"
        depends on CMD_UBI
        default y if CMD_UBI
-       select CRC32
        select LZO
        help
          UBIFS is a file system for flash devices which works on top of UBI.