Sfoglia il codice sorgente

try to add support for graphical qemu

Waldemar Brodkorb 10 anni fa
parent
commit
e9da3aa77e

+ 6 - 0
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

+ 1 - 0
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)))

+ 32 - 1
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

+ 11 - 13
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.
 

+ 9 - 40
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

+ 3 - 3
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

+ 1 - 22
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

+ 1 - 2
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

+ 0 - 2
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