wireguard: adjust to virt_linux config changes

* remove dummies for '__alloc_pages'
* adjust arm_64 -> arm_v8
* remove IPv6 dummies (disabled in virt_linux)

issue #5104
This commit is contained in:
Sebastian Sumpf 2024-01-23 17:35:23 +01:00 committed by Christian Helmuth
parent 7395f24423
commit 5dc4ee6524
8 changed files with 9 additions and 160 deletions

View File

@ -1,3 +1,3 @@
INC_DIR += $(REP_DIR)/src/include/spec/arm_64
INC_DIR += $(REP_DIR)/src/include/spec/arm_v8
include $(REP_DIR)/lib/mk/wireguard.inc

View File

@ -2,7 +2,7 @@
# For documentation see $(REP_DIR)/lib/mk/wireguard_lx_inc_dirs.inc .
#
PRG_DIR := $(REP_DIR)/src/app/wireguard/spec/arm_64
PRG_DIR := $(REP_DIR)/src/app/wireguard/spec/arm_v8
GEN_PRG_DIR := $(PRG_DIR)/../..
DDE_LINUX_DIR := $(subst /src/include/lx_kit,,$(call select_from_repositories,src/include/lx_kit))

View File

@ -14,8 +14,8 @@ INC_DIR += $(MUSL_TM_DIR)
ifeq ($(filter-out $(SPECS),x86_64),)
SPEC_ARCH := x86_64
endif
ifeq ($(filter-out $(SPECS),arm_64),)
SPEC_ARCH := arm_64
ifeq ($(filter-out $(SPECS),arm_v8),)
SPEC_ARCH := arm_v8
endif
INC_DIR += $(DDE_LINUX_DIR)/src/include/spec/$(SPEC_ARCH)

View File

@ -109,11 +109,14 @@ void setup_udp_tunnel_sock(struct net * net,struct socket * sock,struct udp_tunn
#include <linux/ipv6.h>
#if IS_ENABLED(CONFIG_IPV6)
bool ipv6_mod_enabled(void)
{
return false;
}
#endif
#include <net/udp_tunnel.h>
#include <genode_c_api/wireguard.h>

View File

@ -1,7 +1,7 @@
/*
* \brief Dummy definitions of Linux Kernel functions
* \author Automatically generated file - do no edit
* \date 2023-03-28
* \date 2024-01-26
*/
#include <lx_emul.h>
@ -15,14 +15,6 @@ int ___ratelimit(struct ratelimit_state * rs,const char * func)
}
#include <linux/gfp.h>
struct page * __alloc_pages(gfp_t gfp,unsigned int order,int preferred_nid,nodemask_t * nodemask)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/clk-provider.h>
const char * __clk_get_name(const struct clk * clk)
@ -36,30 +28,6 @@ const char * __clk_get_name(const struct clk * clk)
struct cpumask __cpu_active_mask;
#include <linux/mm.h>
void __folio_put(struct folio * folio)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/gfp.h>
unsigned long __get_free_pages(gfp_t gfp_mask,unsigned int order)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/ipv6.h>
int __ipv6_addr_type(const struct in6_addr * addr)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/irqdomain.h>
struct irq_domain * __irq_domain_add(struct fwnode_handle * fwnode,unsigned int size,irq_hw_number_t hwirq_max,int direct_max,const struct irq_domain_ops * ops,void * host_data)
@ -214,14 +182,6 @@ void free_netdev(struct net_device * dev)
}
#include <linux/gfp.h>
void free_pages(unsigned long addr,unsigned int order)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/property.h>
unsigned int fwnode_count_parents(const struct fwnode_handle * fwnode)
@ -301,19 +261,6 @@ const char hex_asc[] = {};
const char hex_asc_upper[] = {};
#include <linux/icmpv6.h>
void icmp6_send(struct sk_buff * skb,u8 type,u8 code,__u32 info,const struct in6_addr * force_saddr,const struct inet6_skb_parm * parm)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/in6.h>
const struct in6_addr in6addr_any;
#include <net/netfilter/nf_conntrack.h>
struct net init_net;
@ -351,27 +298,11 @@ long __sched io_schedule_timeout(long timeout)
}
#include <net/ipv6.h>
int ip6_dst_hoplimit(struct dst_entry * dst)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/ip_tunnels.h>
const struct header_ops ip_tunnel_header_ops;
#include <net/addrconf.h>
int ipv6_chk_addr(struct net * net,const struct in6_addr * addr,const struct net_device * dev,int strict)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/interrupt.h>
int irq_can_set_affinity(unsigned int irq)
@ -664,22 +595,6 @@ struct timerqueue_node * timerqueue_iterate_next(struct timerqueue_node * node)
}
#include <net/udp_tunnel.h>
int udp_sock_create6(struct net * net,struct udp_port_cfg * cfg,struct socket ** sockp)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/udp_tunnel.h>
int udp_tunnel6_xmit_skb(struct dst_entry * dst,struct sock * sk,struct sk_buff * skb,struct net_device * dev,struct in6_addr * saddr,struct in6_addr * daddr,__u8 prio,__u8 ttl,__be32 label,__be16 src_port,__be16 dst_port,bool nocheck)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/udp_tunnel.h>
void udp_tunnel_sock_release(struct socket * sock)

