# If you copy this to your Linux directory, run
#   make olddefconfig
# to fill in the blanks.

CONFIG_ARCH_MULTIPLATFORM=y
CONFIG_ARCH_MULTI_V7=y
CONFIG_ARCH_MULTI_V6_V7=y
CONFIG_ARCH_VIRT=y
CONFIG_RETPOLINE=n

# CONFIG_ACPI_CUSTOM_DSDT_FILE=""
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y

# Minimal kernel config needed for Go and serial port:
CONFIG_BINFMT_ELF=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_DEVTMPFS=y
CONFIG_TMPFS=y
CONFIG_EPOLL=y
CONFIG_FUTEX=y
CONFIG_PRINTK=y
CONFIG_PROC_FS=y
CONFIG_TTY=y
CONFIG_SERIAL_AMBA_PL011=y
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y

# Always print to serial
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="console=ttyAMA0"

# Add /dev/mem for io command:
CONFIG_DEVMEM=y
CONFIG_STRICT_DEVMEM=n

# vfat filesystem:
CONFIG_BLOCK=y
CONFIG_ATA=y
CONFIG_SATA_AHCI=y
CONFIG_BLK_DEV_NVME=y
CONFIG_BLK_DEV_SD=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
CONFIG_NLS=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ISO8859_1=y
CONFIG_MSDOS_FS=y
CONFIG_EXT4_FS=y

# 9P filesystem
CONFIG_NET_9P=y
CONFIG_NET_9P_VIRTIO=y
CONFIG_9P_FS=y
# virtio-9p-device on qemu-system-arm uses virtio MMIO.
CONFIG_VIRTIO_MMIO=y

CONFIG_PCI=y
CONFIG_VIRTIO_PCI=y
CONFIG_PCI_HOST_GENERIC=y
CONFIG_PCIEPORTBUS=y
CONFIG_PCI_IOV=y
CONFIG_HOTPLUG_PCI=y
CONFIG_HOTPLUG_PCI_ACPI=y
CONFIG_PCI_AARDVARK=y
CONFIG_PCI_TEGRA=y
CONFIG_PCIE_RCAR=y
CONFIG_PCI_HOST_GENERIC=y
CONFIG_PCI_XGENE=y
CONFIG_PCIE_ALTERA=y
CONFIG_PCIE_ALTERA_MSI=y
CONFIG_PCI_HOST_THUNDER_PEM=y
CONFIG_PCI_HOST_THUNDER_ECAM=y
CONFIG_PCIE_ROCKCHIP_HOST=m
CONFIG_PCI_LAYERSCAPE=y
CONFIG_PCI_HISI=y
CONFIG_PCIE_QCOM=y
CONFIG_PCIE_ARMADA_8K=y
CONFIG_PCIE_KIRIN=y
CONFIG_PCIE_HISI_STB=y

# Loop device for tcz:

CONFIG_BLK_DEV_LOOP=y
CONFIG_MISC_FILESYSTEMS=y
CONFIG_SQUASHFS=y

# Virtio Networking + random + storage
CONFIG_VIRTIO_PCI=y
CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_CRYPTO_DEV_VIRTIO=y
CONFIG_VIRTIO_BLK=y
CONFIG_VIRTIO_SCSI=y
CONFIG_VIRTIO_NET=y
CONFIG_VIRTIO_CONSOLE=y

# Networking
CONFIG_NET=y
CONFIG_INET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_IPV6=y
CONFIG_NET_CORE=y
CONFIG_NETDEVICES=y
CONFIG_ETHERNET=y
CONFIG_E1000=y

# GPIO test - mock GPIO libraries
CONFIG_GPIOLIB=y
CONFIG_GPIO_MOCKUP=y
CONFIG_GPIO_SYSFS=y

# For the kernel doing the kexec'ing
CONFIG_CRYPTO=y
CONFIG_KEXEC=y
CONFIG_KEXEC_FILE=y

# For the kernel being kexec'ed
CONFIG_RELOCATABLE=y

# Enable ACPI
CONFIG_ACPI=y

# pkg/efivarfs (and its test) require immutable bit on xattr
CONFIG_TMPFS_XATTR=y

# v6.0 has a missing dependency, and PCIE_KIRIN is "y" in the defconfig.
# Compilation fails if you use this and run `make olddefconfig` without setting
# CONFIG_PCIE_KIRIN=n explicitly.
CONFIG_PCIE_KIRIN=n

# Enable time in guest. QEMU uses PL031 to set RTC. pkg/boot/fit requires
# current time signature checks.
CONFIG_RTC_CLASS=y
CONFIG_ARM_RZN1=y
CONFIG_RTC_DRV_PL031=y

# Debugging
CONFIG_DEBUG_FS=y
CONFIG_GCOV_KERNEL=y
CONFIG_GCOV_PROFILE_ALL=y
