initial buildroot for linux 5.15
This commit is contained in:
+11
@@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
cp -f ${BOARD_DIR}/grub.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg
|
||||
|
||||
# The QEMU sbsa machine expects flash devices to be 256M.
|
||||
truncate -s 256M ${BINARIES_DIR}/SBSA_FLASH0.fd
|
||||
truncate -s 256M ${BINARIES_DIR}/SBSA_FLASH1.fd
|
||||
@@ -0,0 +1,29 @@
|
||||
image efi-part.vfat {
|
||||
vfat {
|
||||
file EFI {
|
||||
image = "efi-part/EFI"
|
||||
}
|
||||
|
||||
file Image {
|
||||
image = "Image"
|
||||
}
|
||||
}
|
||||
|
||||
size = 64M
|
||||
}
|
||||
|
||||
image disk.img {
|
||||
hdimage {
|
||||
gpt = true
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xEF
|
||||
image = "efi-part.vfat"
|
||||
}
|
||||
|
||||
partition root {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext2"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
set default="0"
|
||||
set timeout="5"
|
||||
|
||||
menuentry "Buildroot" {
|
||||
linux /Image root=/dev/sda2 rootwait console=ttyAMA0
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_NO_HZ_IDLE=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_TASKSTATS=y
|
||||
CONFIG_SCHED_AUTOGROUP=y
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_ARCH_VEXPRESS=y
|
||||
CONFIG_COMPAT=y
|
||||
CONFIG_FW_CFG_SYSFS=y
|
||||
CONFIG_FW_CFG_SYSFS_CMDLINE=y
|
||||
CONFIG_ACPI=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_BLK_DEV_BSGLIB=y
|
||||
CONFIG_BINFMT_MISC=y
|
||||
CONFIG_TRANSPARENT_HUGEPAGE=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_PACKET_DIAG=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_NET_KEY=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
CONFIG_BRIDGE=m
|
||||
CONFIG_NET_SCHED=y
|
||||
CONFIG_VSOCKETS=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCI_HOST_GENERIC=y
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_VIRTIO_BLK=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_CHR_DEV_SG=y
|
||||
CONFIG_SCSI_CONSTANTS=y
|
||||
CONFIG_SCSI_LOGGING=y
|
||||
CONFIG_SCSI_SCAN_ASYNC=y
|
||||
CONFIG_SCSI_VIRTIO=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_SATA_AHCI_PLATFORM=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_DUMMY=y
|
||||
CONFIG_MACVLAN=y
|
||||
CONFIG_VIRTIO_NET=y
|
||||
CONFIG_NLMON=y
|
||||
CONFIG_SERIAL_AMBA_PL011=y
|
||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||
CONFIG_VIRTIO_CONSOLE=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
CONFIG_HW_RANDOM_VIRTIO=y
|
||||
CONFIG_TCG_TPM=y
|
||||
CONFIG_TCG_TIS=y
|
||||
CONFIG_DRM=y
|
||||
CONFIG_DRM_VIRTIO_GPU=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_PL031=y
|
||||
CONFIG_VIRTIO_PCI=y
|
||||
CONFIG_VIRTIO_MMIO=y
|
||||
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
||||
CONFIG_MAILBOX=y
|
||||
CONFIG_PL320_MBOX=y
|
||||
CONFIG_ARM_SMMU_V3=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_FUSE_FS=y
|
||||
CONFIG_VIRTIO_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
@@ -0,0 +1,32 @@
|
||||
Intro
|
||||
=====
|
||||
|
||||
The QEMU sbsa-ref machine is primarily meant for firmware development
|
||||
and testing according to ARM's SBSA and SBBR standards.
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
$ make qemu_aarch64_sbsa_defconfig
|
||||
$ make
|
||||
|
||||
Emulation
|
||||
=========
|
||||
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-aarch64 \
|
||||
-M sbsa-ref \
|
||||
-cpu cortex-a57 \
|
||||
-smp 4 \
|
||||
-m 1024 \
|
||||
-nographic \
|
||||
-pflash output/images/SBSA_FLASH0.fd \
|
||||
-pflash output/images/SBSA_FLASH1.fd \
|
||||
-hda output/images/disk.img # qemu_aarch64_sbsa_defconfig
|
||||
|
||||
Note that if you want to run sbsa-ref emulation with QEMU provided by
|
||||
your distro (i.e., not host-qemu by Buildroot) then you may need to
|
||||
install the SeaBIOS package for some required drivers. On Debian:
|
||||
|
||||
# apt install seabios
|
||||
@@ -0,0 +1,72 @@
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_NO_HZ_IDLE=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_TASKSTATS=y
|
||||
CONFIG_MEMCG=y
|
||||
CONFIG_BLK_CGROUP=y
|
||||
CONFIG_CPUSETS=y
|
||||
CONFIG_CGROUP_DEVICE=y
|
||||
CONFIG_CGROUP_CPUACCT=y
|
||||
CONFIG_SCHED_AUTOGROUP=y
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_ARCH_VEXPRESS=y
|
||||
CONFIG_COMPAT=y
|
||||
CONFIG_FW_CFG_SYSFS=y
|
||||
CONFIG_FW_CFG_SYSFS_CMDLINE=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_BLK_DEV_BSGLIB=y
|
||||
CONFIG_BINFMT_MISC=y
|
||||
CONFIG_TRANSPARENT_HUGEPAGE=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_PACKET_DIAG=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_NET_KEY=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
CONFIG_BRIDGE=m
|
||||
CONFIG_NET_SCHED=y
|
||||
CONFIG_VSOCKETS=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCI_HOST_GENERIC=y
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_VIRTIO_BLK=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_CHR_DEV_SG=y
|
||||
CONFIG_SCSI_CONSTANTS=y
|
||||
CONFIG_SCSI_LOGGING=y
|
||||
CONFIG_SCSI_SCAN_ASYNC=y
|
||||
CONFIG_SCSI_VIRTIO=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_DUMMY=y
|
||||
CONFIG_MACVLAN=y
|
||||
CONFIG_VIRTIO_NET=y
|
||||
CONFIG_NLMON=y
|
||||
CONFIG_SERIAL_AMBA_PL011=y
|
||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||
CONFIG_VIRTIO_CONSOLE=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
CONFIG_HW_RANDOM_VIRTIO=y
|
||||
CONFIG_TCG_TPM=y
|
||||
CONFIG_TCG_TIS=y
|
||||
CONFIG_DRM=y
|
||||
CONFIG_DRM_VIRTIO_GPU=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_PL031=y
|
||||
CONFIG_VIRTIO_PCI=y
|
||||
CONFIG_VIRTIO_MMIO=y
|
||||
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
||||
CONFIG_MAILBOX=y
|
||||
CONFIG_PL320_MBOX=y
|
||||
CONFIG_ARM_SMMU_V3=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_FUSE_FS=y
|
||||
CONFIG_VIRTIO_FS=y
|
||||
CONFIG_OVERLAY_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
@@ -0,0 +1,5 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-aarch64 -M virt -cpu cortex-a53 -nographic -smp 1 -kernel output/images/Image -append "rootwait root=/dev/vda console=ttyAMA0" -netdev user,id=eth0 -device virtio-net-device,netdev=eth0 -drive file=output/images/rootfs.ext4,if=none,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 # qemu_aarch64_virt_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
@@ -0,0 +1,47 @@
|
||||
# CONFIG_MMU is not set
|
||||
CONFIG_ARCH_VERSATILE=y
|
||||
CONFIG_ARM_SINGLE_ARCH_VERSATILE=y
|
||||
CONFIG_SET_MEM_PARAM=y
|
||||
CONFIG_DRAM_BASE=0x00000000
|
||||
CONFIG_DRAM_SIZE=0x08000000
|
||||
CONFIG_ARCH_VERSATILE_PB=y
|
||||
CONFIG_MACH_VERSATILE_AB=y
|
||||
CONFIG_MACH_VERSATILE_DT=y
|
||||
CONFIG_BINFMT_FLAT=y
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_AEABI=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_SMC91X=y
|
||||
CONFIG_PHYLIB=y
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_SERIO_AMBAKMI=y
|
||||
CONFIG_LEGACY_PTY_COUNT=16
|
||||
CONFIG_SERIAL_8250=m
|
||||
CONFIG_SERIAL_8250_EXTENDED=y
|
||||
CONFIG_SERIAL_8250_MANY_PORTS=y
|
||||
CONFIG_SERIAL_8250_SHARE_IRQ=y
|
||||
CONFIG_SERIAL_8250_RSA=y
|
||||
CONFIG_SERIAL_AMBA_PL011=y
|
||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=m
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_ARMCLCD=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_SOUND=y
|
||||
CONFIG_SND=m
|
||||
CONFIG_SND_MIXER_OSS=m
|
||||
CONFIG_SND_PCM_OSS=m
|
||||
CONFIG_SND_ARMAACI=m
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_VFAT_FS=m
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
@@ -0,0 +1,43 @@
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_VERSATILE=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCI_VERSATILE=y
|
||||
CONFIG_AEABI=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_SCSI_SYM53C8XX_2=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_8139CP=y
|
||||
CONFIG_PHYLIB=y
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_SERIO_AMBAKMI=y
|
||||
CONFIG_LEGACY_PTY_COUNT=16
|
||||
CONFIG_SERIAL_8250=m
|
||||
CONFIG_SERIAL_8250_EXTENDED=y
|
||||
CONFIG_SERIAL_8250_MANY_PORTS=y
|
||||
CONFIG_SERIAL_8250_SHARE_IRQ=y
|
||||
CONFIG_SERIAL_8250_RSA=y
|
||||
CONFIG_SERIAL_AMBA_PL011=y
|
||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=m
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_ARMCLCD=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_SOUND=y
|
||||
CONFIG_SND=m
|
||||
CONFIG_SND_MIXER_OSS=m
|
||||
CONFIG_SND_PCM_OSS=m
|
||||
CONFIG_SND_ARMAACI=m
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_VFAT_FS=m
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
@@ -0,0 +1,122 @@
|
||||
From 7c245ffc17a9ab6215830d4ecd8b2f9beddb487c Mon Sep 17 00:00:00 2001
|
||||
From: Waldemar Brodkorb <wbx@openadk.org>
|
||||
Date: Fri, 1 Feb 2019 11:36:20 +0100
|
||||
Subject: [PATCH] arm-versatile-nommu: Linux patch
|
||||
|
||||
Originally made by Waldemar Brodkorb <wbx@openadk.org> from LKML.
|
||||
|
||||
Rename CLKSRC_OF to TIMER_OF (kernel >= 4.13)
|
||||
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=bb0eb050a577a866cb47c2dc37596f1207f4c2d9
|
||||
|
||||
Remove GENERIC_CLOCKEVENTS since its enabled by default (kernel >= 5.11)
|
||||
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=0774a6ed294b963dc76df2d8342ab86d030759ec
|
||||
|
||||
Select CONFIG_GENERIC_IRQ_MULTI_HANDLER since irqchip doesn't select it anymore (kernel >= 5.12)
|
||||
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=a79f7051cccb6f3bcd3d2a0a058c7d5c79bb0371
|
||||
|
||||
Signed-Off-by: Waldemar Brodkorb <wbx@openadk.org>
|
||||
[Gerome: reformated as a Git patch]
|
||||
Signed-off-by: Gerome Burlats <gerome.burlats@smile.fr>
|
||||
[Romain: fix Waldemar's authorship in Git patch]
|
||||
Signed-off-by: Romain Naour <romain.naour@smile.fr>
|
||||
---
|
||||
arch/arm/Kconfig | 11 +++++++++++
|
||||
arch/arm/Kconfig.debug | 3 ++-
|
||||
arch/arm/include/asm/mach/map.h | 1 +
|
||||
arch/arm/mach-versatile/Kconfig | 5 +++--
|
||||
arch/arm/mach-versatile/Makefile.boot | 3 +++
|
||||
arch/arm/mach-versatile/versatile_dt.c | 4 ++++
|
||||
6 files changed, 24 insertions(+), 3 deletions(-)
|
||||
create mode 100644 arch/arm/mach-versatile/Makefile.boot
|
||||
|
||||
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
|
||||
index dcf2df6da98f..c2155c1a2eba 100644
|
||||
--- a/arch/arm/Kconfig
|
||||
+++ b/arch/arm/Kconfig
|
||||
@@ -337,6 +337,17 @@ config ARM_SINGLE_ARMV7M
|
||||
select SPARSE_IRQ
|
||||
select USE_OF
|
||||
|
||||
+config ARM_SINGLE_ARCH_VERSATILE
|
||||
+ bool "ARM Ltd. Versatile family"
|
||||
+ depends on !MMU
|
||||
+ select AUTO_ZRELADDR
|
||||
+ select TIMER_OF
|
||||
+ select COMMON_CLK
|
||||
+ select GENERIC_IRQ_MULTI_HANDLER
|
||||
+ select GPIOLIB
|
||||
+ select SPARSE_IRQ
|
||||
+ select USE_OF
|
||||
+
|
||||
config ARCH_EP93XX
|
||||
bool "EP93xx-based"
|
||||
select ARCH_SPARSEMEM_ENABLE
|
||||
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
|
||||
index 98436702e0c7..7e63299ceb40 100644
|
||||
--- a/arch/arm/Kconfig.debug
|
||||
+++ b/arch/arm/Kconfig.debug
|
||||
@@ -1891,7 +1891,8 @@ config DEBUG_UNCOMPRESS
|
||||
config UNCOMPRESS_INCLUDE
|
||||
string
|
||||
default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
|
||||
- PLAT_SAMSUNG || ARM_SINGLE_ARMV7M
|
||||
+ PLAT_SAMSUNG || ARM_SINGLE_ARMV7M || \
|
||||
+ ARM_SINGLE_ARCH_VERSATILE
|
||||
default "mach/uncompress.h"
|
||||
|
||||
config EARLY_PRINTK
|
||||
diff --git a/arch/arm/include/asm/mach/map.h b/arch/arm/include/asm/mach/map.h
|
||||
index 92282558caf7..90bd9c069ffc 100644
|
||||
--- a/arch/arm/include/asm/mach/map.h
|
||||
+++ b/arch/arm/include/asm/mach/map.h
|
||||
@@ -59,6 +59,7 @@ extern int ioremap_page(unsigned long virt, unsigned long phys,
|
||||
#else
|
||||
#define iotable_init(map,num) do { } while (0)
|
||||
#define vm_reserve_area_early(a,s,c) do { } while (0)
|
||||
+#define debug_ll_io_init() do { } while (0)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
diff --git a/arch/arm/mach-versatile/Kconfig b/arch/arm/mach-versatile/Kconfig
|
||||
index d88e7725bf99..d38b90157f13 100644
|
||||
--- a/arch/arm/mach-versatile/Kconfig
|
||||
+++ b/arch/arm/mach-versatile/Kconfig
|
||||
@@ -1,7 +1,8 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
config ARCH_VERSATILE
|
||||
- bool "ARM Ltd. Versatile family"
|
||||
- depends on ARCH_MULTI_V5
|
||||
+ bool "ARM Ltd. Versatile family" if ARCH_MULTI_V5
|
||||
+ depends on ARCH_MULTI_V5 || ARM_SINGLE_ARCH_VERSATILE
|
||||
+ default y if ARM_SINGLE_ARCH_VERSATILE
|
||||
select ARM_AMBA
|
||||
select ARM_TIMER_SP804
|
||||
select ARM_VIC
|
||||
diff --git a/arch/arm/mach-versatile/Makefile.boot b/arch/arm/mach-versatile/Makefile.boot
|
||||
new file mode 100644
|
||||
index 000000000000..eacfc3f5c33e
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-versatile/Makefile.boot
|
||||
@@ -0,0 +1,3 @@
|
||||
+# Empty file waiting for deletion once Makefile.boot isn't needed any more.
|
||||
+# Patch waits for application at
|
||||
+# http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=7889/1 .
|
||||
diff --git a/arch/arm/mach-versatile/versatile_dt.c b/arch/arm/mach-versatile/versatile_dt.c
|
||||
index 02ba68abe533..835b51bc597b 100644
|
||||
--- a/arch/arm/mach-versatile/versatile_dt.c
|
||||
+++ b/arch/arm/mach-versatile/versatile_dt.c
|
||||
@@ -22,7 +22,11 @@
|
||||
#include <asm/mach/map.h>
|
||||
|
||||
/* macro to get at MMIO space when running virtually */
|
||||
+#ifdef CONFIG_MMU
|
||||
#define IO_ADDRESS(x) (((x) & 0x0fffffff) + (((x) >> 4) & 0x0f000000) + 0xf0000000)
|
||||
+#else
|
||||
+#define IO_ADDRESS(x) (x)
|
||||
+#endif
|
||||
#define __io_address(n) ((void __iomem __force *)IO_ADDRESS(n))
|
||||
|
||||
/*
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-arm -M versatilepb -kernel output/images/zImage -dtb output/images/versatile-pb.dtb -drive file=output/images/rootfs.ext2,if=scsi,format=raw -append "rootwait root=/dev/sda console=ttyAMA0,115200" -serial stdio -net nic,model=rtl8139 -net user # qemu_arm_versatile_defconfig
|
||||
|
||||
Or for the noMMU emulation:
|
||||
|
||||
qemu-system-arm -M versatilepb -kernel output/images/zImage -dtb output/images/versatile-pb.dtb -append "console=ttyAMA0,115200" -serial stdio -net user -net nic,model=smc91c111 # qemu_arm_versatile_nommu_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu. The
|
||||
graphical window is the framebuffer.
|
||||
@@ -0,0 +1,3 @@
|
||||
### Enable OP-TEE
|
||||
CONFIG_TEE=y
|
||||
CONFIG_OPTEE=y
|
||||
Executable
+9
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -u
|
||||
set -e
|
||||
|
||||
# Create flash.bin TF-A FIP image from bl1.bin and fip.bin
|
||||
cd "$BINARIES_DIR"
|
||||
dd if=bl1.bin of=flash.bin bs=4096
|
||||
dd if=fip.bin of=flash.bin seek=64 bs=4096 conv=notrunc
|
||||
@@ -0,0 +1,135 @@
|
||||
Board qemu_arm_vexpress_tz builds a QEMU ARMv7-A target system with
|
||||
OP-TEE running in the TrustZone secure world and a Linux based
|
||||
OS running in the non-secure world. The board configuration enables
|
||||
builds of the QEMU host ARM target emulator.
|
||||
|
||||
make qemu_arm_vexpress_tz_defconfig
|
||||
make
|
||||
|
||||
The BIOS used in the QEMU host is the ARM Trusted Firmware-A (TF-A).
|
||||
In our configuration, U-Boot uses QEMU semihosting file access to load the
|
||||
kernel and rootfs image files. For this reason the emulation needs to be run
|
||||
from the image directory:
|
||||
|
||||
cd output/images && ../host/bin/qemu-system-arm \
|
||||
-machine virt -machine secure=on -cpu cortex-a15 \
|
||||
-smp 1 -s -m 1024 -d unimp \
|
||||
-serial stdio \
|
||||
-netdev user,id=vmnic -device virtio-net-device,netdev=vmnic \
|
||||
-semihosting-config enable,target=native \
|
||||
-bios flash.bin # qemu_arm_vexpress_tz_defconfig
|
||||
|
||||
The boot stage traces (if any) followed by the login prompt will appear
|
||||
in the terminal that started QEMU.
|
||||
|
||||
If you want to emulate more cores, use "-smp {1|2|3|4}" to select the
|
||||
number of cores.
|
||||
|
||||
Note: "-netdev user,id=vmnic -device virtio-net-device,netdev=vmnic"
|
||||
brings network support that is used i.e. in OP-TEE regression tests.
|
||||
|
||||
|
||||
-- Boot Details --
|
||||
|
||||
TF-A is used as QEMU BIOS. Its BL1 image boots and load its BL2 image. In turn,
|
||||
this image loads the OP-TEE secure world (ARMv7-A BL32 stage) and the U-boot as
|
||||
non-secure bootloader (BL33 stage).
|
||||
|
||||
QEMU natively hosts and loads in RAM the QEMU ARM target device tree. OP-TEE
|
||||
reads and modifies its content according to OP-TEE configuration.
|
||||
|
||||
Enable TF-A traces from LOG_LEVEL (I.e LOG_LEVEL=40) from
|
||||
BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES.
|
||||
|
||||
|
||||
-- OP-TEE Traces --
|
||||
|
||||
Secure boot stages and/or secure runtime services may use a serial link for
|
||||
their traces.
|
||||
|
||||
The ARM Trusted Firmware outputs its traces on the QEMU standard (first)
|
||||
serial interface.
|
||||
|
||||
The OP-TEE OS uses the QEMU second serial interface.
|
||||
|
||||
To get the OP-TEE OS traces, append a second -serial argument after
|
||||
-serial stdio in the QEMU command line. I.e, the following enables 2 serial
|
||||
consoles over telnet connections:
|
||||
|
||||
cd output/images && ../host/bin/qemu-system-arm \
|
||||
-machine virt -machine secure=on -cpu cortex-a15 \
|
||||
-smp 1 -s -m 1024 -d unimp \
|
||||
-serial telnet:127.0.0.1:1235,server \
|
||||
-serial telnet:127.0.0.1:1236,server \
|
||||
-netdev user,id=vmnic -device virtio-net-device,netdev=vmnic \
|
||||
-semihosting-config enable,target=native \
|
||||
-bios flash.bin
|
||||
|
||||
QEMU is now waiting for the telnet connection. From another shell, open a
|
||||
telnet connection on the port for the U-boot and Linux consoles:
|
||||
|
||||
telnet 127.0.0.1 1235
|
||||
|
||||
and again for the secure console
|
||||
|
||||
telnet 127.0.0.1 1236
|
||||
|
||||
|
||||
-- Using gdb --
|
||||
|
||||
One can debug the OP-TEE secure world using GDB through the QEMU host.
|
||||
To do so, simply run the qemu-system-arm emulation, then run a GDB client
|
||||
and connect the QEMU internal GDB server.
|
||||
|
||||
The example below assumes we run QEMU and the GDB client from the same
|
||||
host computer. We use option -S of qemu-system-arm to make QEMU
|
||||
waiting for the GDB continue instruction before booting the images.
|
||||
|
||||
From a first shell:
|
||||
cd output/images && ../host/bin/qemu-system-arm \
|
||||
-machine virt -machine secure=on -cpu cortex-a15 \
|
||||
-smp 1 -s -m 1024 -d unimp \
|
||||
-serial stdio \
|
||||
-netdev user,id=vmnic -device virtio-net-device,netdev=vmnic \
|
||||
-semihosting-config enable,target=native \
|
||||
-bios flash.bin \
|
||||
-S
|
||||
|
||||
From a second shell:
|
||||
./output/host/bin/arm-linux-gdb
|
||||
GNU gdb (GNU Toolchain for the A-profile Architecture 8.2-2018-08 (arm-rel-8.23)) 8.1.1.20180704-git
|
||||
Copyright (C) 2018 Free Software Foundation, Inc.
|
||||
...
|
||||
For help, type "help".
|
||||
Type "apropos word" to search for commands related to "word".
|
||||
(gdb)
|
||||
|
||||
From this GDB console, connect to the target, load the OP-TEE core symbols,
|
||||
set a breakpoint to its entry point (__text_start) and start emulation:
|
||||
|
||||
(gdb) target remote 127.0.0.1:1234
|
||||
(gdb) symbol-file ./output/build/optee-os-<reference>/out/core/tee.elf
|
||||
(gdb) hbreak __text_start
|
||||
Hardware assisted breakpoint 1 at 0xe100000: file core/arch/arm/kernel/generic_entry_a32.S, line 246.
|
||||
(gdb) cont
|
||||
Continuing.
|
||||
|
||||
Thread 1 hit Breakpoint 1, _start () at core/arch/arm/kernel/generic_entry_a32.S:246
|
||||
246 bootargs_entry
|
||||
(gdb)
|
||||
|
||||
|
||||
Emulation has started, TF-A has loaded OP-TEE and U-boot images in memory and
|
||||
has booted OP-TEE. Emulation stopped at OP-TEE core entry.
|
||||
|
||||
Note: QEMU hosts a GDB service listening to TCP port 1234, as set through
|
||||
qemu-system-arm command line option -s.
|
||||
|
||||
Note: To build the GDB server, the following extra options have to be added to
|
||||
the Buildroot configuration:
|
||||
|
||||
BR2_ENABLE_DEBUG=y
|
||||
BR2_PACKAGE_GDB=y
|
||||
BR2_PACKAGE_HOST_GDB=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_CXX=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
|
||||
@@ -0,0 +1,8 @@
|
||||
CONFIG_SYS_TEXT_BASE=0x60000000
|
||||
CONFIG_BOOTCOMMAND="smhload zImage ${kernel_addr_r} && smhload rootfs.cpio.uboot ${ramdisk_addr_r} && setenv bootargs console=ttyAMA0,115200 earlyprintk=serial,ttyAMA0,115200 && bootz ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr}"
|
||||
CONFIG_SEMIHOSTING=y
|
||||
# Drop flash accesses
|
||||
CONFIG_ENV_IS_IN_FLASH=n
|
||||
CONFIG_MTD=n
|
||||
CONFIG_MTD_NOR_FLASH=n
|
||||
CONFIG_ENV_IS_NOWHERE=y
|
||||
@@ -0,0 +1,9 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-arm -M vexpress-a9 -smp 1 -m 256 -kernel output/images/zImage -dtb output/images/vexpress-v2p-ca9.dtb -drive file=output/images/rootfs.ext2,if=sd,format=raw -append "console=ttyAMA0,115200 rootwait root=/dev/mmcblk0" -serial stdio -net nic,model=lan9118 -net user # qemu_arm_vexpress_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu. The
|
||||
graphical window is the framebuffer.
|
||||
|
||||
If you want to emulate more cores change "-smp 1" to "-smp 2" for
|
||||
dual-core or even "smp -4" for a quad-core configuration.
|
||||
@@ -0,0 +1,28 @@
|
||||
CONFIG_M68K=y
|
||||
CONFIG_COLDFIRE=y
|
||||
# CONFIG_MMU is not set
|
||||
CONFIG_M520x=y
|
||||
CONFIG_CLOCK_SET=y
|
||||
CONFIG_CLOCK_FREQ=66666666
|
||||
CONFIG_CLOCK_DIV=1
|
||||
CONFIG_M5208EVB=y
|
||||
CONFIG_FREESCALE=y
|
||||
CONFIG_RAMBASE=0x40000000
|
||||
CONFIG_RAMSIZE=0x0
|
||||
CONFIG_VECTORBASE=0x40000000
|
||||
CONFIG_KERNELBASE=0x40020000
|
||||
CONFIG_4KSTACKS=y
|
||||
CONFIG_RAMKERNEL=y
|
||||
CONFIG_BINFMT_FLAT=y
|
||||
CONFIG_SERIAL_MCF=y
|
||||
CONFIG_SERIAL_MCF_BAUDRATE=115200
|
||||
CONFIG_SERIAL_MCF_CONSOLE=y
|
||||
CONFIG_BOOTPARAM=y
|
||||
CONFIG_BOOTPARAM_STRING="console=ttyS0,115200"
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_NET_VENDOR_FREESCALE=y
|
||||
CONFIG_FEC=y
|
||||
@@ -0,0 +1,5 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-m68k -M mcf5208evb -cpu m5208 -kernel output/images/vmlinux -nographic # qemu_m68k_mcf5208_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
@@ -0,0 +1,26 @@
|
||||
CONFIG_M68K=y
|
||||
CONFIG_M68040=y
|
||||
CONFIG_M68KFPU_EMU=y
|
||||
CONFIG_MAC=y
|
||||
CONFIG_MACINTOSH_DRIVERS=y
|
||||
CONFIG_ADB=y
|
||||
CONFIG_ADB_MACII=y
|
||||
CONFIG_TTY=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_MACSONIC=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_SCSI_DMA=y
|
||||
CONFIG_SCSI_LOWLEVEL=y
|
||||
CONFIG_SCSI_MAC_ESP=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_SERIAL_PMACZILOG=y
|
||||
CONFIG_SERIAL_PMACZILOG_TTYS=y
|
||||
CONFIG_SERIAL_PMACZILOG_CONSOLE=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
@@ -0,0 +1,5 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-m68k -M q800 -kernel output/images/vmlinux -nographic -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda console=ttyS0" # qemu_m68k_q800_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
@@ -0,0 +1,34 @@
|
||||
From e96b73478232aa42b773cd19371808af69fd4b95 Mon Sep 17 00:00:00 2001
|
||||
From: Romain Naour <romain.naour@gmail.com>
|
||||
Date: Sat, 25 Apr 2020 09:49:11 +0200
|
||||
Subject: [PATCH] net: xilinx: xemaclite: add 2.00.b revision
|
||||
|
||||
Patch added for the kernel 3.14
|
||||
- fix networking in Qemu using a small patch
|
||||
- disable DTS, because linux.bin does not include any DTB the
|
||||
default Qemu included DTB is used and this is okay and works fine
|
||||
|
||||
https://git.buildroot.net/buildroot/commit/board/qemu/microblazebe-mmu/xilinx-xemaclite.patch?id=fa2798548368d51998fad18d7f6d1ae0ed065b33
|
||||
|
||||
[Romain: convert to git format]
|
||||
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
||||
Cc: Waldemar Brodkorb <wbx@openadk.org>
|
||||
---
|
||||
drivers/net/ethernet/xilinx/xilinx_emaclite.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/drivers/net/ethernet/xilinx/xilinx_emaclite.c b/drivers/net/ethernet/xilinx/xilinx_emaclite.c
|
||||
index 0de52e70abcc..d8c13140ca77 100644
|
||||
--- a/drivers/net/ethernet/xilinx/xilinx_emaclite.c
|
||||
+++ b/drivers/net/ethernet/xilinx/xilinx_emaclite.c
|
||||
@@ -1278,6 +1278,7 @@ static const struct of_device_id xemaclite_of_match[] = {
|
||||
{ .compatible = "xlnx,opb-ethernetlite-1.01.b", },
|
||||
{ .compatible = "xlnx,xps-ethernetlite-1.00.a", },
|
||||
{ .compatible = "xlnx,xps-ethernetlite-2.00.a", },
|
||||
+ { .compatible = "xlnx,xps-ethernetlite-2.00.b", },
|
||||
{ .compatible = "xlnx,xps-ethernetlite-2.01.a", },
|
||||
{ .compatible = "xlnx,xps-ethernetlite-3.00.a", },
|
||||
{ /* end of list */ },
|
||||
--
|
||||
2.25.3
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_OPT_LIB_ASM=y
|
||||
CONFIG_XILINX_MICROBLAZE0_FAMILY="spartan3adsp"
|
||||
CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR=1
|
||||
CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR=1
|
||||
CONFIG_XILINX_MICROBLAZE0_USE_BARREL=1
|
||||
CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL=1
|
||||
CONFIG_MMU=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_XILINX_EMACLITE=y
|
||||
CONFIG_SERIAL_UARTLITE=y
|
||||
CONFIG_SERIAL_UARTLITE_CONSOLE=y
|
||||
# CONFIG_VGA_CONSOLE is not set
|
||||
CONFIG_TMPFS=y
|
||||
@@ -0,0 +1,5 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-microblaze -M petalogix-s3adsp1800 -kernel output/images/linux.bin -serial stdio # qemu_microblazebe_mmu_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
@@ -0,0 +1,34 @@
|
||||
From e96b73478232aa42b773cd19371808af69fd4b95 Mon Sep 17 00:00:00 2001
|
||||
From: Romain Naour <romain.naour@gmail.com>
|
||||
Date: Sat, 25 Apr 2020 09:49:11 +0200
|
||||
Subject: [PATCH] net: xilinx: xemaclite: add 2.00.b revision
|
||||
|
||||
Patch added for the kernel 3.14
|
||||
- fix networking in Qemu using a small patch
|
||||
- disable DTS, because linux.bin does not include any DTB the
|
||||
default Qemu included DTB is used and this is okay and works fine
|
||||
|
||||
https://git.buildroot.net/buildroot/commit/board/qemu/microblazebe-mmu/xilinx-xemaclite.patch?id=fa2798548368d51998fad18d7f6d1ae0ed065b33
|
||||
|
||||
[Romain: convert to git format]
|
||||
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
||||
Cc: Waldemar Brodkorb <wbx@openadk.org>
|
||||
---
|
||||
drivers/net/ethernet/xilinx/xilinx_emaclite.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/drivers/net/ethernet/xilinx/xilinx_emaclite.c b/drivers/net/ethernet/xilinx/xilinx_emaclite.c
|
||||
index 0de52e70abcc..d8c13140ca77 100644
|
||||
--- a/drivers/net/ethernet/xilinx/xilinx_emaclite.c
|
||||
+++ b/drivers/net/ethernet/xilinx/xilinx_emaclite.c
|
||||
@@ -1278,6 +1278,7 @@ static const struct of_device_id xemaclite_of_match[] = {
|
||||
{ .compatible = "xlnx,opb-ethernetlite-1.01.b", },
|
||||
{ .compatible = "xlnx,xps-ethernetlite-1.00.a", },
|
||||
{ .compatible = "xlnx,xps-ethernetlite-2.00.a", },
|
||||
+ { .compatible = "xlnx,xps-ethernetlite-2.00.b", },
|
||||
{ .compatible = "xlnx,xps-ethernetlite-2.01.a", },
|
||||
{ .compatible = "xlnx,xps-ethernetlite-3.00.a", },
|
||||
{ /* end of list */ },
|
||||
--
|
||||
2.25.3
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_XILINX_MICROBLAZE0_FAMILY="spartan3adsp"
|
||||
CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR=1
|
||||
CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR=1
|
||||
CONFIG_XILINX_MICROBLAZE0_USE_BARREL=1
|
||||
CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL=1
|
||||
CONFIG_MMU=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_XILINX_EMACLITE=y
|
||||
CONFIG_SERIAL_UARTLITE=y
|
||||
CONFIG_SERIAL_UARTLITE_CONSOLE=y
|
||||
# CONFIG_VGA_CONSOLE is not set
|
||||
CONFIG_TMPFS=y
|
||||
@@ -0,0 +1,5 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-microblazeel -M petalogix-s3adsp1800 -kernel output/images/linux.bin -serial stdio # qemu_microblazeel_mmu_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
@@ -0,0 +1,28 @@
|
||||
CONFIG_MIPS_MALTA=y
|
||||
CONFIG_CPU_MIPS32_R2=y
|
||||
CONFIG_MIPS_MT_SMP=y
|
||||
CONFIG_NR_CPUS=2
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_ATA_PIIX=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_PCNET32=y
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_CIRRUS=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_UHCI_HCD=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
@@ -0,0 +1,7 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-mips -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda" -net nic,model=pcnet -net user # qemu_mips32r2_malta_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu. The
|
||||
graphical window is the framebuffer. No keyboard support has been
|
||||
enabled.
|
||||
@@ -0,0 +1,29 @@
|
||||
CONFIG_MIPS_MALTA=y
|
||||
CONFIG_CPU_LITTLE_ENDIAN=y
|
||||
CONFIG_CPU_MIPS32_R2=y
|
||||
CONFIG_MIPS_MT_SMP=y
|
||||
CONFIG_NR_CPUS=2
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_ATA_PIIX=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_PCNET32=y
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_CIRRUS=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_UHCI_HCD=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
@@ -0,0 +1,7 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-mipsel -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda" -net nic,model=pcnet -net user # qemu_mips32r2el_malta_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu. The
|
||||
graphical window is the framebuffer. No keyboard support has been
|
||||
enabled.
|
||||
@@ -0,0 +1,28 @@
|
||||
CONFIG_MIPS_MALTA=y
|
||||
CONFIG_CPU_MIPS32_R6=y
|
||||
CONFIG_MIPS_MT_SMP=y
|
||||
CONFIG_NR_CPUS=2
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_ATA_PIIX=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_PCNET32=y
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_CIRRUS=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_UHCI_HCD=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
@@ -0,0 +1,5 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-mips -M malta -cpu mips32r6-generic -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda" -nographic # qemu_mips32r6_malta_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
@@ -0,0 +1,28 @@
|
||||
CONFIG_MIPS_MALTA=y
|
||||
CONFIG_CPU_MIPS32_R6=y
|
||||
CONFIG_MIPS_MT_SMP=y
|
||||
CONFIG_NR_CPUS=2
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_ATA_PIIX=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_PCNET32=y
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_CIRRUS=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_UHCI_HCD=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
@@ -0,0 +1,5 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-mipsel -M malta -cpu mips32r6-generic -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda" -net nic,model=pcnet -net user -nographic # qemu_mips32r6el_malta_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
@@ -0,0 +1,32 @@
|
||||
CONFIG_MIPS_MALTA=y
|
||||
CONFIG_CPU_MIPS64_R1=y
|
||||
CONFIG_64BIT=y
|
||||
CONFIG_MIPS_MT_SMP=y
|
||||
CONFIG_NR_CPUS=2
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_MIPS32_COMPAT=y
|
||||
CONFIG_MIPS32_O32=y
|
||||
CONFIG_MIPS32_N32=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_ATA_PIIX=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_PCNET32=y
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_CIRRUS=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_UHCI_HCD=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
@@ -0,0 +1,6 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-mips64 -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda" # qemu_mips64_malta_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu. The
|
||||
graphical window is the framebuffer.
|
||||
@@ -0,0 +1,33 @@
|
||||
CONFIG_MIPS_MALTA=y
|
||||
CONFIG_CPU_LITTLE_ENDIAN=y
|
||||
CONFIG_CPU_MIPS64_R1=y
|
||||
CONFIG_64BIT=y
|
||||
CONFIG_MIPS_MT_SMP=y
|
||||
CONFIG_NR_CPUS=2
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_MIPS32_COMPAT=y
|
||||
CONFIG_MIPS32_O32=y
|
||||
CONFIG_MIPS32_N32=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_ATA_PIIX=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_PCNET32=y
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_CIRRUS=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_UHCI_HCD=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
@@ -0,0 +1,6 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-mips64el -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda" # qemu_mips64el_malta_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu. The
|
||||
graphical window is the framebuffer.
|
||||
@@ -0,0 +1,32 @@
|
||||
CONFIG_MIPS_MALTA=y
|
||||
CONFIG_CPU_MIPS64_R6=y
|
||||
CONFIG_64BIT=y
|
||||
CONFIG_MIPS_MT_SMP=y
|
||||
CONFIG_NR_CPUS=2
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_MIPS32_COMPAT=y
|
||||
CONFIG_MIPS32_O32=y
|
||||
CONFIG_MIPS32_N32=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_ATA_PIIX=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_PCNET32=y
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_CIRRUS=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_UHCI_HCD=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
@@ -0,0 +1,5 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-mips64 -M malta -cpu I6400 -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda" -nographic # qemu_mips64r6_malta_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
@@ -0,0 +1,32 @@
|
||||
CONFIG_MIPS_MALTA=y
|
||||
CONFIG_CPU_MIPS64_R6=y
|
||||
CONFIG_64BIT=y
|
||||
CONFIG_MIPS_MT_SMP=y
|
||||
CONFIG_NR_CPUS=2
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_MIPS32_COMPAT=y
|
||||
CONFIG_MIPS32_O32=y
|
||||
CONFIG_MIPS32_N32=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_ATA_PIIX=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_PCNET32=y
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_CIRRUS=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_UHCI_HCD=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
@@ -0,0 +1,5 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-mips64el -M malta -cpu I6400 -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda" -nographic # qemu_mips64r6el_malta_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
@@ -0,0 +1,3 @@
|
||||
# Embed the DTB in the kernel image
|
||||
CONFIG_NIOS2_DTB_SOURCE_BOOL=y
|
||||
CONFIG_NIOS2_DTB_SOURCE="10m50_devboard.dts"
|
||||
@@ -0,0 +1,5 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-nios2 -kernel output/images/vmlinux -nographic # qemu_nios2_10m50_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
@@ -0,0 +1,30 @@
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_INITRAMFS_SOURCE="${BR_BINARIES_DIR}/rootfs.cpio"
|
||||
CONFIG_OPENRISC_BUILTIN_DTB="or1ksim"
|
||||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_WIRELESS is not set
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_ETHOC=y
|
||||
# CONFIG_WLAN is not set
|
||||
# CONFIG_INPUT_MOUSEDEV is not set
|
||||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_SERIO is not set
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_OF_PLATFORM=y
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_VGA_CONSOLE is not set
|
||||
# CONFIG_USB_SUPPORT is not set
|
||||
@@ -0,0 +1,7 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-or1k -kernel output/images/vmlinux -nographic # qemu_or1k_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
|
||||
Ethernet support is not working, yet.
|
||||
Executable
+61
@@ -0,0 +1,61 @@
|
||||
#!/bin/bash
|
||||
|
||||
QEMU_BOARD_DIR="$(dirname $0)"
|
||||
DEFCONFIG_NAME="$(basename $2)"
|
||||
README_FILES="${QEMU_BOARD_DIR}/*/readme.txt"
|
||||
START_QEMU_SCRIPT="${BINARIES_DIR}/start-qemu.sh"
|
||||
|
||||
if [[ "${DEFCONFIG_NAME}" =~ ^"qemu_*" ]]; then
|
||||
# Not a Qemu defconfig, can't test.
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Search for "# qemu_*_defconfig" tag in all readme.txt files.
|
||||
# Qemu command line on multilines using back slash are accepted.
|
||||
QEMU_CMD_LINE=$(sed -r ':a; /\\$/N; s/\\\n//; s/\t/ /; ta; /# '${DEFCONFIG_NAME}'$/!d; s/#.*//' ${README_FILES})
|
||||
|
||||
if [ -z "${QEMU_CMD_LINE}" ]; then
|
||||
# No Qemu cmd line found, can't test.
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Remove output/images path since the script will be in
|
||||
# the same directory as the kernel and the rootfs images.
|
||||
QEMU_CMD_LINE="${QEMU_CMD_LINE//output\/images\//}"
|
||||
|
||||
# Remove -serial stdio if present, keep it as default args
|
||||
DEFAULT_ARGS="$(sed -r -e '/-serial stdio/!d; s/.*(-serial stdio).*/\1/' <<<"${QEMU_CMD_LINE}")"
|
||||
QEMU_CMD_LINE="${QEMU_CMD_LINE//-serial stdio/}"
|
||||
|
||||
# Remove any string before qemu-system-*
|
||||
QEMU_CMD_LINE="$(sed -r -e 's/^.*(qemu-system-)/\1/' <<<"${QEMU_CMD_LINE}")"
|
||||
|
||||
# Disable graphical output and redirect serial I/Os to console
|
||||
case ${DEFCONFIG_NAME} in
|
||||
(qemu_sh4eb_r2d_defconfig|qemu_sh4_r2d_defconfig)
|
||||
# Special case for SH4
|
||||
SERIAL_ARGS="-serial stdio -display none"
|
||||
;;
|
||||
(*)
|
||||
SERIAL_ARGS="-nographic"
|
||||
;;
|
||||
esac
|
||||
|
||||
cat <<-_EOF_ > "${START_QEMU_SCRIPT}"
|
||||
#!/bin/sh
|
||||
(
|
||||
BINARIES_DIR="\${0%/*}/"
|
||||
cd \${BINARIES_DIR}
|
||||
|
||||
if [ "\${1}" = "serial-only" ]; then
|
||||
EXTRA_ARGS='${SERIAL_ARGS}'
|
||||
else
|
||||
EXTRA_ARGS='${DEFAULT_ARGS}'
|
||||
fi
|
||||
|
||||
export PATH="${HOST_DIR}/bin:\${PATH}"
|
||||
exec ${QEMU_CMD_LINE} \${EXTRA_ARGS}
|
||||
)
|
||||
_EOF_
|
||||
|
||||
chmod +x "${START_QEMU_SCRIPT}"
|
||||
@@ -0,0 +1,10 @@
|
||||
# Enables generic PPC e500 base arch support for QEMU.
|
||||
# The e500mc is a variant of the e500 arch.
|
||||
CONFIG_PPC_QEMU_E500=y
|
||||
|
||||
# Enable virtio (blk, rng and net devices)
|
||||
CONFIG_VIRTIO=y
|
||||
CONFIG_VIRTIO_PCI=y
|
||||
CONFIG_HW_RANDOM_VIRTIO=y
|
||||
CONFIG_VIRTIO_BLK=y
|
||||
CONFIG_VIRTIO_NET=y
|
||||
@@ -0,0 +1,5 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-ppc -M ppce500 -cpu e500mc -m 256 -kernel output/images/uImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -append "console=ttyS0 rootwait root=/dev/vda" -serial mon:stdio -nographic # qemu_ppc_e500mc_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
@@ -0,0 +1,28 @@
|
||||
CONFIG_ALTIVEC=y
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_HIGHMEM=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_PCCARD=y
|
||||
CONFIG_YENTA=y
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_BLK_DEV_SR=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_PATA_MACIO=y
|
||||
CONFIG_ADB=y
|
||||
CONFIG_ADB_CUDA=y
|
||||
CONFIG_ADB_PMU=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_PCNET32=y
|
||||
CONFIG_8139CP=y
|
||||
CONFIG_SERIAL_PMACZILOG=y
|
||||
CONFIG_SERIAL_PMACZILOG_TTYS=y
|
||||
CONFIG_SERIAL_PMACZILOG_CONSOLE=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
CONFIG_BOOTX_TEXT=y
|
||||
@@ -0,0 +1,6 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-ppc -M g3beige -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "console=ttyS0 rootwait root=/dev/sda" -serial stdio -net nic,model=rtl8139 -net user # qemu_ppc_g3beige_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu. The
|
||||
graphical window is the framebuffer.
|
||||
@@ -0,0 +1,3 @@
|
||||
CONFIG_SERIAL_PMACZILOG=y
|
||||
CONFIG_SERIAL_PMACZILOG_TTYS=y
|
||||
CONFIG_SERIAL_PMACZILOG_CONSOLE=y
|
||||
@@ -0,0 +1,3 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-ppc -nographic -vga none -M mac99 -cpu g4 -m 1G -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -net nic,model=sungem -net user -append "root=/dev/sda" # qemu_ppc_mac99_defconfig
|
||||
@@ -0,0 +1,38 @@
|
||||
CONFIG_PPC_85xx=y
|
||||
CONFIG_PHYS_64BIT=y
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_INITRAMFS_SOURCE="${BR_BINARIES_DIR}/rootfs.cpio"
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MPC8540_ADS=y
|
||||
CONFIG_MPC85xx_DS=y
|
||||
CONFIG_HIGHMEM=y
|
||||
CONFIG_MATH_EMULATION=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCIEPORTBUS=y
|
||||
CONFIG_PCI_MSI=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_E1000=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_8250_NR_UARTS=6
|
||||
CONFIG_SERIAL_8250_RUNTIME_UARTS=6
|
||||
CONFIG_SERIAL_8250_MANY_PORTS=y
|
||||
CONFIG_SERIAL_8250_DETECT_IRQ=y
|
||||
CONFIG_SERIAL_8250_RSA=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_FSL=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_TMPFS=y
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
From a0919e3177295f4aaa9006915adcddc31788d809 Mon Sep 17 00:00:00 2001
|
||||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Date: Wed, 26 Dec 2018 00:00:40 +0000
|
||||
Subject: [PATCH] powerpc: Fix -mcpu= options for SPE-only compiler
|
||||
|
||||
GCC for Debian's "powerpcspe" architecture only supports 32-bit
|
||||
SPE targets, and using -mcpu=powerpc or -mcpu=powerpc64 is a fatal
|
||||
error.
|
||||
|
||||
* Change the test for a biarch compiler to pass both the -m32 and -m64
|
||||
options, so that it doesn't catch 32-bit-only compilers
|
||||
* Add an ifdef CONFIG_PPC64 around the 64-bit CPU option definitions
|
||||
|
||||
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||
[Romain: Patch from Debian repository:
|
||||
https://salsa.debian.org/kernel-team/linux/-/blob/buster/debian/patches/bugfix/powerpc/powerpc-fix-mcpu-options-for-spe-only-compiler.patch]
|
||||
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
||||
---
|
||||
arch/powerpc/Makefile | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
|
||||
index 5c8c06215dd4..e3dbea6d7ae0 100644
|
||||
--- a/arch/powerpc/Makefile
|
||||
+++ b/arch/powerpc/Makefile
|
||||
@@ -12,7 +12,7 @@
|
||||
# Rewritten by Cort Dougan and Paul Mackerras
|
||||
#
|
||||
|
||||
-HAS_BIARCH := $(call cc-option-yn, -m32)
|
||||
+HAS_BIARCH := $(call cc-option-yn, -m32 -m64)
|
||||
|
||||
# Set default 32 bits cross compilers for vdso and boot wrapper
|
||||
CROSS32_COMPILE ?=
|
||||
@@ -164,6 +164,7 @@ CFLAGS-$(CONFIG_PPC32) += $(call cc-option, $(MULTIPLEWORD))
|
||||
|
||||
CFLAGS-$(CONFIG_PPC32) += $(call cc-option,-mno-readonly-in-sdata)
|
||||
|
||||
+ifdef CONFIG_PPC64
|
||||
ifdef CONFIG_PPC_BOOK3S_64
|
||||
ifdef CONFIG_CPU_LITTLE_ENDIAN
|
||||
CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=power8
|
||||
@@ -175,6 +176,7 @@ endif
|
||||
else
|
||||
CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=powerpc64
|
||||
endif
|
||||
+endif
|
||||
|
||||
ifdef CONFIG_FUNCTION_TRACER
|
||||
CC_FLAGS_FTRACE := -pg
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-ppc -M mpc8544ds -kernel output/images/vmlinux -serial stdio -net nic,model=e1000 -net user # qemu_ppc_mpc8544ds_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
@@ -0,0 +1,10 @@
|
||||
# Enables generic PPC e500 base arch support for QEMU.
|
||||
# The e5500 is a variant of the e500 arch.
|
||||
CONFIG_PPC_QEMU_E500=y
|
||||
|
||||
# Enable virtio (blk, rng and net devices)
|
||||
CONFIG_VIRTIO=y
|
||||
CONFIG_VIRTIO_PCI=y
|
||||
CONFIG_HW_RANDOM_VIRTIO=y
|
||||
CONFIG_VIRTIO_BLK=y
|
||||
CONFIG_VIRTIO_NET=y
|
||||
@@ -0,0 +1,5 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-ppc64 -M ppce500 -cpu e5500 -m 256 -kernel output/images/uImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -append "console=ttyS0 rootwait root=/dev/vda" -serial mon:stdio -nographic # qemu_ppc64_e5500_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
@@ -0,0 +1,5 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-ppc64 -M pseries -cpu POWER7 -m 256 -kernel output/images/vmlinux -append "console=hvc0 rootwait root=/dev/sda" -drive file=output/images/rootfs.ext2,if=scsi,index=0,format=raw -serial stdio -display curses # qemu_ppc64_pseries_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
@@ -0,0 +1,5 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-ppc64 -M pseries -cpu POWER8 -m 256 -kernel output/images/vmlinux -append "console=hvc0 rootwait root=/dev/sda" -drive file=output/images/rootfs.ext2,if=scsi,index=0,format=raw -serial stdio -display curses # qemu_ppc64le_pseries_defconfig
|
||||
|
||||
The login prompt will appear in the terminal window.
|
||||
@@ -0,0 +1,5 @@
|
||||
Run Linux in emulation with:
|
||||
|
||||
qemu-system-riscv32 -M virt -bios output/images/fw_jump.elf -kernel output/images/Image -append "rootwait root=/dev/vda ro" -drive file=output/images/rootfs.ext2,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 -netdev user,id=net0 -device virtio-net-device,netdev=net0 -nographic # qemu_riscv32_virt_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
@@ -0,0 +1,5 @@
|
||||
Run Linux in emulation with:
|
||||
|
||||
qemu-system-riscv64 -M virt -bios output/images/fw_jump.elf -kernel output/images/Image -append "rootwait root=/dev/vda ro" -drive file=output/images/rootfs.ext2,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 -netdev user,id=net0 -device virtio-net-device,netdev=net0 -nographic # qemu_riscv64_virt_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
@@ -0,0 +1,8 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-s390x -M s390-ccw-virtio -cpu max,zpci=on -m 4G -smp 2 \
|
||||
-kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw \
|
||||
-append "rootwait root=/dev/vda net.ifnames=0 biosdevname=0" -display none -serial mon:stdio \
|
||||
-net nic,model=virtio -net user # qemu_s390x_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
@@ -0,0 +1,38 @@
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_CPU_SUBTYPE_SH7751R=y
|
||||
CONFIG_MEMORY_START=0x0c000000
|
||||
CONFIG_FLATMEM_MANUAL=y
|
||||
CONFIG_SH_RTS7751R2D=y
|
||||
CONFIG_RTS7751R2D_PLUS=y
|
||||
CONFIG_HEARTBEAT=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_PATA_PLATFORM=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_8139CP=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_SH_SCI=y
|
||||
CONFIG_SERIAL_SH_SCI_CONSOLE=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_SH_SCI=y
|
||||
CONFIG_MFD_SM501=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_SH_MOBILE_LCDC=y
|
||||
CONFIG_FB_SH_MOBILE_HDMI=y
|
||||
CONFIG_FB_SM501=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_LOGO=y
|
||||
CONFIG_SOUND=y
|
||||
CONFIG_SND_YMFPCI=y
|
||||
CONFIG_SOUND_PRIME=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_R9701=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
@@ -0,0 +1,6 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-sh4 -M r2d -kernel output/images/zImage -drive file=output/images/rootfs.ext2,if=ide,format=raw -append "rootwait root=/dev/sda console=ttySC1,115200 noiotrap" -serial null -serial stdio -net nic,model=rtl8139 -net user # qemu_sh4_r2d_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
The graphical window is the framebuffer.
|
||||
@@ -0,0 +1,38 @@
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_CPU_SUBTYPE_SH7751R=y
|
||||
CONFIG_MEMORY_START=0x0c000000
|
||||
CONFIG_FLATMEM_MANUAL=y
|
||||
CONFIG_CPU_BIG_ENDIAN=y
|
||||
CONFIG_SH_RTS7751R2D=y
|
||||
CONFIG_RTS7751R2D_PLUS=y
|
||||
CONFIG_HEARTBEAT=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_PATA_PLATFORM=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_8139CP=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_SH_SCI=y
|
||||
CONFIG_SERIAL_SH_SCI_CONSOLE=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_SH_SCI=y
|
||||
CONFIG_MFD_SM501=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_SH_MOBILE_LCDC=y
|
||||
CONFIG_FB_SH_MOBILE_HDMI=y
|
||||
CONFIG_FB_SM501=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_LOGO=y
|
||||
CONFIG_SND_YMFPCI=y
|
||||
CONFIG_SOUND_PRIME=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_R9701=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
@@ -0,0 +1,6 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-sh4eb -M r2d -kernel output/images/zImage -drive file=output/images/rootfs.ext2,if=ide,format=raw -append "rootwait root=/dev/sda console=ttySC1,115200 noiotrap" -serial null -serial stdio -net nic,model=rtl8139 -net user # qemu_sh4eb_r2d_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
The graphical window is the framebuffer.
|
||||
@@ -0,0 +1,31 @@
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_SUN_OPENPROMFS=m
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
# CONFIG_WIRELESS is not set
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_BLK_DEV_SR=y
|
||||
CONFIG_CHR_DEV_SG=y
|
||||
CONFIG_SCSI_SUNESP=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_SUNLANCE=y
|
||||
# CONFIG_WLAN is not set
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_KEYBOARD_SUNKBD=y
|
||||
CONFIG_MOUSE_SERIAL=y
|
||||
CONFIG_SERIAL_SUNZILOG=y
|
||||
CONFIG_SERIAL_SUNZILOG_CONSOLE=y
|
||||
CONFIG_SERIAL_SUNSU=y
|
||||
CONFIG_SERIAL_SUNSU_CONSOLE=y
|
||||
CONFIG_SUN_OPENPROMIO=m
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_ISO9660_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
@@ -0,0 +1,5 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-sparc -M SS-10 -kernel output/images/zImage -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda console=ttyS0,115200" -serial stdio -net nic,model=lance -net user # qemu_sparc_ss10_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
@@ -0,0 +1,25 @@
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_NO_HZ_IDLE=y
|
||||
CONFIG_EMBEDDED=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_SUN_OPENPROMFS=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_PATA_CMD64X=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_E1000=y
|
||||
CONFIG_SERIAL_SUNSU=y
|
||||
CONFIG_SERIAL_SUNSU_CONSOLE=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_NLS=y
|
||||
CONFIG_NLS_DEFAULT="utf-8"
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
@@ -0,0 +1,5 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-sparc64 -M sun4u -kernel output/images/vmlinux -append "rootwait root=/dev/sda console=ttyS0,115200" -serial stdio -drive file=output/images/rootfs.ext2,format=raw -net nic,model=e1000 -net user # qemu_sparc64_sun4u_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
@@ -0,0 +1,52 @@
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_CGROUPS=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_HYPERVISOR_GUEST=y
|
||||
CONFIG_PARAVIRT=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
# CONFIG_WIRELESS is not set
|
||||
CONFIG_PCI=y
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_VIRTIO_BLK=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_SCSI_VIRTIO=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_ATA_PIIX=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_VIRTIO_NET=y
|
||||
CONFIG_NE2K_PCI=y
|
||||
CONFIG_8139CP=y
|
||||
# CONFIG_WLAN is not set
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_VIRTIO_CONSOLE=y
|
||||
CONFIG_HW_RANDOM_VIRTIO=m
|
||||
CONFIG_DRM=y
|
||||
CONFIG_DRM_QXL=y
|
||||
CONFIG_DRM_BOCHS=y
|
||||
CONFIG_DRM_VIRTIO_GPU=y
|
||||
CONFIG_SOUND=y
|
||||
CONFIG_SND=y
|
||||
CONFIG_SND_HDA_INTEL=y
|
||||
CONFIG_SND_HDA_GENERIC=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_XHCI_HCD=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_UHCI_HCD=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_VIRTIO_PCI=y
|
||||
CONFIG_VIRTIO_BALLOON=y
|
||||
CONFIG_VIRTIO_INPUT=y
|
||||
CONFIG_VIRTIO_MMIO=y
|
||||
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_AUTOFS4_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
Executable
+11
@@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -u
|
||||
set -e
|
||||
|
||||
# Add a console on tty1
|
||||
if [ -e ${TARGET_DIR}/etc/inittab ]; then
|
||||
grep -qE '^tty1::' ${TARGET_DIR}/etc/inittab || \
|
||||
sed -i '/GENERIC_SERIAL/a\
|
||||
tty1::respawn:/sbin/getty -L tty1 0 vt100 # QEMU graphical window' ${TARGET_DIR}/etc/inittab
|
||||
fi
|
||||
@@ -0,0 +1,7 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-i386 -M pc -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -append "rootwait root=/dev/vda console=tty1 console=ttyS0" -serial stdio -net nic,model=virtio -net user # qemu_x86_defconfig
|
||||
|
||||
Optionally add -smp N to emulate a SMP system with N CPUs.
|
||||
|
||||
The login prompt will appear in the graphical window.
|
||||
@@ -0,0 +1,53 @@
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_CGROUPS=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_HYPERVISOR_GUEST=y
|
||||
CONFIG_PARAVIRT=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
# CONFIG_WIRELESS is not set
|
||||
CONFIG_PCI=y
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_VIRTIO_BLK=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_SCSI_VIRTIO=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_ATA_PIIX=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_VIRTIO_NET=y
|
||||
CONFIG_NE2K_PCI=y
|
||||
CONFIG_8139CP=y
|
||||
# CONFIG_WLAN is not set
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_VIRTIO_CONSOLE=y
|
||||
CONFIG_HW_RANDOM_VIRTIO=m
|
||||
CONFIG_DRM=y
|
||||
CONFIG_DRM_QXL=y
|
||||
CONFIG_DRM_BOCHS=y
|
||||
CONFIG_DRM_VIRTIO_GPU=y
|
||||
CONFIG_SOUND=y
|
||||
CONFIG_SND=y
|
||||
CONFIG_SND_HDA_INTEL=y
|
||||
CONFIG_SND_HDA_GENERIC=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_XHCI_HCD=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_UHCI_HCD=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_VIRTIO_PCI=y
|
||||
CONFIG_VIRTIO_BALLOON=y
|
||||
CONFIG_VIRTIO_INPUT=y
|
||||
CONFIG_VIRTIO_MMIO=y
|
||||
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_AUTOFS4_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
CONFIG_UNWINDER_FRAME_POINTER=y
|
||||
Executable
+11
@@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -u
|
||||
set -e
|
||||
|
||||
# Add a console on tty1
|
||||
if [ -e ${TARGET_DIR}/etc/inittab ]; then
|
||||
grep -qE '^tty1::' ${TARGET_DIR}/etc/inittab || \
|
||||
sed -i '/GENERIC_SERIAL/a\
|
||||
tty1::respawn:/sbin/getty -L tty1 0 vt100 # QEMU graphical window' ${TARGET_DIR}/etc/inittab
|
||||
fi
|
||||
@@ -0,0 +1,7 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-x86_64 -M pc -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -append "rootwait root=/dev/vda console=tty1 console=ttyS0" -serial stdio -net nic,model=virtio -net user # qemu_x86_64_defconfig
|
||||
|
||||
Optionally add -smp N to emulate a SMP system with N CPUs.
|
||||
|
||||
The login prompt will appear in the graphical window.
|
||||
@@ -0,0 +1,39 @@
|
||||
CONFIG_NO_HZ_IDLE=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_XTENSA_VARIANT_CUSTOM=y
|
||||
CONFIG_XTENSA_VARIANT_CUSTOM_NAME="dc233c"
|
||||
# CONFIG_XTENSA_VARIANT_MMU is not set
|
||||
CONFIG_XTENSA_UNALIGNED_USER=y
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_MEMMAP_CACHEATTR=0x2cccccc7
|
||||
CONFIG_KERNEL_LOAD_ADDRESS=0x00003000
|
||||
# CONFIG_PCI is not set
|
||||
CONFIG_XTENSA_PLATFORM_XTFPGA=y
|
||||
CONFIG_CMDLINE_BOOL=y
|
||||
CONFIG_CMDLINE="earlycon=uart8250,mmio32,0xfd050020,115200n8 console=ttyS0,115200n8 memmap=0x04000000@0"
|
||||
CONFIG_DEFAULT_MEM_START=0x00000000
|
||||
CONFIG_BINFMT_FLAT=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
# CONFIG_IPV6 is not set
|
||||
CONFIG_NETFILTER=y
|
||||
CONFIG_DNS_RESOLVER=y
|
||||
# CONFIG_WIRELESS is not set
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_MARVELL_PHY=y
|
||||
# CONFIG_WLAN is not set
|
||||
CONFIG_SERIAL_8250=y
|
||||
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_VGA_CONSOLE is not set
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_FANOTIFY=y
|
||||
CONFIG_PRINTK_TIME=y
|
||||
# CONFIG_S32C1I_SELFTEST is not set
|
||||
@@ -0,0 +1,36 @@
|
||||
# CONFIG_SWAP is not set
|
||||
# CONFIG_CROSS_MEMORY_ATTACH is not set
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_XTENSA_VARIANT_DC233C=y
|
||||
CONFIG_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX=y
|
||||
CONFIG_XTENSA_PLATFORM_XTFPGA=y
|
||||
CONFIG_CMDLINE_BOOL=y
|
||||
CONFIG_CMDLINE="console=ttyS0,38400 memmap=0x04000000@0"
|
||||
# CONFIG_COMPACTION is not set
|
||||
# CONFIG_BOUNCE is not set
|
||||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_LRO is not set
|
||||
# CONFIG_INET_DIAG is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_WIRELESS is not set
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_NETDEVICES=y
|
||||
# CONFIG_WLAN is not set
|
||||
CONFIG_SERIAL_8250=y
|
||||
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_VGA_CONSOLE is not set
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
CONFIG_LD_NO_RELAX=y
|
||||
# CONFIG_S32C1I_SELFTEST is not set
|
||||
@@ -0,0 +1,7 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-xtensa -M lx60 -cpu dc233c -monitor null -nographic -kernel output/images/Image.elf # qemu_xtensa_lx60_defconfig
|
||||
|
||||
qemu-system-xtensa -M lx60 -cpu dc233c -monitor null -nographic -kernel output/images/Image.elf # qemu_xtensa_lx60_nommu_defconfig
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
Reference in New Issue
Block a user