# Add from mainline kernel 6.0 riscv64 default defconfig
# From kernel PR https://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git/commit/?h=for-next&id=ba6cfef057e1c594c456627aad81c2343fdb5d13

## Original description
## The defconfig kernel should be able to run Docker.
## Enable the missing settings according to checklist from moby.
## Many of the settings are also needed to run a defconfig kernel
## on default distro installations or to run snaps.

CONFIG_MEMCG=y

CONFIG_RT_GROUP_SCHED=y
CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_HUGETLB=y
CONFIG_CPUSETS=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_PERF=y

CONFIG_BLK_DEV_THROTTLING=y

CONFIG_XFRM_USER=m

CONFIG_INET_ESP=m
CONFIG_NETFILTER=y
CONFIG_BRIDGE_NETFILTER=m
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CT_NETLINK=m
CONFIG_NETFILTER_XT_MARK=m
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NETFILTER_XT_MATCH_IPVS=m
CONFIG_IP_VS=m
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_RR=m
CONFIG_IP_VS_NFCT=y
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_IPV4=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_MANGLE=m
CONFIG_NF_LOG_IPV6=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_BRIDGE=m
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_VLAN_8021Q=m
CONFIG_NET_SCHED=y
CONFIG_NET_CLS_CGROUP=m

CONFIG_CGROUP_NET_PRIO=y

CONFIG_MD=y
CONFIG_BLK_DEV_DM=m
CONFIG_DM_THIN_PROVISIONING=m

CONFIG_DUMMY=m
CONFIG_MACVLAN=m
CONFIG_IPVLAN=m
CONFIG_VXLAN=m
CONFIG_VETH=m

CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y

CONFIG_SECURITY=y
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_APPARMOR=y
CONFIG_DEFAULT_SECURITY_DAC=y

# END of imported kernel 6.0 riscv64 defconfig

# riscv Add for openEuler RISC-V
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_SECURITY=y
CONFIG_EXT4_FS_SECURITY=y
CONFIG_NR_CPUS=32
CONFIG_INPUT_EVDEV=y
# for iptables --comment
CONFIG_NETFILTER_ADVANCED=y
CONFIG_NETFILTER_XT_MATCH_COMMENT=m

CONFIG_DRM_BOCHS=y
#Choose this option for qemu.
#   If M is selected the module will be called bochs-drm.

###  Some qemu-related configurations.
# for QXL 2D Accelerated graphics
CONFIG_DRM_QXL=y

# for Docker support
CONFIG_OVERLAY_FS=m

# for Sound support
CONFIG_SOUND=m
CONFIG_SND=m
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=m

# for DOS/FAT/EXFAT Filesystems Support
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
CONFIG_FAT_DEFAULT_UTF8=y
CONFIG_EXFAT_FS=m
CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"

### End

CONFIG_CRYPTO=y
CONFIG_CRYPTO_USER=y
#   Userspace cryptographic algorithm configuration
CONFIG_CRYPTO_PCRYPT=y
#   Parallel crypto engine
CONFIG_CRYPTO_CRYPTD=y
#   Software async crypto daemon
CONFIG_CRYPTO_RSA=y
#   RSA algorithm
CONFIG_CRYPTO_DH=y
#   Diffie-Hellman algorithm
CONFIG_CRYPTO_ECDH=y
#   ECDH algorithm
CONFIG_CRYPTO_ECDSA=y
#   ECDSA (NIST P192, P256 etc.) algorithm
CONFIG_CRYPTO_ECRDSA=y
#   EC-RDSA (GOST 34.10) algorithm
CONFIG_CRYPTO_SM2=y
#   SM2 algorithm
CONFIG_CRYPTO_CURVE25519=y
#   Curve25519 algorithm
CONFIG_CRYPTO_CCM=y
#   CCM support
CONFIG_CRYPTO_GCM=y
#   GCM/GMAC support
CONFIG_CRYPTO_CHACHA20POLY1305=y
#   ChaCha20-Poly1305 AEAD support
CONFIG_CRYPTO_AEGIS128=y
#   AEGIS-128 AEAD algorithm
CONFIG_CRYPTO_SEQIV=y
#   Sequence Number IV Generator
CONFIG_CRYPTO_ECHAINIV=y
#   Encrypted Chain IV Generator
CONFIG_CRYPTO_CFB=y
CONFIG_CRYPTO_CTS=y
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_LRW=y
CONFIG_CRYPTO_OFB=y
CONFIG_CRYPTO_PCBC=y
CONFIG_CRYPTO_XTS=y
CONFIG_CRYPTO_KEYWRAP=y
CONFIG_CRYPTO_ADIANTUM=y
CONFIG_CRYPTO_CMAC=y
CONFIG_CRYPTO_XCBC=y
CONFIG_CRYPTO_VMAC=y
CONFIG_CRYPTO_BLAKE2S=y
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_MD4=y
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=y
CONFIG_CRYPTO_RMD128=y
CONFIG_CRYPTO_RMD160=y
CONFIG_CRYPTO_RMD256=y
CONFIG_CRYPTO_RMD320=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_SHA3=y
CONFIG_CRYPTO_TGR192=y
CONFIG_CRYPTO_WP512=y
CONFIG_CRYPTO_AES_TI=y
CONFIG_CRYPTO_ANUBIS=y
CONFIG_CRYPTO_ARC4=y
CONFIG_CRYPTO_BLOWFISH=y
CONFIG_CRYPTO_CAMELLIA=y
CONFIG_CRYPTO_CAST5=y
CONFIG_CRYPTO_CAST6=y
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_FCRYPT=y
CONFIG_CRYPTO_KHAZAD=y
CONFIG_CRYPTO_SALSA20=y
CONFIG_CRYPTO_SEED=y
CONFIG_CRYPTO_SERPENT=y
CONFIG_CRYPTO_SM4=y
CONFIG_CRYPTO_TEA=y
CONFIG_CRYPTO_TWOFISH=y
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_LZO=y
CONFIG_CRYPTO_842=y
CONFIG_CRYPTO_LZ4=y
CONFIG_CRYPTO_LZ4HC=y
CONFIG_CRYPTO_ZSTD=y
CONFIG_CRYPTO_ANSI_CPRNG=y
CONFIG_CRYPTO_DRBG_HASH=y
CONFIG_CRYPTO_DRBG_CTR=y
CONFIG_CRYPTO_USER_API_SKCIPHER=y
CONFIG_CRYPTO_USER_API_RNG=y
CONFIG_CRYPTO_USER_API_RNG_CAVP=y
CONFIG_CRYPTO_USER_API_AEAD=y
CONFIG_CRYPTO_STATS=y
CONFIG_CRYPTO_LIB_BLAKE2S=y
CONFIG_CRYPTO_LIB_CHACHA=y
CONFIG_CRYPTO_LIB_CURVE25519=y
CONFIG_CRYPTO_LIB_POLY1305=y
CONFIG_CRYPTO_LIB_CHACHA20POLY1305=y
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
CONFIG_X509_CERTIFICATE_PARSER=y
CONFIG_PKCS8_PRIVATE_KEY_PARSER=y
CONFIG_PKCS7_MESSAGE_PARSER=y
