Quellcode durchsuchen

add support for Qemu Versatile with network emulation

Waldemar Brodkorb vor 12 Jahren
Ursprung
Commit
f3431e3a6f

+ 3 - 0
package/base-files/Makefile

@@ -64,6 +64,9 @@ endif
 	    cat ./files/inittab.serial >> $(IDIR_BASE_FILES)/etc/inittab
 	test -z $(ADK_RUNTIME_CONSOLE_BOTH) || \
 	    cat ./files/inittab.vga >> $(IDIR_BASE_FILES)/etc/inittab
+ifeq ($(ADK_TARGET_QEMU_ARM_MODEL_VERSATILE),y)
+	$(SED) 's#ttyS#ttyAMA#g' $(IDIR_BASE_FILES)/etc/inittab
+endif
 	$(SED) 's#@SPEED@#$(ADK_RUNTIME_CONSOLE_SERIAL_SPEED)#' $(IDIR_BASE_FILES)/etc/inittab
 	test -z $(ADK_RUNTIME_HOSTNAME) || \
 	    echo $(ADK_RUNTIME_HOSTNAME) > $(IDIR_BASE_FILES)/etc/hostname; \

+ 10 - 3
target/arm/Makefile

@@ -11,6 +11,13 @@ ZKERNEL:=$(LINUX_DIR)/arch/arm/boot/zImage
 KERNEL:=$(LINUX_DIR)/vmlinux
 LOADADDR:=0x20008000
 
+ifeq ($(ADK_TARGET_QEMU_ARM_MODEL_SPITZ),y)
+MACH:=spitz
+endif
+ifeq ($(ADK_TARGET_QEMU_ARM_MODEL_VERSATILE),y)
+MACH:=versatilepb
+endif
+
 tools-compile:
 	$(MAKE) -C ../tools/uboot-mkimage
 
@@ -50,7 +57,7 @@ ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y)
 	@echo "Use following command to create a QEMU Image:"
 	@echo "sudo ./scripts/create-image.sh -f $(ADK_TARGET_ROOTFS) qemu-${CPU_ARCH}.img $(BIN_DIR)/$(ROOTFSTARBALL)"
 	@echo "Start qemu with following options:"
-	@echo 'qemu-system-arm -M spitz -nographic -kernel $(BIN_DIR)/$(TARGET_KERNEL) -hda qemu-${CPU_ARCH}.img -append "root=/dev/hda1"'
+	@echo 'qemu-system-arm -M $(MACH) -nographic -kernel $(BIN_DIR)/$(TARGET_KERNEL) -hda qemu-${CPU_ARCH}.img -append "root=/dev/hda1"'
 endif
 endif
 ifeq ($(ADK_TARGET_FS),initramfs)
@@ -64,7 +71,7 @@ endif
 	@echo 'The initramfs image is: ${BIN_DIR}/${INITRAMFS}'
 ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y)
 	@echo "Start qemu with following command line:"
-	@echo 'qemu-system-arm -M spitz -nographic -kernel $(BIN_DIR)/$(TARGET_KERNEL) -initrd ${BIN_DIR}/${INITRAMFS}'
+	@echo 'qemu-system-arm -M $(MACH) -nographic -kernel $(BIN_DIR)/$(TARGET_KERNEL) -initrd ${BIN_DIR}/${INITRAMFS}'
 endif
 endif
 ifeq ($(ADK_TARGET_FS),initramfs-piggyback)
@@ -77,6 +84,6 @@ endif
 	@echo 'The kernel+initramfs file is: $(BIN_DIR)/${TARGET_KERNEL}'
 ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y)
 	@echo "Start qemu with following command line:"
-	@echo 'qemu-system-arm -M spitz -nographic -kernel $(BIN_DIR)/$(TARGET_KERNEL)'
+	@echo 'qemu-system-arm -M $(MACH) -nographic -kernel $(BIN_DIR)/$(TARGET_KERNEL)'
 endif
 endif

+ 0 - 5
target/arm/sys-available/qemu-arm

@@ -4,12 +4,7 @@ config ADK_TARGET_SYSTEM_QEMU_ARM
 	select ADK_qemu_arm
 	select ADK_little
 	select ADK_EABI
