From 44ec8ec7dbb7c7105dc4c47072a48d8a059c2881 Mon Sep 17 00:00:00 2001 From: Christian Helmuth Date: Fri, 2 Aug 2024 14:02:06 +0200 Subject: [PATCH] pc_nic: update to 6.6.47 Issue #5264 --- repos/pc/src/driver/nic/pc/dep.list | 14 +++ repos/pc/src/driver/nic/pc/dummies.c | 10 +- repos/pc/src/driver/nic/pc/lx_emul.c | 15 ++- repos/pc/src/driver/nic/pc/lx_user.c | 5 +- .../nic/pc/spec/x86_32/generated_dummies.c | 117 ++++++++++++++++-- .../src/driver/nic/pc/spec/x86_32/source.list | 1 + .../nic/pc/spec/x86_64/generated_dummies.c | 117 ++++++++++++++++-- .../src/driver/nic/pc/spec/x86_64/source.list | 1 + repos/pc/src/driver/nic/pc/target.inc | 1 + 9 files changed, 245 insertions(+), 36 deletions(-) diff --git a/repos/pc/src/driver/nic/pc/dep.list b/repos/pc/src/driver/nic/pc/dep.list index 41ba4e666b..c0961463ff 100644 --- a/repos/pc/src/driver/nic/pc/dep.list +++ b/repos/pc/src/driver/nic/pc/dep.list @@ -29,6 +29,7 @@ drivers/net/ethernet/intel/e1000e/80003es2lan.h drivers/net/ethernet/intel/e1000e/82571.h drivers/net/ethernet/intel/e1000e/defines.h drivers/net/ethernet/intel/e1000e/e1000.h +drivers/net/ethernet/intel/e1000e/e1000e_trace.h drivers/net/ethernet/intel/e1000e/hw.h drivers/net/ethernet/intel/e1000e/ich8lan.h drivers/net/ethernet/intel/e1000e/mac.h @@ -39,6 +40,7 @@ drivers/net/ethernet/intel/e1000e/regs.h drivers/net/ethernet/realtek/r8169.h drivers/net/ethernet/realtek/r8169_firmware.h drivers/net/phy/mdio-boardinfo.h +drivers/net/phy/mdio-open-alliance.h drivers/net/phy/swphy.h include/asm-generic/asm-prototypes.h include/asm-generic/bitops/fls64.h @@ -51,6 +53,7 @@ include/crypto/sha1.h include/linux/aer.h include/linux/bpf-cgroup.h include/linux/bpf.h +include/linux/bpf_mprog.h include/linux/bpf_trace.h include/linux/bpfptr.h include/linux/btf.h @@ -76,7 +79,9 @@ include/linux/ip.h include/linux/ipv6_route.h include/linux/irqchip/chained_irq.h include/linux/kcov.h +include/linux/micrel_phy.h include/linux/mpls.h +include/linux/net_tstamp.h include/linux/netfilter.h include/linux/netfilter_netdev.h include/linux/netpoll.h @@ -86,6 +91,7 @@ include/linux/of_mdio.h include/linux/of_net.h include/linux/phy_fixed.h include/linux/phy_led_triggers.h +include/linux/phylib_stubs.h include/linux/phylink.h include/linux/pinctrl/pinconf-generic.h include/linux/pinctrl/pinctrl.h @@ -115,6 +121,7 @@ include/net/flow_offload.h include/net/gen_stats.h include/net/gro.h include/net/gro_cells.h +include/net/gso.h include/net/inet_ecn.h include/net/inet_hashtables.h include/net/inetpeer.h @@ -131,7 +138,11 @@ include/net/mctp.h include/net/mpls.h include/net/mptcp.h include/net/ndisc.h +include/net/netdev_queues.h +include/net/netdev_rx_queue.h include/net/netns/generic.h +include/net/page_pool/helpers.h +include/net/page_pool/types.h include/net/pkt_cls.h include/net/pkt_sched.h include/net/protocol.h @@ -140,6 +151,7 @@ include/net/sch_generic.h include/net/sock_reuseport.h include/net/switchdev.h include/net/tcp.h +include/net/tcx.h include/net/udp.h include/net/udp_tunnel.h include/net/xdp_priv.h @@ -153,6 +165,7 @@ include/trace/events/napi.h include/trace/events/neigh.h include/trace/events/net.h include/trace/events/net_probe_common.h +include/trace/events/notifier.h include/trace/events/qdisc.h include/trace/events/skb.h include/trace/events/sock.h @@ -165,6 +178,7 @@ include/uapi/linux/btf.h include/uapi/linux/devlink.h include/uapi/linux/errqueue.h include/uapi/linux/ethtool_netlink.h +include/uapi/linux/fanotify.h include/uapi/linux/filter.h include/uapi/linux/gen_stats.h include/uapi/linux/if_arp.h diff --git a/repos/pc/src/driver/nic/pc/dummies.c b/repos/pc/src/driver/nic/pc/dummies.c index e7d623850d..f45d343b54 100644 --- a/repos/pc/src/driver/nic/pc/dummies.c +++ b/repos/pc/src/driver/nic/pc/dummies.c @@ -53,15 +53,7 @@ int proc_alloc_inum(unsigned int * inum) #include -struct ctl_table_header * register_sysctl(const char * path,struct ctl_table * table) -{ - lx_emul_trace(__func__); - return NULL; -} - -#include - -void __init __register_sysctl_init(const char * path,struct ctl_table * table,const char * table_name) +void __init __register_sysctl_init(const char * path,struct ctl_table * table,const char * table_name,size_t table_size) { lx_emul_trace(__func__); } diff --git a/repos/pc/src/driver/nic/pc/lx_emul.c b/repos/pc/src/driver/nic/pc/lx_emul.c index 61668882d9..38d903b23d 100644 --- a/repos/pc/src/driver/nic/pc/lx_emul.c +++ b/repos/pc/src/driver/nic/pc/lx_emul.c @@ -138,13 +138,19 @@ int pcie_capability_write_word(struct pci_dev * dev, int pos, u16 val) } -int pcie_capability_clear_and_set_word(struct pci_dev *dev, int pos, u16 clear, u16 set) +int pcie_capability_clear_and_set_word_unlocked(struct pci_dev *dev, int pos, u16 clear, u16 set) { printk("%s: unsupported pos=%x\n", __func__, pos); return PCIBIOS_FUNC_NOT_SUPPORTED; } +int pcie_capability_clear_and_set_word_locked(struct pci_dev *dev, int pos, u16 clear, u16 set) +{ + return pcie_capability_clear_and_set_word_unlocked(dev, pos, clear, set); +} + + int pcie_set_readrq(struct pci_dev * dev, int rq) { printk("%s: unsupported rq=%d\n", __func__, rq); @@ -213,6 +219,13 @@ int pci_alloc_irq_vectors_affinity(struct pci_dev *dev, unsigned int min_vecs, } +int pci_alloc_irq_vectors(struct pci_dev *dev, unsigned int min_vecs, + unsigned int max_vecs, unsigned int flags) +{ + return pci_alloc_irq_vectors_affinity(dev, min_vecs, max_vecs, flags, NULL); +} + + int pci_irq_vector(struct pci_dev *dev, unsigned int nr) { if (WARN_ON_ONCE(nr > 0)) diff --git a/repos/pc/src/driver/nic/pc/lx_user.c b/repos/pc/src/driver/nic/pc/lx_user.c index e99db9b6b2..5ecfaa43a6 100644 --- a/repos/pc/src/driver/nic/pc/lx_user.c +++ b/repos/pc/src/driver/nic/pc/lx_user.c @@ -204,7 +204,7 @@ void lx_user_init(void) { pid_t pid; - pid = kernel_thread(user_task_function, NULL, CLONE_FS | CLONE_FILES); + pid = kernel_thread(user_task_function, NULL, "user_task", CLONE_FS | CLONE_FILES); user_task_struct_ptr = find_task_by_pid_ns(pid, NULL); } @@ -215,7 +215,8 @@ void lx_user_init(void) /* * Called whenever the link state changes */ -void rtmsg_ifinfo(int type, struct net_device * dev, unsigned int change, gfp_t flags) +void rtmsg_ifinfo(int type, struct net_device * dev, unsigned int change, gfp_t flags, + u32 portid, const struct nlmsghdr *nlh) { /* trigger handle_create_uplink / handle_destroy_uplink */ if (user_task_struct_ptr) diff --git a/repos/pc/src/driver/nic/pc/spec/x86_32/generated_dummies.c b/repos/pc/src/driver/nic/pc/spec/x86_32/generated_dummies.c index 8026bf1112..c9954f2e24 100644 --- a/repos/pc/src/driver/nic/pc/spec/x86_32/generated_dummies.c +++ b/repos/pc/src/driver/nic/pc/spec/x86_32/generated_dummies.c @@ -1,7 +1,7 @@ /* * \brief Dummy definitions of Linux Kernel functions * \author Automatically generated file - do no edit - * \date 2024-07-16 + * \date 2024-08-20 */ #include @@ -84,6 +84,14 @@ void __skb_get_hash(struct sk_buff * skb) } +#include + +struct sk_buff * __skb_gso_segment(struct sk_buff * skb,netdev_features_t features,bool tx_path) +{ + lx_emul_trace_and_stop(__func__); +} + + #include void __srcu_read_unlock(struct srcu_struct * ssp,int idx) @@ -116,8 +124,8 @@ int add_uevent_var(struct kobj_uevent_env * env,const char * format,...) } -extern void arch_trigger_cpumask_backtrace(const cpumask_t * mask,bool exclude_self); -void arch_trigger_cpumask_backtrace(const cpumask_t * mask,bool exclude_self) +extern void arch_trigger_cpumask_backtrace(const cpumask_t * mask,int exclude_cpu); +void arch_trigger_cpumask_backtrace(const cpumask_t * mask,int exclude_cpu) { lx_emul_trace_and_stop(__func__); } @@ -200,6 +208,22 @@ void cpu_latency_qos_remove_request(struct pm_qos_request * req) } +#include + +unsigned int cpumask_any_and_distribute(const struct cpumask * src1p,const struct cpumask * src2p) +{ + lx_emul_trace_and_stop(__func__); +} + + +#include + +bool cpus_share_cache(int this_cpu,int that_cpu) +{ + lx_emul_trace_and_stop(__func__); +} + + #include int device_create_managed_software_node(struct device * dev,const struct property_entry * properties,const struct software_node * parent) @@ -224,6 +248,14 @@ asmlinkage __visible void dump_stack(void) } +#include + +asmlinkage __visible void dump_stack_lvl(const char * log_lvl) +{ + lx_emul_trace_and_stop(__func__); +} + + #include void emergency_restart(void) @@ -450,11 +482,6 @@ long __sched io_schedule_timeout(long timeout) } -#include - -struct io_tlb_mem io_tlb_default_mem; - - #include void irq_work_tick(void) @@ -497,6 +524,11 @@ int kobject_synth_uevent(struct kobject * kobj,const char * buf,size_t count) struct pernet_operations __net_initdata loopback_net_ops; +#include + +unsigned long loops_per_jiffy; + + #include void migrate_disable(void) @@ -624,6 +656,14 @@ void pci_release_selected_regions(struct pci_dev * pdev,int bars) } +#include + +int pci_reset_bus(struct pci_dev * pdev) +{ + lx_emul_trace_and_stop(__func__); +} + + #include int pci_set_power_state(struct pci_dev * dev,pci_power_t state) @@ -672,6 +712,11 @@ int pcix_set_mmrbc(struct pci_dev * dev,int mmrbc) } +#include + +const struct phylib_stubs *phylib_stubs; + + #include int probe_irq_off(unsigned long val) @@ -712,6 +757,28 @@ void proc_free_inum(unsigned int inum) } +extern void raw_spin_rq_lock_nested(struct rq * rq,int subclass); +void raw_spin_rq_lock_nested(struct rq * rq,int subclass) +{ + lx_emul_trace_and_stop(__func__); +} + + +extern void raw_spin_rq_unlock(struct rq * rq); +void raw_spin_rq_unlock(struct rq * rq) +{ + lx_emul_trace_and_stop(__func__); +} + + +#include + +bool rcuref_get_slowpath(rcuref_t * ref) +{ + lx_emul_trace_and_stop(__func__); +} + + #include enum reboot_mode reboot_mode; @@ -735,7 +802,7 @@ struct rhash_lock_head __rcu ** rht_bucket_nested(const struct bucket_table * tb #include -struct sk_buff * rtmsg_ifinfo_build_skb(int type,struct net_device * dev,unsigned int change,u32 event,gfp_t flags,int * new_nsid,int new_ifindex) +struct sk_buff * rtmsg_ifinfo_build_skb(int type,struct net_device * dev,unsigned int change,u32 event,gfp_t flags,int * new_nsid,int new_ifindex,u32 portid,const struct nlmsghdr * nlh) { lx_emul_trace_and_stop(__func__); } @@ -743,7 +810,7 @@ struct sk_buff * rtmsg_ifinfo_build_skb(int type,struct net_device * dev,unsigne #include -void rtmsg_ifinfo_send(struct sk_buff * skb,struct net_device * dev,gfp_t flags) +void rtmsg_ifinfo_send(struct sk_buff * skb,struct net_device * dev,gfp_t flags,u32 portid,const struct nlmsghdr * nlh) { lx_emul_trace_and_stop(__func__); } @@ -759,7 +826,7 @@ struct net * rtnl_get_net_ns_capable(struct sock * sk,int netnsid) #include -void rtnl_notify(struct sk_buff * skb,struct net * net,u32 pid,u32 group,struct nlmsghdr * nlh,gfp_t flags) +void rtnl_notify(struct sk_buff * skb,struct net * net,u32 pid,u32 group,const struct nlmsghdr * nlh,gfp_t flags) { lx_emul_trace_and_stop(__func__); } @@ -797,6 +864,25 @@ void seq_printf(struct seq_file * m,const char * f,...) } +extern void set_rq_offline(struct rq * rq); +void set_rq_offline(struct rq * rq) +{ + lx_emul_trace_and_stop(__func__); +} + + +extern void set_rq_online(struct rq * rq); +void set_rq_online(struct rq * rq) +{ + lx_emul_trace_and_stop(__func__); +} + + +#include + +unsigned int setup_max_cpus; + + #include void show_state_filter(unsigned int state_filter) @@ -882,7 +968,7 @@ int task_work_add(struct task_struct * task,struct callback_head * work,enum tas #include -struct callback_head * task_work_cancel(struct task_struct * task,task_work_func_t func) +struct callback_head * task_work_cancel_func(struct task_struct * task,task_work_func_t func) { lx_emul_trace_and_stop(__func__); } @@ -895,6 +981,13 @@ void unregister_handler_proc(unsigned int irq,struct irqaction * action) } +extern void update_group_capacity(struct sched_domain * sd,int cpu); +void update_group_capacity(struct sched_domain * sd,int cpu) +{ + lx_emul_trace_and_stop(__func__); +} + + #include void wake_q_add_safe(struct wake_q_head * head,struct task_struct * task) diff --git a/repos/pc/src/driver/nic/pc/spec/x86_32/source.list b/repos/pc/src/driver/nic/pc/spec/x86_32/source.list index ee846a44ab..279b1d992e 100644 --- a/repos/pc/src/driver/nic/pc/spec/x86_32/source.list +++ b/repos/pc/src/driver/nic/pc/spec/x86_32/source.list @@ -92,6 +92,7 @@ lib/kobject.c lib/kstrtox.c lib/list_sort.c lib/llist.c +lib/maple_tree.c lib/math/div64.c lib/math/reciprocal_div.c lib/radix-tree.c diff --git a/repos/pc/src/driver/nic/pc/spec/x86_64/generated_dummies.c b/repos/pc/src/driver/nic/pc/spec/x86_64/generated_dummies.c index 212ebfd86e..76c9be014b 100644 --- a/repos/pc/src/driver/nic/pc/spec/x86_64/generated_dummies.c +++ b/repos/pc/src/driver/nic/pc/spec/x86_64/generated_dummies.c @@ -1,7 +1,7 @@ /* * \brief Dummy definitions of Linux Kernel functions * \author Automatically generated file - do no edit - * \date 2024-07-16 + * \date 2024-08-20 */ #include @@ -84,6 +84,14 @@ void __skb_get_hash(struct sk_buff * skb) } +#include + +struct sk_buff * __skb_gso_segment(struct sk_buff * skb,netdev_features_t features,bool tx_path) +{ + lx_emul_trace_and_stop(__func__); +} + + #include void __srcu_read_unlock(struct srcu_struct * ssp,int idx) @@ -116,8 +124,8 @@ int add_uevent_var(struct kobj_uevent_env * env,const char * format,...) } -extern void arch_trigger_cpumask_backtrace(const cpumask_t * mask,bool exclude_self); -void arch_trigger_cpumask_backtrace(const cpumask_t * mask,bool exclude_self) +extern void arch_trigger_cpumask_backtrace(const cpumask_t * mask,int exclude_cpu); +void arch_trigger_cpumask_backtrace(const cpumask_t * mask,int exclude_cpu) { lx_emul_trace_and_stop(__func__); } @@ -200,6 +208,22 @@ void cpu_latency_qos_remove_request(struct pm_qos_request * req) } +#include + +unsigned int cpumask_any_and_distribute(const struct cpumask * src1p,const struct cpumask * src2p) +{ + lx_emul_trace_and_stop(__func__); +} + + +#include + +bool cpus_share_cache(int this_cpu,int that_cpu) +{ + lx_emul_trace_and_stop(__func__); +} + + #include __sum16 csum_ipv6_magic(const struct in6_addr * saddr,const struct in6_addr * daddr,__u32 len,__u8 proto,__wsum sum) @@ -232,6 +256,14 @@ asmlinkage __visible void dump_stack(void) } +#include + +asmlinkage __visible void dump_stack_lvl(const char * log_lvl) +{ + lx_emul_trace_and_stop(__func__); +} + + #include void emergency_restart(void) @@ -453,11 +485,6 @@ long __sched io_schedule_timeout(long timeout) } -#include - -struct io_tlb_mem io_tlb_default_mem; - - #include void irq_work_tick(void) @@ -500,6 +527,11 @@ int kobject_synth_uevent(struct kobject * kobj,const char * buf,size_t count) struct pernet_operations __net_initdata loopback_net_ops; +#include + +unsigned long loops_per_jiffy; + + #include void migrate_disable(void) @@ -627,6 +659,14 @@ void pci_release_selected_regions(struct pci_dev * pdev,int bars) } +#include + +int pci_reset_bus(struct pci_dev * pdev) +{ + lx_emul_trace_and_stop(__func__); +} + + #include int pci_set_power_state(struct pci_dev * dev,pci_power_t state) @@ -675,6 +715,11 @@ int pcix_set_mmrbc(struct pci_dev * dev,int mmrbc) } +#include + +const struct phylib_stubs *phylib_stubs; + + #include int probe_irq_off(unsigned long val) @@ -715,6 +760,28 @@ void proc_free_inum(unsigned int inum) } +extern void raw_spin_rq_lock_nested(struct rq * rq,int subclass); +void raw_spin_rq_lock_nested(struct rq * rq,int subclass) +{ + lx_emul_trace_and_stop(__func__); +} + + +extern void raw_spin_rq_unlock(struct rq * rq); +void raw_spin_rq_unlock(struct rq * rq) +{ + lx_emul_trace_and_stop(__func__); +} + + +#include + +bool rcuref_get_slowpath(rcuref_t * ref) +{ + lx_emul_trace_and_stop(__func__); +} + + #include enum reboot_mode reboot_mode; @@ -738,7 +805,7 @@ struct rhash_lock_head __rcu ** rht_bucket_nested(const struct bucket_table * tb #include -struct sk_buff * rtmsg_ifinfo_build_skb(int type,struct net_device * dev,unsigned int change,u32 event,gfp_t flags,int * new_nsid,int new_ifindex) +struct sk_buff * rtmsg_ifinfo_build_skb(int type,struct net_device * dev,unsigned int change,u32 event,gfp_t flags,int * new_nsid,int new_ifindex,u32 portid,const struct nlmsghdr * nlh) { lx_emul_trace_and_stop(__func__); } @@ -746,7 +813,7 @@ struct sk_buff * rtmsg_ifinfo_build_skb(int type,struct net_device * dev,unsigne #include -void rtmsg_ifinfo_send(struct sk_buff * skb,struct net_device * dev,gfp_t flags) +void rtmsg_ifinfo_send(struct sk_buff * skb,struct net_device * dev,gfp_t flags,u32 portid,const struct nlmsghdr * nlh) { lx_emul_trace_and_stop(__func__); } @@ -762,7 +829,7 @@ struct net * rtnl_get_net_ns_capable(struct sock * sk,int netnsid) #include -void rtnl_notify(struct sk_buff * skb,struct net * net,u32 pid,u32 group,struct nlmsghdr * nlh,gfp_t flags) +void rtnl_notify(struct sk_buff * skb,struct net * net,u32 pid,u32 group,const struct nlmsghdr * nlh,gfp_t flags) { lx_emul_trace_and_stop(__func__); } @@ -800,6 +867,25 @@ void seq_printf(struct seq_file * m,const char * f,...) } +extern void set_rq_offline(struct rq * rq); +void set_rq_offline(struct rq * rq) +{ + lx_emul_trace_and_stop(__func__); +} + + +extern void set_rq_online(struct rq * rq); +void set_rq_online(struct rq * rq) +{ + lx_emul_trace_and_stop(__func__); +} + + +#include + +unsigned int setup_max_cpus; + + #include void show_state_filter(unsigned int state_filter) @@ -885,7 +971,7 @@ int task_work_add(struct task_struct * task,struct callback_head * work,enum tas #include -struct callback_head * task_work_cancel(struct task_struct * task,task_work_func_t func) +struct callback_head * task_work_cancel_func(struct task_struct * task,task_work_func_t func) { lx_emul_trace_and_stop(__func__); } @@ -898,6 +984,13 @@ void unregister_handler_proc(unsigned int irq,struct irqaction * action) } +extern void update_group_capacity(struct sched_domain * sd,int cpu); +void update_group_capacity(struct sched_domain * sd,int cpu) +{ + lx_emul_trace_and_stop(__func__); +} + + #include void wake_q_add_safe(struct wake_q_head * head,struct task_struct * task) diff --git a/repos/pc/src/driver/nic/pc/spec/x86_64/source.list b/repos/pc/src/driver/nic/pc/spec/x86_64/source.list index dc9ba4bc35..335226d1f0 100644 --- a/repos/pc/src/driver/nic/pc/spec/x86_64/source.list +++ b/repos/pc/src/driver/nic/pc/spec/x86_64/source.list @@ -94,6 +94,7 @@ lib/kobject.c lib/kstrtox.c lib/list_sort.c lib/llist.c +lib/maple_tree.c lib/math/reciprocal_div.c lib/radix-tree.c lib/rbtree.c diff --git a/repos/pc/src/driver/nic/pc/target.inc b/repos/pc/src/driver/nic/pc/target.inc index 25f290de59..3fd76b75d6 100644 --- a/repos/pc/src/driver/nic/pc/target.inc +++ b/repos/pc/src/driver/nic/pc/target.inc @@ -2,6 +2,7 @@ TARGET := pc_nic LIBS := base pc_lx_emul jitterentropy INC_DIR += $(PRG_DIR)/../.. +INC_DIR += $(LX_SRC_DIR)/drivers/net/ethernet/intel/e1000e SRC_CC += main.cc SRC_C += dummies.c SRC_C += lx_emul.c