View File

@ -1,7 +1,7 @@
/*
* \brief Dummy definitions of Linux Kernel functions
* \author Automatically generated file - do no edit
* \date 2024-01-25
* \date 2024-01-26
*/
#include <lx_emul.h>
@ -15,35 +15,11 @@ int ___ratelimit(struct ratelimit_state * rs,const char * func)
}
#include <linux/gfp.h>
struct page * __alloc_pages(gfp_t gfp,unsigned int order,int preferred_nid,nodemask_t * nodemask)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/cpumask.h>
struct cpumask __cpu_active_mask;
#include <linux/mm.h>
void __folio_put(struct folio * folio)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/ipv6.h>
int __ipv6_addr_type(const struct in6_addr * addr)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/printk.h>
void __printk_safe_enter(void)
@ -258,19 +234,6 @@ bool gfp_pfmemalloc_allowed(gfp_t gfp_mask)
const u8 guid_index[16] = {};
#include <linux/icmpv6.h>
void icmp6_send(struct sk_buff * skb,u8 type,u8 code,__u32 info,const struct in6_addr * force_saddr,const struct inet6_skb_parm * parm)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/in6.h>
const struct in6_addr in6addr_any;
#include <net/netfilter/nf_conntrack.h>
struct net init_net;
@ -308,27 +271,11 @@ long __sched io_schedule_timeout(long timeout)
}
#include <net/ipv6.h>
int ip6_dst_hoplimit(struct dst_entry * dst)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/ip_tunnels.h>
const struct header_ops ip_tunnel_header_ops;
#include <net/addrconf.h>
int ipv6_chk_addr(struct net * net,const struct in6_addr * addr,const struct net_device * dev,int strict)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/interrupt.h>
int irq_can_set_affinity(unsigned int irq)
@ -544,22 +491,6 @@ struct timerqueue_node * timerqueue_iterate_next(struct timerqueue_node * node)
}
#include <net/udp_tunnel.h>
int udp_sock_create6(struct net * net,struct udp_port_cfg * cfg,struct socket ** sockp)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/udp_tunnel.h>
int udp_tunnel6_xmit_skb(struct dst_entry * dst,struct sock * sk,struct sk_buff * skb,struct net_device * dev,struct in6_addr * saddr,struct in6_addr * daddr,__u8 prio,__u8 ttl,__be32 label,__be16 src_port,__be16 dst_port,bool nocheck)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/udp_tunnel.h>
void udp_tunnel_sock_release(struct socket * sock)