menu "Xen"
source "$(shell,$(UK_BASE)/support/build/config-submenu.sh -q -o '$(KCONFIG_DIR)/drivers-xen.uk' -r '$(KCONFIG_DRIV_BASE)/xen' -l '$(KCONFIG_DRIV_BASE)/xen' -e '$(KCONFIG_EXCLUDEDIRS)')"
endmenu
+
+# Invisible option for full IBM PC/AT compatible machines
+config HAVE_IBMPC
+ bool
+ select HAVE_IBMPC_NS16550
+ select HAVE_IBMPC_VGA
+# Port-IO mode for IBM PC/AT compatible machines
+config HAVE_IBMPC_NS16550
+ bool
+ depends on ARCH_X86_64
+
menuconfig LIBNS16550
bool "NS16550 / 8250"
- depends on (ARCH_ARM_64 || ARCH_X86_64)
- depends on (!PLAT_XEN && ARCH_X86_64)
+ depends on (HAVE_FDT || HAVE_IBMPC_NS16550)
depends on LIBUKCONSOLE
select LIBUKOFW if ARCH_ARM_64
if LIBNS16550
-if ARCH_ARM_64
+if !HAVE_IBMPC_NS16550
config LIBNS16550_EARLY_CONSOLE
bool "Early console"
select LIBUKBOOT
Uses the fdt's `/chosen/stdout-path` to derive the
default console. Override by setting `ns16550.base`
at the cmdline, if LIBUKLIBPARAM is enabled.
-endif # ARCH_ARM_64
-if ARCH_X86_64
+endif # !HAVE_IBMPC_NS16550
+
+if HAVE_IBMPC_NS16550
config LIBNS16550_COM_AVAIL
bool
endchoice
endif # LIBNS16550_EARLY_CONSOLE
-endif # ARCH_X86_64
+endif # HAVE_IBMPC_NS16550
endif # LIBNS16550
imply LIBUKINTCTLR_GICV2 if ARCH_ARM_64
imply LIBUKRTC_PL031
imply LIBVGACONS if ARCH_X86_64
+ select HAVE_IBMPC
select HAVE_PCI
select HAVE_MMIO
config KVM_VMM_FIRECRACKER
bool "Firecracker"
select KVM_BOOT_PROTO_LXBOOT
+ select HAVE_IBMPC_NS16550 if ARCH_X86_64
select HAVE_MMIO
select VIRTIO_MMIO_LINUX_COMPAT_CMDLINE if LIBVIRTIO_MMIO
imply LIBNS16550 if LIBUKCONSOLE