# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.

config ADK_QEMU_ARGS
	string
	default "-vga std" if ADK_TARGET_QEMU_WITH_GRAPHIC
	default "" if ADK_TARGET_QEMU_WITH_GRAPHIC_ONLY
	default "-nographic"

config ADK_TARGET_QEMU_WITH_GRAPHIC_ONLY
	bool
	select ADK_TARGET_WITH_VGA
	depends on ADK_TARGET_SYSTEM_QEMU_ARM_SPITZ || ADK_TARGET_SYSTEM_QEMU_ARM_TERRIER

config ADK_TARGET_QEMU_WITH_BLOCK
	bool
	select ADK_TARGET_WITH_BLOCK
	select ADK_KERNEL_SCSI_SYM53C8XX_2 if ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB
	select ADK_KERNEL_MTD_M25P80 if ADK_TARGET_SYSTEM_QEMU_MICROBLAZE_ML605 \
					|| ADK_TARGET_SYSTEM_QEMU_MICROBLAZE_S3ADSP1800
	select ADK_KERNEL_ATA_PIIX if ADK_TARGET_SYSTEM_QEMU_MIPS \
					|| ADK_TARGET_SYSTEM_QEMU_MIPS64 \
					|| ADK_TARGET_SYSTEM_QEMU_X86 \
					|| ADK_TARGET_SYSTEM_QEMU_X86_64
	select ADK_KERNEL_PATA_MACIO if ADK_TARGET_SYSTEM_QEMU_PPC_BAMBOO \
					|| ADK_TARGET_SYSTEM_QEMU_PPC_MACPPC
	select ADK_KERNEL_SCSI_IBMVSCSI if ADK_TARGET_SYSTEM_QEMU_PPC64
	select ADK_KERNEL_SCSI_MAC_ESP if ADK_TARGET_SYSTEM_QEMU_M68K_Q800
	select ADK_KERNEL_SCSI_SUNESP if ADK_TARGET_SYSTEM_QEMU_SPARC
	select ADK_KERNEL_PATA_CMD64X if ADK_TARGET_SYSTEM_QEMU_SPARC64
	select ADK_KERNEL_PATA_PLATFORM if ADK_TARGET_SYSTEM_QEMU_SH
	select ADK_KERNEL_PATA_PXA if ADK_TARGET_QEMU_ARM_SPITZ \
					|| ADK_TARGET_SYSTEM_QEMU_ARM_TERRIER
	select ADK_KERNEL_MMC_ARMMMCI if ADK_TARGET_SYSTEM_QEMU_ARM_VEXPRESS_A9
	select ADK_KERNEL_BLK_DEV_CMD64X if ADK_TARGET_SYSTEM_QEMU_ALPHA

menu "Qemu system configuration"
depends on ADK_TARGET_QEMU && (ADK_TARGET_SYSTEM_QEMU_X86_64 \
				|| ADK_TARGET_SYSTEM_QEMU_X86 \
				|| ADK_TARGET_SYSTEM_QEMU_AARCH64 \
				|| ADK_TARGET_SYSTEM_QEMU_SPARC64)

choice 
prompt "Bootloader"
depends on ADK_TARGET_SYSTEM_QEMU_X86_64 || ADK_TARGET_SYSTEM_QEMU_X86

config ADK_TARGET_QEMU_WITHOUT_BOOTLOADER
	bool "do not use bootloader"

config ADK_TARGET_QEMU_WITH_BOOTLOADER
	bool "use bootloader"
	select ADK_PACKAGE_GRUB if ADK_TARGET_SYSTEM_QEMU_X86_64 || ADK_TARGET_SYSTEM_QEMU_X86

endchoice


choice
prompt "Qemu Emulation with graphical output"
depends on ADK_TARGET_SYSTEM_QEMU_ARM_VEXPRESS_A9 \
	|| ADK_TARGET_SYSTEM_QEMU_SH \
	|| ADK_TARGET_SYSTEM_QEMU_X86_64 \
	|| ADK_TARGET_SYSTEM_QEMU_X86

config ADK_TARGET_QEMU_WITHOUT_GRAPHIC
	bool "disabled"

config ADK_TARGET_QEMU_WITH_GRAPHIC
	bool "enabled"
	select ADK_TARGET_WITH_VGA
	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_INPUT
	select ADK_KERNEL_INPUT_KEYBOARD
	select ADK_KERNEL_INPUT_MOUSE
	select ADK_KERNEL_INPUT_MOUSEDEV
	select ADK_KERNEL_PLAT_VERSATILE_CLCD if ADK_TARGET_SYSTEM_QEMU_ARM_VEXPRESS_A9
	select ADK_KERNEL_FB_SM501 if ADK_TARGET_SYSTEM_QEMU_SH
	select ADK_KERNEL_DRM_BOCHS if ADK_TARGET_SYSTEM_QEMU_X86 || ADK_TARGET_SYSTEM_QEMU_X86_64
	select ADK_KERNEL_KEYBOARD_ATKBD if ADK_TARGET_SYSTEM_QEMU_X86 || ADK_TARGET_SYSTEM_QEMU_X86_64
	select ADK_KERNEL_MOUSE_PS2 if ADK_TARGET_SYSTEM_QEMU_X86 || ADK_TARGET_SYSTEM_QEMU_X86_64
	select ADK_KERNEL_USB_HID if ADK_TARGET_SYSTEM_QEMU_SH
	select ADK_KERNEL_USB_OHCI_HCD_PLATFORM if ADK_TARGET_SYSTEM_QEMU_SH

endchoice

choice
prompt "Qemu Emulation using VirtIO drivers"
depends on ADK_TARGET_SYSTEM_QEMU_SPARC64 || \
		ADK_TARGET_SYSTEM_QEMU_AARCH64 || \
		ADK_TARGET_SYSTEM_QEMU_X86 || \
		ADK_TARGET_SYSTEM_QEMU_X86_64
default ADK_TARGET_QEMU_WITH_VIRTIO if ADK_TARGET_SYSTEM_QEMU_AARCH64

config ADK_TARGET_QEMU_WITHOUT_VIRTIO
	bool "disabled"

config ADK_TARGET_QEMU_WITH_VIRTIO
	bool "enabled"
	select ADK_KERNEL_VIRTIO
	select ADK_KERNEL_VIRTIO_PCI
	select ADK_KERNEL_VIRTIO_NET
	select ADK_KERNEL_VIRTIO_BLK
	select ADK_KERNEL_VIRTIO_CONSOLE

endchoice

choice
prompt "Qemu Emulation with audio support"
depends on ADK_TARGET_SYSTEM_QEMU_X86_64 || ADK_TARGET_SYSTEM_QEMU_X86

config ADK_TARGET_QEMU_WITHOUT_AUDIO
	bool "disabled"

config ADK_TARGET_QEMU_WITH_AUDIO
	bool "enabled"

endchoice
endmenu
