summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2014-03-04 18:42:45 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2014-03-04 18:42:45 +0100
commite9da3aa77efafebd9ec392d9898ed33619433c4c (patch)
tree1d012d830b7d3a3d70822b62297e220b0a36e5b3
parentfe79926211afc01f7109a3635e1e72a46b674848 (diff)
try to add support for graphical qemu
-rw-r--r--package/base-files/Makefile6
-rw-r--r--rules.mk1
-rw-r--r--target/config/Config.in33
-rw-r--r--target/linux/config/Config.in.graphics24
-rw-r--r--target/linux/config/Config.in.input49
-rw-r--r--target/sh/Makefile6
-rw-r--r--target/sh/kernel/qemu-sh23
-rw-r--r--target/sh/sys-available/qemu-sh43
-rw-r--r--target/sh/sys-available/qemu-sh4eb2
9 files changed, 64 insertions, 83 deletions
diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index ad09f8d3d..9323b25ad 100644
--- a/package/base-files/Makefile
+++ b/package/base-files/Makefile
@@ -75,6 +75,12 @@ endif
ifeq ($(ADK_TARGET_SYSTEM_QEMU_PPC64),y)
$(SED) 's#ttyS#hvc#g' $(IDIR_BASE_FILES)/etc/inittab
endif
+ifeq ($(ADK_TARGET_SYSTEM_QEMU_SH4),y)
+ $(SED) 's#ttyS0#ttySC1#g' $(IDIR_BASE_FILES)/etc/inittab
+endif
+ifeq ($(ADK_TARGET_SYSTEM_QEMU_SH4EB),y)
+ $(SED) 's#ttyS0#ttySC1#g' $(IDIR_BASE_FILES)/etc/inittab
+endif
ifeq ($(ADK_TARGET_QEMU_MICROBLAZE_MODEL_S3ADSP1800),y)
$(SED) 's#ttyS#ttyUL#g' $(IDIR_BASE_FILES)/etc/inittab
endif
diff --git a/rules.mk b/rules.mk
index c4f7594ee..8e9e013d9 100644
--- a/rules.mk
+++ b/rules.mk
@@ -43,6 +43,7 @@ ADK_TARGET_MIPS_ABI:= $(strip $(subst ",, $(ADK_TARGET_MIPS_ABI)))
ADK_TARGET_IP:= $(strip $(subst ",, $(ADK_TARGET_IP)))
ADK_TARGET_SUFFIX:= $(strip $(subst ",, $(ADK_TARGET_SUFFIX)))
ADK_TARGET_CMDLINE:= $(strip $(subst ",, $(ADK_TARGET_CMDLINE)))
+ADK_QEMU_ARGS:= $(strip $(subst ",, $(ADK_QEMU_ARGS)))
ADK_RUNTIME_TMPFS_SIZE:= $(strip $(subst ",, $(ADK_RUNTIME_TMPFS_SIZE)))
ADK_RUNTIME_CONSOLE_SERIAL_SPEED:= $(strip $(subst ",, $(ADK_RUNTIME_CONSOLE_SERIAL_SPEED)))
ADK_HOST:= $(strip $(subst ",, $(ADK_HOST)))
diff --git a/target/config/Config.in b/target/config/Config.in
index 44ee685fe..1e7fb49ae 100644
--- a/target/config/Config.in
+++ b/target/config/Config.in
@@ -214,6 +214,36 @@ config ADK_TARGET_KERNEL_MINICONFIG
default "raspberry-pi" if ADK_TARGET_SYSTEM_RASPBERRY_PI
default "sharp-zaurus" if ADK_TARGET_SYSTEM_SHARP_ZAURUS
+config ADK_QEMU_ARGS
+ string
+ default "-nographic" if ADK_TARGET_QEMU_WITHOUT_GRAPHIC
+
+choice
+prompt "Qemu Emulation with graphical output"
+depends on ADK_HARDWARE_QEMU
+
+config ADK_TARGET_QEMU_WITHOUT_GRAPHIC
+ boolean "disabled"
+
+config ADK_TARGET_QEMU_WITH_GRAPHIC
+ boolean "enabled"
+ select ADK_KERNEL_VT
+ select ADK_KERNEL_VT_CONSOLE
+ select ADK_KERNEL_FONTS
+ select ADK_KERNEL_FONT_8x16
+ select ADK_KERNEL_FB
+ select ADK_KERNEL_FRAMEBUFFER_CONSOLE
+ select ADK_KERNEL_FB_SM501 if ADK_TARGET_SYSTEM_QEMU_SH4 || ADK_TARGET_SYSTEM_QEMU_SH4EB
+ select ADK_KERNEL_FB_CIRRUS if ADK_TARGET_SYSTEM_QEMU_I686 || ADK_TARGET_SYSTEM_QEMU_X86_64
+ select ADK_KERNEL_FB_PXA if ADK_TARGET_QEMU_ARM_MODEL_SPITZ
+ select ADK_KERNEL_INPUT
+ select ADK_KERNEL_INPUT_KEYBOARD
+ select ADK_KERNEL_KEYBOARD_ATKBD if ADK_TARGET_SYSTEM_QEMU_I686 || ADK_TARGET_SYSTEM_QEMU_X86_64
+ select ADK_KERNEL_INPUT_MOUSE
+ select ADK_KERNEL_INPUT_MOUSEDEV
+
+endchoice
+
choice
prompt "Qemu Emulation using VirtIO drivers"
depends on ADK_TARGET_SYSTEM_QEMU_SPARC64
@@ -612,7 +642,8 @@ config ADK_TARGET_CMDLINE
default "console=ttyAMA0 console=tty0" if ADK_TARGET_QEMU_ARM_MODEL_VERSATILEPB
default "console=ttyAMA0 console=tty0" if ADK_TARGET_QEMU_ARM_MODEL_VEXPRESS_A9
default "console=ttyS0,115200 console=tty0 fbcon=rotate:1" if ADK_TARGET_SYSTEM_SHARP_ZAURUS
- default "console=ttySC1 console=tty0" if ADK_TARGET_SYSTEM_QEMU_SH
+ default "console=ttySC1 console=tty0" if ADK_TARGET_SYSTEM_QEMU_SH4
+ default "console=ttySC1 console=tty0" if ADK_TARGET_SYSTEM_QEMU_SH4EB
default "console=ttyS0" if ADK_TARGET_SYSTEM_ARANYM_M68K
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.graphics b/target/linux/config/Config.in.graphics
index f6f3962cf..477541478 100644
--- a/target/linux/config/Config.in.graphics
+++ b/target/linux/config/Config.in.graphics
@@ -33,9 +33,19 @@ config ADK_KERNEL_FB
config ADK_KERNEL_FRAMEBUFFER_CONSOLE
boolean
+config ADK_KERNEL_MFD_SM501
+ boolean
+
+config ADK_KERNEL_FB_CIRRUS
+ boolean
+
config ADK_KERNEL_FB_GEODE
boolean
+config ADK_KERNEL_FB_SM501
+ select ADK_KERNEL_MFD_SM501
+ boolean
+
config ADK_KERNEL_DRM
boolean
@@ -74,26 +84,14 @@ config ADK_KERNEL_FB_VESA
help
Framebuffer support for VirtualBox Emulator.
-config ADK_KERNEL_FB_CIRRUS
- prompt "................................ Framebuffer support for QEMU Emulator (Cirrus)"
- boolean
- select ADK_KERNEL_FB
- select ADK_KERNEL_FRAMEBUFFER_CONSOLE
- default y if ADK_TARGET_SYSTEM_QEMU_I686
- default n
- depends on ADK_TARGET_SYSTEM_QEMU_I686
- help
- Framebuffer support for Qemu Emulator.
-
config ADK_KERNEL_FB_PXA
prompt "................................ Framebuffer support for Sharp Zaurus"
tristate
select ADK_KERNEL_FB
select ADK_KERNEL_FRAMEBUFFER_CONSOLE
default y if ADK_TARGET_SYSTEM_SHARP_ZAURUS
- default y if ADK_TARGET_QEMU_ARM_MODEL_SPITZ
default n
- depends on ADK_TARGET_SYSTEM_SHARP_ZAURUS || ADK_TARGET_QEMU_ARM_MODEL_SPITZ
+ depends on ADK_TARGET_SYSTEM_SHARP_ZAURUS
help
Framebuffer support for Sharp Zaurus CL Series.
diff --git a/target/linux/config/Config.in.input b/target/linux/config/Config.in.input
index 37ad2172b..939354881 100644
--- a/target/linux/config/Config.in.input
+++ b/target/linux/config/Config.in.input
@@ -1,22 +1,12 @@
-menu "Input devices"
-depends on ADK_TARGET_WITH_USB || ADK_TARGET_WITH_INPUT || ADK_TARGET_WITH_TOUCHSCREEN
-
config ADK_KERNEL_INPUT
boolean
- default y if ADK_TARGET_SYSTEM_QEMU_I686
- default y if ADK_TARGET_SYSTEM_QEMU_X86_64
- default y if ADK_TARGET_SYSTEM_QEMU_SH4
default y if ADK_TARGET_SYSTEM_ARANYM_M68K
default y if ADK_TARGET_SYSTEM_VBOX_I686
default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
default y if ADK_TARGET_SYSTEM_IBM_X40
default y if ADK_NATIVE_SYSTEM_IBM_X40
- default y if ADK_TARGET_SYSTEM_TAROX_PC
- default y if ADK_NATIVE_SYSTEM_TAROX_PC
- default y if ADK_TARGET_SYSTEM_INTEL_ATOM
- default y if ADK_NATIVE_SYSTEM_INTEL_ATOM
default y if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
- default y if ADK_TARGET_SYSTEM_SHUTTLE_SA76
+ default y if ADK_NATIVE_SYSTEM_LEMOTE_YEELONG
default y if ADK_TARGET_SYSTEM_SHARP_ZAURUS
default y if ADK_TARGET_SYSTEM_RASPBERRY_PI
default n
@@ -67,72 +57,48 @@ config ADK_KERNEL_INPUT_EVDEV
config ADK_KERNEL_INPUT_KEYBOARD
boolean
- default y if ADK_TARGET_SYSTEM_QEMU_I686
- default y if ADK_TARGET_SYSTEM_QEMU_X86_64
default y if ADK_TARGET_SYSTEM_ARANYM_M68K
default y if ADK_TARGET_SYSTEM_VBOX_I686
default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
default y if ADK_TARGET_SYSTEM_IBM_X40
default y if ADK_NATIVE_SYSTEM_IBM_X40
- default y if ADK_TARGET_SYSTEM_TAROX_PC
- default y if ADK_NATIVE_SYSTEM_TAROX_PC
- default y if ADK_TARGET_SYSTEM_INTEL_ATOM
- default y if ADK_NATIVE_SYSTEM_INTEL_ATOM
default y if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
- default y if ADK_TARGET_SYSTEM_SHUTTLE_SA76
+ default y if ADK_NATIVE_SYSTEM_LEMOTE_YEELONG
default y if ADK_TARGET_SYSTEM_SHARP_ZAURUS
default y if ADK_TARGET_SYSTEM_RASPBERRY_PI
default n
config ADK_KERNEL_KEYBOARD_ATKBD
boolean
- default y if ADK_TARGET_SYSTEM_QEMU_I686
- default y if ADK_TARGET_SYSTEM_QEMU_X86_64
default y if ADK_TARGET_SYSTEM_VBOX_I686
default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
default y if ADK_TARGET_SYSTEM_IBM_X40
default y if ADK_NATIVE_SYSTEM_IBM_X40
- default y if ADK_TARGET_SYSTEM_TAROX_PC
- default y if ADK_NATIVE_SYSTEM_TAROX_PC
- default y if ADK_TARGET_SYSTEM_INTEL_ATOM
- default y if ADK_NATIVE_SYSTEM_INTEL_ATOM
default y if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
- default y if ADK_TARGET_SYSTEM_SHUTTLE_SA76
+ default y if ADK_NATIVE_SYSTEM_LEMOTE_YEELONG
default n
config ADK_KERNEL_INPUT_MOUSE
boolean
- default y if ADK_TARGET_SYSTEM_QEMU_I686
- default y if ADK_TARGET_SYSTEM_QEMU_X86_64
default y if ADK_TARGET_SYSTEM_ARANYM_M68K
default y if ADK_TARGET_SYSTEM_VBOX_I686
default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
default y if ADK_TARGET_SYSTEM_IBM_X40
default y if ADK_NATIVE_SYSTEM_IBM_X40
- default y if ADK_TARGET_SYSTEM_TAROX_PC
- default y if ADK_NATIVE_SYSTEM_TAROX_PC
- default y if ADK_TARGET_SYSTEM_INTEL_ATOM
- default y if ADK_NATIVE_SYSTEM_INTEL_ATOM
default y if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
- default y if ADK_TARGET_SYSTEM_SHUTTLE_SA76
+ default y if ADK_NATIVE_SYSTEM_LEMOTE_YEELONG
default y if ADK_TARGET_SYSTEM_SHARP_ZAURUS
default y if ADK_TARGET_SYSTEM_RASPBERRY_PI
default n
config ADK_KERNEL_INPUT_MOUSEDEV
boolean
- default y if ADK_TARGET_SYSTEM_QEMU_I686
- default y if ADK_TARGET_SYSTEM_QEMU_X86_64
default y if ADK_TARGET_SYSTEM_VBOX_I686
default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
default y if ADK_TARGET_SYSTEM_IBM_X40
default y if ADK_NATIVE_SYSTEM_IBM_X40
- default y if ADK_TARGET_SYSTEM_TAROX_PC
- default y if ADK_NATIVE_SYSTEM_TAROX_PC
- default y if ADK_TARGET_SYSTEM_INTEL_ATOM
- default y if ADK_NATIVE_SYSTEM_INTEL_ATOM
default y if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
- default y if ADK_TARGET_SYSTEM_SHUTTLE_SA76
+ default y if ADK_NATIVE_SYSTEM_LEMOTE_YEELONG
default y if ADK_TARGET_SYSTEM_SHARP_ZAURUS
default y if ADK_TARGET_SYSTEM_RASPBERRY_PI
default n
@@ -151,6 +117,8 @@ config ADK_KERNEL_HID_GENERIC
select ADK_KERNEL_HID_SUPPORT
default n
+menu "Input devices"
+depends on ADK_TARGET_WITH_USB || ADK_TARGET_WITH_INPUT || ADK_TARGET_WITH_TOUCHSCREEN
config ADK_KPACKAGE_KMOD_USB_HID
prompt "kmod-usb-hid..................... USB keyboard/mouse support"
@@ -164,7 +132,8 @@ config ADK_KPACKAGE_KMOD_USB_HID
depends on ADK_PACKAGE_KMOD_USB_CONTROLLER
depends on ADK_TARGET_WITH_USB
default y if ADK_TARGET_SYSTEM_RASPBERRY_PI
- default y if ADK_TARGET_SYSTEM_QEMU_SH4
+ default y if ADK_TARGET_SYSTEM_QEMU_SH4 && ADK_TARGET_QEMU_WITH_GRAPHIC
+ default y if ADK_TARGET_SYSTEM_QEMU_SH4EB && ADK_TARGET_QEMU_WITH_GRAPHIC
default n
config ADK_KERNEL_LOGITECH_DINOVO
diff --git a/target/sh/Makefile b/target/sh/Makefile
index 98c5fb3ce..da733acac 100644
--- a/target/sh/Makefile
+++ b/target/sh/Makefile
@@ -18,7 +18,7 @@ ifneq ($(ADK_HARDWARE_QEMU),)
@echo "Use following command to create a QEMU Image:"
@echo "./scripts/create.sh +g qemu-${CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
@echo "Start qemu with following options:"
- @echo 'qemu-system-${CPU_ARCH} -M r2d -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${CPU_ARCH}.img'
+ @echo 'qemu-system-${CPU_ARCH} ${ADK_QEMU_ARGS} -M r2d -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${CPU_ARCH}.img'
endif
endif
ifeq ($(ADK_TARGET_FS),initramfs)
@@ -28,7 +28,7 @@ imageinstall: $(FW_DIR)/$(INITRAMFS)
@echo 'The initramfs image is: ${FW_DIR}/${INITRAMFS}'
ifeq ($(ADK_HARDWARE_QEMU),y)
@echo "Start qemu with following command line:"
- @echo 'qemu-system-${CPU_ARCH} -M r2d -kernel $(FW_DIR)/$(TARGET_KERNEL) -initrd ${FW_DIR}/${INITRAMFS}'
+ @echo 'qemu-system-${CPU_ARCH} ${ADK_QEMU_ARGS} -M r2d -kernel $(FW_DIR)/$(TARGET_KERNEL) -initrd ${FW_DIR}/${INITRAMFS}'
endif
endif
ifeq ($(ADK_TARGET_FS),initramfs-piggyback)
@@ -37,6 +37,6 @@ imageinstall: createinitramfs
@echo 'The kernel+initramfs file is: $(FW_DIR)/${TARGET_KERNEL}'
ifeq ($(ADK_HARDWARE_QEMU),y)
@echo "Start qemu with following command line:"
- @echo 'qemu-system-${CPU_ARCH} -M r2d -kernel $(FW_DIR)/$(TARGET_KERNEL)'
+ @echo 'qemu-system-${CPU_ARCH} ${ADK_QEMU_ARGS} -M r2d -kernel $(FW_DIR)/$(TARGET_KERNEL)'
endif
endif
diff --git a/target/sh/kernel/qemu-sh b/target/sh/kernel/qemu-sh
index 9ea0e8595..5c38a01fb 100644
--- a/target/sh/kernel/qemu-sh
+++ b/target/sh/kernel/qemu-sh
@@ -13,6 +13,7 @@ CONFIG_SH_RTS7751R2D=y
CONFIG_RTS7751R2D_PLUS=y
CONFIG_SH_TIMER_TMU=y
CONFIG_SH_INTC=y
+CONFIG_CMDLINE_OVERWRITE=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_SCSI=y
@@ -34,25 +35,3 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=2
CONFIG_SERIAL_SH_SCI_CONSOLE=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_MFD_SM501=y
-CONFIG_VGA_ARB=y
-CONFIG_VGA_ARB_MAX_GPUS=16
-CONFIG_VIDEO_OUTPUT_CONTROL=m
-CONFIG_FB=y
-CONFIG_FB_CFB_FILLRECT=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
-CONFIG_FB_SYS_FILLRECT=m
-CONFIG_FB_SYS_COPYAREA=m
-CONFIG_FB_SYS_IMAGEBLIT=m
-CONFIG_FB_SYS_FOPS=m
-CONFIG_FB_DEFERRED_IO=y
-CONFIG_FB_BACKLIGHT=y
-CONFIG_FB_SH_MOBILE_LCDC=m
-CONFIG_FB_SM501=y
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=m
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_GENERIC=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FONT_8x16=y
diff --git a/target/sh/sys-available/qemu-sh4 b/target/sh/sys-available/qemu-sh4
index c0382755a..83a645d65 100644
--- a/target/sh/sys-available/qemu-sh4
+++ b/target/sh/sys-available/qemu-sh4
@@ -4,9 +4,8 @@ config ADK_TARGET_SYSTEM_QEMU_SH4
select ADK_little
select ADK_qemu_sh4
select ADK_CPU_SH4
+ select ADK_KERNEL_CPU_LITTLE_ENDIAN
select ADK_HARDWARE_QEMU
- select ADK_TARGET_WITH_VGA
- select ADK_TARGET_WITH_INPUT
select ADK_TARGET_WITH_USB
select ADK_USE_KERNEL_MINICONFIG
select ADK_TARGET_KERNEL_ZIMAGE
diff --git a/target/sh/sys-available/qemu-sh4eb b/target/sh/sys-available/qemu-sh4eb
index 5f7a15c84..80389775e 100644
--- a/target/sh/sys-available/qemu-sh4eb
+++ b/target/sh/sys-available/qemu-sh4eb
@@ -6,8 +6,6 @@ config ADK_TARGET_SYSTEM_QEMU_SH4EB
select ADK_CPU_SH4
select ADK_KERNEL_CPU_BIG_ENDIAN
select ADK_HARDWARE_QEMU
- select ADK_TARGET_WITH_VGA
- select ADK_TARGET_WITH_INPUT
select ADK_TARGET_WITH_USB
select ADK_USE_KERNEL_MINICONFIG
select ADK_TARGET_KERNEL_ZIMAGE