mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-29 08:01:08 +00:00
ff98da0667
The DSA sandbox driver is used for unit testing the DSA class code. It implements a simple 2 port switch plus 1 CPU port, and uses a very simple tag to identify the ports. The DSA sandbox device is connected via CPU port to a regular Ethernet sandbox device, called 'dsa-test-eth, managed by the existing eth sandbox driver. The 'dsa-test-eth' is not intended for testing the eth class code however, but it is used to emulate traffic through the 'lan0' and 'lan1' front pannel switch ports. To achieve this the dsa sandbox driver registers a tx handler for the 'dsa-test-eth' device. The switch ports, labeled as 'lan0' and 'lan1', are also registered as eth devices by the dsa class code this time. So pinging through these switch ports is as easy as: => setenv ethact lan0 => ping 1.2.3.5 Unit tests for the dsa class code were also added. The 'dsa_probe' test exercises most API functions from dsa.h. The 'dsa' unit test simply exercises ARP/ICMP traffic through the two switch ports, including tag injection and extraction, with the help of the dsa sandbox driver. I took care to minimize the impact on the existing eth unit tests, though some adjustments needed to be made with the addition of extra eth interfaces used by the dsa unit tests. The additional eth interfaces also require MAC addresses, these have been added to the sandbox default environment. Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com> Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Message-Id: <20210216224804.3355044-5-olteanv@gmail.com> Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
335 lines
7.1 KiB
Text
335 lines
7.1 KiB
Text
config CREATE_ARCH_SYMLINK
|
|
bool
|
|
|
|
config HAVE_ARCH_IOREMAP
|
|
bool
|
|
|
|
config NEEDS_MANUAL_RELOC
|
|
bool
|
|
|
|
config LINKER_LIST_ALIGN
|
|
int
|
|
default 32 if SANDBOX
|
|
default 8 if ARM64 || X86
|
|
default 4
|
|
help
|
|
Force the each linker list to be aligned to this boundary. This
|
|
is required if ll_entry_get() is used, since otherwise the linker
|
|
may add padding into the table, thus breaking it.
|
|
See linker_lists.rst for full details.
|
|
|
|
choice
|
|
prompt "Architecture select"
|
|
default SANDBOX
|
|
|
|
config ARC
|
|
bool "ARC architecture"
|
|
select ARC_TIMER
|
|
select CLK
|
|
select DM
|
|
select HAVE_PRIVATE_LIBGCC
|
|
select SUPPORT_OF_CONTROL
|
|
select TIMER
|
|
|
|
config ARM
|
|
bool "ARM architecture"
|
|
select CREATE_ARCH_SYMLINK
|
|
select HAVE_PRIVATE_LIBGCC if !ARM64
|
|
select SUPPORT_OF_CONTROL
|
|
|
|
config M68K
|
|
bool "M68000 architecture"
|
|
select HAVE_PRIVATE_LIBGCC
|
|
select NEEDS_MANUAL_RELOC
|
|
select SYS_BOOT_GET_CMDLINE
|
|
select SYS_BOOT_GET_KBD
|
|
select SUPPORT_OF_CONTROL
|
|
|
|
config MICROBLAZE
|
|
bool "MicroBlaze architecture"
|
|
select NEEDS_MANUAL_RELOC
|
|
select SUPPORT_OF_CONTROL
|
|
imply CMD_IRQ
|
|
|
|
config MIPS
|
|
bool "MIPS architecture"
|
|
select HAVE_ARCH_IOREMAP
|
|
select HAVE_PRIVATE_LIBGCC
|
|
select SUPPORT_OF_CONTROL
|
|
|
|
config NDS32
|
|
bool "NDS32 architecture"
|
|
select SUPPORT_OF_CONTROL
|
|
|
|
config NIOS2
|
|
bool "Nios II architecture"
|
|
select CPU
|
|
select DM
|
|
select OF_CONTROL
|
|
select SUPPORT_OF_CONTROL
|
|
imply CMD_DM
|
|
|
|
config PPC
|
|
bool "PowerPC architecture"
|
|
select HAVE_PRIVATE_LIBGCC
|
|
select SUPPORT_OF_CONTROL
|
|
select SYS_BOOT_GET_CMDLINE
|
|
select SYS_BOOT_GET_KBD
|
|
|
|
config RISCV
|
|
bool "RISC-V architecture"
|
|
select CREATE_ARCH_SYMLINK
|
|
select SUPPORT_OF_CONTROL
|
|
select OF_CONTROL
|
|
select DM
|
|
imply DM_SERIAL
|
|
imply DM_ETH
|
|
imply DM_MMC
|
|
imply DM_SPI
|
|
imply DM_SPI_FLASH
|
|
imply BLK
|
|
imply CLK
|
|
imply MTD
|
|
imply TIMER
|
|
imply CMD_DM
|
|
imply SPL_DM
|
|
imply SPL_OF_CONTROL
|
|
imply SPL_LIBCOMMON_SUPPORT
|
|
imply SPL_LIBGENERIC_SUPPORT
|
|
imply SPL_SERIAL_SUPPORT
|
|
imply SPL_TIMER
|
|
|
|
config SANDBOX
|
|
bool "Sandbox"
|
|
select BOARD_LATE_INIT
|
|
select BZIP2
|
|
select CMD_POWEROFF
|
|
select DM
|
|
select DM_GPIO
|
|
select DM_I2C
|
|
select DM_KEYBOARD
|
|
select DM_MMC
|
|
select DM_SERIAL
|
|
select DM_SPI
|
|
select DM_SPI_FLASH
|
|
select GZIP_COMPRESSED
|
|
select HAVE_BLOCK_DEVICE
|
|
select LZO
|
|
select OF_BOARD_SETUP
|
|
select PCI_ENDPOINT
|
|
select SPI
|
|
select SUPPORT_OF_CONTROL
|
|
select SYSRESET_CMD_POWEROFF
|
|
imply BITREVERSE
|
|
select BLOBLIST
|
|
imply CMD_DM
|
|
imply CMD_EXCEPTION
|
|
imply CMD_GETTIME
|
|
imply CMD_HASH
|
|
imply CMD_IO
|
|
imply CMD_IOTRACE
|
|
imply CMD_LZMADEC
|
|
imply CMD_SATA
|
|
imply CMD_SF
|
|
imply CMD_SF_TEST
|
|
imply CRC32_VERIFY
|
|
imply FAT_WRITE
|
|
imply FIRMWARE
|
|
imply HASH_VERIFY
|
|
imply LZMA
|
|
imply SCSI
|
|
imply TEE
|
|
imply AVB_VERIFY
|
|
imply LIBAVB
|
|
imply CMD_AVB
|
|
imply SCP03
|
|
imply CMD_SCP03
|
|
imply UDP_FUNCTION_FASTBOOT
|
|
imply VIRTIO_MMIO
|
|
imply VIRTIO_PCI
|
|
imply VIRTIO_SANDBOX
|
|
imply VIRTIO_BLK
|
|
imply VIRTIO_NET
|
|
imply DM_SOUND
|
|
imply PCI_SANDBOX_EP
|
|
imply PCH
|
|
imply PHYLIB
|
|
imply DM_MDIO
|
|
imply DM_MDIO_MUX
|
|
imply ACPI_PMC
|
|
imply ACPI_PMC_SANDBOX
|
|
imply CMD_PMC
|
|
imply CMD_CLONE
|
|
imply SILENT_CONSOLE
|
|
imply BOOTARGS_SUBST
|
|
imply PHY_FIXED
|
|
imply DM_DSA
|
|
|
|
config SH
|
|
bool "SuperH architecture"
|
|
select HAVE_PRIVATE_LIBGCC
|
|
select SUPPORT_OF_CONTROL
|
|
|
|
config X86
|
|
bool "x86 architecture"
|
|
select SUPPORT_SPL
|
|
select SUPPORT_TPL
|
|
select CREATE_ARCH_SYMLINK
|
|
select DM
|
|
select DM_PCI
|
|
select HAVE_ARCH_IOMAP
|
|
select HAVE_PRIVATE_LIBGCC
|
|
select OF_CONTROL
|
|
select PCI
|
|
select SUPPORT_OF_CONTROL
|
|
select TIMER
|
|
select USE_PRIVATE_LIBGCC
|
|
select X86_TSC_TIMER
|
|
imply HAS_ROM if X86_RESET_VECTOR
|
|
imply BLK
|
|
imply CMD_DM
|
|
imply CMD_FPGA_LOADMK
|
|
imply CMD_GETTIME
|
|
imply CMD_IO
|
|
imply CMD_IRQ
|
|
imply CMD_PCI
|
|
imply CMD_SF
|
|
imply CMD_SF_TEST
|
|
imply CMD_ZBOOT
|
|
imply DM_ETH
|
|
imply DM_GPIO
|
|
imply DM_KEYBOARD
|
|
imply DM_MMC
|
|
imply DM_RTC
|
|
imply DM_SCSI
|
|
imply DM_SERIAL
|
|
imply DM_SPI
|
|
imply DM_SPI_FLASH
|
|
imply DM_USB
|
|
imply DM_VIDEO
|
|
imply SYSRESET
|
|
imply SPL_SYSRESET
|
|
imply SYSRESET_X86
|
|
imply USB_ETHER_ASIX
|
|
imply USB_ETHER_SMSC95XX
|
|
imply USB_HOST_ETHER
|
|
imply PCH
|
|
imply RTC_MC146818
|
|
imply IRQ
|
|
imply ACPIGEN if !QEMU
|
|
imply SYSINFO if GENERATE_SMBIOS_TABLE
|
|
imply SYSINFO_SMBIOS if GENERATE_SMBIOS_TABLE
|
|
|
|
# Thing to enable for when SPL/TPL are enabled: SPL
|
|
imply SPL_DM
|
|
imply SPL_OF_LIBFDT
|
|
imply SPL_DRIVERS_MISC_SUPPORT
|
|
imply SPL_GPIO_SUPPORT
|
|
imply SPL_PINCTRL
|
|
imply SPL_LIBCOMMON_SUPPORT
|
|
imply SPL_LIBGENERIC_SUPPORT
|
|
imply SPL_SERIAL_SUPPORT
|
|
imply SPL_SPI_FLASH_SUPPORT
|
|
imply SPL_SPI_SUPPORT
|
|
imply SPL_OF_CONTROL
|
|
imply SPL_TIMER
|
|
imply SPL_REGMAP
|
|
imply SPL_SYSCON
|
|
# TPL
|
|
imply TPL_DM
|
|
imply TPL_DRIVERS_MISC_SUPPORT
|
|
imply TPL_GPIO_SUPPORT
|
|
imply TPL_PINCTRL
|
|
imply TPL_LIBCOMMON_SUPPORT
|
|
imply TPL_LIBGENERIC_SUPPORT
|
|
imply TPL_SERIAL_SUPPORT
|
|
imply TPL_OF_CONTROL
|
|
imply TPL_TIMER
|
|
imply TPL_REGMAP
|
|
imply TPL_SYSCON
|
|
|
|
config XTENSA
|
|
bool "Xtensa architecture"
|
|
select CREATE_ARCH_SYMLINK
|
|
select SUPPORT_OF_CONTROL
|
|
|
|
endchoice
|
|
|
|
config SYS_ARCH
|
|
string
|
|
help
|
|
This option should contain the architecture name to build the
|
|
appropriate arch/<CONFIG_SYS_ARCH> directory.
|
|
All the architectures should specify this option correctly.
|
|
|
|
config SYS_CPU
|
|
string
|
|
help
|
|
This option should contain the CPU name to build the correct
|
|
arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU> directory.
|
|
|
|
This is optional. For those targets without the CPU directory,
|
|
leave this option empty.
|
|
|
|
config SYS_SOC
|
|
string
|
|
help
|
|
This option should contain the SoC name to build the directory
|
|
arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU>/<CONFIG_SYS_SOC>.
|
|
|
|
This is optional. For those targets without the SoC directory,
|
|
leave this option empty.
|
|
|
|
config SYS_VENDOR
|
|
string
|
|
help
|
|
This option should contain the vendor name of the target board.
|
|
If it is set and
|
|
board/<CONFIG_SYS_VENDOR>/common/Makefile exists, the vendor common
|
|
directory is compiled.
|
|
If CONFIG_SYS_BOARD is also set, the sources under
|
|
board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> directory are compiled.
|
|
|
|
This is optional. For those targets without the vendor directory,
|
|
leave this option empty.
|
|
|
|
config SYS_BOARD
|
|
string
|
|
help
|
|
This option should contain the name of the target board.
|
|
If it is set, either board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD>
|
|
or board/<CONFIG_SYS_BOARD> directory is compiled depending on
|
|
whether CONFIG_SYS_VENDOR is set or not.
|
|
|
|
This is optional. For those targets without the board directory,
|
|
leave this option empty.
|
|
|
|
config SYS_CONFIG_NAME
|
|
string
|
|
help
|
|
This option should contain the base name of board header file.
|
|
The header file include/configs/<CONFIG_SYS_CONFIG_NAME>.h
|
|
should be included from include/config.h.
|
|
|
|
config SYS_DISABLE_DCACHE_OPS
|
|
bool
|
|
help
|
|
This option disables dcache flush and dcache invalidation
|
|
operations. For example, on coherent systems where cache
|
|
operatios are not required, enable this option to avoid them.
|
|
Note that, its up to the individual architectures to implement
|
|
this functionality.
|
|
|
|
source "arch/arc/Kconfig"
|
|
source "arch/arm/Kconfig"
|
|
source "arch/m68k/Kconfig"
|
|
source "arch/microblaze/Kconfig"
|
|
source "arch/mips/Kconfig"
|
|
source "arch/nds32/Kconfig"
|
|
source "arch/nios2/Kconfig"
|
|
source "arch/powerpc/Kconfig"
|
|
source "arch/sandbox/Kconfig"
|
|
source "arch/sh/Kconfig"
|
|
source "arch/x86/Kconfig"
|
|
source "arch/xtensa/Kconfig"
|
|
source "arch/riscv/Kconfig"
|