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

# Config settings specific to ARM hardware:

CONFIG_MMU=y
CONFIG_ARCH_MULTIPLATFORM=y
CONFIG_ARCH_MULTI_V7=y
CONFIG_ARCH_VIRT=y
CONFIG_ARM_AMBA=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

# 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
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
CONFIG_BRIDGE=y
CONFIG_BRIDGE_CFM=y
CONFIG_BRIDGE_MRP=y
CONFIG_NETLINK_DIAG=y

# Network shaping
CONFIG_NETFILTER=y
CONFIG_NETFILTER_ADVANCED=y
CONFIG_NETFILTER_NETLINK=y
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_HTB=y
CONFIG_NET_SCH_HFSC=y
CONFIG_NET_SCH_INGRESS=y
CONFIG_NET_SCH_CHOKE=y
CONFIG_NET_SCH_QFQ=y
CONFIG_NET_SCH_CODEL=y
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=y
CONFIG_NET_CLS_U32=y
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_GACT=y

# Network tunneling
CONFIG_INET6_IPCOMP=y
CONFIG_INET_IPCOMP=y
CONFIG_IPV6_GRE=y
CONFIG_IPV6_IOAM6_LWTUNNEL=y
CONFIG_IPV6_VTI=y
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_NET_IPGRE=y
CONFIG_NET_IPGRE_DEMUX=y
CONFIG_NET_IPIP=y
CONFIG_NET_IPVTI=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

# Graphic and DRM
CONFIG_DRM=y
CONFIG_DRM_BOCHS=y
CONFIG_SYSFB=y
CONFIG_FB=y
CONFIG_FB_EFI=y

# EFI bootloader support
CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
CONFIG_EFI_BOOTLOADER_CONTROL=y

# Watchdog
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
