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 a95ed61808c boards/qemu-intel64: add python configuration
a95ed61808c is described below
commit a95ed61808c203b10faaff7c96383c42015a2d1c
Author: raiden00pl <[email protected]>
AuthorDate: Tue Aug 18 10:39:17 2026 +0200
boards/qemu-intel64: add python configuration
Add a defconfig that runs CPython on qemu-intel64 (flat build) and
place the .PyRuntime section (created by the apps CPython port) in
.data so it is covered by the kernel physical mapping.
Signed-off-by: raiden00pl <[email protected]>
Assisted-by: Claude Code
---
.../x86_64/intel64/boards/qemu-intel64/index.rst | 17 ++++
.../qemu/qemu-intel64/configs/python/defconfig | 108 +++++++++++++++++++++
boards/x86_64/qemu/qemu-intel64/scripts/qemu.ld | 1 +
3 files changed, 126 insertions(+)
diff --git
a/Documentation/platforms/x86_64/intel64/boards/qemu-intel64/index.rst
b/Documentation/platforms/x86_64/intel64/boards/qemu-intel64/index.rst
index bb82dec0645..25f729e1d47 100644
--- a/Documentation/platforms/x86_64/intel64/boards/qemu-intel64/index.rst
+++ b/Documentation/platforms/x86_64/intel64/boards/qemu-intel64/index.rst
@@ -169,6 +169,23 @@ ostest
The "standard" NuttX examples/ostest configuration with
the default console on legacy UART0 port (base=0x3f8)
+python
+------
+
+This configuration runs the CPython interpreter (``apps/interpreters/python``)
+with SMP and networking (e1000) enabled. It works only with the Make-based
+build system.
+
+Command to run the image with user-mode networking::
+
+ qemu-system-x86_64 -m 2G -smp 4 -cpu host -enable-kvm \
+ -kernel nuttx -nographic -serial mon:stdio \
+ -device e1000,netdev=u0 -netdev user,id=u0
+
+Then start the interpreter from NSH::
+
+ nsh> python
+
jumbo
-----
diff --git a/boards/x86_64/qemu/qemu-intel64/configs/python/defconfig
b/boards/x86_64/qemu/qemu-intel64/configs/python/defconfig
new file mode 100644
index 00000000000..a054dc0ff89
--- /dev/null
+++ b/boards/x86_64/qemu/qemu-intel64/configs/python/defconfig
@@ -0,0 +1,108 @@
+#
+# 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_X86_64_ACPI_DUMP is not set
+CONFIG_16550_ADDRWIDTH=16
+CONFIG_16550_UART0=y
+CONFIG_16550_UART0_BASE=0x3f8
+CONFIG_16550_UART0_CLOCK=1843200
+CONFIG_16550_UART0_IRQ=36
+CONFIG_16550_UART0_SERIAL_CONSOLE=y
+CONFIG_16550_UART=y
+CONFIG_ARCH="x86_64"
+CONFIG_ARCH_BOARD="qemu-intel64"
+CONFIG_ARCH_BOARD_INTEL64_QEMU=y
+CONFIG_ARCH_CHIP="qemu"
+CONFIG_ARCH_CHIP_INTEL64_QEMU=y
+CONFIG_ARCH_INTEL64_CORE_FREQ_KHZ=2600000
+CONFIG_ARCH_INTERRUPTSTACK=8192
+CONFIG_ARCH_SETJMP_H=y
+CONFIG_ARCH_SIZET_LONG=y
+CONFIG_ARCH_X86_64=y
+CONFIG_BOARDCTL_ROMDISK=y
+CONFIG_BOARD_LOOPSPERMSEC=999
+CONFIG_BOOT_RUNFROMEXTSRAM=y
+CONFIG_BUILTIN=y
+CONFIG_CONSOLE_SYSLOG=y
+CONFIG_DEBUG_ASSERTIONS=y
+CONFIG_DEBUG_ASSERTIONS_EXPRESSION=y
+CONFIG_DEBUG_FEATURES=y
+CONFIG_DEBUG_FULLOPT=y
+CONFIG_DEBUG_SYMBOLS=y
+CONFIG_DEFAULT_TASK_STACKSIZE=4194304
+CONFIG_DEV_SIMPLE_ADDRENV=y
+CONFIG_DEV_URANDOM=y
+CONFIG_EVENT_FD=y
+CONFIG_EXPERIMENTAL=y
+CONFIG_FS_LARGEFILE=y
+CONFIG_FS_PROCFS=y
+CONFIG_FS_ROMFS=y
+CONFIG_FS_TMPFS=y
+CONFIG_IDLETHREAD_STACKSIZE=4194304
+CONFIG_INIT_ENTRYPOINT="nsh_main"
+CONFIG_INTERPRETERS_CPYTHON=y
+CONFIG_INTERPRETERS_CPYTHON_STACKSIZE=1048576
+CONFIG_IOB_ALIGNMENT=64
+CONFIG_IOB_BUFSIZE=2048
+CONFIG_IOB_NBUFFERS=1024
+CONFIG_LIBC_EXECFUNCS=y
+CONFIG_LIBC_LOCALE=y
+CONFIG_LIBC_LOCALE_GETTEXT=y
+CONFIG_LIBC_STRERROR=y
+CONFIG_LIBM_NEWLIB=y
+CONFIG_LIB_ZLIB=y
+CONFIG_NET=y
+CONFIG_NETDB_DNSCLIENT=y
+CONFIG_NETDB_DNSSERVER_NOADDR=y
+CONFIG_NETDEV_LATEINIT=y
+CONFIG_NETINIT_DNS=y
+CONFIG_NETINIT_DNSIPADDR=0x08080808
+CONFIG_NETINIT_DRIPADDR=0x0a000202
+CONFIG_NETINIT_IPADDR=0x0a00020f
+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_E1000=y
+CONFIG_NET_ETH_PKTSIZE=1514
+CONFIG_NET_ICMP_SOCKET=y
+CONFIG_NET_MAX_LISTENPORTS=8
+CONFIG_NET_RECV_BUFSIZE=16384
+CONFIG_NET_STATISTICS=y
+CONFIG_NET_TCP=y
+CONFIG_NET_UDP=y
+CONFIG_NSH_BUILTIN_APPS=y
+CONFIG_PCI=y
+CONFIG_PCI_MSIX=y
+CONFIG_PIPES=y
+CONFIG_PREALLOC_CHILDSTATUS=16
+CONFIG_PRIORITY_INHERITANCE=y
+CONFIG_PSEUDOFS_SOFTLINKS=y
+CONFIG_PTHREAD_MUTEX_TYPES=y
+CONFIG_PTHREAD_STACK_MIN=4194304
+CONFIG_RAM_SIZE=268435456
+CONFIG_SCHED_CHILD_STATUS=y
+CONFIG_SCHED_HAVE_PARENT=y
+CONFIG_SCHED_HPWORK=y
+CONFIG_SCHED_LPWORK=y
+CONFIG_SCHED_THREAD_LOCAL=y
+CONFIG_SCHED_TICKLESS=y
+CONFIG_SCHED_WAITPID=y
+CONFIG_SIG_DEFAULT=y
+CONFIG_SMP=y
+CONFIG_START_DAY=3
+CONFIG_START_MONTH=3
+CONFIG_START_YEAR=2011
+CONFIG_SYSTEM_DHCPC_RENEW=y
+CONFIG_SYSTEM_NSH=y
+CONFIG_SYSTEM_PING=y
+CONFIG_TIMER_FD=y
+CONFIG_TLS_NELEM=10
+CONFIG_TLS_TASK_NELEM=10
+CONFIG_USEC_PER_TICK=1
diff --git a/boards/x86_64/qemu/qemu-intel64/scripts/qemu.ld
b/boards/x86_64/qemu/qemu-intel64/scripts/qemu.ld
index ebeae91dd52..88e2f904332 100644
--- a/boards/x86_64/qemu/qemu-intel64/scripts/qemu.ld
+++ b/boards/x86_64/qemu/qemu-intel64/scripts/qemu.ld
@@ -122,6 +122,7 @@ SECTIONS
_sdata = ABSOLUTE(.);
*(.data .data.*)
*(.ldata .ldata.*)
+ *(.PyRuntime)
*(.gnu.linkonce.d.*)
CONSTRUCTORS
. = ALIGN(4);