diff --git a/repos/dde_linux/src/app/wireguard/config.xsd b/repos/dde_linux/src/app/wireguard/config.xsd index 2492b9d6c7..d2b7b15cb5 100644 --- a/repos/dde_linux/src/app/wireguard/config.xsd +++ b/repos/dde_linux/src/app/wireguard/config.xsd @@ -19,6 +19,7 @@ </xs:choice> <xs:attribute name="private_key" type="xs:string"/> + <xs:attribute name="ld_verbose" type="Boolean" /> <xs:attribute name="listen_port" type="Port" /> <xs:attribute name="use_rtc" type="Boolean" /> </xs:complexType> diff --git a/repos/dde_linux/src/app/wireguard/dep.list b/repos/dde_linux/src/app/wireguard/dep.list index 3a3d1a3864..daae176fef 100644 --- a/repos/dde_linux/src/app/wireguard/dep.list +++ b/repos/dde_linux/src/app/wireguard/dep.list @@ -252,6 +252,7 @@ arch/x86/include/uapi/asm/stat.h arch/x86/include/uapi/asm/swab.h arch/x86/include/uapi/asm/unistd.h arch/x86/include/uapi/asm/vsyscall.h +crypto/hash.h crypto/internal.h drivers/net/wireguard/allowedips.h drivers/net/wireguard/cookie.h @@ -554,7 +555,6 @@ include/linux/instrumentation.h include/linux/instrumented.h include/linux/interrupt.h include/linux/io.h -include/linux/ioasid.h include/linux/iocontext.h include/linux/iopoll.h include/linux/ioport.h @@ -1007,7 +1007,6 @@ include/net/netns/xdp.h include/net/netns/xfrm.h include/net/netprio_cgroup.h include/net/nexthop.h -include/net/page_pool.h include/net/pptp.h include/net/protocol.h include/net/request_sock.h diff --git a/repos/dde_linux/src/app/wireguard/dummies.c b/repos/dde_linux/src/app/wireguard/dummies.c index e8de9969e2..4553d998c5 100644 --- a/repos/dde_linux/src/app/wireguard/dummies.c +++ b/repos/dde_linux/src/app/wireguard/dummies.c @@ -18,6 +18,20 @@ DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, cpu_sibling_map); EXPORT_PER_CPU_SYMBOL(cpu_sibling_map); +DEFINE_PER_CPU(unsigned long, cpu_scale); + +#ifdef __aarch64__ +DECLARE_BITMAP(system_cpucaps, ARM64_NCAPS); +EXPORT_SYMBOL(system_cpucaps); +#endif + + +/* mm/debug.c */ +const struct trace_print_flags pagetype_names[] = { + {0, NULL} +}; + + extern int __init buses_init(void); int __init buses_init(void) { @@ -194,6 +208,47 @@ unsigned long __must_check __arch_copy_to_user(void __user *to, const void *from } +/* kernel/sched/cpudeadline.h */ +struct cpudl; +int cpudl_init(struct cpudl *cp) +{ + lx_emul_trace_and_stop(__func__); + return -1; +} + + +void cpudl_cleanup(struct cpudl *cp) +{ + lx_emul_trace_and_stop(__func__); +} + + +/* kernel/sched/sched.h */ +bool sched_smp_initialized = true; + +struct dl_bw; +void init_dl_bw(struct dl_bw *dl_b) +{ + lx_emul_trace_and_stop(__func__); +} + + +struct irq_work; +extern void rto_push_irq_work_func(struct irq_work *work); +void rto_push_irq_work_func(struct irq_work *work) +{ + lx_emul_trace_and_stop(__func__); +} + + +/* include/linux/sched/topology.h */ +int arch_asym_cpu_priority(int cpu) +{ + lx_emul_trace_and_stop(__func__); + return 0; +} + + #ifdef CONFIG_ARM64 extern void flush_dcache_page(struct page * page); void flush_dcache_page(struct page * page) @@ -218,3 +273,14 @@ int get_option(char ** str,int * pint) { lx_emul_trace_and_stop(__func__); } + + +#ifdef CONFIG_SWIOTLB +#include <linux/swiotlb.h> + +bool is_swiotlb_allocated(void) +{ + lx_emul_trace(__func__); + return false; +} +#endif diff --git a/repos/dde_linux/src/app/wireguard/genode_c_api/wireguard.c b/repos/dde_linux/src/app/wireguard/genode_c_api/wireguard.c index 7c80c4d8e8..04930ec64f 100644 --- a/repos/dde_linux/src/app/wireguard/genode_c_api/wireguard.c +++ b/repos/dde_linux/src/app/wireguard/genode_c_api/wireguard.c @@ -501,6 +501,7 @@ void lx_user_init(void) &_genode_wg_extack); /* create user task, which handles network traffic and configuration changes */ - 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); } diff --git a/repos/dde_linux/src/app/wireguard/spec/arm_v8/generated_dummies.c b/repos/dde_linux/src/app/wireguard/spec/arm_v8/generated_dummies.c index 9d17eaa8f0..6e383c8642 100644 --- a/repos/dde_linux/src/app/wireguard/spec/arm_v8/generated_dummies.c +++ b/repos/dde_linux/src/app/wireguard/spec/arm_v8/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-07-30 */ #include <lx_emul.h> @@ -73,7 +73,7 @@ void __put_task_struct(struct task_struct * tsk) } -#include <linux/netdevice.h> +#include <net/gso.h> struct sk_buff * __skb_gso_segment(struct sk_buff * skb,netdev_features_t features,bool tx_path) { @@ -81,6 +81,13 @@ struct sk_buff * __skb_gso_segment(struct sk_buff * skb,netdev_features_t featur } +extern noinline unsigned int _parse_integer(const char * s,unsigned int base,unsigned long long * p); +noinline unsigned int _parse_integer(const char * s,unsigned int base,unsigned long long * p) +{ + lx_emul_trace_and_stop(__func__); +} + + #include <linux/printk.h> int _printk_deferred(const char * fmt,...) @@ -94,9 +101,17 @@ int _printk_deferred(const char * fmt,...) atomic_long_t _totalram_pages; -#include <crypto/internal/hash.h> +#include <linux/cpumask.h> -int crypto_register_shash(struct shash_alg * alg) +unsigned int cpumask_any_and_distribute(const struct cpumask * src1p,const struct cpumask * src2p) +{ + lx_emul_trace_and_stop(__func__); +} + + +#include <linux/sched/topology.h> + +bool cpus_share_cache(int this_cpu,int that_cpu) { lx_emul_trace_and_stop(__func__); } @@ -110,14 +125,6 @@ noinstr void ct_irq_enter(void) } -#include <linux/context_tracking_irq.h> - -void ct_irq_enter_irqson(void) -{ - lx_emul_trace_and_stop(__func__); -} - - #include <linux/context_tracking_irq.h> noinstr void ct_irq_exit(void) @@ -126,14 +133,6 @@ noinstr void ct_irq_exit(void) } -#include <linux/context_tracking_irq.h> - -void ct_irq_exit_irqson(void) -{ - lx_emul_trace_and_stop(__func__); -} - - #include <linux/netdevice.h> struct net_device * dev_get_by_index(struct net * net,int ifindex) @@ -251,12 +250,12 @@ void handle_fasteoi_irq(struct irq_desc * desc) } -#include <linux/kernel.h> +#include <linux/hex.h> const char hex_asc[] = {}; -#include <linux/kernel.h> +#include <linux/hex.h> const char hex_asc_upper[] = {}; @@ -383,12 +382,9 @@ noinline int kstrtoll(const char * s,unsigned int base,long long * res) } -#include <linux/kernel.h> +#include <linux/delay.h> -char * kvasprintf(gfp_t gfp,const char * fmt,va_list ap) -{ - lx_emul_trace_and_stop(__func__); -} +unsigned long loops_per_jiffy; #include <linux/delay.h> @@ -473,6 +469,14 @@ void page_frag_free(void * addr) } +#include <linux/panic.h> + +void panic(const char * fmt,...) +{ + lx_emul_trace_and_stop(__func__); +} + + #include <linux/percpu_counter.h> void percpu_counter_add_batch(struct percpu_counter * fbc,s64 amount,s32 batch) @@ -481,6 +485,36 @@ void percpu_counter_add_batch(struct percpu_counter * fbc,s64 amount,s32 batch) } +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 <linux/rcuref.h> + +bool rcuref_get_slowpath(rcuref_t * ref) +{ + lx_emul_trace_and_stop(__func__); +} + + +#include <linux/rcuref.h> + +bool rcuref_put_slowpath(rcuref_t * ref) +{ + lx_emul_trace_and_stop(__func__); +} + + #include <net/rtnetlink.h> void rtnl_link_unregister(struct rtnl_link_ops * ops) @@ -489,6 +523,20 @@ void rtnl_link_unregister(struct rtnl_link_ops * ops) } +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 <net/sock.h> void sk_clear_memalloc(struct sock * sk) @@ -534,14 +582,6 @@ void sock_edemux(struct sk_buff * skb) bool static_key_initialized; -#include <linux/string_helpers.h> - -int string_escape_mem(const char * src,size_t isz,char * dst,size_t osz,unsigned int flags,const char * only) -{ - lx_emul_trace_and_stop(__func__); -} - - #include <linux/clockchips.h> void tick_broadcast(const struct cpumask * mask) @@ -590,6 +630,13 @@ void unregister_pernet_device(struct pernet_operations * ops) } +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 <linux/uuid.h> const u8 uuid_index[16] = {}; @@ -602,10 +649,3 @@ void wake_q_add_safe(struct wake_q_head * head,struct task_struct * task) lx_emul_trace_and_stop(__func__); } - -#include <linux/panic.h> - -void panic(const char *fmt, ...) -{ - lx_emul_trace_and_stop(__func__); -} diff --git a/repos/dde_linux/src/app/wireguard/spec/arm_v8/source.list b/repos/dde_linux/src/app/wireguard/spec/arm_v8/source.list index 275edb5995..1f8403d868 100644 --- a/repos/dde_linux/src/app/wireguard/spec/arm_v8/source.list +++ b/repos/dde_linux/src/app/wireguard/spec/arm_v8/source.list @@ -11,6 +11,7 @@ arch/arm64/lib/strlen.S crypto/algapi.c crypto/api.c crypto/scatterwalk.c +crypto/shash.c crypto/skcipher.c drivers/net/wireguard/allowedips.c drivers/net/wireguard/cookie.c @@ -65,12 +66,14 @@ lib/find_bit.c lib/hweight.c lib/idr.c lib/math/reciprocal_div.c +lib/kasprintf.c lib/nlattr.c lib/radix-tree.c lib/refcount.c lib/scatterlist.c lib/siphash.c lib/string.c +lib/string_helpers.c lib/vsprintf.c lib/xarray.c mm/memblock.c diff --git a/repos/dde_linux/src/app/wireguard/spec/x86_64/generated_dummies.c b/repos/dde_linux/src/app/wireguard/spec/x86_64/generated_dummies.c index bc6b87da8e..0863fddd61 100644 --- a/repos/dde_linux/src/app/wireguard/spec/x86_64/generated_dummies.c +++ b/repos/dde_linux/src/app/wireguard/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-30 + * \date 2024-08-14 */ #include <lx_emul.h> @@ -44,7 +44,7 @@ void __put_task_struct(struct task_struct * tsk) } -#include <linux/netdevice.h> +#include <net/gso.h> struct sk_buff * __skb_gso_segment(struct sk_buff * skb,netdev_features_t features,bool tx_path) { @@ -109,6 +109,22 @@ const struct cpumask * cpu_clustergroup_mask(int cpu) } +#include <linux/cpumask.h> + +unsigned int cpumask_any_and_distribute(const struct cpumask * src1p,const struct cpumask * src2p) +{ + lx_emul_trace_and_stop(__func__); +} + + +#include <linux/sched/topology.h> + +bool cpus_share_cache(int this_cpu,int that_cpu) +{ + lx_emul_trace_and_stop(__func__); +} + + #include <linux/context_tracking_irq.h> noinstr void ct_irq_enter(void) @@ -329,12 +345,9 @@ noinline int kstrtoll(const char * s,unsigned int base,long long * res) } -#include <linux/kernel.h> +#include <linux/delay.h> -char * kvasprintf(gfp_t gfp,const char * fmt,va_list ap) -{ - lx_emul_trace_and_stop(__func__); -} +unsigned long loops_per_jiffy; #include <linux/preempt.h> @@ -369,6 +382,14 @@ void page_frag_free(void * addr) } +#include <linux/panic.h> + +void panic(const char * fmt,...) +{ + lx_emul_trace_and_stop(__func__); +} + + #include <linux/percpu_counter.h> void percpu_counter_add_batch(struct percpu_counter * fbc,s64 amount,s32 batch) @@ -377,6 +398,36 @@ void percpu_counter_add_batch(struct percpu_counter * fbc,s64 amount,s32 batch) } +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 <linux/rcuref.h> + +bool rcuref_get_slowpath(rcuref_t * ref) +{ + lx_emul_trace_and_stop(__func__); +} + + +#include <linux/rcuref.h> + +bool rcuref_put_slowpath(rcuref_t * ref) +{ + lx_emul_trace_and_stop(__func__); +} + + #include <net/rtnetlink.h> void rtnl_link_unregister(struct rtnl_link_ops * ops) @@ -385,6 +436,25 @@ void rtnl_link_unregister(struct rtnl_link_ops * ops) } +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 <linux/smp.h> + +unsigned int setup_max_cpus; + + #include <net/sock.h> void sk_clear_memalloc(struct sock * sk) @@ -478,6 +548,13 @@ void unregister_pernet_device(struct pernet_operations * ops) } +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 <linux/uuid.h> const u8 uuid_index[16] = {}; @@ -490,10 +567,3 @@ void wake_q_add_safe(struct wake_q_head * head,struct task_struct * task) lx_emul_trace_and_stop(__func__); } - -#include <linux/panic.h> - -void panic(const char *fmt, ...) -{ - lx_emul_trace_and_stop(__func__); -} diff --git a/repos/dde_linux/src/app/wireguard/spec/x86_64/source.list b/repos/dde_linux/src/app/wireguard/spec/x86_64/source.list index 48d6b100c6..9b963bdb1c 100644 --- a/repos/dde_linux/src/app/wireguard/spec/x86_64/source.list +++ b/repos/dde_linux/src/app/wireguard/spec/x86_64/source.list @@ -14,6 +14,7 @@ arch/x86/lib/memset_64.S crypto/algapi.c crypto/api.c crypto/scatterwalk.c +crypto/shash.c drivers/net/wireguard/allowedips.c drivers/net/wireguard/cookie.c drivers/net/wireguard/device.c @@ -67,6 +68,7 @@ lib/find_bit.c lib/hexdump.c lib/idr.c lib/math/reciprocal_div.c +lib/kasprintf.c lib/nlattr.c lib/radix-tree.c lib/refcount.c