summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package/base-files/Makefile3
-rw-r--r--target/arm/Makefile13
-rw-r--r--target/arm/sys-available/qemu-arm5
-rw-r--r--target/config/Config.in21
-rw-r--r--target/linux/config/Config.in.netdevice10
-rw-r--r--target/linux/config/Config.in.serial11
-rw-r--r--target/linux/config/Config.in.systems3
7 files changed, 55 insertions, 11 deletions
diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index 28fb34348..4cc7e970a 100644
--- a/package/base-files/Makefile
+++ b/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; \
diff --git a/target/arm/Makefile b/target/arm/Makefile
index 8e6ab0df7..c62a6fb6f 100644
--- a/target/arm/Makefile
+++ b/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
diff --git a/target/arm/sys-available/qemu-arm b/target/arm/sys-available/qemu-arm
index beb1e2ee4..1e62f2abb 100644
--- a/target/arm/sys-available/qemu-arm
+++ b/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.
diff --git a/target/config/Config.in b/target/config/Config.in
index 58a27cbbd..e97ce5443 100644
--- a/target/config/Config.in
+++ b/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
diff --git a/target/linux/config/Config.in.netdevice b/target/linux/config/Config.in.netdevice
index 2f9b87200..b615156f9 100644
--- a/target/linux/config/Config.in.netdevice
+++ b/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
diff --git a/target/linux/config/Config.in.serial b/target/linux/config/Config.in.serial
index 3451046de..adc25312d 100644
--- a/target/linux/config/Config.in.serial
+++ b/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
diff --git a/target/linux/config/Config.in.systems b/target/linux/config/Config.in.systems
index 24baa864e..3e64caddc 100644
--- a/target/linux/config/Config.in.systems
+++ b/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