From 9b2afa3dda4ec8cf1cdeb81ba903a9e0595f9519 Mon Sep 17 00:00:00 2001 From: Jing Li Date: Wed, 17 Jul 2024 08:41:50 +0800 Subject: [PATCH 01/10] anolis: sw64: pci: fix compile error when CONFIG_PCI_MSI=n ANBZ: #4688 Provide empty implementations of function vt_handle_pci_msi_interrupt() and msic_acpi_init() to fix compile error when CONFIG_PCI_MSI=n. This commit also removes some meaningless logs. Signed-off-by: Jing Li Signed-off-by: Gu Zitao --- arch/sw_64/include/asm/irq.h | 3 --- arch/sw_64/include/asm/msi.h | 11 +++++++++++ arch/sw_64/pci/pci.c | 2 -- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/arch/sw_64/include/asm/irq.h b/arch/sw_64/include/asm/irq.h index 625a8e890efd..e32af52b93a3 100644 --- a/arch/sw_64/include/asm/irq.h +++ b/arch/sw_64/include/asm/irq.h @@ -38,9 +38,6 @@ struct acpi_madt_sw_lpc_intc; extern int __init sw64_add_gsi_domain_map(u32 gsi_base, u32 gsi_count, struct fwnode_handle *handle); -extern int __init msic_acpi_init(struct irq_domain *parent, - struct acpi_madt_sw_msic *msic); - #ifdef CONFIG_SW64_PINTC extern int __init pintc_acpi_init(struct irq_domain *parent, struct acpi_madt_sw_pintc *pintc); diff --git a/arch/sw_64/include/asm/msi.h b/arch/sw_64/include/asm/msi.h index 0573856f7bc3..50211c9d2b4a 100644 --- a/arch/sw_64/include/asm/msi.h +++ b/arch/sw_64/include/asm/msi.h @@ -39,6 +39,8 @@ extern struct irq_chip sw64_irq_chip; extern void handle_pci_msi_interrupt(unsigned long type, unsigned long vector, unsigned long pci_msi1_addr); +extern int __init msic_acpi_init(struct irq_domain *parent, + struct acpi_madt_sw_msic *msic); #ifdef CONFIG_PCI_MSI_IRQ_DOMAIN #define MSI_ADDR_BASE_HI 0 @@ -94,5 +96,14 @@ static inline void handle_pci_msi_interrupt(unsigned long type, { pr_warn("SW arch disable CONFIG_PCI_MSI option.\n"); } + +static inline void vt_handle_pci_msi_interrupt(unsigned long type, + unsigned long vector, unsigned long pci_msi1_addr) +{ + pr_warn("SW arch disable CONFIG_PCI_MSI option.\n"); +} + +static inline int __init msic_acpi_init(struct irq_domain *parent, + struct acpi_madt_sw_msic *msic) { return 0; } #endif /* CONFIG_PCI_MSI */ #endif /* _ASM_SW64_MSI_H */ diff --git a/arch/sw_64/pci/pci.c b/arch/sw_64/pci/pci.c index 79bd81dd6d13..0d5343ceb808 100644 --- a/arch/sw_64/pci/pci.c +++ b/arch/sw_64/pci/pci.c @@ -402,8 +402,6 @@ void sw64_pci_root_bridge_scan_finish_up(struct pci_host_bridge *bridge) pci_bus_update_busn_res_end(bus, last_bus); last_bus++; - pr_info("bus number update to %u\n", last_bus); - if (is_in_host()) sw64_pci_root_bridge_reserve_legacy_io(bridge); -- Gitee From b0684a1b8ba0fd706fe8fb00920bd2bd7416487a Mon Sep 17 00:00:00 2001 From: Xu Yiwei Date: Thu, 18 Jul 2024 11:27:07 +0000 Subject: [PATCH 02/10] anolis: sw64: fix C4 INTx configuration ANBZ: #4688 Correct the assembly logic for C4's INTxCONFIG to ensure that INTx interrupts delivered to the intended target. Signed-off-by: Xu Yiwei Signed-off-by: Gu Zitao --- drivers/irqchip/irq-sunway-pci-intx.c | 29 ++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/drivers/irqchip/irq-sunway-pci-intx.c b/drivers/irqchip/irq-sunway-pci-intx.c index 434a0c1156de..a60262fafeb3 100644 --- a/drivers/irqchip/irq-sunway-pci-intx.c +++ b/drivers/irqchip/irq-sunway-pci-intx.c @@ -28,23 +28,38 @@ static void set_intx(struct pci_controller *hose, unsigned long intx_conf) piu_ior0_base = hose->piu_ior0_base; - writeq(intx_conf | (0x8UL << 10), (piu_ior0_base + INTACONFIG)); - writeq(intx_conf | (0x4UL << 10), (piu_ior0_base + INTBCONFIG)); - writeq(intx_conf | (0x2UL << 10), (piu_ior0_base + INTCCONFIG)); - writeq(intx_conf | (0x1UL << 10), (piu_ior0_base + INTDCONFIG)); + if (IS_ENABLED(CONFIG_SUBARCH_C3B)) { + writeq(intx_conf | (0x8UL << 10), (piu_ior0_base + INTACONFIG)); + writeq(intx_conf | (0x4UL << 10), (piu_ior0_base + INTBCONFIG)); + writeq(intx_conf | (0x2UL << 10), (piu_ior0_base + INTCCONFIG)); + writeq(intx_conf | (0x1UL << 10), (piu_ior0_base + INTDCONFIG)); + } else { + writeq(intx_conf | (0x8UL << 10), (piu_ior0_base + INTDCONFIG)); + writeq(intx_conf | (0x4UL << 10), (piu_ior0_base + INTCCONFIG)); + writeq(intx_conf | (0x2UL << 10), (piu_ior0_base + INTBCONFIG)); + writeq(intx_conf | (0x1UL << 10), (piu_ior0_base + INTACONFIG)); + } } static int __assign_piu_intx_config(struct pci_controller *hose, cpumask_t *targets) { unsigned long intx_conf; unsigned int cpu; - int phy_cpu; + int thread, node, core, rcid; /* Use the last cpu in valid cpus to avoid core 0. */ cpu = cpumask_last(targets); - phy_cpu = cpu_to_rcid(cpu); + rcid = cpu_to_rcid(cpu); + + thread = rcid_to_thread_id(rcid); + node = rcid_to_domain_id(rcid); + core = rcid_to_core_id(rcid); + + if (IS_ENABLED(CONFIG_SUBARCH_C3B)) + intx_conf = core | (node << 6); + else + intx_conf = core | (thread << 6) | (node << 7); - intx_conf = ((phy_cpu >> 5) << 6) | (phy_cpu & 0x1f); set_intx(hose, intx_conf); return 0; -- Gitee From f16734546e5887ef4b10efe5afb7b16aaabf574d Mon Sep 17 00:00:00 2001 From: Jing Li Date: Wed, 3 Jul 2024 20:02:47 +0800 Subject: [PATCH 03/10] anolis: sw64: dtb: fix DTB not reserved when CONFIG_EFI=n for xuelang ANBZ: #4688 On sunway platform, DTB provided by firmware is reserved during efi initialization. When CONFIG_EFI=n, we need to reserve the DTB elsewhere. Signed-off-by: Jing Li Signed-off-by: Gu Zitao --- arch/sw_64/kernel/setup.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/arch/sw_64/kernel/setup.c b/arch/sw_64/kernel/setup.c index 1e76c4ac67d0..0cdf78307c12 100644 --- a/arch/sw_64/kernel/setup.c +++ b/arch/sw_64/kernel/setup.c @@ -494,22 +494,14 @@ static void __init setup_firmware_fdt(void) goto cmd_handle; dt_virt = (void *)sunway_boot_params->dtb_start; } else { - /** - * Regardless of whether built-in DTB is configured or not, - * we always: - * - * 1. Use DTB provided by firmware for early initialization, - * since we need the boot params from firmware when using - * new method to pass boot params. - * - * 2. reserve the DTB from firmware in case it is used later. - */ + /* Use DTB provided by firmware for early initialization */ pr_info("Parse boot params in DTB chosen node\n"); dt_virt = (void *)sunway_dtb_address; - memblock_reserve(__boot_pa(sunway_dtb_address), - fdt_totalsize(sunway_dtb_address)); } + /* reserve the DTB from firmware in case it is used later */ + memblock_reserve(__boot_pa(dt_virt), fdt_totalsize(dt_virt)); + if (!arch_dtb_verify(dt_virt, true) || !early_init_dt_scan(dt_virt)) { pr_crit("Invalid DTB(from firmware) at virtual address 0x%lx\n", -- Gitee From 632f132539b39b793f56d3324b58ae4f7a394faf Mon Sep 17 00:00:00 2001 From: Jing Li Date: Thu, 13 Jun 2024 09:37:53 +0800 Subject: [PATCH 04/10] anolis: sw64: smp: allow NR_CPUS less than the number detected by firmware ANBZ: #4688 When NR_CPUS is less than the number detected by firmware, smp initialization can still succeed, and the number of cores is limited to NR_CPUS. Signed-off-by: Jing Li Signed-off-by: Gu Zitao --- arch/sw_64/kernel/acpi.c | 4 ++-- arch/sw_64/kernel/smp.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/sw_64/kernel/acpi.c b/arch/sw_64/kernel/acpi.c index 73f59d5b7b6a..58c41d9f1940 100644 --- a/arch/sw_64/kernel/acpi.c +++ b/arch/sw_64/kernel/acpi.c @@ -246,9 +246,9 @@ setup_rcid_and_core_mask(struct acpi_madt_sw_cintc *sw_cintc) * represents the maximum number of cores in the system. */ if (possible_cores >= nr_cpu_ids) { - pr_err(PREFIX "Core [0x%x] exceeds max core num [%u]\n", + pr_warn_once(PREFIX "Core [0x%x] exceeds max core num [%u]\n", rcid, nr_cpu_ids); - return -ENODEV; + return 0; } /* The rcid of each core is unique */ diff --git a/arch/sw_64/kernel/smp.c b/arch/sw_64/kernel/smp.c index 20f7cc737ce6..a182ab76a720 100644 --- a/arch/sw_64/kernel/smp.c +++ b/arch/sw_64/kernel/smp.c @@ -351,9 +351,9 @@ static int __init fdt_setup_smp(void) } if (logical_core_id >= nr_cpu_ids) { - pr_err("OF: Core [0x%x] exceeds max core num [%u]\n", + pr_warn_once("OF: Core [0x%x] exceeds max core num [%u]\n", rcid, nr_cpu_ids); - return -ENODEV; + return 0; } if (is_rcid_duplicate(rcid)) { -- Gitee From 18402ca1ffbaa1ea0aed4db05ed04042f190d307 Mon Sep 17 00:00:00 2001 From: Jing Li Date: Wed, 17 Jul 2024 19:58:28 +0800 Subject: [PATCH 05/10] anolis: sw64: kexec: remove code for compatibility with builtin DTB ANBZ: #4688 Starting from junzhang, builtin DTB is no longer supported, so we can remove related code. Signed-off-by: Jing Li Signed-off-by: Gu Zitao --- arch/sw_64/kernel/machine_kexec.c | 60 ------------------------------- 1 file changed, 60 deletions(-) diff --git a/arch/sw_64/kernel/machine_kexec.c b/arch/sw_64/kernel/machine_kexec.c index bef847f26df0..4ef59d6022fc 100644 --- a/arch/sw_64/kernel/machine_kexec.c +++ b/arch/sw_64/kernel/machine_kexec.c @@ -284,53 +284,6 @@ static void *arch_kexec_alloc_and_setup_fdt(unsigned long initrd_start, return NULL; } -#ifdef CONFIG_EFI -static int update_efi_properties(const struct boot_params *params) -{ - int chosen_node, ret; - void *dtb_start = (void *)params->dtb_start; - - if (!dtb_start) - return -EINVAL; - - chosen_node = fdt_path_offset(dtb_start, "/chosen"); - if (chosen_node < 0) - return -EINVAL; - - ret = fdt_setprop_u64(dtb_start, chosen_node, - "linux,uefi-system-table", - params->efi_systab); - if (ret) - return ret; - - ret = fdt_setprop_u64(dtb_start, chosen_node, - "linux,uefi-mmap-start", - params->efi_memmap); - if (ret) - return ret; - - ret = fdt_setprop_u64(dtb_start, chosen_node, - "linux,uefi-mmap-size", - params->efi_memmap_size); - if (ret) - return ret; - - ret = fdt_setprop_u64(dtb_start, chosen_node, - "linux,uefi-mmap-desc-size", - params->efi_memdesc_size); - if (ret) - return ret; - - ret = fdt_setprop_u64(dtb_start, chosen_node, - "linux,uefi-mmap-desc-ver", - params->efi_memdesc_version); - if (ret) - return ret; - - return 0; -} -#endif - static void update_boot_params(void) { struct boot_params params = { 0 }; @@ -363,19 +316,6 @@ static void update_boot_params(void) params.efi_memmap_size = efi.memmap.map_end - efi.memmap.map; params.efi_memdesc_size = efi.memmap.desc_size; params.efi_memdesc_version = efi.memmap.desc_version; - - /** - * If current kernel take built-in DTB, it's possible that - * there are no efi related properties in "chosen" node. So, - * update these properties here. - * - * Harmless for the following cases: - * 1. Current kernel take DTB from firmware - * 2. New kernel with CONFIG_EFI=n - * 3. New kernel take built-in DTB - */ - if (update_efi_properties(¶ms)) - pr_err("Note: failed to update efi properties\n"); #endif /* update dtb base address */ sunway_dtb_address = params.dtb_start; -- Gitee From a28e6626a35d9abe79d69c6b45ec2c726420c7b9 Mon Sep 17 00:00:00 2001 From: Gu Zitao Date: Mon, 29 Jul 2024 14:12:55 +0800 Subject: [PATCH 06/10] anolis: sw64: add initial anolis_junzhang_defconfig ANBZ: #4688 Signed-off-by: Gu Zitao Signed-off-by: Gu Zitao --- ...ng_defconfig => anolis_junzhang_defconfig} | 762 ++++++++++++++---- 1 file changed, 604 insertions(+), 158 deletions(-) rename arch/sw_64/configs/{junzhang_defconfig => anolis_junzhang_defconfig} (49%) diff --git a/arch/sw_64/configs/junzhang_defconfig b/arch/sw_64/configs/anolis_junzhang_defconfig similarity index 49% rename from arch/sw_64/configs/junzhang_defconfig rename to arch/sw_64/configs/anolis_junzhang_defconfig index f639cbb17e43..fa9852e6d32d 100644 --- a/arch/sw_64/configs/junzhang_defconfig +++ b/arch/sw_64/configs/anolis_junzhang_defconfig @@ -1,57 +1,94 @@ -CONFIG_LOCALVERSION="-junzhang" +# +# Automatically generated file; DO NOT EDIT. +# Linux/sw_64 5.10.134 Kernel Configuration +# +# CONFIG_LOCALVERSION_AUTO is not set CONFIG_SYSVIPC=y CONFIG_POSIX_MQUEUE=y -# CONFIG_CROSS_MEMORY_ATTACH is not set -CONFIG_USELIB=y +CONFIG_AUDIT=y +CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +CONFIG_TASK_XACCT=y +CONFIG_TASK_IO_ACCOUNTING=y +CONFIG_PSI=y +CONFIG_PSI_DEFAULT_DISABLED=y CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y -CONFIG_IKHEADERS=y CONFIG_LOG_BUF_SHIFT=18 +CONFIG_NUMA_BALANCING=y CONFIG_MEMCG=y CONFIG_BLK_CGROUP=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_RT_GROUP_SCHED=y CONFIG_CGROUP_PIDS=y +CONFIG_CGROUP_RDMA=y CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_HUGETLB=y CONFIG_CPUSETS=y CONFIG_CGROUP_DEVICE=y +CONFIG_RICH_CONTAINER=y CONFIG_CGROUP_CPUACCT=y -CONFIG_NAMESPACES=y +CONFIG_CGROUP_PERF=y +CONFIG_CGROUP_BPF=y +CONFIG_USER_NS=y +CONFIG_CHECKPOINT_RESTORE=y CONFIG_SCHED_AUTOGROUP=y -CONFIG_RELAY=y CONFIG_BLK_DEV_INITRD=y -CONFIG_EXPERT=y CONFIG_KALLSYMS_ALL=y +CONFIG_BPF_LSM=y CONFIG_BPF_SYSCALL=y -CONFIG_PERF_EVENTS=y +CONFIG_BPF_JIT_ALWAYS_ON=y +CONFIG_USERFAULTFD=y CONFIG_DEBUG_PERF_USE_VMALLOC=y # CONFIG_COMPAT_BRK is not set -CONFIG_SUBARCH_C4=y +# CONFIG_SLAB_MERGE_DEFAULT is not set +CONFIG_SLAB_FREELIST_RANDOM=y +CONFIG_PROFILING=y CONFIG_SMP=y -CONFIG_SCHED_SMT=y CONFIG_NR_CPUS=512 -CONFIG_ARCH_SPARSEMEM_ENABLE=y +# CONFIG_SCHED_MC is not set CONFIG_NUMA=y -CONFIG_HZ=100 -# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set -CONFIG_FIRMWARE_MEMMAP=y -CONFIG_DMI_SYSFS=m -CONFIG_ACPI_TAD=y -CONFIG_SW64_SUSPEND_DEEPSLEEP_NONBOOT_CORE=y -CONFIG_SW64_SUSPEND_DEEPSLEEP_BOOTCORE=y -# CONFIG_CPU_IDLE is not set -CONFIG_VIRTUALIZATION=y +CONFIG_NODES_SHIFT=7 +CONFIG_EFI=y +CONFIG_KEXEC=y +CONFIG_CRASH_DUMP=y +CONFIG_PHYSICAL_START=0x900000 +# CONFIG_RELOCATABLE is not set +CONFIG_LIVEPATCH=y +CONFIG_HIBERNATION=y +CONFIG_PM_DEBUG=y +CONFIG_ACPI_TAD=m +CONFIG_ACPI_IPMI=m +CONFIG_ACPI_PCI_SLOT=y +CONFIG_ACPI_HOTPLUG_MEMORY=y +CONFIG_ACPI_HED=y +CONFIG_ACPI_NFIT=m +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +CONFIG_DMI_SYSFS=y +CONFIG_FW_CFG_SYSFS=y +CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y CONFIG_KVM=y -CONFIG_VHOST_NET=m -CONFIG_VHOST_SCSI=m -CONFIG_VHOST_VSOCK=m -CONFIG_VHOST_CROSS_ENDIAN_LEGACY=y -CONFIG_KPROBES=y CONFIG_JUMP_LABEL=y +CONFIG_COMPAT_32BIT_TIME=y CONFIG_MODULES=y CONFIG_MODULE_FORCE_LOAD=y CONFIG_MODULE_UNLOAD=y -CONFIG_MODULE_FORCE_UNLOAD=y CONFIG_MODVERSIONS=y +CONFIG_MODULE_SRCVERSION_ALL=y +CONFIG_MODULE_SIG=y +# CONFIG_MODULE_SIG_ALL is not set +CONFIG_MODULE_SIG_SHA256=y +# CONFIG_UNUSED_SYMBOLS is not set +CONFIG_BLK_DEV_ZONED=y +CONFIG_BLK_DEV_THROTTLING=y +CONFIG_BLK_CGROUP_IOCOST=y CONFIG_PARTITION_ADVANCED=y CONFIG_OSF_PARTITION=y CONFIG_BSD_DISKLABEL=y @@ -61,40 +98,89 @@ CONFIG_UNIXWARE_DISKLABEL=y CONFIG_LDM_PARTITION=y CONFIG_SGI_PARTITION=y CONFIG_ULTRIX_PARTITION=y +CONFIG_IOSCHED_BFQ=y +CONFIG_BFQ_GROUP_IOSCHED=y +CONFIG_BINFMT_MISC=m +CONFIG_MEMORY_HOTPLUG=y +CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y +CONFIG_MEMORY_HOTREMOVE=y +CONFIG_KSM=y +CONFIG_MEMORY_FAILURE=y CONFIG_TRANSPARENT_HUGEPAGE=y -CONFIG_CMA_AREAS=7 +CONFIG_CLEANCACHE=y +CONFIG_FRONTSWAP=y +CONFIG_CMA=y +CONFIG_ZSWAP=y +CONFIG_ZSMALLOC=y +CONFIG_ZSMALLOC_STAT=y +CONFIG_IDLE_PAGE_TRACKING=y +CONFIG_READ_ONLY_THP_FOR_FS=y +CONFIG_HUGETEXT=y +CONFIG_DUPTEXT=y +CONFIG_DAMON=y +CONFIG_DAMON_VADDR=y +CONFIG_DAMON_PADDR=y +CONFIG_DAMON_DBGFS=y +CONFIG_TEXT_UNEVICTABLE=y +CONFIG_PAGECACHE_LIMIT=y +CONFIG_PGTABLE_BIND=y +CONFIG_LRU_GEN=y CONFIG_NET=y CONFIG_PACKET=y -CONFIG_PACKET_DIAG=y +CONFIG_PACKET_DIAG=m CONFIG_UNIX=y -CONFIG_UNIX_DIAG=y +CONFIG_UNIX_DIAG=m CONFIG_TLS=m CONFIG_TLS_DEVICE=y -CONFIG_XFRM_USER=m +CONFIG_XFRM_USER=y CONFIG_XFRM_INTERFACE=m CONFIG_XFRM_SUB_POLICY=y CONFIG_XFRM_STATISTICS=y CONFIG_NET_KEY=m CONFIG_NET_KEY_MIGRATE=y +CONFIG_SMC=m +CONFIG_SMC_DIAG=m +CONFIG_XDP_SOCKETS=y +CONFIG_XDP_SOCKETS_DIAG=m CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y CONFIG_IP_FIB_TRIE_STATS=y CONFIG_IP_MULTIPLE_TABLES=y +CONFIG_IP_ROUTE_MULTIPATH=y +CONFIG_IP_ROUTE_VERBOSE=y CONFIG_IP_PNP=y CONFIG_IP_PNP_DHCP=y CONFIG_NET_IPIP=m CONFIG_NET_IPGRE_DEMUX=m +CONFIG_NET_IPGRE=m +CONFIG_NET_IPGRE_BROADCAST=y CONFIG_IP_MROUTE=y +CONFIG_IP_MROUTE_MULTIPLE_TABLES=y +CONFIG_IP_PIMSM_V1=y +CONFIG_IP_PIMSM_V2=y CONFIG_NET_IPVTI=m CONFIG_INET_AH=m CONFIG_INET_ESP=m CONFIG_INET_ESP_OFFLOAD=m CONFIG_INET_IPCOMP=m +CONFIG_INET_DIAG=m CONFIG_INET_UDP_DIAG=m +CONFIG_INET_RAW_DIAG=m CONFIG_TCP_CONG_ADVANCED=y +CONFIG_TCP_CONG_HSTCP=m +CONFIG_TCP_CONG_HYBLA=m +CONFIG_TCP_CONG_NV=m +CONFIG_TCP_CONG_SCALABLE=m +CONFIG_TCP_CONG_LP=m +CONFIG_TCP_CONG_VENO=m +CONFIG_TCP_CONG_YEAH=m +CONFIG_TCP_CONG_ILLINOIS=m +CONFIG_TCP_CONG_DCTCP=m +CONFIG_TCP_CONG_BBR=m CONFIG_TCP_MD5SIG=y -CONFIG_IPV6=m +CONFIG_TCP_RT=y +CONFIG_ICMP_PINGTRACE=y CONFIG_IPV6_ROUTER_PREF=y CONFIG_IPV6_ROUTE_INFO=y CONFIG_IPV6_OPTIMISTIC_DAD=y @@ -103,20 +189,23 @@ CONFIG_INET6_ESP=m CONFIG_INET6_ESP_OFFLOAD=m CONFIG_INET6_IPCOMP=m CONFIG_IPV6_MIP6=m -CONFIG_IPV6_ILA=m CONFIG_IPV6_VTI=m +CONFIG_IPV6_SIT=m CONFIG_IPV6_SIT_6RD=y CONFIG_IPV6_GRE=m +CONFIG_IPV6_MULTIPLE_TABLES=y CONFIG_IPV6_SUBTREES=y CONFIG_IPV6_MROUTE=y CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y CONFIG_IPV6_PIMSM_V2=y -CONFIG_IPV6_SEG6_LWTUNNEL=y -CONFIG_IPV6_SEG6_HMAC=y +CONFIG_NETLABEL=y +CONFIG_MPTCP=y +CONFIG_NETWORK_PHY_TIMESTAMPING=y CONFIG_NETFILTER=y CONFIG_BRIDGE_NETFILTER=m CONFIG_NF_CONNTRACK=m CONFIG_NF_LOG_NETDEV=m +CONFIG_NF_CONNTRACK_SECMARK=y CONFIG_NF_CONNTRACK_ZONES=y CONFIG_NF_CONNTRACK_EVENTS=y CONFIG_NF_CONNTRACK_TIMEOUT=y @@ -136,9 +225,11 @@ CONFIG_NF_CT_NETLINK_TIMEOUT=m CONFIG_NF_CT_NETLINK_HELPER=m CONFIG_NETFILTER_NETLINK_GLUE_CT=y CONFIG_NF_TABLES=m +CONFIG_NF_TABLES_INET=y CONFIG_NF_TABLES_NETDEV=y CONFIG_NFT_NUMGEN=m CONFIG_NFT_CT=m +CONFIG_NFT_FLOW_OFFLOAD=m CONFIG_NFT_COUNTER=m CONFIG_NFT_CONNLIMIT=m CONFIG_NFT_LOG=m @@ -153,20 +244,27 @@ CONFIG_NFT_QUOTA=m CONFIG_NFT_REJECT=m CONFIG_NFT_COMPAT=m CONFIG_NFT_HASH=m +CONFIG_NFT_FIB_INET=m +CONFIG_NFT_XFRM=m CONFIG_NFT_SOCKET=m CONFIG_NFT_OSF=m CONFIG_NFT_TPROXY=m CONFIG_NFT_DUP_NETDEV=m CONFIG_NFT_FWD_NETDEV=m +CONFIG_NFT_FIB_NETDEV=m CONFIG_NF_FLOW_TABLE_INET=m CONFIG_NF_FLOW_TABLE=m +CONFIG_NETFILTER_XTABLES=y CONFIG_NETFILTER_XT_SET=m +CONFIG_NETFILTER_XT_TARGET_AUDIT=m CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m CONFIG_NETFILTER_XT_TARGET_CONNMARK=m +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m CONFIG_NETFILTER_XT_TARGET_DSCP=m CONFIG_NETFILTER_XT_TARGET_HMARK=m CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m +CONFIG_NETFILTER_XT_TARGET_LED=m CONFIG_NETFILTER_XT_TARGET_LOG=m CONFIG_NETFILTER_XT_TARGET_MARK=m CONFIG_NETFILTER_XT_TARGET_NFLOG=m @@ -175,6 +273,7 @@ CONFIG_NETFILTER_XT_TARGET_NOTRACK=m CONFIG_NETFILTER_XT_TARGET_TEE=m CONFIG_NETFILTER_XT_TARGET_TPROXY=m CONFIG_NETFILTER_XT_TARGET_TRACE=m +CONFIG_NETFILTER_XT_TARGET_SECMARK=m CONFIG_NETFILTER_XT_TARGET_TCPMSS=m CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m @@ -194,7 +293,6 @@ CONFIG_NETFILTER_XT_MATCH_DSCP=m CONFIG_NETFILTER_XT_MATCH_ESP=m CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m CONFIG_NETFILTER_XT_MATCH_HELPER=m -CONFIG_NETFILTER_XT_MATCH_IPCOMP=m CONFIG_NETFILTER_XT_MATCH_IPRANGE=m CONFIG_NETFILTER_XT_MATCH_IPVS=m CONFIG_NETFILTER_XT_MATCH_L2TP=m @@ -213,7 +311,6 @@ CONFIG_NETFILTER_XT_MATCH_QUOTA=m CONFIG_NETFILTER_XT_MATCH_RATEEST=m CONFIG_NETFILTER_XT_MATCH_REALM=m CONFIG_NETFILTER_XT_MATCH_RECENT=m -CONFIG_NETFILTER_XT_MATCH_SCTP=m CONFIG_NETFILTER_XT_MATCH_SOCKET=m CONFIG_NETFILTER_XT_MATCH_STATE=m CONFIG_NETFILTER_XT_MATCH_STATISTIC=m @@ -239,7 +336,24 @@ CONFIG_IP_SET_HASH_NETPORT=m CONFIG_IP_SET_HASH_NETIFACE=m CONFIG_IP_SET_LIST_SET=m CONFIG_IP_VS=m -CONFIG_NF_TABLES_IPV4=y +CONFIG_IP_VS_IPV6=y +CONFIG_IP_VS_PROTO_TCP=y +CONFIG_IP_VS_PROTO_UDP=y +CONFIG_IP_VS_RR=m +CONFIG_IP_VS_WRR=m +CONFIG_IP_VS_LC=m +CONFIG_IP_VS_WLC=m +CONFIG_IP_VS_FO=m +CONFIG_IP_VS_OVF=m +CONFIG_IP_VS_LBLC=m +CONFIG_IP_VS_LBLCR=m +CONFIG_IP_VS_DH=m +CONFIG_IP_VS_SH=m +CONFIG_IP_VS_MH=m +CONFIG_IP_VS_SED=m +CONFIG_IP_VS_NQ=m +CONFIG_IP_VS_FTP=m +CONFIG_IP_VS_PE_SIP=m CONFIG_NFT_DUP_IPV4=m CONFIG_NFT_FIB_IPV4=m CONFIG_NF_TABLES_ARP=y @@ -258,7 +372,6 @@ CONFIG_IP_NF_TARGET_MASQUERADE=m CONFIG_IP_NF_TARGET_NETMAP=m CONFIG_IP_NF_TARGET_REDIRECT=m CONFIG_IP_NF_MANGLE=m -CONFIG_IP_NF_TARGET_CLUSTERIP=m CONFIG_IP_NF_TARGET_ECN=m CONFIG_IP_NF_TARGET_TTL=m CONFIG_IP_NF_RAW=m @@ -266,7 +379,31 @@ CONFIG_IP_NF_SECURITY=m CONFIG_IP_NF_ARPTABLES=m CONFIG_IP_NF_ARPFILTER=m CONFIG_IP_NF_ARP_MANGLE=m +CONFIG_NFT_DUP_IPV6=m +CONFIG_NFT_FIB_IPV6=m +CONFIG_NF_FLOW_TABLE_IPV6=m +CONFIG_IP6_NF_IPTABLES=m +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_MH=m +CONFIG_IP6_NF_MATCH_RPFILTER=m +CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_SRH=m +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_TARGET_SYNPROXY=m +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_RAW=m +CONFIG_IP6_NF_SECURITY=m +CONFIG_IP6_NF_NAT=m +CONFIG_IP6_NF_TARGET_MASQUERADE=m +CONFIG_IP6_NF_TARGET_NPT=m CONFIG_NF_TABLES_BRIDGE=m +CONFIG_NFT_BRIDGE_REJECT=m CONFIG_NF_LOG_BRIDGE=m CONFIG_BRIDGE_NF_EBTABLES=m CONFIG_BRIDGE_EBT_BROUTE=m @@ -276,6 +413,7 @@ CONFIG_BRIDGE_EBT_802_3=m CONFIG_BRIDGE_EBT_AMONG=m CONFIG_BRIDGE_EBT_ARP=m CONFIG_BRIDGE_EBT_IP=m +CONFIG_BRIDGE_EBT_IP6=m CONFIG_BRIDGE_EBT_LIMIT=m CONFIG_BRIDGE_EBT_MARK=m CONFIG_BRIDGE_EBT_PKTTYPE=m @@ -288,10 +426,13 @@ CONFIG_BRIDGE_EBT_REDIRECT=m CONFIG_BRIDGE_EBT_SNAT=m CONFIG_BRIDGE_EBT_LOG=m CONFIG_BRIDGE_EBT_NFLOG=m +CONFIG_ATM=m CONFIG_BRIDGE=m +CONFIG_BRIDGE_VLAN_FILTERING=y CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q_MVRP=y +CONFIG_X25=m CONFIG_NET_SCHED=y CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_HTB=m @@ -303,36 +444,30 @@ CONFIG_NET_SCH_SFB=m CONFIG_NET_SCH_SFQ=m CONFIG_NET_SCH_TEQL=m CONFIG_NET_SCH_TBF=m -CONFIG_NET_SCH_CBS=m -CONFIG_NET_SCH_ETF=m CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCH_NETEM=m CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_MQPRIO=m -CONFIG_NET_SCH_SKBPRIO=m CONFIG_NET_SCH_CHOKE=m CONFIG_NET_SCH_QFQ=m CONFIG_NET_SCH_CODEL=m -CONFIG_NET_SCH_FQ_CODEL=m -CONFIG_NET_SCH_CAKE=m +CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NET_SCH_FQ=m CONFIG_NET_SCH_HHF=m CONFIG_NET_SCH_PIE=m CONFIG_NET_SCH_INGRESS=m CONFIG_NET_SCH_PLUG=m CONFIG_NET_SCH_DEFAULT=y +CONFIG_DEFAULT_FQ_CODEL=y CONFIG_NET_CLS_BASIC=m -CONFIG_NET_CLS_TCINDEX=m CONFIG_NET_CLS_ROUTE4=m CONFIG_NET_CLS_FW=m CONFIG_NET_CLS_U32=m CONFIG_CLS_U32_PERF=y CONFIG_CLS_U32_MARK=y -CONFIG_NET_CLS_RSVP=m -CONFIG_NET_CLS_RSVP6=m CONFIG_NET_CLS_FLOW=m -CONFIG_NET_CLS_CGROUP=m +CONFIG_NET_CLS_CGROUP=y CONFIG_NET_CLS_BPF=m CONFIG_NET_CLS_FLOWER=m CONFIG_NET_CLS_MATCHALL=m @@ -342,12 +477,14 @@ CONFIG_NET_EMATCH_NBYTE=m CONFIG_NET_EMATCH_U32=m CONFIG_NET_EMATCH_META=m CONFIG_NET_EMATCH_TEXT=m +CONFIG_NET_EMATCH_IPSET=m CONFIG_NET_CLS_ACT=y CONFIG_NET_ACT_POLICE=m CONFIG_NET_ACT_GACT=m CONFIG_GACT_PROB=y CONFIG_NET_ACT_MIRRED=m CONFIG_NET_ACT_SAMPLE=m +CONFIG_NET_ACT_IPT=m CONFIG_NET_ACT_NAT=m CONFIG_NET_ACT_PEDIT=m CONFIG_NET_ACT_SIMP=m @@ -356,28 +493,51 @@ CONFIG_NET_ACT_CSUM=m CONFIG_NET_ACT_VLAN=m CONFIG_NET_ACT_BPF=m CONFIG_NET_ACT_SKBMOD=m -CONFIG_NET_ACT_IFE=m CONFIG_NET_ACT_TUNNEL_KEY=m -CONFIG_NET_IFE_SKBMARK=m -CONFIG_NET_IFE_SKBPRIO=m -CONFIG_NET_IFE_SKBTCINDEX=m +CONFIG_NET_ACT_CT=m +CONFIG_NET_TC_SKB_EXT=y +CONFIG_DCB=y CONFIG_OPENVSWITCH=m CONFIG_VSOCKETS=m +CONFIG_VIRTIO_VSOCKETS=m CONFIG_NETLINK_DIAG=m +CONFIG_NET_MPLS_GSO=y +CONFIG_MPLS_ROUTING=m +CONFIG_MPLS_IPTUNNEL=m +CONFIG_NET_NSH=y +CONFIG_NET_SWITCHDEV=y CONFIG_CGROUP_NET_PRIO=y CONFIG_BPF_JIT=y +CONFIG_BPF_STREAM_PARSER=y +CONFIG_NET_PKTGEN=m +CONFIG_NET_DROP_MONITOR=y # CONFIG_WIRELESS is not set +CONFIG_RFKILL=m +CONFIG_NET_IFE=m +CONFIG_LWTUNNEL=y CONFIG_PCI=y CONFIG_PCIEPORTBUS=y +CONFIG_HOTPLUG_PCI_PCIE=y CONFIG_PCIEAER=y -# CONFIG_PCIEASPM is not set +CONFIG_PCIEAER_INJECT=m +CONFIG_PCIE_ECRC=y +CONFIG_PCIE_DPC=y +CONFIG_PCIE_EDR=y CONFIG_PCI_MSI=y +CONFIG_PCI_STUB=y CONFIG_PCI_IOV=y -CONFIG_UEVENT_HELPER=y +CONFIG_PCI_PRI=y +CONFIG_PCI_PASID=y +CONFIG_HOTPLUG_PCI=y +CONFIG_HOTPLUG_PCI_ACPI=y +CONFIG_HOTPLUG_PCI_CPCI=y +CONFIG_HOTPLUG_PCI_SHPC=y +CONFIG_PCI_IOHUB_SRIOV=m CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y # CONFIG_STANDALONE is not set # CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_CONNECTOR=y CONFIG_MTD=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_BLOCK=y @@ -394,45 +554,67 @@ CONFIG_MTD_PHYSMAP=y CONFIG_MTD_PHYSMAP_OF=y CONFIG_MTD_PLATRAM=y CONFIG_MTD_SPI_NOR=y -CONFIG_BLK_DEV_LOOP=y +CONFIG_OF=y +CONFIG_BLK_DEV_NULL_BLK=m +CONFIG_ZRAM=m +CONFIG_ZRAM_WRITEBACK=y +CONFIG_BLK_DEV_LOOP=m +CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_NBD=m -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_SIZE=5000000 +CONFIG_BLK_DEV_RAM=m +CONFIG_BLK_DEV_RAM_SIZE=16384 +CONFIG_CDROM_PKTCDVD=m CONFIG_VIRTIO_BLK=y -CONFIG_BLK_DEV_NVME=y +CONFIG_BLK_DEV_RBD=m +CONFIG_BLK_DEV_UBLK=m +CONFIG_BLK_DEV_NVME=m CONFIG_NVME_MULTIPATH=y CONFIG_NVME_RDMA=m -CONFIG_NVME_FC=y +CONFIG_NVME_FC=m +CONFIG_NVME_TCP=m CONFIG_NVME_TARGET=y CONFIG_NVME_TARGET_LOOP=y CONFIG_NVME_TARGET_RDMA=m CONFIG_NVME_TARGET_FC=y -CONFIG_NVME_TARGET_FCLOOP=y -CONFIG_RAID_ATTRS=y +CONFIG_NVME_TARGET_FCLOOP=m +CONFIG_ENCLOSURE_SERVICES=m +CONFIG_PVPANIC=y CONFIG_BLK_DEV_SD=y -CONFIG_CHR_DEV_ST=y -CONFIG_BLK_DEV_SR=y -CONFIG_CHR_DEV_SG=y -CONFIG_CHR_DEV_SCH=y +CONFIG_CHR_DEV_ST=m +CONFIG_BLK_DEV_SR=m +CONFIG_CHR_DEV_SG=m +CONFIG_CHR_DEV_SCH=m +CONFIG_SCSI_ENCLOSURE=m CONFIG_SCSI_CONSTANTS=y CONFIG_SCSI_LOGGING=y CONFIG_SCSI_SCAN_ASYNC=y -CONFIG_SCSI_SPI_ATTRS=y CONFIG_SCSI_FC_ATTRS=m -CONFIG_SCSI_SAS_LIBSAS=y CONFIG_SCSI_SAS_ATA=y -CONFIG_SCSI_SRP_ATTRS=y CONFIG_ISCSI_TCP=m -CONFIG_ISCSI_BOOT_SYSFS=y CONFIG_SCSI_CXGB3_ISCSI=m CONFIG_SCSI_CXGB4_ISCSI=m CONFIG_SCSI_BNX2_ISCSI=m -CONFIG_MEGARAID_NEWGEN=y -CONFIG_MEGARAID_MM=m -CONFIG_MEGARAID_MAILBOX=m -CONFIG_MEGARAID_LEGACY=m +CONFIG_BE2ISCSI=m +CONFIG_SCSI_HPSA=m +CONFIG_SCSI_MVSAS=m CONFIG_MEGARAID_SAS=m CONFIG_SCSI_MPT3SAS=m +CONFIG_SCSI_SMARTPQI=m +CONFIG_LIBFC=m +CONFIG_LIBFCOE=m +CONFIG_SCSI_IPS=m +CONFIG_SCSI_INITIO=m +CONFIG_SCSI_STEX=m +CONFIG_SCSI_SYM53C8XX_2=m +CONFIG_SCSI_QLOGIC_1280=m +CONFIG_SCSI_QLA_FC=m +CONFIG_SCSI_QLA_ISCSI=m +CONFIG_SCSI_LPFC=m +CONFIG_SCSI_DEBUG=m +CONFIG_SCSI_PMCRAID=m +CONFIG_SCSI_PM8001=m +CONFIG_SCSI_BFA_FC=m +CONFIG_SCSI_VIRTIO=m CONFIG_SCSI_DH=y CONFIG_SCSI_DH_RDAC=y CONFIG_SCSI_DH_HP_SW=y @@ -440,14 +622,14 @@ CONFIG_SCSI_DH_EMC=y CONFIG_SCSI_DH_ALUA=y CONFIG_ATA=y CONFIG_SATA_AHCI=y -# CONFIG_ATA_SFF is not set +CONFIG_SATA_AHCI_PLATFORM=m +CONFIG_SATA_SIL24=m +CONFIG_ATA_GENERIC=m CONFIG_MD=y +CONFIG_BLK_DEV_MD=y CONFIG_MD_LINEAR=m -CONFIG_MD_MULTIPATH=m CONFIG_MD_FAULTY=m -CONFIG_BCACHE=m -CONFIG_BCACHE_DEBUG=y -CONFIG_BCACHE_CLOSURES_DEBUG=y +CONFIG_MD_CLUSTER=m CONFIG_BLK_DEV_DM=m CONFIG_DM_DEBUG=y CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y @@ -481,155 +663,310 @@ CONFIG_TCM_PSCSI=m CONFIG_TCM_USER2=m CONFIG_LOOPBACK_TARGET=m CONFIG_ISCSI_TARGET=m +CONFIG_FUSION=y +CONFIG_FUSION_SPI=m +CONFIG_FUSION_SAS=m +CONFIG_FUSION_LOGGING=y +CONFIG_BONDING=m +CONFIG_DUMMY=m +CONFIG_WIREGUARD=m CONFIG_NET_FC=y +CONFIG_IFB=m +CONFIG_NET_TEAM=m +CONFIG_NET_TEAM_MODE_BROADCAST=m +CONFIG_NET_TEAM_MODE_ROUNDROBIN=m +CONFIG_NET_TEAM_MODE_RANDOM=m +CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m +CONFIG_NET_TEAM_MODE_LOADBALANCE=m CONFIG_MACVLAN=m CONFIG_MACVTAP=m -CONFIG_VIRTIO_NET=y +CONFIG_IPVLAN=m +CONFIG_IPVTAP=m +CONFIG_VXLAN=m +CONFIG_GENEVE=m +CONFIG_MACSEC=m +CONFIG_NETCONSOLE=m +CONFIG_NETCONSOLE_DYNAMIC=y +CONFIG_TUN=y +CONFIG_VETH=m +CONFIG_VIRTIO_NET=m +CONFIG_NLMON=m +CONFIG_NET_VRF=m +CONFIG_VSOCKMON=m +# CONFIG_ATM_DRIVERS is not set # CONFIG_NET_VENDOR_3COM is not set # CONFIG_NET_VENDOR_AMD is not set # CONFIG_NET_VENDOR_ARC is not set # CONFIG_NET_VENDOR_AURORA is not set +CONFIG_TIGON3=m +CONFIG_BNX2X=m +CONFIG_BNXT=m +CONFIG_BNXT_DCB=y +CONFIG_THUNDER_NIC_PF=m +CONFIG_THUNDER_NIC_VF=m CONFIG_CAVIUM_PTP=y -# CONFIG_NET_VENDOR_CIRRUS is not set +CONFIG_CHELSIO_T1=m +CONFIG_CHELSIO_T1_1G=y +CONFIG_DNET=m # CONFIG_NET_VENDOR_EZCHIP is not set -CONFIG_E100=y CONFIG_E1000=y CONFIG_E1000E=y CONFIG_IGB=y CONFIG_IGBVF=m CONFIG_IXGB=m CONFIG_IXGBE=m +CONFIG_IXGBE_DCB=y CONFIG_IXGBEVF=m -CONFIG_I40E=y -CONFIG_I40EVF=y +CONFIG_I40E=m +CONFIG_I40EVF=m +CONFIG_ICE=m +CONFIG_FM10K=m +CONFIG_IGC=m +CONFIG_TXGBE=m +CONFIG_NGBE=m +CONFIG_JME=m # CONFIG_NET_VENDOR_MARVELL is not set -CONFIG_MLX4_EN=y +CONFIG_MLX4_EN=m +# CONFIG_MLX4_CORE_GEN2 is not set CONFIG_MLX5_CORE=m CONFIG_MLX5_FPGA=y CONFIG_MLX5_CORE_EN=y -CONFIG_MLXSW_CORE=y -CONFIG_MLXSW_PCI=y -CONFIG_MLXSW_I2C=y -CONFIG_MLXSW_MINIMAL=y +CONFIG_MLX5_CORE_IPOIB=y +CONFIG_MLXSW_CORE=m # CONFIG_NET_VENDOR_MICREL is not set # CONFIG_NET_VENDOR_NATSEMI is not set -# CONFIG_NET_VENDOR_QUALCOMM is not set -# CONFIG_NET_VENDOR_RENESAS is not set -# CONFIG_NET_VENDOR_ROCKER is not set -# CONFIG_NET_VENDOR_SAMSUNG is not set +CONFIG_QCA7000_SPI=m +CONFIG_QCOM_EMAC=m +CONFIG_RMNET=m # CONFIG_NET_VENDOR_SEEQ is not set +CONFIG_SFC=m # CONFIG_NET_VENDOR_SMSC is not set # CONFIG_NET_VENDOR_STMICRO is not set # CONFIG_NET_VENDOR_SYNOPSYS is not set # CONFIG_NET_VENDOR_VIA is not set # CONFIG_NET_VENDOR_WIZNET is not set +CONFIG_PHYLIB=y +CONFIG_MDIO_BUS_MUX_MULTIPLEXER=m +CONFIG_MDIO_BUS_MUX_MMIOREG=m +CONFIG_PPP=m +CONFIG_PPPOE=m +CONFIG_SLIP=m +CONFIG_SLIP_COMPRESSED=y +CONFIG_SLIP_SMART=y +CONFIG_SLIP_MODE_SLIP6=y # CONFIG_WLAN is not set -CONFIG_INPUT_FF_MEMLESS=y +CONFIG_WAN=y +CONFIG_NETDEVSIM=m +CONFIG_ISDN=y +CONFIG_INPUT_LEDS=m CONFIG_INPUT_POLLDEV=y CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_EVDEV=y # CONFIG_KEYBOARD_ATKBD is not set -# CONFIG_INPUT_MOUSE is not set -# CONFIG_SERIO_SERPORT is not set -CONFIG_SERIO_LIBPS2=y +CONFIG_SERIO_RAW=m +CONFIG_SERIO_ALTERA_PS2=m +CONFIG_SERIO_ARC_PS2=m CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_16550A_VARIANTS=y CONFIG_SERIAL_8250_CONSOLE=y -# CONFIG_SERIAL_8250_PCI is not set -CONFIG_SERIAL_8250_SUNWAY=y +CONFIG_SERIAL_8250_PCI=m +CONFIG_SERIAL_8250_EXTENDED=y CONFIG_SERIAL_OF_PLATFORM=y -CONFIG_VIRTIO_CONSOLE=y -# CONFIG_HW_RANDOM is not set +CONFIG_VIRTIO_CONSOLE=m +CONFIG_IPMI_HANDLER=m +CONFIG_IPMI_PANIC_EVENT=y +CONFIG_IPMI_PANIC_STRING=y +CONFIG_IPMI_DEVICE_INTERFACE=m +CONFIG_IPMI_SI=m +CONFIG_IPMI_SSIF=m +CONFIG_IPMI_WATCHDOG=m +CONFIG_IPMI_POWEROFF=m +CONFIG_HW_RANDOM=y +CONFIG_RAW_DRIVER=y +CONFIG_MAX_RAW_DEVS=8192 # CONFIG_DEVPORT is not set -# CONFIG_I2C_COMPAT is not set -CONFIG_I2C=y -CONFIG_I2C_CHARDEV=y +CONFIG_TCG_ATMEL=m +# CONFIG_RANDOM_TRUST_BOOTLOADER is not set +CONFIG_I2C_CHARDEV=m +CONFIG_I2C_MUX=m +# CONFIG_I2C_HELPER_AUTO is not set +CONFIG_I2C_SMBUS=m CONFIG_I2C_DESIGNWARE_PLATFORM=y -CONFIG_I2C_MUX=y CONFIG_SPI=y -CONFIG_SPI_CHIP=y -CONFIG_SPI_CHIP_MMIO=y CONFIG_SPI_SPIDEV=y -CONFIG_SENSORS_PVT=y -CONFIG_SENSORS_LM75=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_GENERIC_PLATFORM=m +CONFIG_POWER_RESET=y +CONFIG_SENSORS_LM75=m +CONFIG_PMBUS=m +CONFIG_THERMAL_GOV_FAIR_SHARE=y +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +CONFIG_WATCHDOG_SYSFS=y +CONFIG_SOFT_WATCHDOG=m +CONFIG_I6300ESB_WDT=m CONFIG_SSB=y -CONFIG_DRM=y -CONFIG_DRM_RADEON=y -CONFIG_DRM_AST=y -CONFIG_DRM_VIRTIO_GPU=y +CONFIG_RC_CORE=m +CONFIG_VGA_ARB_MAX_GPUS=64 +CONFIG_DRM=m +CONFIG_DRM_LOAD_EDID_FIRMWARE=y +# CONFIG_DRM_I2C_SIL164 is not set +CONFIG_DRM_RADEON=m +CONFIG_DRM_RADEON_USERPTR=y +CONFIG_DRM_AMDGPU=m +CONFIG_DRM_NOUVEAU=m +# CONFIG_NOUVEAU_LEGACY_CTX_SUPPORT is not set +CONFIG_DRM_UDL=m +CONFIG_DRM_AST=m +CONFIG_DRM_MGAG200=m +CONFIG_DRM_QXL=m +CONFIG_DRM_BOCHS=m +CONFIG_DRM_VIRTIO_GPU=m +CONFIG_DRM_CIRRUS_QEMU=m +CONFIG_FB=y CONFIG_FIRMWARE_EDID=y +CONFIG_FB_TILEBLITTING=y +CONFIG_FB_EFI=y CONFIG_LCD_CLASS_DEVICE=y -# CONFIG_VGA_CONSOLE is not set -CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y CONFIG_LOGO=y +# CONFIG_HID_ITE is not set +CONFIG_HID_LOGITECH=m +# CONFIG_HID_REDRAGON is not set CONFIG_USB=y CONFIG_USB_ANNOUNCE_NEW_DEVICES=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_STORAGE=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_TRIGGERS=y CONFIG_INFINIBAND=m CONFIG_INFINIBAND_USER_MAD=m CONFIG_INFINIBAND_USER_ACCESS=m -CONFIG_INFINIBAND_MTHCA=m -# CONFIG_INFINIBAND_MTHCA_DEBUG is not set CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_INFINIBAND=m +CONFIG_INFINIBAND_ERDMA=m +CONFIG_RDMA_RXE=m +CONFIG_RDMA_SIW=m CONFIG_INFINIBAND_IPOIB=m CONFIG_INFINIBAND_IPOIB_CM=y +CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y +CONFIG_INFINIBAND_SRP=m +CONFIG_INFINIBAND_SRPT=m +CONFIG_INFINIBAND_ISER=m +CONFIG_INFINIBAND_ISERT=m CONFIG_RTC_CLASS=y -# CONFIG_RTC_NVMEM is not set -# CONFIG_RTC_INTF_PROC is not set -CONFIG_RTC_DRV_PCF8523=y -CONFIG_UIO=y +# CONFIG_RTC_SYSTOHC is not set +CONFIG_RTC_DRV_DS1307=m +CONFIG_RTC_DRV_PCF8523=m +CONFIG_DMADEVICES=y +CONFIG_DW_DMAC=m +CONFIG_ASYNC_TX_DMA=y +CONFIG_DMATEST=m +CONFIG_UIO_CIF=m +CONFIG_UIO_PDRV_GENIRQ=m +CONFIG_UIO_DMEM_GENIRQ=m +CONFIG_UIO_AEC=m +CONFIG_UIO_SERCOS3=m CONFIG_UIO_PCI_GENERIC=m +CONFIG_VFIO=m +CONFIG_VFIO_NOIOMMU=y +CONFIG_VFIO_PCI=m CONFIG_VIRTIO_PCI=y -# CONFIG_VIRTIO_PCI_LEGACY is not set +CONFIG_VIRTIO_PMEM=m +CONFIG_VIRTIO_BALLOON=m +CONFIG_VIRTIO_INPUT=m CONFIG_VIRTIO_MMIO=y +CONFIG_VHOST_NET=m +CONFIG_VHOST_SCSI=m +CONFIG_VHOST_VSOCK=m +CONFIG_VHOST_CROSS_ENDIAN_LEGACY=y CONFIG_STAGING=y CONFIG_FB_SM750=y CONFIG_IOMMU_DEFAULT_PASSTHROUGH=y -CONFIG_SUNWAY_IOMMU_V2=y -CONFIG_EXT4_FS=y -CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_STM=m +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y -CONFIG_EXT4_DEBUG=y +CONFIG_REISERFS_FS=m CONFIG_XFS_FS=y +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y CONFIG_GFS2_FS=y +CONFIG_BTRFS_FS=y +CONFIG_BTRFS_FS_POSIX_ACL=y +CONFIG_F2FS_FS=y +CONFIG_FS_DAX=y +# CONFIG_MANDATORY_FILE_LOCKING is not set CONFIG_FANOTIFY=y +CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y CONFIG_QUOTA=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +CONFIG_QFMT_V2=y CONFIG_AUTOFS4_FS=y -CONFIG_FUSE_FS=y -CONFIG_FSCACHE=y -CONFIG_ISO9660_FS=y +CONFIG_FUSE_FS=m +CONFIG_CUSE=m +CONFIG_VIRTIO_FS=m +CONFIG_VIRT_FUSE=m +CONFIG_OVERLAY_FS=m +CONFIG_OVERLAY_FS_REDIRECT_DIR=y +CONFIG_OVERLAY_FS_INDEX=y +CONFIG_FSCACHE=m +CONFIG_FSCACHE_STATS=y +CONFIG_CACHEFILES=m +CONFIG_CACHEFILES_ONDEMAND=y +CONFIG_ISO9660_FS=m CONFIG_JOLIET=y CONFIG_ZISOFS=y -CONFIG_UDF_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y -CONFIG_FAT_DEFAULT_UTF8=y -CONFIG_NTFS_FS=y -CONFIG_NTFS_RW=y +CONFIG_UDF_FS=m +CONFIG_MSDOS_FS=m +CONFIG_VFAT_FS=m +CONFIG_FAT_DEFAULT_IOCHARSET="ascii" CONFIG_PROC_KCORE=y +CONFIG_PROC_VMCORE_DEVICE_DUMP=y CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y CONFIG_HUGETLBFS=y CONFIG_CONFIGFS_FS=y -# CONFIG_MISC_FILESYSTEMS is not set -CONFIG_NFS_FS=y +CONFIG_EFIVAR_FS=y +CONFIG_CRAMFS=m +CONFIG_SQUASHFS=m +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_LZ4=y +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XZ=y +CONFIG_PSTORE=y +CONFIG_PSTORE_CONSOLE=y +CONFIG_PSTORE_TTYPROBE=y +CONFIG_PSTORE_RAM=y +CONFIG_EROFS_FS=m +CONFIG_EROFS_FS_ZIP_LZMA=y +CONFIG_EROFS_FS_ZIP_DEFLATE=y +CONFIG_EROFS_FS_ONDEMAND=y +CONFIG_NFS_FS=m +# CONFIG_NFS_V2 is not set CONFIG_NFS_V3_ACL=y -CONFIG_NFS_V4=y -CONFIG_NFS_SWAP=y +CONFIG_NFS_V4=m CONFIG_NFS_V4_1=y CONFIG_NFS_V4_2=y -CONFIG_NFS_V4_1_MIGRATION=y -CONFIG_ROOT_NFS=y CONFIG_NFS_FSCACHE=y -CONFIG_NFS_USE_LEGACY_DNS=y CONFIG_NFSD=m CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V4=y CONFIG_NFSD_SCSILAYOUT=y CONFIG_NFSD_V4_SECURITY_LABEL=y -CONFIG_NLS_CODEPAGE_437=y +CONFIG_SUNRPC_DEBUG=y +CONFIG_CEPH_FS=m +CONFIG_CEPH_FS_POSIX_ACL=y +CONFIG_CIFS=m +CONFIG_CIFS_WEAK_PW_HASH=y +CONFIG_CIFS_UPCALL=y +CONFIG_CIFS_XATTR=y +CONFIG_CIFS_POSIX=y +CONFIG_CIFS_DFS_UPCALL=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NLS_CODEPAGE_437=m CONFIG_NLS_CODEPAGE_737=m CONFIG_NLS_CODEPAGE_775=m CONFIG_NLS_CODEPAGE_850=m @@ -644,16 +981,16 @@ CONFIG_NLS_CODEPAGE_864=m CONFIG_NLS_CODEPAGE_865=m CONFIG_NLS_CODEPAGE_866=m CONFIG_NLS_CODEPAGE_869=m -CONFIG_NLS_CODEPAGE_936=y -CONFIG_NLS_CODEPAGE_950=y +CONFIG_NLS_CODEPAGE_936=m +CONFIG_NLS_CODEPAGE_950=m CONFIG_NLS_CODEPAGE_932=m CONFIG_NLS_CODEPAGE_949=m CONFIG_NLS_CODEPAGE_874=m CONFIG_NLS_ISO8859_8=m CONFIG_NLS_CODEPAGE_1250=m CONFIG_NLS_CODEPAGE_1251=m -CONFIG_NLS_ASCII=m -CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=m CONFIG_NLS_ISO8859_2=m CONFIG_NLS_ISO8859_3=m CONFIG_NLS_ISO8859_4=m @@ -677,23 +1014,132 @@ CONFIG_NLS_MAC_ICELAND=m CONFIG_NLS_MAC_INUIT=m CONFIG_NLS_MAC_ROMANIAN=m CONFIG_NLS_MAC_TURKISH=m -CONFIG_NLS_UTF8=y +CONFIG_NLS_UTF8=m +CONFIG_DLM=m +CONFIG_PERSISTENT_KEYRINGS=y +CONFIG_TRUSTED_KEYS=m CONFIG_SECURITY=y CONFIG_SECURITY_NETWORK=y CONFIG_SECURITY_INFINIBAND=y +CONFIG_SECURITY_NETWORK_XFRM=y CONFIG_SECURITY_PATH=y -CONFIG_CRYPTO_AUTHENC=y +CONFIG_LSM_MMAP_MIN_ADDR=65535 +CONFIG_HARDENED_USERCOPY=y +CONFIG_SECURITY_SELINUX=y +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 +CONFIG_SECURITY_YAMA=y +CONFIG_INTEGRITY_SIGNATURE=y +CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y +CONFIG_INTEGRITY_PLATFORM_KEYRING=y +CONFIG_IMA=y +CONFIG_IMA_SIG_TEMPLATE=y +CONFIG_IMA_DEFAULT_HASH_SHA256=y +CONFIG_IMA_WRITE_POLICY=y +CONFIG_IMA_APPRAISE=y +CONFIG_IMA_APPRAISE_BUILD_POLICY=y +CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY=y +CONFIG_IMA_BLACKLIST_KEYRING=y +CONFIG_IMA_LOAD_X509=y +CONFIG_IMA_X509_PATH="" +CONFIG_EVM=y +CONFIG_EVM_LOAD_X509=y +CONFIG_EVM_X509_PATH="" +CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity,bpf" +CONFIG_CRYPTO_FIPS=y +CONFIG_CRYPTO_USER=m +# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set +CONFIG_CRYPTO_PCRYPT=m +CONFIG_CRYPTO_CRYPTD=y +CONFIG_CRYPTO_TEST=m +CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_SM2=y CONFIG_CRYPTO_GCM=y -CONFIG_CRYPTO_SEQIV=y -CONFIG_CRYPTO_ECHAINIV=y -CONFIG_CRYPTO_CBC=y -CONFIG_CRYPTO_SHA1=y -CONFIG_CRYPTO_AES=y -CONFIG_CRYPTO_DES=y -CONFIG_CRYPTO_DEFLATE=y -CONFIG_CRYPTO_LZO=y -# CONFIG_CRYPTO_HW is not set -CONFIG_CONSOLE_LOGLEVEL_QUIET=7 -# CONFIG_ENABLE_MUST_CHECK is not set +CONFIG_CRYPTO_CHACHA20POLY1305=m +CONFIG_CRYPTO_CFB=y +CONFIG_CRYPTO_CTS=y +CONFIG_CRYPTO_LRW=m +CONFIG_CRYPTO_OFB=y +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_XTS=y +CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_VMAC=m +CONFIG_CRYPTO_MICHAEL_MIC=m +CONFIG_CRYPTO_RMD128=m +CONFIG_CRYPTO_RMD160=m +CONFIG_CRYPTO_RMD256=m +CONFIG_CRYPTO_RMD320=m +CONFIG_CRYPTO_SHA3=m +CONFIG_CRYPTO_SM3_GENERIC=y +CONFIG_CRYPTO_TGR192=m +CONFIG_CRYPTO_WP512=m +CONFIG_CRYPTO_ANUBIS=m +CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_CAMELLIA=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_DES=m +CONFIG_CRYPTO_FCRYPT=m +CONFIG_CRYPTO_KHAZAD=m +CONFIG_CRYPTO_SALSA20=m +CONFIG_CRYPTO_SEED=m +CONFIG_CRYPTO_SERPENT=m +CONFIG_CRYPTO_SM4_GENERIC=y +CONFIG_CRYPTO_TEA=m +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_LZ4=m +CONFIG_CRYPTO_LZ4HC=m +CONFIG_CRYPTO_ZSTD=m +CONFIG_CRYPTO_ANSI_CPRNG=m +CONFIG_CRYPTO_DRBG_MENU=y +CONFIG_CRYPTO_DRBG_HASH=y +CONFIG_CRYPTO_DRBG_CTR=y +CONFIG_CRYPTO_USER_API_HASH=y +CONFIG_CRYPTO_USER_API_SKCIPHER=y +CONFIG_CRYPTO_USER_API_RNG=y +CONFIG_CRYPTO_USER_API_AEAD=y +CONFIG_CRYPTO_DEV_VIRTIO=m +CONFIG_SIGNED_PE_FILE_VERIFICATION=y +CONFIG_SYSTEM_EXTRA_CERTIFICATE=y +CONFIG_SYSTEM_EXTRA_CERTIFICATE_SIZE=8192 +CONFIG_SECONDARY_TRUSTED_KEYRING=y +CONFIG_SYSTEM_BLACKLIST_KEYRING=y +CONFIG_CRC_ITU_T=y +CONFIG_CRC64=m +CONFIG_CRC7=m +CONFIG_CRC8=m +CONFIG_DMA_CMA=y +CONFIG_CMA_SIZE_MBYTES=16 +CONFIG_PRINTK_TIME=y +CONFIG_BOOT_PRINTK_DELAY=y +CONFIG_DYNAMIC_DEBUG=y +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_DWARF4=y +CONFIG_STRIP_ASM_SYMS=y +CONFIG_DEBUG_SECTION_MISMATCH=y +CONFIG_KGDB=y +CONFIG_KGDB_TESTS=y +CONFIG_KGDB_KDB=y +CONFIG_KDB_KEYBOARD=y +CONFIG_DEBUG_KERNEL=y +CONFIG_DEBUG_SHIRQ=y +CONFIG_PANIC_ON_OOPS=y +CONFIG_PANIC_TIMEOUT=1 +CONFIG_SOFTLOCKUP_DETECTOR=y CONFIG_SCHEDSTATS=y +CONFIG_BUG_ON_DATA_CORRUPTION=y +CONFIG_RCU_CPU_STALL_TIMEOUT=60 # CONFIG_RCU_TRACE is not set +CONFIG_STACK_TRACER=y +CONFIG_SCHED_TRACER=y +CONFIG_HWLAT_TRACER=y +CONFIG_TIMERLAT_TRACER=y +CONFIG_FTRACE_SYSCALLS=y +CONFIG_BLK_DEV_IO_TRACE=y +CONFIG_HIST_TRIGGERS=y +# CONFIG_STRICT_DEVMEM is not set +CONFIG_ATOMIC64_SELFTEST=y +CONFIG_ASYNC_RAID6_TEST=m +CONFIG_TEST_BPF=m -- Gitee From 7ec2a9ebe855d692a4d93bd06e9ef9a07935a207 Mon Sep 17 00:00:00 2001 From: Zheng Chongzhen Date: Thu, 25 Jul 2024 14:31:40 +0000 Subject: [PATCH 07/10] =?UTF-8?q?anolis:=20sw64:=20pci:=20fix=C2=A0the?= =?UTF-8?q?=C2=A0policy=C2=A0of=C2=A0pci=C2=A0resource=C2=A0assignment?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ANBZ: #4688 This commit fixes two errors in PCI resource assignment: - It includes RC in the resource calculation - It updates RC base/limit registers of host bridge windows Signed-off-by: Zheng Chongzhen Signed-off-by: Gu Zitao --- arch/sw_64/pci/pci.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/arch/sw_64/pci/pci.c b/arch/sw_64/pci/pci.c index 0d5343ceb808..69ff6c952c15 100644 --- a/arch/sw_64/pci/pci.c +++ b/arch/sw_64/pci/pci.c @@ -119,7 +119,7 @@ void pcibios_fixup_bus(struct pci_bus *bus) struct pci_controller *hose = pci_bus_to_pci_controller(bus); struct pci_dev *dev = bus->self; - if (!dev || bus->number == hose->first_busno) { + if (!dev) { bus->resource[0] = hose->io_space; bus->resource[1] = hose->mem_space; bus->resource[2] = hose->pre_mem_space; @@ -194,7 +194,6 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82378, */ static void fixup_root_complex(struct pci_dev *dev) { - int i; struct pci_bus *bus = dev->bus; struct pci_controller *hose = pci_bus_to_pci_controller(bus); @@ -209,13 +208,7 @@ static void fixup_root_complex(struct pci_dev *dev) dev->class &= 0xff; dev->class |= PCI_CLASS_BRIDGE_PCI << 8; - for (i = 0; i < PCI_NUM_RESOURCES; i++) { - dev->resource[i].start = 0; - dev->resource[i].end = 0; - dev->resource[i].flags = IORESOURCE_PCI_FIXED; - } } - atomic_inc(&dev->enable_cnt); dev->no_msi = 1; } -- Gitee From 560c3e672ff687d7b5c3fb31cc697ad68cdc7460 Mon Sep 17 00:00:00 2001 From: Min Fanlei Date: Thu, 25 Jul 2024 17:31:25 +0800 Subject: [PATCH 08/10] anolis: sw64: kvm: don't retrieve memory slot again in page fault handler ANBZ: #4688 It is unnecessary to retrieve the memory slot again in user_mem_abort() because the corresponding memory slot has been passed from the caller. Signed-off-by: Min Fanlei Signed-off-by: Gu Zitao --- arch/sw_64/kvm/mmu.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/arch/sw_64/kvm/mmu.c b/arch/sw_64/kvm/mmu.c index a05b9c91f3ea..d8a3afa51024 100644 --- a/arch/sw_64/kvm/mmu.c +++ b/arch/sw_64/kvm/mmu.c @@ -1170,16 +1170,17 @@ static int user_mem_abort(struct kvm_vcpu *vcpu, mmu_seq = vcpu->kvm->mmu_notifier_seq; /* * Ensure the read of mmu_notifier_seq happens before we call - * gfn_to_pfn_prot (which calls get_user_pages), so that we don't risk - * the page we just got a reference to gets unmapped before we have a - * chance to grab the mmu_lock, which ensure that if the page gets + * __gfn_to_pfn_memslot (which calls get_user_pages), so that we don't + * risk the page we just got a reference to gets unmapped before we have + * a chance to grab the mmu_lock, which ensure that if the page gets * unmapped afterwards, the call to kvm_unmap_hva will take it away * from us again properly. This smp_rmb() interacts with the smp_wmb() * in kvm_mmu_notifier_invalidate_. */ smp_rmb(); - pfn = gfn_to_pfn_prot(kvm, gfn, write_fault, &writable); + pfn = __gfn_to_pfn_memslot(memslot, gfn, false, NULL, + write_fault, &writable); if (pfn == KVM_PFN_ERR_HWPOISON) { kvm_send_hwpoison_signal(hva, vma); return 0; @@ -1280,7 +1281,7 @@ static int user_mem_abort(struct kvm_vcpu *vcpu, if (writable) { new_pte = kvm_pte_mkwrite(new_pte); kvm_set_pfn_dirty(pfn); - mark_page_dirty(kvm, gfn); + mark_page_dirty_in_slot(memslot, gfn); } if (exec_fault && fault_status == AF_STATUS_INV) { -- Gitee From 65e395d6382f6fe027d052b0c0e099185537aa7b Mon Sep 17 00:00:00 2001 From: Min Fanlei Date: Tue, 23 Jul 2024 15:06:21 +0800 Subject: [PATCH 09/10] anolis: sw64: kvm: fix invalid memslot flags checking during dirty logging ANBZ: #4688 We do not define __KVM_HAVE_READONLY_MEM now, so it is impossible to have KVM_MEM_READONLY flag set. And it is more reasonable to confirm the dirty logging status by KVM_MEM_LOG_DIRTY_PAGES. Signed-off-by: Min Fanlei Signed-off-by: Gu Zitao --- arch/sw_64/kvm/mmu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/sw_64/kvm/mmu.c b/arch/sw_64/kvm/mmu.c index d8a3afa51024..4bb6cb810d04 100644 --- a/arch/sw_64/kvm/mmu.c +++ b/arch/sw_64/kvm/mmu.c @@ -41,7 +41,7 @@ static bool memslot_is_logging(struct kvm_memory_slot *memslot) { - return memslot->dirty_bitmap && !(memslot->flags & KVM_MEM_READONLY); + return memslot->dirty_bitmap && (memslot->flags & KVM_MEM_LOG_DIRTY_PAGES); } /* -- Gitee From 1c19cf628d8d2ba137803d988be575779d5314e5 Mon Sep 17 00:00:00 2001 From: Gu Zitao Date: Tue, 23 Jul 2024 14:45:05 +0800 Subject: [PATCH 10/10] anolis: sw64: remove unnecessary parameter passing ANBZ: #4688 Compiler has already prepared parameters for reboot_code_buffer(), so there is no need to get parameters through these four kexec_args. Signed-off-by: Gu Zitao Signed-off-by: Gu Zitao --- arch/sw_64/kernel/relocate_kernel.S | 38 ----------------------------- 1 file changed, 38 deletions(-) diff --git a/arch/sw_64/kernel/relocate_kernel.S b/arch/sw_64/kernel/relocate_kernel.S index f1a160636212..a4b0d27778b9 100644 --- a/arch/sw_64/kernel/relocate_kernel.S +++ b/arch/sw_64/kernel/relocate_kernel.S @@ -16,11 +16,6 @@ relocate_new_kernel: .prologue 0 - ldl a0, arg0 - ldl a1, arg1 - ldl a2, arg2 - ldl a3, arg3 - ldl s0, kexec_indirection_page ldl s1, kexec_start_address @@ -100,10 +95,6 @@ done: .globl kexec_smp_wait .ent kexec_smp_wait kexec_smp_wait: - ldl a0, s_arg0 - ldl a1, s_arg1 - ldl a2, s_arg2 - ldl a3, s_arg3 ldl s1, kexec_start_address /* Non-relocated address works for args and kexec_start_address (old @@ -124,35 +115,6 @@ kexec_smp_wait: jmp ra, (s1) .end kexec_smp_wait .size kexec_smp_wait, .-kexec_smp_wait -#endif - - .align 3 - - /* All parameters to new kernel are passed in registers a0-a3. - * kexec_args[0..3] are uses to prepare register values. - */ - -kexec_args: - .globl kexec_args -arg0: .quad 0x0 -arg1: .quad 0x0 -arg2: .quad 0x0 -arg3: .quad 0x0 - .size kexec_args, 8*4 - -#ifdef CONFIG_CRASH_SMP - /* - * Secondary CPUs may have different kernel parameters in - * their registers a0-a3. secondary_kexec_args[0..3] are used - * to prepare register values. - */ -secondary_kexec_args: - .globl secondary_kexec_args -s_arg0: .quad 0x0 -s_arg1: .quad 0x0 -s_arg2: .quad 0x0 -s_arg3: .quad 0x0 - .size secondary_kexec_args, 8*4 kexec_flag: .quad 0x1 -- Gitee