-	select ADK_KERNEL_ARCH_PXA
-	select ADK_KERNEL_PXA_SHARPSL
-	select ADK_KERNEL_MACH_SPITZ
-	select ADK_KERNEL_SPI_PXA2XX
 	select ADK_TARGET_NO_FPU
 	select ADK_HARDWARE_QEMU
 	help
 	 Support for Qemu Emulator (arm).
-	 Optimized for PXA270 Spitz.

+ 20 - 1
target/config/Config.in

@@ -74,6 +74,24 @@ config ADK_TARGET_ABI_N64
 endchoice
 
 # submodel support
+#
+choice
+prompt "Qemu ARM Emulation"
+depends on ADK_TARGET_SYSTEM_QEMU_ARM
+
+config ADK_TARGET_QEMU_ARM_MODEL_SPITZ
+	boolean "Xscale PXA270 Spitz PDA"
+	select ADK_KERNEL_ARCH_PXA
+	select ADK_KERNEL_PXA_SHARPSL
+	select ADK_KERNEL_MACH_SPITZ
+	select ADK_KERNEL_SPI_PXA2XX
+
+config ADK_TARGET_QEMU_ARM_MODEL_VERSATILE
+	boolean "ARM Ltd. Versatile"
+	select ADK_KERNEL_ARCH_VERSATILE
+
+endchoice
+
 choice
 prompt "Foxboard LX Model"
 depends on ADK_TARGET_SYSTEM_FOXBOARD_LX
@@ -348,7 +366,8 @@ config ADK_TARGET_CMDLINE
 	default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_IBM_X40
 	default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_INTEL_ATOM
 	default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_QEMU_X86
-	default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_QEMU_ARM
+	default "console=ttyS0,115200 console=tty0" if ADK_TARGET_QEMU_ARM_MODEL_SPITZ
+	default "console=ttyAMA0 console=tty0" if ADK_TARGET_QEMU_ARM_MODEL_VERSATILE
 	default "console=tty0" if ADK_TARGET_SYSTEM_QEMU_SH
 	default "console=ttyS0,115200" if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D13
 	default "console=ttyS0,115200" if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D2

+ 10 - 0
target/linux/config/Config.in.netdevice

@@ -22,6 +22,16 @@ config ADK_KERNEL_NETDEV_1000
 config ADK_KERNEL_VIA_RHINE_MMIO
 	boolean
 
+config ADK_KERNEL_SMC91X
+	boolean
+	select ADK_KERNEL_NETDEVICES
+	select ADK_KERNEL_NET_ETHERNET
+	select ADK_KERNEL_NET_PCI
+	select ADK_KERNEL_MII
+	default y if ADK_TARGET_QEMU_ARM_MODEL_VERSATILE
+	default n
+	help
+
 config ADK_KERNEL_CPMAC
 	boolean
 	select ADK_KERNEL_NETDEVICES

+ 9 - 2
target/linux/config/Config.in.serial

@@ -1,8 +1,15 @@
 config ADK_KERNEL_SERIAL_PXA
 	boolean
-	default y if ADK_TARGET_SYSTEM_QEMU_ARM
+	default y if ADK_TARGET_QEMU_ARM_MODEL_SPITZ
 
 config ADK_KERNEL_SERIAL_PXA_CONSOLE
 	boolean
-	default y if ADK_TARGET_SYSTEM_QEMU_ARM
+	default y if ADK_TARGET_QEMU_ARM_MODEL_SPITZ
 
+config ADK_KERNEL_SERIAL_AMBA_PL011
+	boolean
+	default y if ADK_TARGET_QEMU_ARM_MODEL_VERSATILE
+
+config ADK_KERNEL_SERIAL_AMBA_PL011_CONSOLE
+	boolean
+	default y if ADK_TARGET_QEMU_ARM_MODEL_VERSATILE

+ 3 - 0
target/linux/config/Config.in.systems

@@ -35,6 +35,9 @@ config ADK_KERNEL_LEMOTE_MACH2F
 	boolean
 
 # arm systems
+config ADK_KERNEL_ARCH_VERSATILE
+	boolean
+
 config ADK_KERNEL_ARCH_PXA
 	boolean