This is an automated email from the ASF dual-hosted git repository.
acassis pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git
The following commit(s) were added to refs/heads/master by this push:
new e78eade641 boards: qemu-armv8a: Add defconfigs for hypervisor
e78eade641 is described below
commit e78eade64172baf6f3232c9aac5de55be24ce334
Author: Masayuki Ishikawa <[email protected]>
AuthorDate: Sat Jul 1 15:04:55 2023 +0900
boards: qemu-armv8a: Add defconfigs for hypervisor
Summary:
- This commit adds netnsh_hv and netnsh_smp_hv to run the NuttX
with hypervisor environments
- Also updates README.txt
Impact:
- None
Testing:
- Tested with qemu=7.1 + kvm on raspi3b+ (ubuntu server 20.04)
- Tested with qemu-7.1 + hvf on M1/MBP (macOS 12.6.1)
Signed-off-by: Masayuki Ishikawa <[email protected]>
---
boards/arm64/qemu/qemu-armv8a/README.txt | 23 +++++
.../qemu/qemu-armv8a/configs/netnsh_hv/defconfig | 99 ++++++++++++++++++++
.../qemu-armv8a/configs/netnsh_smp_hv/defconfig | 103 +++++++++++++++++++++
3 files changed, 225 insertions(+)
diff --git a/boards/arm64/qemu/qemu-armv8a/README.txt
b/boards/arm64/qemu/qemu-armv8a/README.txt
index c638d0217e..73d0d22d9e 100644
--- a/boards/arm64/qemu/qemu-armv8a/README.txt
+++ b/boards/arm64/qemu/qemu-armv8a/README.txt
@@ -105,6 +105,29 @@ Getting Started
3. Nuttx default core number is 4, and Changing CONFIG_SMP_NCPUS > 4 and
setting qemu command
option -smp will boot more core. For qemu, core limit is 32.
+ 3.4 SMP + Networking with hypervisor (GICv2)
+ Configuring NuttX and compile:
+ $ ./tools/configure.sh -l qemu-armv8a:netnsh_smp_hv
+ $ make
+ Running with qemu + kvm on raspi3b+ (ubuntu server 20.04)
+ $ qemu-system-aarch64 -nographic \
+ -machine virt -cpu host -smp 4 -accel kvm \
+ -chardev stdio,id=con,mux=on -serial chardev:con \
+ -global virtio-mmio.force-legacy=false \
+ -drive file=./mydisk-1gb.img,if=none,format=raw,id=hd -device
virtio-blk-device,drive=hd \
+ -netdev
user,id=u1,hostfwd=tcp:127.0.0.1:10023-10.0.2.15:23,hostfwd=tcp:127.0.0.1:15001-10.0.2.15:5001
\
+ -device virtio-net-device,netdev=u1,bus=virtio-mmio-bus.0 \
+ -mon chardev=con,mode=readline -kernel ./nuttx
+ Running with qemu + hvf on M1/MacBook Pro (macOS 12.6.1)
+ $ qemu-system-aarch64 -nographic \
+ -machine virt -cpu host -smp 4 -accel hvf \
+ -chardev stdio,id=con,mux=on -serial chardev:con \
+ -global virtio-mmio.force-legacy=false \
+ -drive file=./mydisk-1gb.img,if=none,format=raw,id=hd -device
virtio-blk-device,drive=hd \
+ -netdev
user,id=u1,hostfwd=tcp:127.0.0.1:10023-10.0.2.15:23,hostfwd=tcp:127.0.0.1:15001-10.0.2.15:5001
\
+ -device virtio-net-device,netdev=u1,bus=virtio-mmio-bus.0 \
+ -mon chardev=con,mode=readline -kernel ./nuttx
+
Status
======
diff --git a/boards/arm64/qemu/qemu-armv8a/configs/netnsh_hv/defconfig
b/boards/arm64/qemu/qemu-armv8a/configs/netnsh_hv/defconfig
new file mode 100644
index 0000000000..fe6d7f488a
--- /dev/null
+++ b/boards/arm64/qemu/qemu-armv8a/configs/netnsh_hv/defconfig
@@ -0,0 +1,99 @@
+#
+# This file is autogenerated: PLEASE DO NOT EDIT IT.
+#
+# You can use "make menuconfig" to make any modifications to the installed
.config file.
+# You can then do "make savedefconfig" to generate a new defconfig file that
includes your
+# modifications.
+#
+CONFIG_ALLOW_BSD_COMPONENTS=y
+CONFIG_ARCH="arm64"
+CONFIG_ARCH_ARM64=y
+CONFIG_ARCH_BOARD="qemu-armv8a"
+CONFIG_ARCH_BOARD_QEMU_ARMV8A=y
+CONFIG_ARCH_CHIP="qemu"
+CONFIG_ARCH_CHIP_QEMU=y
+CONFIG_ARCH_CHIP_QEMU_A53=y
+CONFIG_ARCH_CHIP_QEMU_WITH_HV=y
+CONFIG_ARCH_INTERRUPTSTACK=4096
+CONFIG_ARM_GIC_VERSION=2
+CONFIG_BUILTIN=y
+CONFIG_CODECS_HASH_MD5=y
+CONFIG_DEBUG_FULLOPT=y
+CONFIG_DEBUG_SYMBOLS=y
+CONFIG_DEFAULT_TASK_STACKSIZE=8192
+CONFIG_DEV_ZERO=y
+CONFIG_DRIVERS_VIRTIO=y
+CONFIG_DRIVERS_VIRTIO_BLK=y
+CONFIG_DRIVERS_VIRTIO_MMIO_BASE=0x0a000000
+CONFIG_DRIVERS_VIRTIO_MMIO_IRQ=48
+CONFIG_DRIVERS_VIRTIO_MMIO_NUM=32
+CONFIG_DRIVERS_VIRTIO_MMIO_REGSIZE=0x200
+CONFIG_DRIVERS_VIRTIO_NET=y
+CONFIG_EXAMPLES_HELLO=y
+CONFIG_FAT_LCNAMES=y
+CONFIG_FAT_LFN=y
+CONFIG_FS_FAT=y
+CONFIG_FS_FATTIME=y
+CONFIG_FS_PROCFS=y
+CONFIG_HAVE_CXX=y
+CONFIG_HAVE_CXXINITIALIZE=y
+CONFIG_IDLETHREAD_STACKSIZE=8192
+CONFIG_INIT_ENTRYPOINT="nsh_main"
+CONFIG_INTELHEX_BINARY=y
+CONFIG_IOB_BUFSIZE=1514
+CONFIG_NET=y
+CONFIG_NETDB_DNSCLIENT=y
+CONFIG_NETDB_DNSCLIENT_ENTRIES=4
+CONFIG_NETDB_DNSSERVER_NOADDR=y
+CONFIG_NETINIT_DRIPADDR=0x0a000202
+CONFIG_NETINIT_IPADDR=0x0a00020f
+CONFIG_NETINIT_NOMAC=y
+CONFIG_NETUTILS_CODECS=y
+CONFIG_NETUTILS_IPERF=y
+CONFIG_NETUTILS_TELNETD=y
+CONFIG_NETUTILS_TFTPC=y
+CONFIG_NETUTILS_WEBCLIENT=y
+CONFIG_NET_BROADCAST=y
+CONFIG_NET_ETH_PKTSIZE=1514
+CONFIG_NET_ICMP=y
+CONFIG_NET_ICMP_SOCKET=y
+CONFIG_NET_MAX_LISTENPORTS=8
+CONFIG_NET_STATISTICS=y
+CONFIG_NET_TCP=y
+CONFIG_NET_TCPBACKLOG=y
+CONFIG_NET_UDP=y
+CONFIG_NFS=y
+CONFIG_NSH_ARCHINIT=y
+CONFIG_NSH_BUILTIN_APPS=y
+CONFIG_NSH_FILEIOSIZE=512
+CONFIG_NSH_READLINE=y
+CONFIG_PREALLOC_TIMERS=4
+CONFIG_PTHREAD_STACK_MIN=8192
+CONFIG_RAM_SIZE=134217728
+CONFIG_RAM_START=0x40000000
+CONFIG_RAW_BINARY=y
+CONFIG_READLINE_CMD_HISTORY=y
+CONFIG_RR_INTERVAL=200
+CONFIG_SCHED_HAVE_PARENT=y
+CONFIG_SCHED_HPWORK=y
+CONFIG_SCHED_HPWORKPRIORITY=192
+CONFIG_SCHED_LPWORK=y
+CONFIG_STACK_COLORATION=y
+CONFIG_START_DAY=14
+CONFIG_START_MONTH=11
+CONFIG_START_YEAR=2022
+CONFIG_SYMTAB_ORDEREDBYNAME=y
+CONFIG_SYSLOG_TIMESTAMP=y
+CONFIG_SYSTEM_DHCPC_RENEW=y
+CONFIG_SYSTEM_NSH=y
+CONFIG_SYSTEM_PING=y
+CONFIG_SYSTEM_SYSTEM=y
+CONFIG_SYSTEM_TELNETD_SESSION_STACKSIZE=8192
+CONFIG_SYSTEM_TIME64=y
+CONFIG_TESTING_GETPRIME=y
+CONFIG_TESTING_OSTEST=y
+CONFIG_UART1_BASE=0x9000000
+CONFIG_UART1_IRQ=33
+CONFIG_UART1_PL011=y
+CONFIG_UART1_SERIAL_CONSOLE=y
+CONFIG_UART_PL011=y
diff --git a/boards/arm64/qemu/qemu-armv8a/configs/netnsh_smp_hv/defconfig
b/boards/arm64/qemu/qemu-armv8a/configs/netnsh_smp_hv/defconfig
new file mode 100644
index 0000000000..6152c7ecd1
--- /dev/null
+++ b/boards/arm64/qemu/qemu-armv8a/configs/netnsh_smp_hv/defconfig
@@ -0,0 +1,103 @@
+#
+# This file is autogenerated: PLEASE DO NOT EDIT IT.
+#
+# You can use "make menuconfig" to make any modifications to the installed
.config file.
+# You can then do "make savedefconfig" to generate a new defconfig file that
includes your
+# modifications.
+#
+# CONFIG_ARCH_FPU is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
+CONFIG_ARCH="arm64"
+CONFIG_ARCH_ARM64=y
+CONFIG_ARCH_BOARD="qemu-armv8a"
+CONFIG_ARCH_BOARD_QEMU_ARMV8A=y
+CONFIG_ARCH_CHIP="qemu"
+CONFIG_ARCH_CHIP_QEMU=y
+CONFIG_ARCH_CHIP_QEMU_A53=y
+CONFIG_ARCH_CHIP_QEMU_WITH_HV=y
+CONFIG_ARCH_INTERRUPTSTACK=4096
+CONFIG_ARM_GIC_VERSION=2
+CONFIG_BUILTIN=y
+CONFIG_CODECS_HASH_MD5=y
+CONFIG_DEBUG_FULLOPT=y
+CONFIG_DEBUG_SYMBOLS=y
+CONFIG_DEFAULT_TASK_STACKSIZE=8192
+CONFIG_DEV_ZERO=y
+CONFIG_DRIVERS_VIRTIO=y
+CONFIG_DRIVERS_VIRTIO_BLK=y
+CONFIG_DRIVERS_VIRTIO_MMIO_BASE=0x0a000000
+CONFIG_DRIVERS_VIRTIO_MMIO_IRQ=48
+CONFIG_DRIVERS_VIRTIO_MMIO_NUM=32
+CONFIG_DRIVERS_VIRTIO_MMIO_REGSIZE=0x200
+CONFIG_DRIVERS_VIRTIO_NET=y
+CONFIG_EXAMPLES_HELLO=y
+CONFIG_FAT_LFN=y
+CONFIG_FS_FAT=y
+CONFIG_FS_FATTIME=y
+CONFIG_FS_PROCFS=y
+CONFIG_HAVE_CXX=y
+CONFIG_HAVE_CXXINITIALIZE=y
+CONFIG_IDLETHREAD_STACKSIZE=8192
+CONFIG_INIT_ENTRYPOINT="nsh_main"
+CONFIG_INTELHEX_BINARY=y
+CONFIG_IOB_BUFSIZE=1514
+CONFIG_IOB_NBUFFERS=64
+CONFIG_NET=y
+CONFIG_NETDB_DNSCLIENT=y
+CONFIG_NETDB_DNSCLIENT_ENTRIES=4
+CONFIG_NETDB_DNSSERVER_NOADDR=y
+CONFIG_NETINIT_DRIPADDR=0x0a000202
+CONFIG_NETINIT_IPADDR=0x0a00020f
+CONFIG_NETINIT_NOMAC=y
+CONFIG_NETUTILS_CODECS=y
+CONFIG_NETUTILS_IPERF=y
+CONFIG_NETUTILS_TELNETD=y
+CONFIG_NETUTILS_TFTPC=y
+CONFIG_NETUTILS_WEBCLIENT=y
+CONFIG_NET_BROADCAST=y
+CONFIG_NET_ETH_PKTSIZE=1514
+CONFIG_NET_ICMP=y
+CONFIG_NET_ICMP_SOCKET=y
+CONFIG_NET_MAX_LISTENPORTS=8
+CONFIG_NET_STATISTICS=y
+CONFIG_NET_TCP=y
+CONFIG_NET_TCPBACKLOG=y
+CONFIG_NET_UDP=y
+CONFIG_NFS=y
+CONFIG_NSH_ARCHINIT=y
+CONFIG_NSH_BUILTIN_APPS=y
+CONFIG_NSH_FILEIOSIZE=512
+CONFIG_NSH_READLINE=y
+CONFIG_PREALLOC_TIMERS=4
+CONFIG_PTHREAD_STACK_MIN=8192
+CONFIG_RAM_SIZE=134217728
+CONFIG_RAM_START=0x40000000
+CONFIG_RAW_BINARY=y
+CONFIG_READLINE_CMD_HISTORY=y
+CONFIG_RR_INTERVAL=200
+CONFIG_SCHED_HAVE_PARENT=y
+CONFIG_SCHED_HPWORK=y
+CONFIG_SCHED_HPWORKPRIORITY=192
+CONFIG_SCHED_LPWORK=y
+CONFIG_SMP=y
+CONFIG_STACK_COLORATION=y
+CONFIG_START_DAY=14
+CONFIG_START_MONTH=11
+CONFIG_START_YEAR=2022
+CONFIG_SYMTAB_ORDEREDBYNAME=y
+CONFIG_SYSLOG_TIMESTAMP=y
+CONFIG_SYSTEM_DHCPC_RENEW=y
+CONFIG_SYSTEM_NSH=y
+CONFIG_SYSTEM_PING=y
+CONFIG_SYSTEM_SYSTEM=y
+CONFIG_SYSTEM_TASKSET=y
+CONFIG_SYSTEM_TELNETD_SESSION_STACKSIZE=8192
+CONFIG_SYSTEM_TIME64=y
+CONFIG_TESTING_GETPRIME=y
+CONFIG_TESTING_OSTEST=y
+CONFIG_TESTING_SMP=y
+CONFIG_UART1_BASE=0x9000000
+CONFIG_UART1_IRQ=33
+CONFIG_UART1_PL011=y
+CONFIG_UART1_SERIAL_CONSOLE=y
+CONFIG_UART_PL011=y