lx_emul: update Linux port to 6.1.20

Fix genodelabs/genode#4798
This commit is contained in:
Stefan Kalkowski 2023-03-23 11:20:43 +01:00 committed by Christian Helmuth
parent 80038ad936
commit 2269f42e17
78 changed files with 3984 additions and 1235 deletions

View File

@ -31,12 +31,9 @@ SRC_C += lx_emul/shadow/kernel/rcu/tree.c
SRC_C += lx_emul/shadow/kernel/sched/cputime.c
SRC_C += lx_emul/shadow/kernel/sched/core.c
SRC_C += lx_emul/shadow/kernel/sched/fair.c
SRC_C += lx_emul/shadow/kernel/sched/isolation.c
SRC_C += lx_emul/shadow/kernel/sched/loadavg.c
SRC_C += lx_emul/shadow/kernel/sched/sched.c
SRC_C += lx_emul/shadow/kernel/smp.c
SRC_C += lx_emul/shadow/kernel/stop_machine.c
SRC_C += lx_emul/shadow/lib/cpumask.c
SRC_C += lx_emul/shadow/lib/delay.c
SRC_C += lx_emul/shadow/mm/percpu.c
SRC_C += lx_emul/shadow/mm/slab_common.c
@ -131,6 +128,7 @@ ifeq ($(filter-out $(SPECS),arm),)
CC_DEF += -include asm/unified.h
endif
CC_DEF += -include $(LX_SRC_DIR)/include/linux/compiler-version.h
CC_DEF += -include $(LX_SRC_DIR)/include/linux/kconfig.h
CC_DEF += -include $(LX_SRC_DIR)/include/linux/compiler_types.h
CC_DEF += -D__KERNEL__ -DCONFIG_CC_HAS_K_CONSTRAINT=1
@ -138,14 +136,15 @@ CC_DEF += -DKASAN_SHADOW_SCALE_SHIFT=3
CC_C_OPT += -std=gnu89
CC_C_OPT += -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs
CC_C_OPT += -Werror=implicit-function-declaration -Werror=implicit-int
CC_C_OPT += -Wno-format-security -Wno-psabi
CC_C_OPT += -Wno-frame-address -Wno-format-truncation -Wno-format-overflow
CC_C_OPT += -Wframe-larger-than=2048 -Wno-unused-but-set-variable -Wimplicit-fallthrough
CC_C_OPT += -Werror=return-type -Wno-format-security -Wno-psabi -Wno-sign-compare
CC_C_OPT += -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member
CC_C_OPT += -Wframe-larger-than=2048 -Wno-main -Wno-unused-but-set-variable -Wimplicit-fallthrough
CC_C_OPT += -Wno-unused-const-variable -Wdeclaration-after-statement -Wvla
CC_C_OPT += -Wno-pointer-sign -Wno-stringop-truncation -Wno-array-bounds -Wno-stringop-overflow
CC_C_OPT += -Wno-pointer-sign -Wcast-function-type -Wno-stringop-truncation -Wno-array-bounds -Wno-stringop-overflow
CC_C_OPT += -Wno-restrict -Wno-maybe-uninitialized -Werror=date-time
CC_C_OPT += -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -Werror=date-time
CC_C_OPT += -Werror=incompatible-pointer-types -Werror=designated-init
CC_C_OPT += -Wno-packed-not-aligned
CC_C_OPT += -Wno-packed-not-aligned -Wno-unused-but-set-variable
CC_C_OPT += -Wno-discarded-qualifiers
# avoid link errors whenever the build config's CC_OLEVEL is set to -O0

View File

@ -0,0 +1,21 @@
--- a/drivers/gpu/drm/i915/display/intel_fbdev.c
+++ b/drivers/gpu/drm/i915/display/intel_fbdev.c
@@ -251,6 +251,18 @@
&view, false, &flags);
if (IS_ERR(vma)) {
ret = PTR_ERR(vma);
+
+ /* If the partial allocation is not reverted, the next
+ * i915_fb()->funcs->fb_probe (which calls intelfb_create)
+ * will try the old resolution, which failed and fails again,
+ * instead of using the new smaller resolution.
+ */
+ if (ret == -ENOMEM && ifbdev->fb) {
+ printk("%s -ENOMEM, remove fb\n", __func__);
+ drm_framebuffer_put(&ifbdev->fb->base);
+ ifbdev->fb = NULL;
+ }
+
goto out_unlock;
}

View File

@ -3,18 +3,18 @@ when a work is submitted. The patch implies that three workers will be used for
three works (before it was one). The fourth work will be queued.
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index ccad28b..ed16e05 100644
index 7cd5f5e7e..c717a06b7 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -763,7 +763,10 @@ static bool work_is_canceling(struct work_struct *work)
@@ -782,7 +782,10 @@ static bool work_is_canceling(struct work_struct *work)
static bool __need_more_worker(struct worker_pool *pool)
{
- return !atomic_read(&pool->nr_running);
- return !pool->nr_running;
+ /*
+ * Assume two works can deadlock and make a third available
+ */
+ return atomic_read(&pool->nr_running) < 3;
+ return pool->nr_running < 3;
}
/*

View File

@ -1 +1 @@
417db2da739fdf54788613353118bb904cc57ea9
f1d1430a9c52da43e837a5d788f312a17100311e

View File

@ -1,23 +1,20 @@
LICENSE := GPLv2
VERSION := 5.14.21
VERSION := 6.1.20
DOWNLOADS := linux.archive
URL(linux) := https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-$(VERSION).tar.xz
SHA(linux) := f41a259cb2002dd2e3286524b2bb4e803f4f982992d092706ecea613584023b3
URL(linux) := https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-$(VERSION).tar.xz
SHA(linux) := 76322de8c01a3c63b42c4d1e9b9e7d1897ddb91276e10d73d1f9df3562f031f0
DIR(linux) := src/linux
#
# Patches
#
PATCH_FILES := i915_irq.patch i915_alderlake.patch xhci_fix_event_37.patch \
xhci_abort_ring.patch iwlwifi_enable_irq_before_pnvm.patch \
realloc-fix-gcc-12.patch \
workqueue_deadlock.patch \
usb_message.patch
PATCH_FILES := i915_irq.patch i915_fb_resize.patch \
iwlwifi_enable_irq_before_pnvm.patch \
usb_message.patch \
workqueue_deadlock.patch
PATCHES += $(addprefix patches/,$(PATCH_FILES))
# i915
PATCH_OPT(patches/i915_irq.patch) := -p1 -d${DIR(linux)}
PATCH_OPT(patches/xhci_abort_ring.patch) := -p1 -d${DIR(linux)}
PATCH_OPT(patches/xhci_fix_event_37.patch) := -p1 -d${DIR(linux)}
PATCH_OPT(patches/i915_irq.patch) := -p1 -d${DIR(linux)}
PATCH_OPT(patches/i915_fb_resize.patch) := -p1 -d${DIR(linux)}
PATCH_OPT(patches/workqueue_deadlock.patch) := -p1 -d${DIR(linux)}

View File

@ -62,6 +62,8 @@ LX_FILES += Kbuild \
arch/arm64/tools/Makefile \
arch/arm64/tools/cpucaps \
arch/arm64/tools/gen-cpucaps.awk \
arch/arm64/tools/gen-sysreg.awk \
arch/arm64/tools/sysreg \
arch/x86/Makefile \
arch/x86/Makefile_32.cpu \
arch/x86/configs \
@ -94,19 +96,20 @@ LX_FILES += Kbuild \
scripts/Makefile.lib \
scripts/as-version.sh \
scripts/asn1_compiler.c \
scripts/atomic/check-atomics.sh \
scripts/basic/Makefile \
scripts/basic/fixdep.c \
scripts/cc-version.sh \
scripts/check-local-export \
scripts/checksyscalls.sh \
scripts/config \
scripts/dtc \
scripts/extract-cert.c \
scripts/gcc-goto.sh \
scripts/kconfig/merge_config.sh \
scripts/ld-version.sh \
scripts/mkcompile_h \
scripts/min-tool-version.sh \
scripts/mod \
scripts/pahole-flags.sh \
scripts/pahole-version.sh \
scripts/remove-stale-files \
scripts/setlocalversion \
scripts/sorttable.c \

File diff suppressed because it is too large Load Diff

View File

@ -136,3 +136,25 @@ __wsum csum_partial(const void * buff,int len,__wsum sum)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/interrupt.h>
DEFINE_STATIC_KEY_FALSE(force_irqthreads_key);
#include <net/net_namespace.h>
void __init net_ns_init(void)
{
lx_emul_trace(__func__);
}
#ifdef CONFIG_ARM64
extern void flush_dcache_page(struct page * page);
void flush_dcache_page(struct page * page)
{
lx_emul_trace(__func__);
}
#endif

View File

@ -45,6 +45,20 @@ u32 prandom_u32(void)
}
u32 __get_random_u32_below(u32 ceil)
{
return lx_emul_random_gen_u32();
}
u8 get_random_u8(void)
{
u8 ret;
lx_emul_random_gen_bytes(&ret, sizeof(ret));
return ret;
}
#include <linux/mm.h>
void * kvmalloc_node(size_t size,gfp_t flags,int node)
@ -210,14 +224,6 @@ __be16 ip_tunnel_parse_protocol(const struct sk_buff *skb)
}
#include <linux/random.h>
bool rng_is_initialized(void)
{
return true;
}
#include <linux/inetdevice.h>
__be32 inet_confirm_addr(struct net * net,struct in_device * in_dev,__be32 dst,__be32 local,int scope)
@ -279,7 +285,8 @@ gro_result_t napi_gro_receive(struct napi_struct * napi,struct sk_buff * skb)
#include <linux/netdevice.h>
void netif_napi_add(struct net_device * dev,struct napi_struct * napi,int (* poll)(struct napi_struct *,int),int weight)
void netif_napi_add_weight(struct net_device *dev, struct napi_struct *napi,
int (*poll)(struct napi_struct *, int), int weight)
{
napi->dev = dev;
napi->poll = poll;

View File

@ -13,6 +13,7 @@
#include <linux/jump_label.h>
#include <linux/types.h>
#include <asm/cpufeature.h>
/*
* Flag to indicate if we have computed the system wide

View File

@ -1,7 +1,7 @@
/*
* \brief Dummy definitions of Linux Kernel functions
* \author Automatically generated file - do no edit
* \date 2022-07-21
* \date 2023-03-28
*/
#include <lx_emul.h>
@ -31,6 +31,19 @@ const char * __clk_get_name(const struct clk * clk)
}
#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 <linux/gfp.h>
unsigned long __get_free_pages(gfp_t gfp_mask,unsigned int order)
@ -49,7 +62,7 @@ int __ipv6_addr_type(const struct in6_addr * addr)
#include <linux/irqdomain.h>
struct irq_domain * __irq_domain_add(struct fwnode_handle * fwnode,int size,irq_hw_number_t hwirq_max,int direct_max,const struct irq_domain_ops * ops,void * host_data)
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)
{
lx_emul_trace_and_stop(__func__);
}
@ -68,9 +81,17 @@ struct irq_desc * __irq_resolve_mapping(struct irq_domain * domain,irq_hw_number
unsigned long __per_cpu_offset[NR_CPUS] = {};
#include <linux/mm.h>
#include <linux/printk.h>
void __put_page(struct page * page)
void __printk_safe_enter(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/printk.h>
void __printk_safe_exit(void)
{
lx_emul_trace_and_stop(__func__);
}
@ -92,6 +113,14 @@ struct sk_buff * __skb_gso_segment(struct sk_buff * skb,netdev_features_t featur
}
#include <linux/printk.h>
int _printk_deferred(const char * fmt,...)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/mm.h>
atomic_long_t _totalram_pages;
@ -105,6 +134,38 @@ int crypto_register_shash(struct shash_alg * alg)
}
#include <linux/context_tracking_irq.h>
noinstr void ct_irq_enter(void)
{
lx_emul_trace_and_stop(__func__);
}
#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)
{
lx_emul_trace_and_stop(__func__);
}
#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)
@ -121,6 +182,14 @@ void dev_get_tstats64(struct net_device * dev,struct rtnl_link_stats64 * s)
}
#include <asm-generic/softirq_stack.h>
void do_softirq_own_stack(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/printk.h>
asmlinkage __visible void dump_stack(void)
@ -129,18 +198,14 @@ asmlinkage __visible void dump_stack(void)
}
extern void flush_dcache_page(struct page * page);
void flush_dcache_page(struct page * page)
#include <linux/rcuwait.h>
void finish_rcuwait(struct rcuwait * w)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/interrupt.h>
bool force_irqthreads;
#include <linux/netdevice.h>
void free_netdev(struct net_device * dev)
@ -157,14 +222,6 @@ void free_pages(unsigned long addr,unsigned int order)
}
#include <linux/sched/user.h>
void free_uid(struct user_struct * up)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/property.h>
unsigned int fwnode_count_parents(const struct fwnode_handle * fwnode)
@ -262,6 +319,14 @@ const struct in6_addr in6addr_any;
struct net init_net;
#include <linux/sched.h>
void __sched io_schedule(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched.h>
void io_schedule_finish(int token)
@ -325,7 +390,7 @@ void irq_domain_free_irqs_common(struct irq_domain * domain,unsigned int virq,un
#include <linux/irqdomain.h>
void irq_domain_set_info(struct irq_domain * domain,unsigned int virq,irq_hw_number_t hwirq,struct irq_chip * chip,void * chip_data,irq_flow_handler_t handler,void * handler_data,const char * handler_name)
void irq_domain_set_info(struct irq_domain * domain,unsigned int virq,irq_hw_number_t hwirq,const struct irq_chip * chip,void * chip_data,irq_flow_handler_t handler,void * handler_data,const char * handler_name)
{
lx_emul_trace_and_stop(__func__);
}
@ -378,7 +443,15 @@ unsigned long volatile __cacheline_aligned_in_smp __jiffy_arch_data jiffies;
#include <linux/slab.h>
int kmem_cache_alloc_bulk(struct kmem_cache * s,gfp_t flags,size_t size,void ** p)
int kmem_cache_alloc_bulk(struct kmem_cache * s,gfp_t flags,size_t nr,void ** p)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/slab.h>
void * kmem_cache_alloc_lru(struct kmem_cache * cachep,struct list_lru * lru,gfp_t flags)
{
lx_emul_trace_and_stop(__func__);
}
@ -394,7 +467,23 @@ void kmem_cache_destroy(struct kmem_cache * s)
#include <linux/kstrtox.h>
int kstrtoll(const char * s,unsigned int base,long long * res)
noinline int kstrtoint(const char * s,unsigned int base,int * res)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/kstrtox.h>
noinline int kstrtoll(const char * s,unsigned int base,long long * res)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/kernel.h>
char * kvasprintf(gfp_t gfp,const char * fmt,va_list ap)
{
lx_emul_trace_and_stop(__func__);
}
@ -490,30 +579,6 @@ void percpu_counter_add_batch(struct percpu_counter * fbc,s64 amount,s32 batch)
}
#include <linux/printk.h>
int printk_deferred(const char * fmt,...)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/rcutree.h>
void rcu_irq_enter_irqson(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/rcutree.h>
void rcu_irq_exit_irqson(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/rtnetlink.h>
void rtnl_link_unregister(struct rtnl_link_ops * ops)
@ -530,22 +595,6 @@ void sk_clear_memalloc(struct sock * sk)
}
#include <net/sock.h>
void sk_error_report(struct sock * sk)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/sock.h>
void sk_free(struct sock * sk)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/netdevice.h>
int skb_checksum_help(struct sk_buff * skb)
@ -562,6 +611,14 @@ void skb_set_owner_w(struct sk_buff * skb,struct sock * sk)
}
#include <linux/smp.h>
void smp_call_function_many(const struct cpumask * mask,smp_call_func_t func,void * info,bool wait)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/sock.h>
void sock_edemux(struct sk_buff * skb)

View File

@ -5,11 +5,11 @@ arch/arm64/kernel/entry-fpsimd.S
arch/arm64/kernel/fpsimd.c
arch/arm64/lib/memchr.S
arch/arm64/lib/memcmp.S
arch/arm64/lib/strchr.S
arch/arm64/lib/strcmp.S
arch/arm64/lib/strlen.S
crypto/algapi.c
crypto/api.c
crypto/memneq.c
crypto/scatterwalk.c
crypto/skcipher.c
drivers/net/wireguard/allowedips.c
@ -30,11 +30,7 @@ kernel/kthread.c
kernel/locking/mutex.c
kernel/locking/rwsem.c
kernel/notifier.c
kernel/sched/clock.c
kernel/sched/completion.c
kernel/sched/swait.c
kernel/sched/wait.c
kernel/sched/wait_bit.c
kernel/sched/build_utility.c
kernel/smpboot.c
kernel/softirq.c
kernel/time/clockevents.c
@ -62,6 +58,8 @@ lib/crypto/chacha20poly1305.c
lib/crypto/curve25519-generic.c
lib/crypto/curve25519-hacl64.c
lib/crypto/libchacha.c
lib/crypto/memneq.c
lib/crypto/utils.c
lib/ctype.c
lib/find_bit.c
lib/hweight.c

View File

@ -1,7 +1,7 @@
/*
* \brief Dummy definitions of Linux Kernel functions
* \author Automatically generated file - do no edit
* \date 2022-07-19
* \date 2023-03-27
*/
#include <lx_emul.h>
@ -23,9 +23,14 @@ struct page * __alloc_pages(gfp_t gfp,unsigned int order,int preferred_nid,nodem
}
#include <linux/clk-provider.h>
#include <linux/cpumask.h>
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__);
}
@ -39,9 +44,17 @@ int __ipv6_addr_type(const struct in6_addr * addr)
}
#include <linux/mm.h>
#include <linux/printk.h>
void __put_page(struct page * page)
void __printk_safe_enter(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/printk.h>
void __printk_safe_exit(void)
{
lx_emul_trace_and_stop(__func__);
}
@ -71,15 +84,38 @@ unsigned long _copy_to_user(void __user * to,const void * from,unsigned long n)
}
extern const char * _parse_integer_fixup_radix(const char * s,unsigned int * base);
const char * _parse_integer_fixup_radix(const char * s,unsigned int * base)
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__);
}
extern unsigned int _parse_integer_limit(const char * s,unsigned int base,unsigned long long * p,size_t max_chars);
unsigned int _parse_integer_limit(const char * s,unsigned int base,unsigned long long * p,size_t max_chars)
extern noinline const char * _parse_integer_fixup_radix(const char * s,unsigned int * base);
noinline const char * _parse_integer_fixup_radix(const char * s,unsigned int * base)
{
lx_emul_trace_and_stop(__func__);
}
extern noinline unsigned int _parse_integer_limit(const char * s,unsigned int base,unsigned long long * p,size_t max_chars);
noinline unsigned int _parse_integer_limit(const char * s,unsigned int base,unsigned long long * p,size_t max_chars)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/printk.h>
int _printk_deferred(const char * fmt,...)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/spinlock_api_smp.h>
noinline int __lockfunc _raw_spin_trylock_bh(raw_spinlock_t * lock)
{
lx_emul_trace_and_stop(__func__);
}
@ -97,6 +133,22 @@ void ack_bad_irq(unsigned int irq)
}
#include <linux/context_tracking_irq.h>
noinstr void ct_irq_enter(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/context_tracking_irq.h>
noinstr void ct_irq_exit(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/netdevice.h>
struct net_device * dev_get_by_index(struct net * net,int ifindex)
@ -121,22 +173,17 @@ asmlinkage __visible void dump_stack(void)
}
#include <linux/interrupt.h>
#include <linux/rcuwait.h>
bool force_irqthreads;
#include <linux/netdevice.h>
void free_netdev(struct net_device * dev)
void finish_rcuwait(struct rcuwait * w)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/user.h>
#include <linux/netdevice.h>
void free_uid(struct user_struct * up)
void free_netdev(struct net_device * dev)
{
lx_emul_trace_and_stop(__func__);
}
@ -231,6 +278,14 @@ const struct in6_addr in6addr_any;
struct net init_net;
#include <linux/sched.h>
void __sched io_schedule(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched.h>
void io_schedule_finish(int token)
@ -328,7 +383,15 @@ void kernel_fpu_end(void)
#include <linux/slab.h>
int kmem_cache_alloc_bulk(struct kmem_cache * s,gfp_t flags,size_t size,void ** p)
int kmem_cache_alloc_bulk(struct kmem_cache * s,gfp_t flags,size_t nr,void ** p)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/slab.h>
void * kmem_cache_alloc_lru(struct kmem_cache * cachep,struct list_lru * lru,gfp_t flags)
{
lx_emul_trace_and_stop(__func__);
}
@ -344,7 +407,23 @@ void kmem_cache_destroy(struct kmem_cache * s)
#include <linux/kstrtox.h>
int kstrtoll(const char * s,unsigned int base,long long * res)
noinline int kstrtoint(const char * s,unsigned int base,int * res)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/kstrtox.h>
noinline int kstrtoll(const char * s,unsigned int base,long long * res)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/kernel.h>
char * kvasprintf(gfp_t gfp,const char * fmt,va_list ap)
{
lx_emul_trace_and_stop(__func__);
}
@ -390,14 +469,6 @@ void percpu_counter_add_batch(struct percpu_counter * fbc,s64 amount,s32 batch)
}
#include <linux/printk.h>
int printk_deferred(const char * fmt,...)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/rtnetlink.h>
void rtnl_link_unregister(struct rtnl_link_ops * ops)
@ -414,22 +485,6 @@ void sk_clear_memalloc(struct sock * sk)
}
#include <net/sock.h>
void sk_error_report(struct sock * sk)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/sock.h>
void sk_free(struct sock * sk)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/netdevice.h>
int skb_checksum_help(struct sk_buff * skb)
@ -446,6 +501,22 @@ void skb_set_owner_w(struct sk_buff * skb,struct sock * sk)
}
#include <linux/string.h>
char * skip_spaces(const char * str)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/smp.h>
void smp_call_function_many(const struct cpumask * mask,smp_call_func_t func,void * info,bool wait)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/smp.h>
int smp_call_function_single(int cpu,smp_call_func_t func,void * info,int wait)

View File

@ -9,7 +9,7 @@ arch/x86/crypto/poly1305-x86_64-cryptogams.pl
arch/x86/crypto/poly1305_glue.c
arch/x86/lib/hweight.S
crypto/algapi.c
crypto/memneq.c
crypto/api.c
crypto/scatterwalk.c
drivers/net/wireguard/allowedips.c
drivers/net/wireguard/cookie.c
@ -30,11 +30,7 @@ kernel/locking/mutex.c
kernel/locking/osq_lock.c
kernel/locking/rwsem.c
kernel/notifier.c
kernel/sched/clock.c
kernel/sched/completion.c
kernel/sched/swait.c
kernel/sched/wait.c
kernel/sched/wait_bit.c
kernel/sched/build_utility.c
kernel/smpboot.c
kernel/softirq.c
kernel/time/clockevents.c
@ -61,6 +57,8 @@ lib/crypto/chacha20poly1305.c
lib/crypto/curve25519-generic.c
lib/crypto/curve25519-hacl64.c
lib/crypto/libchacha.c
lib/crypto/memneq.c
lib/crypto/utils.c
lib/ctype.c
lib/find_bit.c
lib/idr.c

View File

@ -45,6 +45,9 @@ int pte_write(pte_t ptr);
#define PAGE_KERNEL 0UL
#define VMALLOC_START 0UL
#define VMALLOC_END 0xffffffffUL
#endif /* !__ASSEMBLY__ */
#endif /* __ASM_PGTABLE_H */

View File

@ -74,4 +74,6 @@ static inline struct page *virt_to_page(void const *v) { return lx_emul_virt_to_
*/
#define __pfn_to_phys(pfn) PFN_PHYS(pfn)
#define __phys_to_virt(x) ( lx_emul_trace_and_stop("__phys_to_virt"), 0UL )
#endif /* __ASM_MEMORY_H */

View File

@ -35,8 +35,14 @@ struct page;
typedef struct page *pgtable_t;
#include <linux/version.h>
#if LINUX_VERSION_CODE < KERNEL_VERSION(5,15,0)
/* needed by mm/internal.h */
#define pfn_valid(pfn) (pfn != 0UL)
#endif
static inline int pfn_is_map_memory(unsigned long pfn) { return 1; }
#define virt_addr_valid(kaddr) (kaddr != 0UL)

View File

@ -52,6 +52,7 @@ int pte_write(pte_t ptr);
extern pgd_t reserved_pg_dir[PTRS_PER_PGD];
extern pgd_t swapper_pg_dir[PTRS_PER_PGD];
extern pgd_t idmap_pg_dir[PTRS_PER_PGD];
#define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) })
swp_entry_t __pmd_to_swp_entry(pmd_t pmd);
@ -74,12 +75,15 @@ int pud_trans_huge(pud_t pud);
pgprot_t pgprot_noncached(pgprot_t prot);
pgprot_t pgprot_writecombine(pgprot_t prot);
pgprot_t pgprot_tagged(pgprot_t prot);
pte_t mk_pte(struct page * page, pgprot_t prot);
#define HPAGE_SHIFT PMD_SHIFT
#define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT)
static inline bool pud_sect_supported(void) { return 1; }
#endif /* __ASSEMBLY__ */
#endif /* __ASM_PGTABLE_H */

View File

@ -7,13 +7,14 @@
#ifndef _ASM__CPUFEATURE_H_
#define _ASM__CPUFEATURE_H_
#include <asm/processor.h>
#include_next <asm/cpufeature.h>
#if defined(__KERNEL__) && !defined(__ASSEMBLY__)
#include <asm/asm.h>
#include <linux/bitops.h>
#include <asm/alternative.h>
#undef boot_cpu_has
#undef static_cpu_has
#undef static_cpu_has_bug
#undef cpu_has
#define boot_cpu_has(bit) 0
#define static_cpu_has(bit) boot_cpu_has(bit)

View File

@ -27,6 +27,17 @@
#ifndef pgprot_noncached
#define pgprot_noncached(prot) (prot)
static inline unsigned long pte_pfn(pte_t pte)
{
lx_emul_trace_and_stop(__func__);
}
static inline unsigned long pmd_pfn(pmd_t pmd)
{
lx_emul_trace_and_stop(__func__);
}
#endif
static inline pte_t pte_mkwrite(pte_t pte) { return pte; }

View File

@ -26,6 +26,11 @@ static inline void native_write_cr3(unsigned long val)
lx_emul_trace_and_stop(__func__);
}
static inline void native_write_cr4(unsigned long val)
{
lx_emul_trace_and_stop(__func__);
}
#endif
static inline void wbinvd(void)

View File

@ -16,6 +16,8 @@
#include_next <asm/percpu.h>
#ifndef __ASSEMBLY__
static inline unsigned long __dummy_cpu_offset(void)
{
return 0;
@ -24,4 +26,6 @@ static inline unsigned long __dummy_cpu_offset(void)
#undef __my_cpu_offset
#define __my_cpu_offset __dummy_cpu_offset()
#endif /* __ASSEMBLY__ */
#endif /* _LX_EMUL__SHADOW__ASM__PERCPU_H_ */

View File

@ -22,14 +22,14 @@
/* used to populate __clk_of_table */
#define OF_DECLARE_1(table, name, compat, fn) \
static void __of_declare_initcall_##fn##name(void)__attribute__((constructor)); \
static void __of_declare_initcall_##fn##name() { \
static void __of_declare_initcall_##name(void) __attribute__((constructor)); \
static void __of_declare_initcall_##name() { \
lx_emul_register_of_##table##_initcall(compat, fn); };
/* used to populate __irqchip_of_table */
#define OF_DECLARE_2(table, name, compat, fn) \
static void __of_declare_initcall_##fn##name(void)__attribute__((constructor)); \
static void __of_declare_initcall_##fn##name() { \
static void __of_declare_initcall_##name(void) __attribute__((constructor)); \
static void __of_declare_initcall_##name() { \
lx_emul_register_of_##table##_initcall(compat, fn); };
#endif /* _LX_EMUL__SHADOW__LINUX__OF_H_ */

View File

@ -14,9 +14,11 @@
#ifndef __LINUX_PGTABLE_H
#define __LINUX_PGTABLE_H
#include <linux/init.h>
#include <linux/pfn.h>
#include <asm/pgtable.h>
#ifndef __ASSEMBLY__
pmd_t *pmd_offset(pud_t *pud, unsigned long address);
pmd_t pmd_swp_clear_soft_dirty(pmd_t pmd);
int pmd_swp_soft_dirty(pmd_t pmd);
@ -54,4 +56,12 @@ pte_t ptep_get(pte_t *ptep);
static inline int is_zero_pfn(unsigned long pfn) { return 0; }
#define pte_unmap(pte) ((void)(pte))
static inline int pte_swp_exclusive(pte_t pte) { return false; }
static inline pte_t pte_swp_clear_exclusive(pte_t pte) { return pte; }
#endif /* __ASSEMBLY__ */
#endif /* __LINUX_PGTABLE_H */

View File

@ -1,7 +1,7 @@
/*
* \brief Array defining order of Linux Kernel initcalls
* \author Automatically generated file - do no edit
* \date 2022-05-05
* \date 2023-03-27
*/
#pragma once
@ -16,24 +16,21 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_check_cpu_stall_initearly",
"__initcall_rcu_sysrq_initearly",
"__initcall_cpu_stop_initearly",
"__initcall_irq_work_init_threadsearly",
"__initcall_init_zero_pfnearly",
"__initcall_its_pmsi_initearly",
"__initcall_its_pci_msi_initearly",
"__initcall_dummy_timer_registerearly",
"__initcall_initialize_ptr_randomearly",
"__initcall_init_mmap_min_addr0",
"__initcall_pci_realloc_setup_params0",
"__initcall_net_ns_init0",
"__initcall_inet_frag_wq_init0",
"__initcall_fpsimd_init1",
"__initcall_enable_mrs_emulation1",
"__initcall_init_amu_fie1",
"__initcall_ksysfs_init1",
"__initcall_rcu_set_runtime_mode1",
"__initcall_dma_init_reserved_memory1",
"__initcall_init_jiffies_clocksource1",
"__initcall_init_elf_binfmt1",
"__initcall_prandom_init_early1",
"__initcall_virtio_init1",
"__initcall_free_raw_capacity1",
"__initcall_sock_init1",
@ -56,6 +53,7 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_kobject_uevent_init2",
"__initcall_reserve_memblock_reserved_regions3",
"__initcall_vdso_init3",
"__initcall_adjust_protection_map3",
"__initcall_asids_update_limit3",
"__initcall_of_platform_default_populate_init3s",
"__initcall_topology_init4",
@ -78,6 +76,7 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_fib_notifier_init4",
"__initcall_ethnl_init4",
"__initcall_nexthop_init4",
"__initcall_vsprintf_init_hashval4",
"__initcall_init_32bit_el0_mask4s",
"__initcall_create_debug_debugfs_entry5",
"__initcall_iomem_init_inode5",
@ -86,6 +85,7 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_anon_inode_init5",
"__initcall_init_ramfs_fs5",
"__initcall_chr_dev_init5",
"__initcall_hwrng_modinit5",
"__initcall_eth_offload_init5",
"__initcall_ipv4_offload_init5",
"__initcall_inet_init5",
@ -94,6 +94,7 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_populate_rootfsrootfs",
"__initcall_register_arm64_panic_block6",
"__initcall_cpuinfo_regs_init6",
"__initcall_aarch32_el0_sysfs_init6",
"__initcall_chacha_simd_mod_init6",
"__initcall_neon_poly1305_mod_init6",
"__initcall_timekeeping_init_ops6",
@ -105,30 +106,29 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_fcntl_init6",
"__initcall_start_dirtytime_writeback6",
"__initcall_init_devpts_fs6",
"__initcall_crypto_algapi_init6",
"__initcall_jent_mod_init6",
"__initcall_mod_init6",
"__initcall_mod_init6",
"__initcall_mod_init6",
"__initcall_blake2s_mod_init6",
"__initcall_chacha20poly1305_init6",
"__initcall_curve25519_init6",
"__initcall_percpu_counter_startup6",
"__initcall_simple_pm_bus_driver_init6",
"__initcall_of_fixed_factor_clk_driver_init6",
"__initcall_of_fixed_clk_driver_init6",
"__initcall_gpio_clk_driver_init6",
"__initcall_virtio_pci_driver_init6",
"__initcall_n_null_init6",
"__initcall_pty_init6",
"__initcall_init6",
"__initcall_hwrng_modinit6",
"__initcall_virtio_console_init6",
"__initcall_timeriomem_rng_driver_init6",
"__initcall_cavium_rng_pf_driver_init6",
"__initcall_cavium_rng_vf_driver_init6",
"__initcall_smccc_trng_driver_init6",
"__initcall_cn10k_rng_driver_init6",
"__initcall_topology_sysfs_init6",
"__initcall_cacheinfo_sysfs_init6",
"__initcall_mod_init6",
"__initcall_net_olddevs_init6",
"__initcall_wg_mod_init6",
"__initcall_blackhole_netdev_init6",
"__initcall_virtio_net_driver_init6",
"__initcall_net_failover_init6",
"__initcall_smccc_devices_init6",
"__initcall_sock_diag_init6",
"__initcall_failover_init6",
"__initcall_gre_offload_init6",
@ -138,18 +138,17 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_cubictcp_register6",
"__initcall_inet6_init6",
"__initcall_sit_init6",
"__initcall_init_oops_id7",
"__initcall_printk_late_init7",
"__initcall_check_early_ioremap_leak7",
"__initcall_prandom_init_late7",
"__initcall_crypto_algapi_init7",
"__initcall_pci_resource_alignment_sysfs_init7",
"__initcall_pci_sysfs_init7",
"__initcall_amba_deferred_retry7",
"__initcall_sync_state_resume_initcall7",
"__initcall_deferred_probe_initcall7",
"__initcall_tcp_congestion_default7",
"__initcall_udp_tunnel_nic_init_module7",
"__initcall_ip_auto_config7",
"__initcall_amba_stub_drv_init7s",
"__initcall_clk_disable_unused7s",
"__initcall_of_platform_sync_state_init7s",
"__initcall_con_initcon",

View File

@ -1,7 +1,7 @@
/*
* \brief Array defining order of Linux Kernel initcalls
* \author Automatically generated file - do no edit
* \date 2023-01-27
* \date 2023-03-27
*/
#pragma once
@ -9,8 +9,8 @@
static const char * lx_emul_initcall_order[] = {
"__initcall_init_hw_perf_eventsearly",
"__initcall_start",
"__initcall_init_real_modeearly",
"__initcall_validate_x2apicearly",
"__initcall_do_init_real_modeearly",
"__initcall_bp_init_aperfmperfearly",
"__initcall_register_nmi_cpu_backtrace_handlerearly",
"__initcall_spawn_ksoftirqdearly",
"__initcall_migration_initearly",
@ -19,24 +19,18 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_check_cpu_stall_initearly",
"__initcall_rcu_sysrq_initearly",
"__initcall_cpu_stop_initearly",
"__initcall_irq_work_init_threadsearly",
"__initcall_static_call_initearly",
"__initcall_init_zero_pfnearly",
"__initcall_initialize_ptr_randomearly",
"__initcall_init_mmap_min_addr0",
"__initcall_pci_realloc_setup_params0",
"__initcall_net_ns_init0",
"__initcall_inet_frag_wq_init0",
"__initcall_cpufreq_register_tsc_scaling1",
"__initcall_reboot_init1",
"__initcall_ksysfs_init1",
"__initcall_schedutil_gov_init1",
"__initcall_rcu_set_runtime_mode1",
"__initcall_init_jiffies_clocksource1",
"__initcall_init_elf_binfmt1",
"__initcall_prandom_init_early1",
"__initcall_virtio_init1",
"__initcall_cpufreq_core_init1",
"__initcall_cpufreq_gov_performance_init1",
"__initcall_sock_init1",
"__initcall_net_defaults_init1",
"__initcall_init_default_flow_dissectors1",
@ -57,6 +51,7 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_pt_init3",
"__initcall_sbf_init3",
"__initcall_arch_kdebugfs_init3",
"__initcall_xfd_update_static_branch3",
"__initcall_intel_pconfig_init3",
"__initcall_pci_arch_init3",
"__initcall_init_vdso4",
@ -80,6 +75,7 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_ethnl_init4",
"__initcall_nexthop_init4",
"__initcall_pci_subsys_init4",
"__initcall_vsprintf_init_hashval4",
"__initcall_nmi_warning_debugfs5",
"__initcall_hpet_late_init5",
"__initcall_init_amd_nbs5",
@ -89,6 +85,7 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_anon_inode_init5",
"__initcall_init_ramfs_fs5",
"__initcall_chr_dev_init5",
"__initcall_hwrng_modinit5",
"__initcall_eth_offload_init5",
"__initcall_ipv4_offload_init5",
"__initcall_inet_init5",
@ -98,7 +95,6 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_populate_rootfsrootfs",
"__initcall_pci_iommu_initrootfs",
"__initcall_rapl_pmu_init6",
"__initcall_amd_uncore_init6",
"__initcall_amd_ibs_init6",
"__initcall_msr_init6",
"__initcall_intel_uncore_init6",
@ -109,7 +105,6 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_add_rtc_cmos6",
"__initcall_umwait_init6",
"__initcall_ioapic_init_ops6",
"__initcall_sysfb_init6",
"__initcall_chacha_simd_mod_init6",
"__initcall_blake2s_mod_init6",
"__initcall_poly1305_simd_mod_init6",
@ -123,32 +118,25 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_fcntl_init6",
"__initcall_start_dirtytime_writeback6",
"__initcall_init_devpts_fs6",
"__initcall_crypto_algapi_init6",
"__initcall_jent_mod_init6",
"__initcall_mod_init6",
"__initcall_mod_init6",
"__initcall_mod_init6",
"__initcall_blake2s_mod_init6",
"__initcall_chacha20poly1305_init6",
"__initcall_curve25519_init6",
"__initcall_percpu_counter_startup6",
"__initcall_gpio_clk_driver_init6",
"__initcall_plt_clk_driver_init6",
"__initcall_virtio_pci_driver_init6",
"__initcall_n_null_init6",
"__initcall_pty_init6",
"__initcall_init6",
"__initcall_hwrng_modinit6",
"__initcall_virtio_console_init6",
"__initcall_timeriomem_rng_driver_init6",
"__initcall_mod_init6",
"__initcall_mod_init6",
"__initcall_mod_init6",
"__initcall_intel_rng_mod_init6",
"__initcall_amd_rng_mod_init6",
"__initcall_via_rng_mod_init6",
"__initcall_topology_sysfs_init6",
"__initcall_cacheinfo_sysfs_init6",
"__initcall_mod_init6",
"__initcall_net_olddevs_init6",
"__initcall_wg_mod_init6",
"__initcall_blackhole_netdev_init6",
"__initcall_virtio_net_driver_init6",
"__initcall_net_failover_init6",
"__initcall_intel_pstate_init6",
"__initcall_pmc_atom_init6",
"__initcall_sock_diag_init6",
"__initcall_failover_init6",
"__initcall_gre_offload_init6",
@ -158,16 +146,16 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_cubictcp_register6",
"__initcall_inet6_init6",
"__initcall_sit_init6",
"__initcall_start_sync_check_timer7",
"__initcall_update_mp_table7",
"__initcall_lapic_insert_resource7",
"__initcall_print_ipi_mode7",
"__initcall_print_ICs7",
"__initcall_create_tlb_single_page_flush_ceiling7",
"__initcall_init_oops_id7",
"__initcall_sched_clock_init_late7",
"__initcall_printk_late_init7",
"__initcall_check_early_ioremap_leak7",
"__initcall_prandom_init_late7",
"__initcall_crypto_algapi_init7",
"__initcall_pci_resource_alignment_sysfs_init7",
"__initcall_pci_sysfs_init7",
"__initcall_sync_state_resume_initcall7",
@ -175,7 +163,6 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_tcp_congestion_default7",
"__initcall_udp_tunnel_nic_init_module7",
"__initcall_ip_auto_config7",
"__initcall_clk_disable_unused7s",
"__initcall_con_initcon",
"__initcall_end",
"__initcall_hvc_console_initcon",

View File

@ -19,6 +19,7 @@
#include <linux/of_clk.h>
#include <linux/tick.h>
#include <linux/interrupt.h>
#include <linux/version.h>
#include <lx_emul/debug.h>
#include <lx_emul/time.h>
#include <lx_emul/init.h>
@ -119,7 +120,11 @@ void lx_emul_time_update_jiffies(void)
return;
/* tick_nohz_idle_stop_tick breaks with error if softirq is pending */
#if LINUX_VERSION_CODE < KERNEL_VERSION(5,18,0)
if (local_softirq_pending() & SOFTIRQ_STOP_IDLE_MASK)
#else
if (local_softirq_pending() & ~SOFTIRQ_HOTPLUG_SAFE_MASK)
#endif
return;
tick_nohz_idle_enter();

View File

@ -84,6 +84,8 @@ static void pci_add_resource_to_device_callback(void * data,
dev->resource[number].end = dev->resource[number].start + size - 1;
if (io_port)
dev->resource[number].flags |= IORESOURCE_IO;
else
dev->resource[number].flags |= IORESOURCE_MEM;
}

View File

@ -46,7 +46,13 @@ int __must_check get_random_bytes_arch(void *buf, int nbytes)
}
void get_random_bytes(void *buf, int nbytes)
void get_random_bytes(void *buf, size_t nbytes)
{
nbytes = get_random_bytes_arch(buf, nbytes);
}
bool rng_is_initialized(void)
{
return 1;
}

View File

@ -15,6 +15,7 @@
#include <lx_emul/debug.h>
#include <linux/dma-mapping.h>
#include <linux/version.h>
void * dma_alloc_attrs(struct device * dev,
size_t size,
@ -51,7 +52,7 @@ int dma_set_mask(struct device *dev, u64 mask)
{
mask = (dma_addr_t)mask;
if (!dev->dma_mask || !dma_supported(dev, mask))
if (!dev->dma_mask)
return -EIO;
*dev->dma_mask = mask;
@ -63,19 +64,20 @@ int dma_set_coherent_mask(struct device *dev, u64 mask)
{
mask = (dma_addr_t)mask;
if (!dma_supported(dev, mask))
return -EIO;
dev->coherent_dma_mask = mask;
return 0;
}
int dma_map_sg_attrs(struct device * dev,
struct scatterlist * sgl,
int nents,
enum dma_data_direction dir,
unsigned long attrs)
#if LINUX_VERSION_CODE < KERNEL_VERSION(5,15,0)
int dma_map_sg_attrs(struct device *dev,
#else
unsigned int dma_map_sg_attrs(struct device *dev,
#endif
struct scatterlist *sgl,
int nents,
enum dma_data_direction dir,
unsigned long attrs)
{
int i;
struct scatterlist *sg;

View File

@ -20,6 +20,8 @@
#include <linux/sched/task.h>
#include <linux/cred.h>
#include <linux/sched/signal.h>
#include <linux/kthread.h>
#include <linux/version.h>
/*
* We accept that we transfer the 4KiB task_struct object via stack in
@ -77,6 +79,13 @@ pid_t kernel_thread(int (* fn)(void *),void * arg,unsigned long flags)
.signal = signal,
};
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,17,0)
if (!set_kthread_struct(task)) {
kfree(task);
goto err_task;
}
#endif
#ifndef CONFIG_THREAD_INFO_IN_TASK
/* On arm, the 'thread_info' is hidden behind 'task->stack', we must
* therefore initialise the member before calling 'task_thread_info()'. */

View File

@ -12,7 +12,10 @@
* version 2.
*/
#include <linux/printk.h>
#include <linux/version.h>
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,15,0)
#include <linux/stdarg.h>
#endif
#include <linux/kernel.h>
#include <lx_emul/log.h>
#include <lx_emul/debug.h>
@ -20,7 +23,11 @@
static char print_string[2048];
#if LINUX_VERSION_CODE < KERNEL_VERSION(5,15,0)
asmlinkage __visible int printk(const char * fmt,...)
#else
asmlinkage __visible int _printk(const char * fmt,...)
#endif
{
va_list args;
va_start(args, fmt);

View File

@ -17,6 +17,7 @@
#include <linux/mm.h>
#include <linux/rcutree.h>
#include <linux/rcupdate.h>
#include <linux/version.h>
#ifdef CONFIG_PREEMPT_RCU
void __rcu_read_lock(void) { }
@ -29,10 +30,12 @@ extern void rcu_read_unlock_strict(void);
void rcu_read_unlock_strict(void) { }
#if LINUX_VERSION_CODE < KERNEL_VERSION(5,18,0)
int rcu_needs_cpu(u64 basemono, u64 *nextevt)
#else
int rcu_needs_cpu(void)
#endif
{
if (nextevt)
*nextevt = KTIME_MAX;
return 0;
}

View File

@ -28,6 +28,9 @@
#include <lx_emul/task.h>
#include <lx_emul/time.h>
#include <linux/sched/cputime.h>
#include <linux/sched/clock.h>
#include <linux/sched/wake_q.h>
#include <../kernel/sched/sched.h>
@ -193,10 +196,18 @@ unsigned long wait_task_inactive(struct task_struct * p,
{
struct rq *rq = task_rq(p);
#if LINUX_VERSION_CODE < KERNEL_VERSION(6,1,0)
if (task_running(rq, p))
#else
if (task_on_cpu(rq, p))
#endif
schedule();
#if LINUX_VERSION_CODE < KERNEL_VERSION(6,1,0)
if (task_running(rq, p))
#else
if (task_on_cpu(rq, p))
#endif
return 0;
return 1;

View File

@ -11,6 +11,7 @@
* version 2.
*/
#include <linux/sched/cputime.h>
#include <../kernel/sched/sched.h>
#include <linux/sched/nohz.h>

View File

@ -13,6 +13,7 @@
#include <linux/mm.h>
#include <linux/slab.h>
#include <linux/version.h>
#include <../mm/slab.h>
#include <../mm/internal.h>
#include <lx_emul/alloc.h>
@ -59,3 +60,19 @@ void * kmalloc_order(size_t size, gfp_t flags, unsigned int order)
{
return __kmalloc(size, flags);
}
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,0) || defined(CONFIG_NUMA)
void * __kmalloc_node(size_t size, gfp_t flags, int node)
{
return __kmalloc(size, flags);
}
#endif
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,0)
void * kmalloc_large(size_t size,gfp_t flags)
{
return __kmalloc(size, flags);
}
#endif

View File

@ -13,6 +13,7 @@
#include <linux/mm.h>
#include <linux/slab.h>
#include <linux/version.h>
#include <../mm/slab.h>
#include <lx_emul/alloc.h>
#include <lx_emul/debug.h>
@ -122,20 +123,12 @@ size_t __ksize(const void * object)
}
#ifdef CONFIG_NUMA
void * __kmalloc_node(size_t size, gfp_t flags, int node)
{
return __kmalloc(size, flags);
}
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,0) || defined(CONFIG_NUMA)
void * kmem_cache_alloc_node(struct kmem_cache * s, gfp_t gfpflags, int node)
{
return kmem_cache_alloc(s, gfpflags);
}
#endif /* CONFIG_NUMA */
#endif
#ifdef CONFIG_TRACING

View File

@ -29,6 +29,8 @@
#include <linux/of.h>
#include <linux/of_clk.h>
#include <linux/of_fdt.h>
#include <linux/version.h>
#include <net/net_namespace.h>
/* definitions in drivers/base/base.h */
extern int devices_init(void);
@ -140,11 +142,14 @@ int lx_emul_init_task_function(void * dtb)
hrtimers_init();
softirq_init();
timekeeping_init();
time_init();
sched_clock_init();
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,17,0)
net_ns_init();
#endif
kernel_thread(kernel_init, NULL, CLONE_FS);
kernel_thread(kernel_idle, NULL, CLONE_FS);
pid = kernel_thread(kthreadd, NULL, CLONE_FS | CLONE_FILES);

View File

@ -31,6 +31,7 @@ void account_process_tick(struct task_struct * p,int user_tick)
#include <linux/random.h>
struct random_ready_callback;
int add_random_ready_callback(struct random_ready_callback * rdy)
{
@ -47,14 +48,6 @@ int __init buses_init(void)
}
#include <linux/sched/loadavg.h>
void calc_global_load(void)
{
lx_emul_trace(__func__);
}
extern int __init classes_init(void);
int __init classes_init(void)
{

View File

@ -20,3 +20,24 @@ void register_syscore_ops(struct syscore_ops * ops)
{
lx_emul_trace(__func__);
}
#include <linux/random.h>
u32 __get_random_u32_below(u32 ceil)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/interrupt.h>
DEFINE_STATIC_KEY_FALSE(force_irqthreads_key);
#include <net/net_namespace.h>
void net_ns_init(void)
{
lx_emul_trace(__func__);
}

View File

@ -1,7 +1,7 @@
/*
* \brief Dummy definitions of Linux Kernel functions
* \author Automatically generated file - do no edit
* \date 2023-03-24
* \date 2023-03-27
*/
#include <lx_emul.h>
@ -15,9 +15,14 @@ const char * __clk_get_name(const struct clk * clk)
}
#include <linux/cpumask.h>
struct cpumask __cpu_active_mask;
#include <linux/irqdomain.h>
struct irq_domain * __irq_domain_add(struct fwnode_handle * fwnode,int size,irq_hw_number_t hwirq_max,int direct_max,const struct irq_domain_ops * ops,void * host_data)
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)
{
lx_emul_trace_and_stop(__func__);
}
@ -36,6 +41,22 @@ struct irq_desc * __irq_resolve_mapping(struct irq_domain * domain,irq_hw_number
unsigned long __per_cpu_offset[NR_CPUS] = {};
#include <linux/printk.h>
void __printk_safe_enter(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/printk.h>
void __printk_safe_exit(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/task.h>
void __put_task_struct(struct task_struct * tsk)
@ -44,11 +65,59 @@ void __put_task_struct(struct task_struct * tsk)
}
#include <linux/printk.h>
int _printk_deferred(const char * fmt,...)
{
lx_emul_trace_and_stop(__func__);
}
#include <clocksource/arm_arch_timer.h>
u64 (*arch_timer_read_counter)(void);
#include <linux/context_tracking_irq.h>
noinstr void ct_irq_enter(void)
{
lx_emul_trace_and_stop(__func__);
}
#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)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/context_tracking_irq.h>
void ct_irq_exit_irqson(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <asm-generic/softirq_stack.h>
void do_softirq_own_stack(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/printk.h>
asmlinkage __visible void dump_stack(void)
@ -57,9 +126,12 @@ asmlinkage __visible void dump_stack(void)
}
#include <linux/interrupt.h>
#include <linux/rcuwait.h>
bool force_irqthreads;
void finish_rcuwait(struct rcuwait * w)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/property.h>
@ -115,6 +187,14 @@ void handle_fasteoi_irq(struct irq_desc * desc)
}
#include <linux/sched.h>
void __sched io_schedule(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched.h>
void io_schedule_finish(int token)
@ -157,7 +237,7 @@ void irq_domain_free_irqs_common(struct irq_domain * domain,unsigned int virq,un
#include <linux/irqdomain.h>
void irq_domain_set_info(struct irq_domain * domain,unsigned int virq,irq_hw_number_t hwirq,struct irq_chip * chip,void * chip_data,irq_flow_handler_t handler,void * handler_data,const char * handler_name)
void irq_domain_set_info(struct irq_domain * domain,unsigned int virq,irq_hw_number_t hwirq,const struct irq_chip * chip,void * chip_data,irq_flow_handler_t handler,void * handler_data,const char * handler_name)
{
lx_emul_trace_and_stop(__func__);
}
@ -203,9 +283,33 @@ void irq_work_tick(void)
}
#include <linux/slab.h>
void * kmem_cache_alloc_lru(struct kmem_cache * cachep,struct list_lru * lru,gfp_t flags)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/kstrtox.h>
int kstrtoll(const char * s,unsigned int base,long long * res)
noinline int kstrtoint(const char * s,unsigned int base,int * res)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/kstrtox.h>
noinline int kstrtoll(const char * s,unsigned int base,long long * res)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/kernel.h>
char * kvasprintf(gfp_t gfp,const char * fmt,va_list ap)
{
lx_emul_trace_and_stop(__func__);
}
@ -245,30 +349,6 @@ int of_property_read_string(const struct device_node * np,const char * propname,
}
#include <linux/printk.h>
int printk_deferred(const char * fmt,...)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/rcutree.h>
void rcu_irq_enter_irqson(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/rcutree.h>
void rcu_irq_exit_irqson(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/siphash.h>
u64 siphash_1u64(const u64 first,const siphash_key_t * key)
@ -277,6 +357,14 @@ u64 siphash_1u64(const u64 first,const siphash_key_t * key)
}
#include <linux/smp.h>
void smp_call_function_many(const struct cpumask * mask,smp_call_func_t func,void * info,bool wait)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/jump_label.h>
bool static_key_initialized;

View File

@ -1,5 +1,6 @@
arch/arm64/lib/memchr.S
arch/arm64/lib/memcmp.S
arch/arm64/lib/strchr.S
arch/arm64/lib/strcmp.S
arch/arm64/lib/strlen.S
kernel/kthread.c
@ -7,11 +8,7 @@ kernel/locking/mutex.c
kernel/locking/osq_lock.c
kernel/locking/rwsem.c
kernel/notifier.c
kernel/sched/clock.c
kernel/sched/completion.c
kernel/sched/swait.c
kernel/sched/wait.c
kernel/sched/wait_bit.c
kernel/sched/build_utility.c
kernel/smpboot.c
kernel/softirq.c
kernel/time/clockevents.c

View File

@ -1,15 +1,28 @@
/*
* \brief Dummy definitions of Linux Kernel functions
* \author Automatically generated file - do no edit
* \date 2023-02-24
* \date 2023-03-27
*/
#include <lx_emul.h>
#include <linux/clk-provider.h>
#include <linux/cpumask.h>
const char * __clk_get_name(const struct clk * clk)
struct cpumask __cpu_active_mask;
#include <linux/printk.h>
void __printk_safe_enter(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/printk.h>
void __printk_safe_exit(void)
{
lx_emul_trace_and_stop(__func__);
}
@ -31,15 +44,30 @@ unsigned long _copy_to_user(void __user * to,const void * from,unsigned long n)
}
extern const char * _parse_integer_fixup_radix(const char * s,unsigned int * base);
const char * _parse_integer_fixup_radix(const char * s,unsigned int * base)
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__);
}
extern unsigned int _parse_integer_limit(const char * s,unsigned int base,unsigned long long * p,size_t max_chars);
unsigned int _parse_integer_limit(const char * s,unsigned int base,unsigned long long * p,size_t max_chars)
extern noinline const char * _parse_integer_fixup_radix(const char * s,unsigned int * base);
noinline const char * _parse_integer_fixup_radix(const char * s,unsigned int * base)
{
lx_emul_trace_and_stop(__func__);
}
extern noinline unsigned int _parse_integer_limit(const char * s,unsigned int base,unsigned long long * p,size_t max_chars);
noinline unsigned int _parse_integer_limit(const char * s,unsigned int base,unsigned long long * p,size_t max_chars)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/printk.h>
int _printk_deferred(const char * fmt,...)
{
lx_emul_trace_and_stop(__func__);
}
@ -52,6 +80,22 @@ void ack_bad_irq(unsigned int irq)
}
#include <linux/context_tracking_irq.h>
noinstr void ct_irq_enter(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/context_tracking_irq.h>
noinstr void ct_irq_exit(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/printk.h>
asmlinkage __visible void dump_stack(void)
@ -60,9 +104,12 @@ asmlinkage __visible void dump_stack(void)
}
#include <linux/interrupt.h>
#include <linux/rcuwait.h>
bool force_irqthreads;
void finish_rcuwait(struct rcuwait * w)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/property.h>
@ -110,6 +157,14 @@ void fwnode_handle_put(struct fwnode_handle * fwnode)
const u8 guid_index[16] = {};
#include <linux/sched.h>
void __sched io_schedule(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched.h>
void io_schedule_finish(int token)
@ -158,25 +213,33 @@ void irq_work_tick(void)
}
#include <linux/slab.h>
void * kmem_cache_alloc_lru(struct kmem_cache * cachep,struct list_lru * lru,gfp_t flags)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/kstrtox.h>
int kstrtoll(const char * s,unsigned int base,long long * res)
noinline int kstrtoint(const char * s,unsigned int base,int * res)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/prandom.h>
#include <linux/kstrtox.h>
u32 prandom_u32(void)
noinline int kstrtoll(const char * s,unsigned int base,long long * res)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/printk.h>
#include <linux/kernel.h>
int printk_deferred(const char * fmt,...)
char * kvasprintf(gfp_t gfp,const char * fmt,va_list ap)
{
lx_emul_trace_and_stop(__func__);
}
@ -190,6 +253,22 @@ u64 siphash_1u64(const u64 first,const siphash_key_t * key)
}
#include <linux/string.h>
char * skip_spaces(const char * str)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/smp.h>
void smp_call_function_many(const struct cpumask * mask,smp_call_func_t func,void * info,bool wait)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/smp.h>
int smp_call_function_single(int cpu,smp_call_func_t func,void * info,int wait)

View File

@ -4,11 +4,7 @@ kernel/locking/mutex.c
kernel/locking/osq_lock.c
kernel/locking/rwsem.c
kernel/notifier.c
kernel/sched/clock.c
kernel/sched/completion.c
kernel/sched/swait.c
kernel/sched/wait.c
kernel/sched/wait_bit.c
kernel/sched/build_utility.c
kernel/smpboot.c
kernel/softirq.c
kernel/time/clockevents.c

View File

@ -30,6 +30,9 @@ LX_ENABLE += CRYPTO_JITTERENTROPY CRYPTO_ANSI_CPRNG HW_RANDOM_TIMERIOMEM
# wireguard driver
LX_ENABLE += WIREGUARD WIREGUARD_DEBUG
# disable cpu frequency scaling
LX_DISABLE += SCHED_MC CPU_FREQ
# disable optimization not possible in PIC code under Genode
LX_DISABLE += CC_HAS_ASM_GOTO

View File

@ -85,19 +85,20 @@ LX_FILES += Kbuild \
scripts/Makefile.lib \
scripts/asn1_compiler.c \
scripts/as-version.sh \
scripts/atomic/check-atomics.sh \
scripts/basic/Makefile \
scripts/basic/fixdep.c \
scripts/cc-version.sh \
scripts/check-local-export \
scripts/checksyscalls.sh \
scripts/config \
scripts/dtc \
scripts/extract-cert.c \
scripts/gcc-goto.sh \
scripts/kconfig/merge_config.sh \
scripts/ld-version.sh \
scripts/mkcompile_h \
scripts/min-tool-version.sh \
scripts/mod \
scripts/pahole-flags.sh \
scripts/pahole-version.sh \
scripts/remove-stale-files \
scripts/setlocalversion \
scripts/sorttable.c \
@ -121,6 +122,7 @@ LX_FILES += $(shell cd $(LX_ABS_DIR); find -name "Kconfig*" -printf "%P\n")
# needed for generated/asm-offsets.h
LX_FILES += arch/x86/include/asm/boot.h \
arch/x86/include/asm/coco.h \
arch/x86/include/asm/cpufeature.h \
arch/x86/include/asm/current.h \
arch/x86/include/asm/fixmap.h \
@ -132,6 +134,7 @@ LX_FILES += arch/x86/include/asm/boot.h \
arch/x86/include/asm/page.h \
arch/x86/include/asm/page_32.h \
arch/x86/include/asm/page_32_types.h \
arch/x86/include/asm/page_64.h \
arch/x86/include/asm/pgtable.h \
arch/x86/include/asm/pgtable-2level.h \
arch/x86/include/asm/pgtable-2level_types.h \
@ -144,12 +147,14 @@ LX_FILES += arch/x86/include/asm/boot.h \
arch/x86/include/asm/qrwlock.h \
arch/x86/include/asm/qspinlock.h \
arch/x86/include/asm/sigframe.h \
arch/x86/include/asm/special_insns.h \
arch/x86/include/asm/spinlock.h \
arch/x86/include/asm/suspend.h \
arch/x86/include/asm/suspend_32.h \
arch/x86/include/asm/suspend_64.h \
arch/x86/include/asm/sync_core.h \
arch/x86/include/asm/uaccess_32.h \
arch/x86/include/asm/uaccess_64.h \
arch/x86/include/asm/user_32.h \
arch/x86/include/uapi/asm/ucontext.h \
arch/x86/kernel/asm-offsets.c \
@ -169,6 +174,7 @@ LX_FILES += arch/x86/include/asm/boot.h \
include/linux/cper.h \
include/linux/crypto.h \
include/linux/efi.h \
include/linux/page_table_check.h \
include/linux/pgtable.h \
include/linux/pstore.h \
include/uapi/asm-generic/ucontext.h \

View File

@ -86,7 +86,7 @@ append config {
</start>
<start name="acpi_drv" caps="250">
<resource name="RAM" quantum="4M"/>
<resource name="RAM" quantum="6M"/>
<route>
<service name="IO_MEM"> <parent/> </service>
<service name="LOG"> <parent/> </service>

View File

@ -1,56 +1,55 @@
arch/x86/include/asm/agp.h
arch/x86/include/asm/atomic64_64.h
arch/x86/include/asm/checksum_64.h
arch/x86/include/asm/cmpxchg_64.h
arch/x86/include/asm/e820/api.h
arch/x86/include/asm/e820/types.h
arch/x86/include/asm/hypervisor.h
arch/x86/include/asm/intel-mid.h
arch/x86/include/asm/io.h
arch/x86/include/asm/io_apic.h
arch/x86/include/asm/iomap.h
arch/x86/include/asm/iommu.h
arch/x86/include/asm/iosf_mbi.h
arch/x86/include/asm/kaslr.h
arch/x86/include/asm/page_64_types.h
arch/x86/include/asm/pgtable_64_types.h
arch/x86/include/asm/sparsemem.h
arch/x86/include/asm/string_64.h
arch/x86/include/asm/user_64.h
arch/x86/include/uapi/asm/posix_types_64.h
arch/x86/include/uapi/asm/vsyscall.h
arch/x86/include/asm/set_memory.h
arch/x86/include/asm/vga.h
drivers/char/agp/agp.h
drivers/char/agp/intel-agp.h
drivers/gpu/drm/display/drm_dp_helper_internal.h
drivers/gpu/drm/display/drm_dp_mst_topology_internal.h
drivers/gpu/drm/drm_crtc_helper_internal.h
drivers/gpu/drm/drm_crtc_internal.h
drivers/gpu/drm/drm_dp_mst_topology_internal.h
drivers/gpu/drm/drm_internal.h
drivers/gpu/drm/drm_legacy.h
drivers/gpu/drm/drm_trace.h
drivers/gpu/drm/i915/display/g4x_dp.h
drivers/gpu/drm/i915/display/g4x_hdmi.h
drivers/gpu/drm/i915/display/hsw_ips.h
drivers/gpu/drm/i915/display/i9xx_plane.h
drivers/gpu/drm/i915/display/icl_dsi.h
drivers/gpu/drm/i915/display/icl_dsi_regs.h
drivers/gpu/drm/i915/display/intel_acpi.h
drivers/gpu/drm/i915/display/intel_atomic.h
drivers/gpu/drm/i915/display/intel_atomic_plane.h
drivers/gpu/drm/i915/display/intel_audio.h
drivers/gpu/drm/i915/display/intel_audio_regs.h
drivers/gpu/drm/i915/display/intel_backlight.h
drivers/gpu/drm/i915/display/intel_backlight_regs.h
drivers/gpu/drm/i915/display/intel_bios.h
drivers/gpu/drm/i915/display/intel_bw.h
drivers/gpu/drm/i915/display/intel_cdclk.h
drivers/gpu/drm/i915/display/intel_color.h
drivers/gpu/drm/i915/display/intel_combo_phy.h
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
drivers/gpu/drm/i915/display/intel_connector.h
drivers/gpu/drm/i915/display/intel_crt.h
drivers/gpu/drm/i915/display/intel_crtc.h
drivers/gpu/drm/i915/display/intel_crtc_state_dump.h
drivers/gpu/drm/i915/display/intel_cursor.h
drivers/gpu/drm/i915/display/intel_ddi.h
drivers/gpu/drm/i915/display/intel_ddi_buf_trans.h
drivers/gpu/drm/i915/display/intel_de.h
drivers/gpu/drm/i915/display/intel_display.h
drivers/gpu/drm/i915/display/intel_display_core.h
drivers/gpu/drm/i915/display/intel_display_debugfs.h
drivers/gpu/drm/i915/display/intel_display_power.h
drivers/gpu/drm/i915/display/intel_display_power_map.h
drivers/gpu/drm/i915/display/intel_display_power_well.h
drivers/gpu/drm/i915/display/intel_display_trace.h
drivers/gpu/drm/i915/display/intel_display_types.h
drivers/gpu/drm/i915/display/intel_dkl_phy.h
drivers/gpu/drm/i915/display/intel_dmc.h
drivers/gpu/drm/i915/display/intel_dmc_regs.h
drivers/gpu/drm/i915/display/intel_dp.h
drivers/gpu/drm/i915/display/intel_dp_aux.h
drivers/gpu/drm/i915/display/intel_dp_aux_backlight.h
@ -60,11 +59,16 @@ drivers/gpu/drm/i915/display/intel_dp_mst.h
drivers/gpu/drm/i915/display/intel_dpio_phy.h
drivers/gpu/drm/i915/display/intel_dpll.h
drivers/gpu/drm/i915/display/intel_dpll_mgr.h
drivers/gpu/drm/i915/display/intel_dpt.h
drivers/gpu/drm/i915/display/intel_drrs.h
drivers/gpu/drm/i915/display/intel_dsb.h
drivers/gpu/drm/i915/display/intel_dsi.h
drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.h
drivers/gpu/drm/i915/display/intel_dsi_vbt.h
drivers/gpu/drm/i915/display/intel_dvo.h
drivers/gpu/drm/i915/display/intel_dvo_dev.h
drivers/gpu/drm/i915/display/intel_fb.h
drivers/gpu/drm/i915/display/intel_fb_pin.h
drivers/gpu/drm/i915/display/intel_fbc.h
drivers/gpu/drm/i915/display/intel_fbdev.h
drivers/gpu/drm/i915/display/intel_fdi.h
@ -72,24 +76,34 @@ drivers/gpu/drm/i915/display/intel_fifo_underrun.h
drivers/gpu/drm/i915/display/intel_frontbuffer.h
drivers/gpu/drm/i915/display/intel_global_state.h
drivers/gpu/drm/i915/display/intel_gmbus.h
drivers/gpu/drm/i915/display/intel_gmbus_regs.h
drivers/gpu/drm/i915/display/intel_hdcp.h
drivers/gpu/drm/i915/display/intel_hdcp_regs.h
drivers/gpu/drm/i915/display/intel_hdmi.h
drivers/gpu/drm/i915/display/intel_hotplug.h
drivers/gpu/drm/i915/display/intel_lpe_audio.h
drivers/gpu/drm/i915/display/intel_lspcon.h
drivers/gpu/drm/i915/display/intel_lvds.h
drivers/gpu/drm/i915/display/intel_modeset_setup.h
drivers/gpu/drm/i915/display/intel_modeset_verify.h
drivers/gpu/drm/i915/display/intel_opregion.h
drivers/gpu/drm/i915/display/intel_overlay.h
drivers/gpu/drm/i915/display/intel_panel.h
drivers/gpu/drm/i915/display/intel_pch_display.h
drivers/gpu/drm/i915/display/intel_pch_refclk.h
drivers/gpu/drm/i915/display/intel_pipe_crc.h
drivers/gpu/drm/i915/display/intel_plane_initial.h
drivers/gpu/drm/i915/display/intel_pps.h
drivers/gpu/drm/i915/display/intel_psr.h
drivers/gpu/drm/i915/display/intel_qp_tables.h
drivers/gpu/drm/i915/display/intel_quirks.h
drivers/gpu/drm/i915/display/intel_sdvo.h
drivers/gpu/drm/i915/display/intel_sdvo_regs.h
drivers/gpu/drm/i915/display/intel_snps_phy.h
drivers/gpu/drm/i915/display/intel_snps_phy_regs.h
drivers/gpu/drm/i915/display/intel_sprite.h
drivers/gpu/drm/i915/display/intel_tc.h
drivers/gpu/drm/i915/display/intel_tc_phy_regs.h
drivers/gpu/drm/i915/display/intel_tv.h
drivers/gpu/drm/i915/display/intel_vbt_defs.h
drivers/gpu/drm/i915/display/intel_vdsc.h
@ -97,10 +111,18 @@ drivers/gpu/drm/i915/display/intel_vga.h
drivers/gpu/drm/i915/display/intel_vrr.h
drivers/gpu/drm/i915/display/skl_scaler.h
drivers/gpu/drm/i915/display/skl_universal_plane.h
drivers/gpu/drm/i915/dma_resv_utils.h
drivers/gpu/drm/i915/display/skl_watermark.h
drivers/gpu/drm/i915/display/vlv_dsi.h
drivers/gpu/drm/i915/display/vlv_dsi_pll.h
drivers/gpu/drm/i915/display/vlv_dsi_pll_regs.h
drivers/gpu/drm/i915/display/vlv_dsi_regs.h
drivers/gpu/drm/i915/gem/i915_gem_clflush.h
drivers/gpu/drm/i915/gem/i915_gem_context.h
drivers/gpu/drm/i915/gem/i915_gem_context_types.h
drivers/gpu/drm/i915/gem/i915_gem_create.h
drivers/gpu/drm/i915/gem/i915_gem_dmabuf.h
drivers/gpu/drm/i915/gem/i915_gem_domain.h
drivers/gpu/drm/i915/gem/i915_gem_internal.h
drivers/gpu/drm/i915/gem/i915_gem_ioctls.h
drivers/gpu/drm/i915/gem/i915_gem_lmem.h
drivers/gpu/drm/i915/gem/i915_gem_mman.h
@ -110,6 +132,8 @@ drivers/gpu/drm/i915/gem/i915_gem_pm.h
drivers/gpu/drm/i915/gem/i915_gem_region.h
drivers/gpu/drm/i915/gem/i915_gem_shrinker.h
drivers/gpu/drm/i915/gem/i915_gem_stolen.h
drivers/gpu/drm/i915/gem/i915_gem_tiling.h
drivers/gpu/drm/i915/gem/i915_gem_ttm.h
drivers/gpu/drm/i915/gem/i915_gemfs.h
drivers/gpu/drm/i915/gt/gen8_ppgtt.h
drivers/gpu/drm/i915/gt/intel_breadcrumbs.h
@ -119,20 +143,26 @@ drivers/gpu/drm/i915/gt/intel_context_types.h
drivers/gpu/drm/i915/gt/intel_engine.h
drivers/gpu/drm/i915/gt/intel_engine_heartbeat.h
drivers/gpu/drm/i915/gt/intel_engine_pm.h
drivers/gpu/drm/i915/gt/intel_engine_regs.h
drivers/gpu/drm/i915/gt/intel_engine_types.h
drivers/gpu/drm/i915/gt/intel_engine_user.h
drivers/gpu/drm/i915/gt/intel_ggtt_fencing.h
drivers/gpu/drm/i915/gt/intel_ggtt_gmch.h
drivers/gpu/drm/i915/gt/intel_gpu_commands.h
drivers/gpu/drm/i915/gt/intel_gsc.h
drivers/gpu/drm/i915/gt/intel_gt.h
drivers/gpu/drm/i915/gt/intel_gt_buffer_pool_types.h
drivers/gpu/drm/i915/gt/intel_gt_irq.h
drivers/gpu/drm/i915/gt/intel_gt_mcr.h
drivers/gpu/drm/i915/gt/intel_gt_pm.h
drivers/gpu/drm/i915/gt/intel_gt_pm_irq.h
drivers/gpu/drm/i915/gt/intel_gt_regs.h
drivers/gpu/drm/i915/gt/intel_gt_requests.h
drivers/gpu/drm/i915/gt/intel_gt_types.h
drivers/gpu/drm/i915/gt/intel_gtt.h
drivers/gpu/drm/i915/gt/intel_llc.h
drivers/gpu/drm/i915/gt/intel_hwconfig.h
drivers/gpu/drm/i915/gt/intel_llc_types.h
drivers/gpu/drm/i915/gt/intel_migrate_types.h
drivers/gpu/drm/i915/gt/intel_rc6.h
drivers/gpu/drm/i915/gt/intel_rc6_types.h
drivers/gpu/drm/i915/gt/intel_region_lmem.h
@ -142,6 +172,7 @@ drivers/gpu/drm/i915/gt/intel_ring.h
drivers/gpu/drm/i915/gt/intel_ring_types.h
drivers/gpu/drm/i915/gt/intel_rps.h
drivers/gpu/drm/i915/gt/intel_rps_types.h
drivers/gpu/drm/i915/gt/intel_sa_media.h
drivers/gpu/drm/i915/gt/intel_sseu.h
drivers/gpu/drm/i915/gt/intel_timeline.h
drivers/gpu/drm/i915/gt/intel_timeline_types.h
@ -149,16 +180,22 @@ drivers/gpu/drm/i915/gt/intel_workarounds.h
drivers/gpu/drm/i915/gt/intel_workarounds_types.h
drivers/gpu/drm/i915/gt/sysfs_engines.h
drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h
drivers/gpu/drm/i915/gt/uc/abi/guc_actions_slpc_abi.h
drivers/gpu/drm/i915/gt/uc/abi/guc_communication_ctb_abi.h
drivers/gpu/drm/i915/gt/uc/abi/guc_communication_mmio_abi.h
drivers/gpu/drm/i915/gt/uc/abi/guc_errors_abi.h
drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h
drivers/gpu/drm/i915/gt/uc/abi/guc_messages_abi.h
drivers/gpu/drm/i915/gt/uc/intel_guc.h
drivers/gpu/drm/i915/gt/uc/intel_guc_ads.h
drivers/gpu/drm/i915/gt/uc/intel_guc_ct.h
drivers/gpu/drm/i915/gt/uc/intel_guc_fw.h
drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h
drivers/gpu/drm/i915/gt/uc/intel_guc_log.h
drivers/gpu/drm/i915/gt/uc/intel_guc_rc.h
drivers/gpu/drm/i915/gt/uc/intel_guc_reg.h
drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.h
drivers/gpu/drm/i915/gt/uc/intel_guc_slpc_types.h
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h
drivers/gpu/drm/i915/gt/uc/intel_huc.h
drivers/gpu/drm/i915/gt/uc/intel_huc_fw.h
@ -167,18 +204,27 @@ drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h
drivers/gpu/drm/i915/gt/uc/intel_uc_fw_abi.h
drivers/gpu/drm/i915/i915_active.h
drivers/gpu/drm/i915/i915_active_types.h
drivers/gpu/drm/i915/i915_cmd_parser.h
drivers/gpu/drm/i915/i915_debugfs.h
drivers/gpu/drm/i915/i915_driver.h
drivers/gpu/drm/i915/i915_drm_client.h
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_file_private.h
drivers/gpu/drm/i915/i915_fixed.h
drivers/gpu/drm/i915/i915_gem.h
drivers/gpu/drm/i915/i915_gem_evict.h
drivers/gpu/drm/i915/i915_gem_gtt.h
drivers/gpu/drm/i915/i915_globals.h
drivers/gpu/drm/i915/i915_gem_ww.h
drivers/gpu/drm/i915/i915_getparam.h
drivers/gpu/drm/i915/i915_gpu_error.h
drivers/gpu/drm/i915/i915_ioc32.h
drivers/gpu/drm/i915/i915_ioctl.h
drivers/gpu/drm/i915/i915_iosf_mbi.h
drivers/gpu/drm/i915/i915_irq.h
drivers/gpu/drm/i915/i915_memcpy.h
drivers/gpu/drm/i915/i915_mitigations.h
drivers/gpu/drm/i915/i915_params.h
drivers/gpu/drm/i915/i915_pci.h
drivers/gpu/drm/i915/i915_perf.h
drivers/gpu/drm/i915/i915_perf_types.h
drivers/gpu/drm/i915/i915_pmu.h
@ -186,6 +232,7 @@ drivers/gpu/drm/i915/i915_priolist_types.h
drivers/gpu/drm/i915/i915_pvinfo.h
drivers/gpu/drm/i915/i915_query.h
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/i915_reg_defs.h
drivers/gpu/drm/i915/i915_request.h
drivers/gpu/drm/i915/i915_scatterlist.h
drivers/gpu/drm/i915/i915_scheduler.h
@ -197,32 +244,53 @@ drivers/gpu/drm/i915/i915_sw_fence_work.h
drivers/gpu/drm/i915/i915_switcheroo.h
drivers/gpu/drm/i915/i915_syncmap.h
drivers/gpu/drm/i915/i915_sysfs.h
drivers/gpu/drm/i915/i915_tasklet.h
drivers/gpu/drm/i915/i915_trace.h
drivers/gpu/drm/i915/i915_ttm_buddy_manager.h
drivers/gpu/drm/i915/i915_utils.h
drivers/gpu/drm/i915/i915_vgpu.h
drivers/gpu/drm/i915/i915_vma.h
drivers/gpu/drm/i915/i915_vma_resource.h
drivers/gpu/drm/i915/i915_vma_types.h
drivers/gpu/drm/i915/intel_device_info.h
drivers/gpu/drm/i915/intel_dram.h
drivers/gpu/drm/i915/intel_gvt.h
drivers/gpu/drm/i915/intel_mchbar_regs.h
drivers/gpu/drm/i915/intel_memory_region.h
drivers/gpu/drm/i915/intel_pch.h
drivers/gpu/drm/i915/intel_pci_config.h
drivers/gpu/drm/i915/intel_pcode.h
drivers/gpu/drm/i915/intel_pm.h
drivers/gpu/drm/i915/intel_pm_types.h
drivers/gpu/drm/i915/intel_region_ttm.h
drivers/gpu/drm/i915/intel_runtime_pm.h
drivers/gpu/drm/i915/intel_sideband.h
drivers/gpu/drm/i915/intel_sbi.h
drivers/gpu/drm/i915/intel_step.h
drivers/gpu/drm/i915/intel_uncore.h
drivers/gpu/drm/i915/intel_wakeref.h
drivers/gpu/drm/i915/intel_wopcm.h
drivers/gpu/drm/i915/pxp/intel_pxp.h
drivers/gpu/drm/i915/pxp/intel_pxp_pm.h
drivers/gpu/drm/i915/pxp/intel_pxp_types.h
drivers/gpu/drm/i915/vlv_sideband.h
drivers/gpu/drm/i915/vlv_sideband_reg.h
drivers/gpu/drm/i915/vlv_suspend.h
drivers/gpu/drm/ttm/ttm_module.h
drivers/i2c/i2c-core.h
drivers/platform/x86/intel_ips.h
include/acpi/button.h
include/acpi/video.h
include/asm-generic/div64.h
include/asm-generic/export.h
include/asm-generic/set_memory.h
include/drm/display/drm_dp.h
include/drm/display/drm_dp_dual_mode_helper.h
include/drm/display/drm_dp_helper.h
include/drm/display/drm_dp_mst_helper.h
include/drm/display/drm_dsc.h
include/drm/display/drm_dsc_helper.h
include/drm/display/drm_hdcp.h
include/drm/display/drm_hdcp_helper.h
include/drm/display/drm_hdmi_helper.h
include/drm/display/drm_scdc.h
include/drm/display/drm_scdc_helper.h
include/drm/drm_aperture.h
include/drm/drm_atomic.h
include/drm/drm_atomic_helper.h
@ -232,6 +300,7 @@ include/drm/drm_audio_component.h
include/drm/drm_auth.h
include/drm/drm_blend.h
include/drm/drm_bridge.h
include/drm/drm_buddy.h
include/drm/drm_cache.h
include/drm/drm_client.h
include/drm/drm_color_mgmt.h
@ -243,11 +312,7 @@ include/drm/drm_debugfs.h
include/drm/drm_debugfs_crc.h
include/drm/drm_device.h
include/drm/drm_displayid.h
include/drm/drm_dp_dual_mode_helper.h
include/drm/drm_dp_helper.h
include/drm/drm_dp_mst_helper.h
include/drm/drm_drv.h
include/drm/drm_dsc.h
include/drm/drm_edid.h
include/drm/drm_encoder.h
include/drm/drm_fb_helper.h
@ -255,8 +320,7 @@ include/drm/drm_file.h
include/drm/drm_fourcc.h
include/drm/drm_framebuffer.h
include/drm/drm_gem.h
include/drm/drm_hashtab.h
include/drm/drm_hdcp.h
include/drm/drm_gem_atomic_helper.h
include/drm/drm_ioctl.h
include/drm/drm_lease.h
include/drm/drm_legacy.h
@ -269,14 +333,17 @@ include/drm/drm_modes.h
include/drm/drm_modeset_helper.h
include/drm/drm_modeset_helper_vtables.h
include/drm/drm_modeset_lock.h
include/drm/drm_of.h
include/drm/drm_panel.h
include/drm/drm_plane.h
include/drm/drm_plane_helper.h
include/drm/drm_prime.h
include/drm/drm_print.h
include/drm/drm_privacy_screen_consumer.h
include/drm/drm_privacy_screen_machine.h
include/drm/drm_probe_helper.h
include/drm/drm_property.h
include/drm/drm_rect.h
include/drm/drm_scdc_helper.h
include/drm/drm_self_refresh_helper.h
include/drm/drm_syncobj.h
include/drm/drm_sysfs.h
@ -308,13 +375,12 @@ include/linux/anon_inodes.h
include/linux/average.h
include/linux/backlight.h
include/linux/circ_buf.h
include/linux/dma-buf-map.h
include/linux/dma-buf.h
include/linux/dma-fence-array.h
include/linux/dma-fence-chain.h
include/linux/dma-fence-unwrap.h
include/linux/dma-fence.h
include/linux/dma-resv.h
include/linux/dmar.h
include/linux/fb.h
include/linux/firmware.h
include/linux/fs_parser.h
@ -324,18 +390,15 @@ include/linux/i2c-algo-bit.h
include/linux/i2c-smbus.h
include/linux/i2c.h
include/linux/input.h
include/linux/intel-iommu.h
include/linux/interval_tree.h
include/linux/interval_tree_generic.h
include/linux/io-64-nonatomic-lo-hi.h
include/linux/io-mapping.h
include/linux/ioasid.h
include/linux/iommu.h
include/linux/iova.h
include/linux/kfifo.h
include/linux/iosys-map.h
include/linux/mfd/intel_soc_pmic.h
include/linux/mmu_notifier.h
include/linux/oom.h
include/linux/pagevec.h
include/linux/pci-acpi.h
include/linux/pinctrl/consumer.h
include/linux/pinctrl/machine.h
include/linux/pinctrl/pinctrl-state.h
@ -345,11 +408,11 @@ include/linux/pwm.h
include/linux/regmap.h
include/linux/regulator/consumer.h
include/linux/relay.h
include/linux/rtmutex.h
include/linux/shmem_fs.h
include/linux/swiotlb.h
include/linux/sync_file.h
include/linux/util_macros.h
include/linux/vga_switcheroo.h
include/linux/vgaarb.h
include/linux/xattr.h
include/media/cec-notifier.h
include/media/cec.h
@ -367,14 +430,15 @@ include/uapi/linux/fb.h
include/uapi/linux/i2c.h
include/uapi/linux/input-event-codes.h
include/uapi/linux/input.h
include/uapi/linux/iommu.h
include/uapi/linux/lirc.h
include/uapi/linux/media-bus-format.h
include/uapi/linux/oom.h
include/uapi/linux/xattr.h
include/video/display_timing.h
include/video/mipi_display.h
include/video/of_display_timing.h
include/video/of_videomode.h
include/video/vga.h
include/video/videomode.h
include/xen/balloon.h
include/xen/interface/hvm/start_info.h

View File

@ -12,11 +12,9 @@
*/
#include <lx_emul/debug.h>
#include <linux/math64.h>
#include "i915_drv.h"
#include <acpi/acpixf.h>
#include <acpi/video.h>
#include <linux/clocksource.h>
#include <linux/cpuhotplug.h>
@ -33,11 +31,6 @@
#include <linux/timekeeper_internal.h>
const guid_t pci_acpi_dsm_guid =
GUID_INIT(0xe5c937d0, 0x3553, 0x4d7a,
0x91, 0x17, 0xea, 0x4d, 0x19, 0xc3, 0x43, 0x4d);
void register_syscore_ops(struct syscore_ops * ops)
{
lx_emul_trace(__func__);
@ -50,13 +43,6 @@ void unregister_shrinker(struct shrinker * shrinker)
}
int register_shrinker(struct shrinker * shrinker)
{
lx_emul_trace(__func__);
return 0;
}
void unregister_handler_proc(unsigned int irq,struct irqaction * action)
{
lx_emul_trace(__func__);
@ -114,18 +100,6 @@ int ___ratelimit(struct ratelimit_state * rs, const char * func)
struct net init_net;
#include <linux/skbuff.h>
void kfree_skb(struct sk_buff * skb)
{
if (!skb)
return;
lx_emul_trace(__func__);
printk("%s:%d: leaking skb: %p\n", __func__, __LINE__, skb);
}
#include <net/net_namespace.h>
int register_pernet_subsys(struct pernet_operations * ops)
@ -142,6 +116,7 @@ int set_pages_uc(struct page * page,int numpages)
}
bool irq_work_queue(struct irq_work * work)
{
lx_emul_trace(__func__);
@ -149,18 +124,14 @@ bool irq_work_queue(struct irq_work * work)
}
void iomap_free(resource_size_t base, unsigned long size)
{
lx_emul_trace_and_stop(__func__);
}
void acpi_video_unregister(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/acpi.h>
acpi_status acpi_remove_address_space_handler(acpi_handle device,
acpi_adr_space_type space_id,
acpi_adr_space_handler handler)
@ -169,23 +140,6 @@ acpi_status acpi_remove_address_space_handler(acpi_handle device,
}
acpi_status acpi_buffer_to_resource(u8 * aml_buffer,u16 aml_buffer_length,
struct acpi_resource ** resource_ptr)
{
lx_emul_trace_and_stop(__func__);
}
acpi_status acpi_install_address_space_handler(acpi_handle device,
acpi_adr_space_type space_id,
acpi_adr_space_handler handler,
acpi_adr_space_setup setup,
void * context)
{
lx_emul_trace_and_stop(__func__);
}
int acpi_video_register(void)
{
lx_emul_trace(__func__);
@ -200,18 +154,6 @@ acpi_status acpi_get_name(acpi_handle object, u32 name_type,
}
acpi_status acpi_get_table(acpi_string signature, u32 instance, struct acpi_table_header **out_table)
{
lx_emul_trace_and_stop(__func__);
}
void acpi_put_table(struct acpi_table_header *table)
{
lx_emul_trace_and_stop(__func__);
}
void cpu_latency_qos_add_request(struct pm_qos_request *req, s32 value)
{
lx_emul_trace(__func__);
@ -243,45 +185,18 @@ enum acpi_backlight_type acpi_video_get_backlight_type(void)
}
bool pciehp_is_native(struct pci_dev *bridge)
{
lx_emul_trace_and_stop(__func__);
}
struct irq_domain *pci_host_bridge_acpi_msi_domain(struct pci_bus *bus)
{
lx_emul_trace(__func__);
return NULL;
}
int pnp_range_reserved(resource_size_t start, resource_size_t end)
{
lx_emul_trace_and_stop(__func__);
}
int utf16s_to_utf8s(const wchar_t *pwcs, int len, enum utf16_endian endian,
u8 *s, int maxlen)
{
lx_emul_trace_and_stop(__func__);
}
int __get_user_nocheck_1(void)
{
lx_emul_trace_and_stop(__func__);
}
unsigned long
raw_copy_to_user(void __user *to, const void *from, unsigned long n)
{
lx_emul_trace_and_stop(__func__);
}
unsigned long
raw_copy_from_user(void *to, const void __user * from, unsigned long n)
{
@ -320,9 +235,10 @@ void intel_engines_add_sysfs(struct drm_i915_private * i915)
}
void i915_pmu_init(void)
int i915_pmu_init(void)
{
lx_emul_trace(__func__);
return 0;
}
@ -332,12 +248,6 @@ void i915_pmu_register(struct drm_i915_private * i915)
}
void intel_gt_driver_late_release(struct intel_gt * gt)
{
lx_emul_trace(__func__);
}
bool intel_vgpu_active(struct drm_i915_private * dev_priv)
{
lx_emul_trace(__func__);
@ -365,25 +275,6 @@ void i915_perf_init(struct drm_i915_private * i915)
}
void intel_gt_init_hw_early(struct intel_gt * gt, struct i915_ggtt * ggtt)
{
lx_emul_trace(__func__);
}
int intel_gt_probe_lmem(struct intel_gt * gt)
{
lx_emul_trace(__func__);
return 0;
}
void intel_gt_init_workarounds(struct drm_i915_private * i915)
{
lx_emul_trace(__func__);
}
void gen8_gt_irq_handler(struct intel_gt * gt,u32 master_ctl)
{
lx_emul_trace(__func__);
@ -463,34 +354,6 @@ int i915_gemfs_init(struct drm_i915_private * i915)
}
int __init i915_global_context_init(void)
{
lx_emul_trace(__func__);
return 0;
}
int __init i915_global_gem_context_init(void)
{
lx_emul_trace(__func__);
return 0;
}
int __init i915_global_request_init(void)
{
lx_emul_trace(__func__);
return 0;
}
int __init i915_global_scheduler_init(void)
{
lx_emul_trace(__func__);
return 0;
}
int intel_vgt_balloon(struct i915_ggtt * ggtt)
{
lx_emul_trace(__func__);
@ -510,38 +373,12 @@ void i915_gem_object_release_mmap_offset(struct drm_i915_gem_object * obj)
}
void intel_dsb_prepare(struct intel_crtc_state *crtc_state)
{
lx_emul_trace(__func__);
}
void intel_dsb_cleanup(struct intel_crtc_state *crtc_state)
{
lx_emul_trace(__func__);
}
void intel_dsb_commit(const struct intel_crtc_state *crtc_state)
{
lx_emul_trace(__func__);
}
#include <asm/smp.h>
struct smp_ops smp_ops = { };
EXPORT_SYMBOL_GPL(smp_ops);
#include <linux/prandom.h>
u32 prandom_u32(void)
{
lx_emul_trace_and_stop(__func__);
}
int wbinvd_on_all_cpus(void)
{
lx_emul_trace(__func__);
@ -549,13 +386,6 @@ int wbinvd_on_all_cpus(void)
}
void srcu_drive_gp(struct work_struct *wp);
void srcu_drive_gp(struct work_struct *wp)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/pci.h>
int pci_bus_read_config_byte(struct pci_bus *bus, unsigned int devfn,
@ -590,3 +420,341 @@ void pci_disable_msi(struct pci_dev *dev)
{
lx_emul_trace(__func__);
}
#include <linux/random.h>
u32 __get_random_u32_below(u32 ceil)
{
lx_emul_trace_and_stop(__func__);
}
#include <asm/smp.h>
DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, cpu_sibling_map);
const struct attribute_group dev_attr_physical_location_group = {};
typedef u32 acpi_status;
struct acpi_resource;
extern acpi_status acpi_buffer_to_resource(u8 * aml_buffer,u16 aml_buffer_length,struct acpi_resource ** resource_ptr);
acpi_status acpi_buffer_to_resource(u8 * aml_buffer,u16 aml_buffer_length,struct acpi_resource ** resource_ptr)
{
lx_emul_trace_and_stop(__func__);
}
struct acpi_device;
extern int acpi_bus_get_status(struct acpi_device * device);
int acpi_bus_get_status(struct acpi_device * device)
{
lx_emul_trace_and_stop(__func__);
}
void acpi_device_notify(struct device * dev)
{
lx_emul_trace(__func__);
}
extern bool dev_add_physical_location(struct device * dev);
bool dev_add_physical_location(struct device * dev)
{
lx_emul_trace(__func__);
return false;
}
#include <linux/skbuff.h>
void __fix_address kfree_skb_reason(struct sk_buff * skb,enum skb_drop_reason reason)
{
lx_emul_trace(__func__);
}
#include <linux/sysctl.h>
struct ctl_table_header * register_sysctl(const char * path,struct ctl_table * table)
{
lx_emul_trace(__func__);
return NULL;
}
#include <acpi/acpi_bus.h>
int register_acpi_bus_type(struct acpi_bus_type * type)
{
lx_emul_trace(__func__);
return 0;
}
#include <linux/sysctl.h>
void __init __register_sysctl_init(const char * path,struct ctl_table * table,const char * table_name)
{
lx_emul_trace(__func__);
}
#include <linux/sysfs.h>
int sysfs_add_file_to_group(struct kobject * kobj,const struct attribute * attr,const char * group)
{
lx_emul_trace(__func__);
return 0;
}
#include <linux/random.h>
u16 get_random_u16(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <acpi/acpi_bus.h>
int acpi_bus_attach_private_data(acpi_handle handle,void * data)
{
lx_emul_trace_and_stop(__func__);
}
#include <acpi/acpi_bus.h>
void acpi_bus_detach_private_data(acpi_handle handle)
{
lx_emul_trace_and_stop(__func__);
}
#include <acpi/acpi_bus.h>
int acpi_bus_get_private_data(acpi_handle handle,void ** data)
{
lx_emul_trace_and_stop(__func__);
}
#include <acpi/acpi_bus.h>
void acpi_dev_clear_dependencies(struct acpi_device * supplier)
{
lx_emul_trace_and_stop(__func__);
}
extern acpi_status acpi_install_address_space_handler(acpi_handle device,acpi_adr_space_type space_id,acpi_adr_space_handler handler,acpi_adr_space_setup setup,void * context);
acpi_status acpi_install_address_space_handler(acpi_handle device,acpi_adr_space_type space_id,acpi_adr_space_handler handler,acpi_adr_space_setup setup,void * context)
{
lx_emul_trace_and_stop(__func__);
}
#include <drm/drm_drv.h>
bool drm_firmware_drivers_only(void)
{
lx_emul_trace(__func__);
return 0;
}
extern int __init i915_context_module_init(void);
int __init i915_context_module_init(void)
{
lx_emul_trace(__func__);
return 0;
}
extern int __init i915_gem_context_module_init(void);
int __init i915_gem_context_module_init(void)
{
lx_emul_trace(__func__);
return 0;
}
extern int __init i915_request_module_init(void);
int __init i915_request_module_init(void)
{
lx_emul_trace(__func__);
return 0;
}
extern int __init i915_scheduler_module_init(void);
int __init i915_scheduler_module_init(void)
{
lx_emul_trace(__func__);
return 0;
}
#include <linux/iommu.h>
int iommu_device_use_default_domain(struct device * dev)
{
lx_emul_trace(__func__);
return 0;
}
#include <linux/iommu.h>
void iommu_device_unuse_default_domain(struct device * dev)
{
lx_emul_trace(__func__);
}
extern struct ttm_device_funcs * i915_ttm_driver(void);
struct ttm_device_funcs * i915_ttm_driver(void)
{
lx_emul_trace(__func__);
return NULL;
}
#include <linux/shrinker.h>
int register_shrinker(struct shrinker * shrinker,const char * fmt,...)
{
lx_emul_trace(__func__);
return 0;
}
extern void intel_guc_init_early(struct intel_guc * guc);
void intel_guc_init_early(struct intel_guc * guc)
{
lx_emul_trace(__func__);
}
extern void intel_huc_init_early(struct intel_huc * huc);
void intel_huc_init_early(struct intel_huc * huc)
{
lx_emul_trace(__func__);
}
extern int intel_gt_tiles_init(struct drm_i915_private * i915);
int intel_gt_tiles_init(struct drm_i915_private * i915)
{
lx_emul_trace(__func__);
return 0;
}
void rt_mutex_setprio(struct task_struct *p, struct task_struct *pi_task)
{
lx_emul_trace(__func__);
}
#include <linux/context_tracking_irq.h>
noinstr void ct_irq_enter(void)
{
lx_emul_trace(__func__);
}
#include <linux/context_tracking_irq.h>
noinstr void ct_irq_exit(void)
{
lx_emul_trace(__func__);
}
#include <acpi/video.h>
bool acpi_video_backlight_use_native(void)
{
lx_emul_trace(__func__);
return 1;
}
#include <net/net_namespace.h>
void net_ns_init(void)
{
lx_emul_trace(__func__);
}
#include <asm/iomap.h>
void iomap_free(resource_size_t base, unsigned long size)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/slab.h>
void *kmalloc_large_node(size_t size, gfp_t flags, int node)
{
lx_emul_trace_and_stop(__func__);
}
void * high_memory;
void intel_dsb_prepare(struct intel_crtc_state *crtc_state)
{
lx_emul_trace(__func__);
}
void intel_dsb_cleanup(struct intel_crtc_state *crtc_state)
{
lx_emul_trace(__func__);
}
void intel_dsb_commit(const struct intel_crtc_state *crtc_state)
{
lx_emul_trace(__func__);
}
void intel_dsb_reg_write(const struct intel_crtc_state *crtc_state,
i915_reg_t reg, u32 val)
{
lx_emul_trace(__func__);
}
void intel_dsb_indexed_reg_write(const struct intel_crtc_state *crtc_state,
i915_reg_t reg, u32 val)
{
lx_emul_trace(__func__);
}
void acpi_device_notify_remove(struct device * dev)
{
lx_emul_trace(__func__);
}
void software_node_notify_remove(struct device * dev)
{
lx_emul_trace(__func__);
}

View File

@ -17,17 +17,22 @@
#include "i915_drv.h"
#include "intel_pm.h"
#include "../drivers/gpu/drm/i915/gt/intel_gt.h"
#include "../drivers/gpu/drm/i915/i915_file_private.h"
int i915_gem_object_unbind(struct drm_i915_gem_object *obj,
unsigned long flags)
{
struct intel_runtime_pm *rpm = &to_i915(obj->base.dev)->runtime_pm;
bool vm_trylock = !!(flags & I915_GEM_OBJECT_UNBIND_VM_TRYLOCK);
LIST_HEAD(still_in_list);
intel_wakeref_t wakeref;
struct i915_vma *vma;
int ret;
assert_object_held(obj);
if (list_empty(&obj->vma.list))
return 0;
@ -45,8 +50,6 @@ try_again:
while (!ret && (vma = list_first_entry_or_null(&obj->vma.list,
struct i915_vma,
obj_link))) {
struct i915_address_space *vm = vma->vm;
list_move_tail(&vma->obj_link, &still_in_list);
if (!i915_vma_is_bound(vma, I915_VMA_BIND_MASK))
continue;
@ -56,34 +59,44 @@ try_again:
break;
}
/*
* Requiring the vm destructor to take the object lock
* before destroying a vma would help us eliminate the
* i915_vm_tryget() here, AND thus also the barrier stuff
* at the end. That's an easy fix, but sleeping locks in
* a kthread should generally be avoided.
*/
ret = -EAGAIN;
if (!i915_vm_tryopen(vm))
if (!i915_vm_tryget(vma->vm))
break;
/* Prevent vma being freed by i915_vma_parked as we unbind */
vma = __i915_vma_get(vma);
spin_unlock(&obj->vma.lock);
if (vma) {
ret = -EBUSY;
if (flags & I915_GEM_OBJECT_UNBIND_ACTIVE ||
!i915_vma_is_active(vma)) {
if (flags & I915_GEM_OBJECT_UNBIND_VM_TRYLOCK) {
if (mutex_trylock(&vma->vm->mutex)) {
ret = __i915_vma_unbind(vma);
mutex_unlock(&vma->vm->mutex);
} else {
ret = -EBUSY;
}
} else {
ret = i915_vma_unbind(vma);
}
}
/*
* Since i915_vma_parked() takes the object lock
* before vma destruction, it won't race us here,
* and destroy the vma from under us.
*/
__i915_vma_put(vma);
ret = -EBUSY;
if (flags & I915_GEM_OBJECT_UNBIND_ASYNC) {
assert_object_held(vma->obj);
ret = i915_vma_unbind_async(vma, vm_trylock);
}
i915_vm_close(vm);
if (ret == -EBUSY && (flags & I915_GEM_OBJECT_UNBIND_ACTIVE ||
!i915_vma_is_active(vma))) {
if (vm_trylock) {
if (mutex_trylock(&vma->vm->mutex)) {
ret = __i915_vma_unbind(vma);
mutex_unlock(&vma->vm->mutex);
}
} else {
ret = i915_vma_unbind(vma);
}
}
i915_vm_put(vma->vm);
spin_lock(&obj->vma.lock);
}
list_splice_init(&still_in_list, &obj->vma.list);
@ -114,16 +127,18 @@ static void discard_ggtt_vma(struct i915_vma *vma)
struct i915_vma *
i915_gem_object_ggtt_pin_ww(struct drm_i915_gem_object *obj,
struct i915_gem_ww_ctx *ww,
const struct i915_ggtt_view *view,
const struct i915_gtt_view *view,
u64 size, u64 alignment, u64 flags)
{
struct drm_i915_private *i915 = to_i915(obj->base.dev);
struct i915_ggtt *ggtt = &i915->ggtt;
struct i915_ggtt *ggtt = to_gt(i915)->ggtt;
struct i915_vma *vma;
int ret;
GEM_WARN_ON(!ww);
if (flags & PIN_MAPPABLE &&
(!view || view->type == I915_GGTT_VIEW_NORMAL)) {
(!view || view->type == I915_GTT_VIEW_NORMAL)) {
/*
* If the required space is larger than the available
* aperture, we will not able to find a slot for the
@ -166,8 +181,19 @@ new_vma:
if (i915_vma_is_pinned(vma) || i915_vma_is_active(vma))
return ERR_PTR(-ENOSPC);
/*
* If this misplaced vma is too big (i.e, at-least
* half the size of aperture) or hasn't been pinned
* mappable before, we ignore the misplacement when
* PIN_NONBLOCK is set in order to avoid the ping-pong
* issue described above. In other words, we try to
* avoid the costly operation of unbinding this vma
* from the GGTT and rebinding it back because there
* may not be enough space for this vma in the aperture.
*/
if (flags & PIN_MAPPABLE &&
vma->fence_size > ggtt->mappable_end / 2)
(vma->fence_size > ggtt->mappable_end / 2 ||
!i915_vma_is_map_and_fenceable(vma)))
return ERR_PTR(-ENOSPC);
}
@ -181,10 +207,7 @@ new_vma:
return ERR_PTR(ret);
}
if (ww)
ret = i915_vma_pin_ww(vma, ww, size, alignment, flags | PIN_GLOBAL);
else
ret = i915_vma_pin(vma, size, alignment, flags | PIN_GLOBAL);
ret = i915_vma_pin_ww(vma, ww, size, alignment, flags | PIN_GLOBAL);
if (ret)
return ERR_PTR(ret);
@ -204,46 +227,19 @@ new_vma:
return vma;
}
void i915_gem_ww_ctx_init(struct i915_gem_ww_ctx *ww, bool intr)
static inline int i915_gem_init_userptr(struct drm_i915_private *dev_priv)
{
ww_acquire_init(&ww->ctx, &reservation_ww_class);
INIT_LIST_HEAD(&ww->obj_list);
ww->intr = intr;
ww->contended = NULL;
#ifdef CONFIG_MMU_NOTIFIER
rwlock_init(&dev_priv->mm.notifier_lock);
#endif
return 0;
}
static void i915_gem_ww_ctx_unlock_all(struct i915_gem_ww_ctx *ww)
{
struct drm_i915_gem_object *obj;
while ((obj = list_first_entry_or_null(&ww->obj_list, struct drm_i915_gem_object, obj_link))) {
list_del(&obj->obj_link);
i915_gem_object_unlock(obj);
}
}
void i915_gem_ww_ctx_fini(struct i915_gem_ww_ctx *ww)
{
i915_gem_ww_ctx_unlock_all(ww);
WARN_ON(ww->contended);
ww_acquire_fini(&ww->ctx);
}
static void i915_gem_init__mm(struct drm_i915_private *i915)
{
spin_lock_init(&i915->mm.obj_lock);
init_llist_head(&i915->mm.free_list);
INIT_LIST_HEAD(&i915->mm.purge_list);
INIT_LIST_HEAD(&i915->mm.shrink_list);
i915_gem_init__objects(i915);
}
int i915_gem_init(struct drm_i915_private *dev_priv)
{
struct intel_gt *gt;
unsigned int i;
int ret;
/* request & enforce max resolution if smaller than hardware limits */
@ -259,8 +255,7 @@ int i915_gem_init(struct drm_i915_private *dev_priv)
/* We need to fallback to 4K pages if host doesn't support huge gtt. */
/*
if (intel_vgpu_active(dev_priv) && !intel_vgpu_has_huge_gtt(dev_priv))
mkwrite_device_info(dev_priv)->page_sizes =
I915_GTT_PAGE_SIZE_4K;
RUNTIME_INFO(dev_priv)->page_sizes = I915_GTT_PAGE_SIZE_4K;
*/
ret = i915_gem_init_userptr(dev_priv);
@ -268,7 +263,7 @@ int i915_gem_init(struct drm_i915_private *dev_priv)
return ret;
/*
intel_uc_fetch_firmwares(&dev_priv->gt.uc);
intel_uc_fetch_firmwares(&to_gt(dev_priv)->uc);
intel_wopcm_init(&dev_priv->wopcm);
*/
ret = i915_init_ggtt(dev_priv);
@ -290,10 +285,13 @@ int i915_gem_init(struct drm_i915_private *dev_priv)
intel_init_clock_gating(dev_priv);
/*
ret = intel_gt_init(&dev_priv->gt);
if (ret)
goto err_unlock;
for_each_gt(gt, dev_priv, i) {
ret = intel_gt_init(gt);
if (ret)
goto err_unlock;
}
*/
return 0;
/*
@ -305,10 +303,15 @@ int i915_gem_init(struct drm_i915_private *dev_priv)
err_unlock:
i915_gem_drain_workqueue(dev_priv);
/*
if (ret != -EIO)
intel_uc_cleanup_firmwares(&dev_priv->gt.uc);
*/
if (ret != -EIO) {
for_each_gt(gt, dev_priv, i) {
intel_gt_driver_remove(gt);
intel_gt_driver_release(gt);
/*
intel_uc_cleanup_firmwares(&gt->uc);
*/
}
}
if (ret == -EIO) {
/*
@ -316,17 +319,19 @@ err_unlock:
* as wedged. But we only want to do this when the GPU is angry,
* for all other failure, such as an allocation failure, bail.
*/
/*
if (!intel_gt_is_wedged(&dev_priv->gt)) {
i915_probe_error(dev_priv,
"Failed to initialize GPU, declaring it wedged!\n");
intel_gt_set_wedged(&dev_priv->gt);
/*
for_each_gt(gt, dev_priv, i) {
if (!intel_gt_is_wedged(gt)) {
i915_probe_error(dev_priv,
"Failed to initialize GPU, declaring it wedged!\n");
intel_gt_set_wedged(gt);
}
}
*/
*/
/* Minimal basic recovery for KMS */
ret = i915_ggtt_enable_hw(dev_priv);
i915_ggtt_resume(&dev_priv->ggtt);
i915_ggtt_resume(to_gt(dev_priv)->ggtt);
intel_init_clock_gating(dev_priv);
}
@ -340,6 +345,17 @@ void i915_gem_driver_register(struct drm_i915_private * i915)
lx_emul_trace(__func__);
}
static void i915_gem_init__mm(struct drm_i915_private *i915)
{
spin_lock_init(&i915->mm.obj_lock);
init_llist_head(&i915->mm.free_list);
INIT_LIST_HEAD(&i915->mm.purge_list);
INIT_LIST_HEAD(&i915->mm.shrink_list);
i915_gem_init__objects(i915);
}
void i915_gem_init_early(struct drm_i915_private *dev_priv)
{
@ -350,7 +366,7 @@ void i915_gem_init_early(struct drm_i915_private *dev_priv)
lx_emul_trace(__func__);
spin_lock_init(&dev_priv->fb_tracking.lock);
spin_lock_init(&dev_priv->display.fb_tracking.lock);
/*
* Used by resource_size() check in shmem_get_pages in
@ -367,16 +383,25 @@ void i915_gem_init_early(struct drm_i915_private *dev_priv)
int i915_gem_open(struct drm_i915_private *i915, struct drm_file *file)
{
struct drm_i915_file_private *file_priv;
struct i915_drm_client *client;
int ret = -ENOMEM;
DRM_DEBUG("\n");
file_priv = kzalloc(sizeof(*file_priv), GFP_KERNEL);
if (!file_priv)
return -ENOMEM;
goto err_alloc;
client = i915_drm_client_add(&i915->clients);
if (IS_ERR(client)) {
ret = PTR_ERR(client);
goto err_client;
}
file->driver_priv = file_priv;
file_priv->dev_priv = i915;
file_priv->file = file;
file_priv->client = client;
file_priv->bsd_engine = -1;
file_priv->hang_timestamp = jiffies;
@ -384,19 +409,17 @@ int i915_gem_open(struct drm_i915_private *i915, struct drm_file *file)
/*
ret = i915_gem_context_open(i915, file);
if (ret)
kfree(file_priv);
return ret;
goto err_context;
*/
return 0;
}
int i915_gem_init_userptr(struct drm_i915_private *dev_priv)
{
#ifdef CONFIG_MMU_NOTIFIER
spin_lock_init(&dev_priv->mm.notifier_lock);
#endif
return 0;
/*
err_context:
i915_drm_client_put(client);
*/
err_client:
kfree(file_priv);
err_alloc:
return ret;
}

File diff suppressed because it is too large Load Diff

View File

@ -17,12 +17,12 @@
#include <linux/dma-fence.h>
#include <linux/fs.h>
#include <linux/intel-iommu.h>
#include <linux/mm.h>
#include <linux/slab.h>
#include <linux/proc_fs.h>
#include "i915_drv.h"
#include "intel_pci_config.h"
#include <drm/drm_managed.h>
@ -32,16 +32,6 @@ struct dma_fence_ops const i915_fence_ops;
pteval_t __default_kernel_pte_mask __read_mostly = ~0;
int acpi_disabled = 0;
int intel_iommu_gfx_mapped = 0;
void intel_wopcm_init_early(struct intel_wopcm * wopcm)
{
lx_emul_trace(__func__);
}
void si_meminfo(struct sysinfo * val)
{
unsigned long long const ram_pages = emul_avail_ram() / PAGE_SIZE;
@ -213,39 +203,28 @@ struct page *shmem_read_mapping_page_gfp(struct address_space *mapping,
}
#ifdef CONFIG_SWIOTLB
#include <linux/swiotlb.h>
unsigned int swiotlb_max_segment(void)
extern int intel_root_gt_init_early(struct drm_i915_private * i915);
int intel_root_gt_init_early(struct drm_i915_private * i915)
{
lx_emul_trace(__func__);
return PAGE_SIZE * 512;
}
struct intel_gt *gt = to_gt(i915);
bool is_swiotlb_active(void)
{
lx_emul_trace(__func__);
return false;
}
#endif
void intel_gt_init_early(struct intel_gt * gt, struct drm_i915_private * i915)
{
gt->i915 = i915;
gt->uncore = &i915->uncore;
gt->irq_lock = drmm_kzalloc(&i915->drm, sizeof(*gt->irq_lock), GFP_KERNEL);
if (!gt->irq_lock)
return -ENOMEM;
spin_lock_init(&gt->irq_lock);
spin_lock_init(gt->irq_lock);
INIT_LIST_HEAD(&gt->closed_vma);
spin_lock_init(&gt->closed_lock);
init_llist_head(&gt->watchdog.list);
lx_emul_trace(__func__);
mutex_init(&gt->tlb.invalidate_lock);
seqcount_mutex_init(&gt->tlb.seqno, &gt->tlb.invalidate_lock);
intel_uc_init_early(&gt->uc);
/* disable panel self refresh (required for FUJITSU S937/S938) */
i915->params.enable_psr = 0;
@ -256,8 +235,68 @@ void intel_gt_init_early(struct intel_gt * gt, struct drm_i915_private * i915)
*
* drivers/gpu/drm/i915/gt/intel_ggtt.c
* -> gen8_gmch_probe() -> intel_scanout_needs_vtd_wa(i915)
* -> return DISPLAY_VER(i915) >= 6 && i915_vtd_active(i915);
*
* i915_vtd_active() uses
* if (device_iommu_mapped(i915->drm.dev))
* return true;
*
* which checks for dev->iommu_group != NULL
*
* The struct iommu_group is solely defined within iommu/iommu.c and
* not public available. iommu/iommu.c is not used by our port, so adding
* a dummy valid pointer is sufficient to get i915_vtd_active working.
*/
intel_iommu_gfx_mapped = 1;
i915->drm.dev->iommu_group = kzalloc(4096, 0);
if (!i915_vtd_active(i915))
printk("i915_vtd_active is off, which may cause random runtime"
"IOMMU faults on kernels with enabled IOMMUs\n");
return 0;
}
extern int intel_gt_probe_all(struct drm_i915_private * i915);
int intel_gt_probe_all(struct drm_i915_private * i915)
{
struct pci_dev *pdev = to_pci_dev(i915->drm.dev);
struct intel_gt *gt = &i915->gt0;
phys_addr_t phys_addr;
unsigned int mmio_bar;
int ret;
mmio_bar = GRAPHICS_VER(i915) == 2 ? GEN2_GTTMMADR_BAR : GTTMMADR_BAR;
phys_addr = pci_resource_start(pdev, mmio_bar);
/*
* We always have at least one primary GT on any device
* and it has been already initialized early during probe
* in i915_driver_probe()
*/
gt->i915 = i915;
gt->name = "Primary GT";
gt->info.engine_mask = RUNTIME_INFO(i915)->platform_engine_mask;
intel_uncore_init_early(gt->uncore, gt);
ret = intel_uncore_setup_mmio(gt->uncore, phys_addr);
if (ret)
return ret;
gt->phys_addr = phys_addr;
i915->gt[0] = gt;
return 0;
}
extern int intel_gt_assign_ggtt(struct intel_gt * gt);
int intel_gt_assign_ggtt(struct intel_gt * gt)
{
gt->ggtt = drmm_kzalloc(&gt->i915->drm, sizeof(*gt->ggtt), GFP_KERNEL);
return gt->ggtt ? 0 : -ENOMEM;
}
@ -297,8 +336,9 @@ void intel_vgpu_detect(struct drm_i915_private * dev_priv)
* probe/boot up are not trigged (INTEL_PPGTT_ALIASING, Lenovo T420)
*/
struct intel_device_info *info = mkwrite_device_info(dev_priv);
info->ppgtt_type = INTEL_PPGTT_NONE;
//struct intel_device_info *info = mkwrite_device_info(dev_priv);
struct intel_runtime_info *rinfo = RUNTIME_INFO(dev_priv);
rinfo->ppgtt_type = INTEL_PPGTT_NONE;
printk("disabling PPGTT to avoid GPU code paths\n");
}
@ -313,3 +353,23 @@ void kvfree_call_rcu(struct rcu_head * head,rcu_callback_t func)
kvfree(ptr);
}
#include <linux/dma-mapping.h>
size_t dma_max_mapping_size(struct device * dev)
{
lx_emul_trace(__func__);
return PAGE_SIZE * 512; /* 2 MB */
}
#include <linux/slab.h>
#include <../mm/slab.h>
void * kmem_cache_alloc_lru(struct kmem_cache * cachep,struct list_lru * lru,gfp_t flags)
{
return kmalloc(cachep->size, flags);
}
unsigned long __FIXADDR_TOP = 0xfffff000;

View File

@ -17,9 +17,11 @@
#include <drm/drm_print.h>
#include "i915_drv.h"
#include "display/intel_backlight.h"
#include "display/intel_display_types.h"
#include "display/intel_opregion.h"
#include "display/intel_panel.h"
#include "display/intel_fbdev.h"
#include "lx_emul.h"
@ -30,7 +32,10 @@ struct task_struct * lx_user_task = NULL;
static struct drm_i915_private *i915 = NULL;
static struct drm_fb_helper * i915_fb(void) { return &i915->fbdev->helper; }
static struct drm_fb_helper * i915_fb(void)
{
return i915 ? i915->drm.fb_helper : NULL;
}
/*
@ -119,7 +124,7 @@ static void set_brightness(unsigned brightness, struct drm_connector * connector
{
struct intel_connector * intel_c = to_intel_connector(connector);
if (intel_c)
intel_panel_set_backlight_acpi(intel_c->base.state, brightness, MAX_BRIGHTNESS);
intel_backlight_set_acpi(intel_c->base.state, brightness, MAX_BRIGHTNESS);
}
@ -189,27 +194,6 @@ static bool reconfigure(void * data)
mode_preferred.hdisplay, mode_preferred.vdisplay, err);
if (err == -ENOMEM) {
/*
* roll back code for intelfb_create() in
* drivers/gpu/drm/i915/display/intel_fbdev.c:
*
* vma = intel_pin_and_fence_fb_obj(&ifbdev->fb->base, false,
* &view, false, &flags);
* if (IS_ERR(vma)) {
*
* If the partial allocation is not reverted, the next
* i915_fb()->funcs->fb_probe (which calls intelfb_create)
* will try the old resolution, which failed and fails again,
* instead of using the new smaller resolution.
*/
struct intel_fbdev *ifbdev =
container_of(i915_fb(), struct intel_fbdev, helper);
if (ifbdev && ifbdev->fb) {
drm_framebuffer_put(&ifbdev->fb->base);
ifbdev->fb = NULL;
}
width_smaller_as = mode_preferred.hdisplay;
height_smaller_as = mode_preferred.vdisplay;
@ -317,7 +301,7 @@ static bool reconfigure(void * data)
/* use first smaller mode */
mode_match = mode;
if (conf_mode.enabled)
if (conf_mode.enabled && conf_mode.id)
no_match = true;
}

View File

@ -18,7 +18,7 @@
#include <linux/pci.h>
#include <drm/i915_drm.h>
#include <../drivers/gpu/drm/i915/i915_reg.h>
#include <../drivers/gpu/drm/i915/intel_pci_config.h>
#undef GFX_FLSH_CNTL /* suppress warning of double define */
#include <../drivers/char/agp/intel-agp.h>

View File

@ -1,28 +1,16 @@
arch/x86/include/asm/atomic64_64.h
arch/x86/include/asm/checksum_32.h
arch/x86/include/asm/checksum_64.h
arch/x86/include/asm/cmpxchg_32.h
arch/x86/include/asm/cmpxchg_64.h
arch/x86/include/asm/io.h
arch/x86/include/asm/io_apic.h
arch/x86/include/asm/kaslr.h
arch/x86/include/asm/iomap.h
arch/x86/include/asm/numa_32.h
arch/x86/include/asm/page_32.h
arch/x86/include/asm/page_32_types.h
arch/x86/include/asm/page_64_types.h
arch/x86/include/asm/pgtable-2level_types.h
arch/x86/include/asm/pgtable_32_areas.h
arch/x86/include/asm/pgtable_32_types.h
arch/x86/include/asm/pgtable_64_types.h
arch/x86/include/asm/sparsemem.h
arch/x86/include/asm/string_64.h
arch/x86/include/asm/user_32.h
arch/x86/include/asm/user_64.h
arch/x86/include/uapi/asm/posix_types_32.h
arch/x86/include/uapi/asm/posix_types_64.h
arch/x86/include/uapi/asm/vsyscall.h
include/asm-generic/asm-prototypes.h
include/asm-generic/bitops/fls64.h
include/asm-generic/div64.h
include/asm-generic/pgtable-nopmd.h
include/asm-generic/pgtable-nopud.h
include/asm-generic/softirq_stack.h

View File

@ -10,11 +10,17 @@ drivers/base/driver.c
drivers/base/platform.c
drivers/base/property.c
drivers/char/agp/intel-gtt.c
drivers/clk/clk-devres.c
drivers/dma-buf/dma-fence-array.c
drivers/dma-buf/dma-fence-chain.c
drivers/dma-buf/dma-fence.c
drivers/dma-buf/dma-resv.c
drivers/gpu/drm/display/drm_dp_dual_mode_helper.c
drivers/gpu/drm/display/drm_dp_helper.c
drivers/gpu/drm/display/drm_dp_mst_topology.c
drivers/gpu/drm/display/drm_dsc_helper.c
drivers/gpu/drm/display/drm_hdcp_helper.c
drivers/gpu/drm/display/drm_hdmi_helper.c
drivers/gpu/drm/display/drm_scdc_helper.c
drivers/gpu/drm/drm_atomic.c
drivers/gpu/drm/drm_atomic_helper.c
drivers/gpu/drm/drm_atomic_state_helper.c
@ -31,11 +37,7 @@ drivers/gpu/drm/drm_crtc.c
drivers/gpu/drm/drm_crtc_helper.c
drivers/gpu/drm/drm_damage_helper.c
drivers/gpu/drm/drm_displayid.c
drivers/gpu/drm/drm_dp_dual_mode_helper.c
drivers/gpu/drm/drm_dp_helper.c
drivers/gpu/drm/drm_dp_mst_topology.c
drivers/gpu/drm/drm_drv.c
drivers/gpu/drm/drm_dsc.c
drivers/gpu/drm/drm_edid.c
drivers/gpu/drm/drm_encoder.c
drivers/gpu/drm/drm_fb_helper.c
@ -43,7 +45,6 @@ drivers/gpu/drm/drm_file.c
drivers/gpu/drm/drm_fourcc.c
drivers/gpu/drm/drm_framebuffer.c
drivers/gpu/drm/drm_gem.c
drivers/gpu/drm/drm_hdcp.c
drivers/gpu/drm/drm_managed.c
drivers/gpu/drm/drm_mipi_dsi.c
drivers/gpu/drm/drm_mm.c
@ -59,20 +60,27 @@ drivers/gpu/drm/drm_print.c
drivers/gpu/drm/drm_probe_helper.c
drivers/gpu/drm/drm_property.c
drivers/gpu/drm/drm_rect.c
drivers/gpu/drm/drm_scdc_helper.c
drivers/gpu/drm/drm_syncobj.c
drivers/gpu/drm/drm_sysfs.c
drivers/gpu/drm/drm_vblank.c
drivers/gpu/drm/drm_vblank_work.c
drivers/gpu/drm/drm_vma_manager.c
drivers/gpu/drm/i915/display/dvo_ch7017.c
drivers/gpu/drm/i915/display/dvo_ch7xxx.c
drivers/gpu/drm/i915/display/dvo_ivch.c
drivers/gpu/drm/i915/display/dvo_ns2501.c
drivers/gpu/drm/i915/display/dvo_sil164.c
drivers/gpu/drm/i915/display/dvo_tfp410.c
drivers/gpu/drm/i915/display/g4x_dp.c
drivers/gpu/drm/i915/display/g4x_hdmi.c
drivers/gpu/drm/i915/display/hsw_ips.c
drivers/gpu/drm/i915/display/i9xx_plane.c
drivers/gpu/drm/i915/display/icl_dsi.c
drivers/gpu/drm/i915/display/intel_acpi.c
drivers/gpu/drm/i915/display/intel_atomic.c
drivers/gpu/drm/i915/display/intel_atomic_plane.c
drivers/gpu/drm/i915/display/intel_audio.c
drivers/gpu/drm/i915/display/intel_backlight.c
drivers/gpu/drm/i915/display/intel_bios.c
drivers/gpu/drm/i915/display/intel_bw.c
drivers/gpu/drm/i915/display/intel_cdclk.c
@ -81,11 +89,16 @@ drivers/gpu/drm/i915/display/intel_combo_phy.c
drivers/gpu/drm/i915/display/intel_connector.c
drivers/gpu/drm/i915/display/intel_crt.c
drivers/gpu/drm/i915/display/intel_crtc.c
drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
drivers/gpu/drm/i915/display/intel_cursor.c
drivers/gpu/drm/i915/display/intel_ddi.c
drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c
drivers/gpu/drm/i915/display/intel_display.c
drivers/gpu/drm/i915/display/intel_display_power.c
drivers/gpu/drm/i915/display/intel_display_power_map.c
drivers/gpu/drm/i915/display/intel_display_power_well.c
drivers/gpu/drm/i915/display/intel_display_trace.c
drivers/gpu/drm/i915/display/intel_dkl_phy.c
drivers/gpu/drm/i915/display/intel_dmc.c
drivers/gpu/drm/i915/display/intel_dp.c
drivers/gpu/drm/i915/display/intel_dp_aux.c
@ -96,9 +109,14 @@ drivers/gpu/drm/i915/display/intel_dp_mst.c
drivers/gpu/drm/i915/display/intel_dpio_phy.c
drivers/gpu/drm/i915/display/intel_dpll.c
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
drivers/gpu/drm/i915/display/intel_dpt.c
drivers/gpu/drm/i915/display/intel_drrs.c
drivers/gpu/drm/i915/display/intel_dsi.c
drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
drivers/gpu/drm/i915/display/intel_dsi_vbt.c
drivers/gpu/drm/i915/display/intel_dvo.c
drivers/gpu/drm/i915/display/intel_fb.c
drivers/gpu/drm/i915/display/intel_fb_pin.c
drivers/gpu/drm/i915/display/intel_fbc.c
drivers/gpu/drm/i915/display/intel_fbdev.c
drivers/gpu/drm/i915/display/intel_fdi.c
@ -112,20 +130,29 @@ drivers/gpu/drm/i915/display/intel_hotplug.c
drivers/gpu/drm/i915/display/intel_lpe_audio.c
drivers/gpu/drm/i915/display/intel_lspcon.c
drivers/gpu/drm/i915/display/intel_lvds.c
drivers/gpu/drm/i915/display/intel_modeset_setup.c
drivers/gpu/drm/i915/display/intel_modeset_verify.c
drivers/gpu/drm/i915/display/intel_opregion.c
drivers/gpu/drm/i915/display/intel_overlay.c
drivers/gpu/drm/i915/display/intel_panel.c
drivers/gpu/drm/i915/display/intel_pch_display.c
drivers/gpu/drm/i915/display/intel_pch_refclk.c
drivers/gpu/drm/i915/display/intel_plane_initial.c
drivers/gpu/drm/i915/display/intel_pps.c
drivers/gpu/drm/i915/display/intel_psr.c
drivers/gpu/drm/i915/display/intel_qp_tables.c
drivers/gpu/drm/i915/display/intel_quirks.c
drivers/gpu/drm/i915/display/intel_sdvo.c
drivers/gpu/drm/i915/display/intel_snps_phy.c
drivers/gpu/drm/i915/display/intel_sprite.c
drivers/gpu/drm/i915/display/intel_tc.c
drivers/gpu/drm/i915/display/intel_tv.c
drivers/gpu/drm/i915/display/intel_vdsc.c
drivers/gpu/drm/i915/display/intel_vga.c
drivers/gpu/drm/i915/display/intel_vrr.c
drivers/gpu/drm/i915/display/skl_scaler.c
drivers/gpu/drm/i915/display/skl_universal_plane.c
drivers/gpu/drm/i915/display/skl_watermark.c
drivers/gpu/drm/i915/display/vlv_dsi.c
drivers/gpu/drm/i915/display/vlv_dsi_pll.c
drivers/gpu/drm/i915/gem/i915_gem_clflush.c
@ -142,16 +169,20 @@ drivers/gpu/drm/i915/gem/i915_gem_tiling.c
drivers/gpu/drm/i915/gem/i915_gem_wait.c
drivers/gpu/drm/i915/gt/intel_ggtt.c
drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c
drivers/gpu/drm/i915/gt/intel_ggtt_gmch.c
drivers/gpu/drm/i915/gt/intel_gtt.c
drivers/gpu/drm/i915/gt/uc/intel_uc.c
drivers/gpu/drm/i915/i915_active.c
drivers/gpu/drm/i915/i915_config.c
drivers/gpu/drm/i915/i915_drv.c
drivers/gpu/drm/i915/i915_driver.c
drivers/gpu/drm/i915/i915_drm_client.c
drivers/gpu/drm/i915/i915_gem_gtt.c
drivers/gpu/drm/i915/i915_gem_ww.c
drivers/gpu/drm/i915/i915_getparam.c
drivers/gpu/drm/i915/i915_globals.c
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/i915_memcpy.c
drivers/gpu/drm/i915/i915_mitigations.c
drivers/gpu/drm/i915/i915_module.c
drivers/gpu/drm/i915/i915_params.c
drivers/gpu/drm/i915/i915_pci.c
drivers/gpu/drm/i915/i915_scatterlist.c
@ -161,17 +192,21 @@ drivers/gpu/drm/i915/i915_sw_fence_work.c
drivers/gpu/drm/i915/i915_sysfs.c
drivers/gpu/drm/i915/i915_utils.c
drivers/gpu/drm/i915/i915_vma.c
drivers/gpu/drm/i915/i915_vma_resource.c
drivers/gpu/drm/i915/intel_device_info.c
drivers/gpu/drm/i915/intel_dram.c
drivers/gpu/drm/i915/intel_memory_region.c
drivers/gpu/drm/i915/intel_pch.c
drivers/gpu/drm/i915/intel_pcode.c
drivers/gpu/drm/i915/intel_pm.c
drivers/gpu/drm/i915/intel_region_ttm.c
drivers/gpu/drm/i915/intel_runtime_pm.c
drivers/gpu/drm/i915/intel_sideband.c
drivers/gpu/drm/i915/intel_sbi.c
drivers/gpu/drm/i915/intel_step.c
drivers/gpu/drm/i915/intel_uncore.c
drivers/gpu/drm/i915/intel_wakeref.c
drivers/gpu/drm/i915/intel_wopcm.c
drivers/gpu/drm/i915/vlv_sideband.c
drivers/gpu/drm/i915/vlv_suspend.c
drivers/gpu/drm/ttm/ttm_bo.c
drivers/gpu/drm/ttm/ttm_device.c
@ -200,15 +235,12 @@ kernel/kthread.c
kernel/locking/mutex.c
kernel/locking/osq_lock.c
kernel/locking/rtmutex.c
kernel/locking/rtmutex_api.c
kernel/locking/rwsem.c
kernel/notifier.c
kernel/panic.c
kernel/resource.c
kernel/sched/clock.c
kernel/sched/completion.c
kernel/sched/swait.c
kernel/sched/wait.c
kernel/sched/wait_bit.c
kernel/sched/build_utility.c
kernel/smpboot.c
kernel/softirq.c
kernel/time/clockevents.c
@ -252,6 +284,7 @@ lib/scatterlist.c
lib/siphash.c
lib/sort.c
lib/string.c
lib/string_helpers.c
lib/timerqueue.c
lib/uuid.c
lib/vsprintf.c

View File

@ -1,3 +1,14 @@
arch/x86/include/asm/io.h
arch/x86/include/asm/io_apic.h
arch/x86/include/asm/iomap.h
arch/x86/include/asm/atomic64_64.h
arch/x86/include/asm/checksum_64.h
arch/x86/include/asm/cmpxchg_64.h
arch/x86/include/asm/irq_stack.h
arch/x86/include/asm/kaslr.h
arch/x86/include/asm/page_64_types.h
arch/x86/include/asm/pgtable_64_types.h
arch/x86/include/asm/sparsemem.h
arch/x86/include/asm/string_64.h
arch/x86/include/asm/user_64.h
arch/x86/include/uapi/asm/posix_types_64.h
arch/x86/include/uapi/asm/vsyscall.h
include/asm-generic/div64.h
include/linux/cfi_types.h

View File

@ -13,11 +13,17 @@ drivers/base/driver.c
drivers/base/platform.c
drivers/base/property.c
drivers/char/agp/intel-gtt.c
drivers/clk/clk-devres.c
drivers/dma-buf/dma-fence-array.c
drivers/dma-buf/dma-fence-chain.c
drivers/dma-buf/dma-fence.c
drivers/dma-buf/dma-resv.c
drivers/gpu/drm/display/drm_dp_dual_mode_helper.c
drivers/gpu/drm/display/drm_dp_helper.c
drivers/gpu/drm/display/drm_dp_mst_topology.c
drivers/gpu/drm/display/drm_dsc_helper.c
drivers/gpu/drm/display/drm_hdcp_helper.c
drivers/gpu/drm/display/drm_hdmi_helper.c
drivers/gpu/drm/display/drm_scdc_helper.c
drivers/gpu/drm/drm_atomic.c
drivers/gpu/drm/drm_atomic_helper.c
drivers/gpu/drm/drm_atomic_state_helper.c
@ -34,11 +40,7 @@ drivers/gpu/drm/drm_crtc.c
drivers/gpu/drm/drm_crtc_helper.c
drivers/gpu/drm/drm_damage_helper.c
drivers/gpu/drm/drm_displayid.c
drivers/gpu/drm/drm_dp_dual_mode_helper.c
drivers/gpu/drm/drm_dp_helper.c
drivers/gpu/drm/drm_dp_mst_topology.c
drivers/gpu/drm/drm_drv.c
drivers/gpu/drm/drm_dsc.c
drivers/gpu/drm/drm_edid.c
drivers/gpu/drm/drm_encoder.c
drivers/gpu/drm/drm_fb_helper.c
@ -46,7 +48,6 @@ drivers/gpu/drm/drm_file.c
drivers/gpu/drm/drm_fourcc.c
drivers/gpu/drm/drm_framebuffer.c
drivers/gpu/drm/drm_gem.c
drivers/gpu/drm/drm_hdcp.c
drivers/gpu/drm/drm_managed.c
drivers/gpu/drm/drm_mipi_dsi.c
drivers/gpu/drm/drm_mm.c
@ -62,20 +63,27 @@ drivers/gpu/drm/drm_print.c
drivers/gpu/drm/drm_probe_helper.c
drivers/gpu/drm/drm_property.c
drivers/gpu/drm/drm_rect.c
drivers/gpu/drm/drm_scdc_helper.c
drivers/gpu/drm/drm_syncobj.c
drivers/gpu/drm/drm_sysfs.c
drivers/gpu/drm/drm_vblank.c
drivers/gpu/drm/drm_vblank_work.c
drivers/gpu/drm/drm_vma_manager.c
drivers/gpu/drm/i915/display/dvo_ch7017.c
drivers/gpu/drm/i915/display/dvo_ch7xxx.c
drivers/gpu/drm/i915/display/dvo_ivch.c
drivers/gpu/drm/i915/display/dvo_ns2501.c
drivers/gpu/drm/i915/display/dvo_sil164.c
drivers/gpu/drm/i915/display/dvo_tfp410.c
drivers/gpu/drm/i915/display/g4x_dp.c
drivers/gpu/drm/i915/display/g4x_hdmi.c
drivers/gpu/drm/i915/display/hsw_ips.c
drivers/gpu/drm/i915/display/i9xx_plane.c
drivers/gpu/drm/i915/display/icl_dsi.c
drivers/gpu/drm/i915/display/intel_acpi.c
drivers/gpu/drm/i915/display/intel_atomic.c
drivers/gpu/drm/i915/display/intel_atomic_plane.c
drivers/gpu/drm/i915/display/intel_audio.c
drivers/gpu/drm/i915/display/intel_backlight.c
drivers/gpu/drm/i915/display/intel_bios.c
drivers/gpu/drm/i915/display/intel_bw.c
drivers/gpu/drm/i915/display/intel_cdclk.c
@ -84,11 +92,16 @@ drivers/gpu/drm/i915/display/intel_combo_phy.c
drivers/gpu/drm/i915/display/intel_connector.c
drivers/gpu/drm/i915/display/intel_crt.c
drivers/gpu/drm/i915/display/intel_crtc.c
drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
drivers/gpu/drm/i915/display/intel_cursor.c
drivers/gpu/drm/i915/display/intel_ddi.c
drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c
drivers/gpu/drm/i915/display/intel_display.c
drivers/gpu/drm/i915/display/intel_display_power.c
drivers/gpu/drm/i915/display/intel_display_power_map.c
drivers/gpu/drm/i915/display/intel_display_power_well.c
drivers/gpu/drm/i915/display/intel_display_trace.c
drivers/gpu/drm/i915/display/intel_dkl_phy.c
drivers/gpu/drm/i915/display/intel_dmc.c
drivers/gpu/drm/i915/display/intel_dp.c
drivers/gpu/drm/i915/display/intel_dp_aux.c
@ -99,9 +112,14 @@ drivers/gpu/drm/i915/display/intel_dp_mst.c
drivers/gpu/drm/i915/display/intel_dpio_phy.c
drivers/gpu/drm/i915/display/intel_dpll.c
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
drivers/gpu/drm/i915/display/intel_dpt.c
drivers/gpu/drm/i915/display/intel_drrs.c
drivers/gpu/drm/i915/display/intel_dsi.c
drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
drivers/gpu/drm/i915/display/intel_dsi_vbt.c
drivers/gpu/drm/i915/display/intel_dvo.c
drivers/gpu/drm/i915/display/intel_fb.c
drivers/gpu/drm/i915/display/intel_fb_pin.c
drivers/gpu/drm/i915/display/intel_fbc.c
drivers/gpu/drm/i915/display/intel_fbdev.c
drivers/gpu/drm/i915/display/intel_fdi.c
@ -115,20 +133,29 @@ drivers/gpu/drm/i915/display/intel_hotplug.c
drivers/gpu/drm/i915/display/intel_lpe_audio.c
drivers/gpu/drm/i915/display/intel_lspcon.c
drivers/gpu/drm/i915/display/intel_lvds.c
drivers/gpu/drm/i915/display/intel_modeset_setup.c
drivers/gpu/drm/i915/display/intel_modeset_verify.c
drivers/gpu/drm/i915/display/intel_opregion.c
drivers/gpu/drm/i915/display/intel_overlay.c
drivers/gpu/drm/i915/display/intel_panel.c
drivers/gpu/drm/i915/display/intel_pch_display.c
drivers/gpu/drm/i915/display/intel_pch_refclk.c
drivers/gpu/drm/i915/display/intel_plane_initial.c
drivers/gpu/drm/i915/display/intel_pps.c
drivers/gpu/drm/i915/display/intel_psr.c
drivers/gpu/drm/i915/display/intel_qp_tables.c
drivers/gpu/drm/i915/display/intel_quirks.c
drivers/gpu/drm/i915/display/intel_sdvo.c
drivers/gpu/drm/i915/display/intel_snps_phy.c
drivers/gpu/drm/i915/display/intel_sprite.c
drivers/gpu/drm/i915/display/intel_tc.c
drivers/gpu/drm/i915/display/intel_tv.c
drivers/gpu/drm/i915/display/intel_vdsc.c
drivers/gpu/drm/i915/display/intel_vga.c
drivers/gpu/drm/i915/display/intel_vrr.c
drivers/gpu/drm/i915/display/skl_scaler.c
drivers/gpu/drm/i915/display/skl_universal_plane.c
drivers/gpu/drm/i915/display/skl_watermark.c
drivers/gpu/drm/i915/display/vlv_dsi.c
drivers/gpu/drm/i915/display/vlv_dsi_pll.c
drivers/gpu/drm/i915/gem/i915_gem_clflush.c
@ -145,16 +172,20 @@ drivers/gpu/drm/i915/gem/i915_gem_tiling.c
drivers/gpu/drm/i915/gem/i915_gem_wait.c
drivers/gpu/drm/i915/gt/intel_ggtt.c
drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c
drivers/gpu/drm/i915/gt/intel_ggtt_gmch.c
drivers/gpu/drm/i915/gt/intel_gtt.c
drivers/gpu/drm/i915/gt/uc/intel_uc.c
drivers/gpu/drm/i915/i915_active.c
drivers/gpu/drm/i915/i915_config.c
drivers/gpu/drm/i915/i915_drv.c
drivers/gpu/drm/i915/i915_driver.c
drivers/gpu/drm/i915/i915_drm_client.c
drivers/gpu/drm/i915/i915_gem_gtt.c
drivers/gpu/drm/i915/i915_gem_ww.c
drivers/gpu/drm/i915/i915_getparam.c
drivers/gpu/drm/i915/i915_globals.c
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/i915_memcpy.c
drivers/gpu/drm/i915/i915_mitigations.c
drivers/gpu/drm/i915/i915_module.c
drivers/gpu/drm/i915/i915_params.c
drivers/gpu/drm/i915/i915_pci.c
drivers/gpu/drm/i915/i915_scatterlist.c
@ -164,17 +195,21 @@ drivers/gpu/drm/i915/i915_sw_fence_work.c
drivers/gpu/drm/i915/i915_sysfs.c
drivers/gpu/drm/i915/i915_utils.c
drivers/gpu/drm/i915/i915_vma.c
drivers/gpu/drm/i915/i915_vma_resource.c
drivers/gpu/drm/i915/intel_device_info.c
drivers/gpu/drm/i915/intel_dram.c
drivers/gpu/drm/i915/intel_memory_region.c
drivers/gpu/drm/i915/intel_pch.c
drivers/gpu/drm/i915/intel_pcode.c
drivers/gpu/drm/i915/intel_pm.c
drivers/gpu/drm/i915/intel_region_ttm.c
drivers/gpu/drm/i915/intel_runtime_pm.c
drivers/gpu/drm/i915/intel_sideband.c
drivers/gpu/drm/i915/intel_sbi.c
drivers/gpu/drm/i915/intel_step.c
drivers/gpu/drm/i915/intel_uncore.c
drivers/gpu/drm/i915/intel_wakeref.c
drivers/gpu/drm/i915/intel_wopcm.c
drivers/gpu/drm/i915/vlv_sideband.c
drivers/gpu/drm/i915/vlv_suspend.c
drivers/gpu/drm/ttm/ttm_bo.c
drivers/gpu/drm/ttm/ttm_device.c
@ -203,15 +238,12 @@ kernel/kthread.c
kernel/locking/mutex.c
kernel/locking/osq_lock.c
kernel/locking/rtmutex.c
kernel/locking/rtmutex_api.c
kernel/locking/rwsem.c
kernel/notifier.c
kernel/panic.c
kernel/resource.c
kernel/sched/clock.c
kernel/sched/completion.c
kernel/sched/swait.c
kernel/sched/wait.c
kernel/sched/wait_bit.c
kernel/sched/build_utility.c
kernel/smpboot.c
kernel/softirq.c
kernel/time/clockevents.c
@ -254,6 +286,7 @@ lib/scatterlist.c
lib/siphash.c
lib/sort.c
lib/string.c
lib/string_helpers.c
lib/timerqueue.c
lib/uuid.c
lib/vsprintf.c

View File

@ -1,4 +1,3 @@
arch/x86/include/asm/vdso/processor.h
drivers/usb/common/common.h
drivers/usb/core/hub.h
drivers/usb/core/otg_productlist.h
@ -29,15 +28,13 @@ drivers/usb/host/xhci-ext-caps.h
drivers/usb/host/xhci-pci.h
drivers/usb/host/xhci-trace.h
drivers/usb/host/xhci.h
include/asm-generic/dma-mapping.h
include/asm-generic/export.h
include/linux/bcd.h
include/linux/extcon.h
include/linux/genalloc.h
include/linux/io-64-nonatomic-lo-hi.h
include/linux/kcov.h
include/linux/kfifo.h
include/linux/phy/phy-dp.h
include/linux/phy/phy-lvds.h
include/linux/phy/phy-mipi-dphy.h
include/linux/phy/phy.h
include/linux/regulator/consumer.h
@ -49,6 +46,7 @@ include/linux/usb/ehci-dbgp.h
include/linux/usb/ehci_def.h
include/linux/usb/hcd.h
include/linux/usb/of.h
include/linux/usb/onboard_hub.h
include/linux/usb/otg.h
include/linux/usb/phy.h
include/linux/usb/quirks.h

View File

@ -32,6 +32,7 @@ struct device_driver;
struct kobj_uevent_env;
struct pci_dev;
bool pciehp_is_native(struct pci_dev *bridge)
{
lx_emul_trace_and_stop(__func__);
@ -98,3 +99,118 @@ void pci_disable_device(struct pci_dev * dev)
{
lx_emul_trace(__func__);
}
#include <linux/random.h>
u32 __get_random_u32_below(u32 ceil)
{
lx_emul_trace_and_stop(__func__);
}
#include <asm/smp.h>
DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, cpu_sibling_map);
const struct attribute_group dev_attr_physical_location_group = {};
#include <linux/acpi.h>
void acpi_device_notify(struct device * dev)
{
lx_emul_trace(__func__);
}
extern bool dev_add_physical_location(struct device * dev);
bool dev_add_physical_location(struct device * dev)
{
lx_emul_trace(__func__);
return false;
}
#include <linux/sysctl.h>
struct ctl_table_header * register_sysctl(const char * path,struct ctl_table * table)
{
lx_emul_trace(__func__);
return NULL;
}
#include <linux/iommu.h>
int iommu_device_use_default_domain(struct device * dev)
{
lx_emul_trace(__func__);
return 0;
}
#include <linux/usb.h>
int usb_acpi_port_lpm_incapable(struct usb_device * hdev,int index)
{
lx_emul_trace(__func__);
return 0;
}
#include <linux/sysctl.h>
void __init __register_sysctl_init(const char * path,struct ctl_table * table,const char * table_name)
{
lx_emul_trace(__func__);
}
#include <linux/sysfs.h>
int sysfs_add_file_to_group(struct kobject * kobj,const struct attribute * attr,const char * group)
{
lx_emul_trace(__func__);
return 0;
}
#include <linux/context_tracking_irq.h>
noinstr void ct_irq_enter(void)
{
lx_emul_trace(__func__);
}
#include <linux/context_tracking_irq.h>
noinstr void ct_irq_exit(void)
{
lx_emul_trace(__func__);
}
#include <linux/acpi.h>
void acpi_device_notify_remove(struct device * dev)
{
lx_emul_trace(__func__);
}
extern void software_node_notify_remove(struct device * dev);
void software_node_notify_remove(struct device * dev)
{
lx_emul_trace(__func__);
}
#include <net/net_namespace.h>
void net_ns_init(void)
{
lx_emul_trace(__func__);
}

View File

@ -1,20 +1,12 @@
/*
* \brief Dummy definitions of Linux Kernel functions
* \author Automatically generated file - do no edit
* \date 2022-07-29
* \date 2023-03-17
*/
#include <lx_emul.h>
#include <linux/proc_fs.h>
void * PDE_DATA(const struct inode * inode)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/ratelimit_types.h>
int ___ratelimit(struct ratelimit_state * rs,const char * func)
@ -23,9 +15,22 @@ int ___ratelimit(struct ratelimit_state * rs,const char * func)
}
#include <linux/clk-provider.h>
#include <linux/cpumask.h>
const char * __clk_get_name(const struct clk * clk)
struct cpumask __cpu_active_mask;
#include <linux/printk.h>
void __printk_safe_enter(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/printk.h>
void __printk_safe_exit(void)
{
lx_emul_trace_and_stop(__func__);
}
@ -79,6 +84,14 @@ unsigned long _copy_to_user(void __user * to,const void * from,unsigned long n)
}
#include <linux/printk.h>
int _printk_deferred(const char * fmt,...)
{
lx_emul_trace_and_stop(__func__);
}
extern void ack_bad_irq(unsigned int irq);
void ack_bad_irq(unsigned int irq)
{
@ -110,6 +123,14 @@ void async_synchronize_full(void)
}
#include <linux/arch_topology.h>
const struct cpumask * cpu_clustergroup_mask(int cpu)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/fs.h>
struct timespec64 current_time(struct inode * inode)
@ -150,9 +171,9 @@ bool file_ns_capable(const struct file * file,struct user_namespace * ns,int cap
}
#include <linux/property.h>
#include <linux/rcuwait.h>
void fwnode_remove_software_node(struct fwnode_handle * fwnode)
void finish_rcuwait(struct rcuwait * w)
{
lx_emul_trace_and_stop(__func__);
}
@ -216,6 +237,14 @@ struct pseudo_fs_context * init_pseudo(struct fs_context * fc,unsigned long magi
bool initcall_debug;
#include <linux/sched.h>
void __sched io_schedule(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched.h>
void io_schedule_finish(int token)
@ -240,17 +269,22 @@ long __sched io_schedule_timeout(long timeout)
}
#include <linux/irq_work.h>
#include <linux/swiotlb.h>
void irq_work_tick(void)
struct io_tlb_mem io_tlb_default_mem;
#include <linux/iommu.h>
void iommu_device_unuse_default_domain(struct device * dev)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/property.h>
#include <linux/irq_work.h>
bool is_software_node(const struct fwnode_handle * fwnode)
void irq_work_tick(void)
{
lx_emul_trace_and_stop(__func__);
}
@ -277,6 +311,14 @@ int kill_pid_usb_asyncio(int sig,int errno,sigval_t addr,struct pid * pid,const
}
#include <linux/slab.h>
void * kmem_cache_alloc_lru(struct kmem_cache * cachep,struct list_lru * lru,gfp_t flags)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/slab.h>
void kmem_cache_destroy(struct kmem_cache * s)
@ -370,9 +412,17 @@ int pci_write_config_dword(const struct pci_dev * dev,int where,u32 val)
}
#include <linux/printk.h>
#include <linux/sysctl.h>
int printk_deferred(const char * fmt,...)
int proc_dointvec_minmax(struct ctl_table * table,int write,void * buffer,size_t * lenp,loff_t * ppos)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sysctl.h>
int proc_douintvec(struct ctl_table * table,int write,void * buffer,size_t * lenp,loff_t * ppos)
{
lx_emul_trace_and_stop(__func__);
}
@ -386,14 +436,6 @@ void put_pid(struct pid * pid)
}
#include <linux/refcount.h>
bool refcount_dec_not_one(refcount_t * r)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/refcount.h>
void refcount_warn_saturate(refcount_t * r,enum refcount_saturation_type t)
@ -418,6 +460,22 @@ void seq_printf(struct seq_file * m,const char * f,...)
}
#include <linux/string.h>
char * skip_spaces(const char * str)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/smp.h>
void smp_call_function_many(const struct cpumask * mask,smp_call_func_t func,void * info,bool wait)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/smp.h>
int smp_call_function_single(int cpu,smp_call_func_t func,void * info,int wait)
@ -439,6 +497,27 @@ int string_escape_mem(const char * src,size_t isz,char * dst,size_t osz,unsigned
}
#include <linux/string.h>
char * strreplace(char * s,char old,char new)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sysctl.h>
const int sysctl_vals[] = {};
#include <linux/string.h>
bool sysfs_streq(const char * s1,const char * s2)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/task_work.h>
int task_work_add(struct task_struct * task,struct callback_head * work,enum task_work_notify_mode notify)

View File

@ -6,11 +6,10 @@ arch/x86/include/asm/page_32_types.h
arch/x86/include/asm/pgtable-2level_types.h
arch/x86/include/asm/pgtable_32_areas.h
arch/x86/include/asm/pgtable_32_types.h
arch/x86/include/asm/special_insns.h
arch/x86/include/asm/uaccess_32.h
arch/x86/include/asm/user_32.h
arch/x86/include/uapi/asm/posix_types_32.h
include/asm-generic/asm-prototypes.h
include/asm-generic/bitops/fls64.h
include/asm-generic/pgtable-nopmd.h
include/asm-generic/pgtable-nopud.h
include/asm-generic/softirq_stack.h

View File

@ -8,10 +8,8 @@ drivers/base/devres.c
drivers/base/driver.c
drivers/base/platform.c
drivers/base/property.c
drivers/clk/clk-devres.c
drivers/pci/pci-driver.c
drivers/usb/common/common.c
drivers/usb/common/debug.c
drivers/usb/core/buffer.c
drivers/usb/core/config.c
drivers/usb/core/devices.c
@ -60,11 +58,7 @@ kernel/locking/rwsem.c
kernel/notifier.c
kernel/panic.c
kernel/resource.c
kernel/sched/clock.c
kernel/sched/completion.c
kernel/sched/swait.c
kernel/sched/wait.c
kernel/sched/wait_bit.c
kernel/sched/build_utility.c
kernel/smpboot.c
kernel/softirq.c
kernel/time/clockevents.c

View File

@ -1,6 +1,7 @@
arch/x86/include/asm/atomic64_64.h
arch/x86/include/asm/checksum_64.h
arch/x86/include/asm/cmpxchg_64.h
arch/x86/include/asm/irq_stack.h
arch/x86/include/asm/kaslr.h
arch/x86/include/asm/page_64_types.h
arch/x86/include/asm/pgtable_64_types.h

View File

@ -8,10 +8,8 @@ drivers/base/devres.c
drivers/base/driver.c
drivers/base/platform.c
drivers/base/property.c
drivers/clk/clk-devres.c
drivers/pci/pci-driver.c
drivers/usb/common/common.c
drivers/usb/common/debug.c
drivers/usb/core/buffer.c
drivers/usb/core/config.c
drivers/usb/core/devices.c
@ -60,11 +58,7 @@ kernel/locking/rwsem.c
kernel/notifier.c
kernel/panic.c
kernel/resource.c
kernel/sched/clock.c
kernel/sched/completion.c
kernel/sched/swait.c
kernel/sched/wait.c
kernel/sched/wait_bit.c
kernel/sched/build_utility.c
kernel/smpboot.c
kernel/softirq.c
kernel/time/clockevents.c

View File

@ -1,7 +1,7 @@
/*
* \brief Array defining order of Linux Kernel initcalls
* \author Automatically generated file - do no edit
* \date 2022-05-13
* \date 2023-03-17
*/
#pragma once
@ -9,25 +9,35 @@
static const char * lx_emul_initcall_order[] = {
"__initcall_init_hw_perf_eventsearly",
"__initcall_start",
"__initcall_init_real_modeearly",
"__initcall_validate_x2apicearly",
"__initcall_do_init_real_modeearly",
"__initcall_bp_init_aperfmperfearly",
"__initcall_register_nmi_cpu_backtrace_handlerearly",
"__initcall_spawn_ksoftirqdearly",
"__initcall_migration_initearly",
"__initcall_srcu_bootup_announceearly",
"__initcall_rcu_spawn_gp_kthreadearly",
"__initcall_check_cpu_stall_initearly",
"__initcall_rcu_sysrq_initearly",
"__initcall_cpu_stop_initearly",
"__initcall_irq_work_init_threadsearly",
"__initcall_static_call_initearly",
"__initcall_init_zero_pfnearly",
"__initcall_initialize_ptr_randomearly",
"__initcall_init_fs_inode_sysctlsearly",
"__initcall_init_mmap_min_addr0",
"__initcall_pci_realloc_setup_params0",
"__initcall_net_ns_init0",
"__initcall_e820__register_nvs_regions1",
"__initcall_cpufreq_register_tsc_scaling1",
"__initcall_reboot_init1",
"__initcall_wq_sysfs_init1",
"__initcall_ksysfs_init1",
"__initcall_schedutil_gov_init1",
"__initcall_rcu_set_runtime_mode1",
"__initcall_init_jiffies_clocksource1",
"__initcall_init_script_binfmt1",
"__initcall_init_elf_binfmt1",
"__initcall_prandom_init_early1",
"__initcall_iommu_init1",
"__initcall_cpufreq_core_init1",
"__initcall_cpufreq_gov_performance_init1",
"__initcall_cpuidle_init1",
"__initcall_sock_init1",
"__initcall_net_inuse_init1",
@ -45,12 +55,14 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_backlight_class_init2",
"__initcall_tty_class_init2",
"__initcall_vtconsole_class_init2",
"__initcall_iommu_dev_init2",
"__initcall_mipi_dsi_bus_init2",
"__initcall_devlink_class_init2",
"__initcall_software_node_init2",
"__initcall_i2c_init2",
"__initcall_thermal_init2",
"__initcall_init_ladder2",
"__initcall_init_menu2",
"__initcall_pcc_init2",
"__initcall_amd_postcore_init2",
"__initcall_kobject_uevent_init2",
"__initcall_bts_init3",
@ -58,11 +70,13 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_boot_params_ksysfs_init3",
"__initcall_sbf_init3",
"__initcall_arch_kdebugfs_init3",
"__initcall_xfd_update_static_branch3",
"__initcall_intel_pconfig_init3",
"__initcall_ffh_cstate_init3",
"__initcall_kcmp_cookies_init3",
"__initcall_cryptomgr_init3",
"__initcall_acpi_pci_init3",
"__initcall_iommu_dma_init3",
"__initcall_pci_arch_init3",
"__initcall_init_vdso4",
"__initcall_fixup_ht_bug4",
@ -90,6 +104,7 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_acpi_init4",
"__initcall_pnp_init4",
"__initcall_misc_init4",
"__initcall_iommu_subsys_init4",
"__initcall_dma_buf_init4",
"__initcall_phy_init4",
"__initcall_usb_common_init4",
@ -105,12 +120,19 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_ieee80211_init4",
"__initcall_rfkill_init4",
"__initcall_pci_subsys_init4",
"__initcall_vsprintf_init_hashval4",
"__initcall_acpi_wmi_init4s",
"__initcall_nmi_warning_debugfs5",
"__initcall_hpet_late_init5",
"__initcall_init_amd_nbs5",
"__initcall_iomem_init_inode5",
"__initcall_clocksource_done_booting5",
"__initcall_init_fs_stat_sysctls5",
"__initcall_init_fs_exec_sysctls5",
"__initcall_init_pipe_fs5",
"__initcall_init_fs_namei_sysctls5",
"__initcall_init_fs_dcache_sysctls5",
"__initcall_init_fs_namespace_sysctls5",
"__initcall_anon_inode_init5",
"__initcall_proc_cmdline_init5",
"__initcall_proc_consoles_init5",
@ -141,7 +163,6 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_populate_rootfsrootfs",
"__initcall_pci_iommu_initrootfs",
"__initcall_rapl_pmu_init6",
"__initcall_amd_uncore_init6",
"__initcall_amd_ibs_init6",
"__initcall_msr_init6",
"__initcall_intel_uncore_init6",
@ -152,10 +173,11 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_add_rtc_cmos6",
"__initcall_umwait_init6",
"__initcall_ioapic_init_ops6",
"__initcall_sysfb_init6",
"__initcall_iosf_mbi_init6",
"__initcall_proc_execdomains_init6",
"__initcall_cpuhp_sysfs_init6",
"__initcall_ioresources_init6",
"__initcall_timer_sysctl_init6",
"__initcall_timekeeping_init_ops6",
"__initcall_init_clocksource_sysfs6",
"__initcall_init_timer_list_procfs6",
@ -165,6 +187,7 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_perf_event_sysfs_init6",
"__initcall_system_trusted_keyring_init6",
"__initcall_kswapd_init6",
"__initcall_mm_compute_batch_init6",
"__initcall_workingset_init6",
"__initcall_proc_vmalloc_init6",
"__initcall_fcntl_init6",
@ -172,9 +195,10 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_start_dirtytime_writeback6",
"__initcall_init_devpts_fs6",
"__initcall_key_proc_init6",
"__initcall_crypto_algapi_init6",
"__initcall_asymmetric_key_init6",
"__initcall_x509_key_init6",
"__initcall_blake2s_mod_init6",
"__initcall_percpu_counter_startup6",
"__initcall_pci_proc_init6",
"__initcall_ged_driver_init6",
"__initcall_acpi_ac_init6",
@ -184,8 +208,6 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_acpi_processor_driver_init6",
"__initcall_acpi_thermal_init6",
"__initcall_acpi_battery_init6",
"__initcall_gpio_clk_driver_init6",
"__initcall_plt_clk_driver_init6",
"__initcall_n_null_init6",
"__initcall_pty_init6",
"__initcall_serial8250_init6",
@ -193,13 +215,16 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_exar_pci_driver_init6",
"__initcall_lpss8250_pci_driver_init6",
"__initcall_mid8250_pci_driver_init6",
"__initcall_drm_kms_helper_init6",
"__initcall_pericom8250_pci_driver_init6",
"__initcall_random_sysctls_init6",
"__initcall_drm_core_init6",
"__initcall_drm_buddy_module_init6",
"__initcall_drm_display_helper_module_init6",
"__initcall_i915_init6",
"__initcall_topology_sysfs_init6",
"__initcall_cacheinfo_sysfs_init6",
"__initcall_net_olddevs_init6",
"__initcall_blackhole_netdev_init6",
"__initcall_phylink_init6",
"__initcall_phy_module_init6",
"__initcall_fixed_mdio_bus_init6",
"__initcall_iwl_drv_init6",
@ -215,6 +240,7 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_zaurus_driver_init6",
"__initcall_usbnet_init6",
"__initcall_cdc_ncm_driver_init6",
"__initcall_r8153_ecm_driver_init6",
"__initcall_ehci_hcd_init6",
"__initcall_ehci_pci_init6",
"__initcall_ohci_hcd_mod_init6",
@ -228,16 +254,28 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_psmouse_init6",
"__initcall_pkg_temp_thermal_init6",
"__initcall_thermal_throttle_init_device6",
"__initcall_pmc_atom_init6",
"__initcall_intel_pstate_init6",
"__initcall_wmi_bmof_driver_init6",
"__initcall_sock_diag_init6",
"__initcall_packet_init6",
"__initcall_kernel_do_mounts_initrd_sysctls_init7",
"__initcall_sld_mitigate_sysctl_init7",
"__initcall_hpet_insert_resource7",
"__initcall_start_sync_check_timer7",
"__initcall_update_mp_table7",
"__initcall_lapic_insert_resource7",
"__initcall_print_ipi_mode7",
"__initcall_print_ICs7",
"__initcall_create_tlb_single_page_flush_ceiling7",
"__initcall_init_oops_id7",
"__initcall_kernel_panic_sysctls_init7",
"__initcall_kernel_panic_sysfs_init7",
"__initcall_kernel_exit_sysctls_init7",
"__initcall_kernel_exit_sysfs_init7",
"__initcall_reboot_ksysfs_init7",
"__initcall_sched_core_sysctl_init7",
"__initcall_sched_fair_sysctl_init7",
"__initcall_sched_rt_sysctl_init7",
"__initcall_sched_dl_sysctl_init7",
"__initcall_sched_clock_init_late7",
"__initcall_sched_init_debug7",
"__initcall_cpu_latency_qos_init7",
@ -245,14 +283,14 @@ static const char * lx_emul_initcall_order[] = {
"__initcall_load_system_certificate_list7",
"__initcall_check_early_ioremap_leak7",
"__initcall_init_root_keyring7",
"__initcall_prandom_init_late7",
"__initcall_crypto_algapi_init7",
"__initcall_pci_resource_alignment_sysfs_init7",
"__initcall_pci_sysfs_init7",
"__initcall_dmar_free_unused_resources7",
"__initcall_sync_state_resume_initcall7",
"__initcall_deferred_probe_initcall7",
"__initcall_regulatory_init_db7",
"__initcall_pci_mmcfg_late_insert_resources7",
"__initcall_clk_disable_unused7s",
"__initcall_con_initcon",
"__initcall_end",
"__initcall_univ8250_console_initcon",

View File

@ -103,14 +103,6 @@ void ignore_signals(struct task_struct * t)
}
#include <linux/sched/loadavg.h>
void calc_global_load(void)
{
lx_emul_trace(__func__);
}
#include <linux/kernel_stat.h>
void account_process_tick(struct task_struct * p,int user_tick)
@ -143,6 +135,7 @@ void kernfs_put(struct kernfs_node * kn)
#include <linux/random.h>
struct random_ready_callback;
int add_random_ready_callback(struct random_ready_callback * rdy)
{
lx_emul_trace(__func__);
@ -150,7 +143,7 @@ int add_random_ready_callback(struct random_ready_callback * rdy)
}
void add_device_randomness(const void * buf,unsigned int size)
void add_device_randomness(const void * buf, size_t size)
{
lx_emul_trace(__func__);
}
@ -158,7 +151,7 @@ void add_device_randomness(const void * buf,unsigned int size)
#include <linux/random.h>
void add_interrupt_randomness(int irq,int irq_flags)
void add_interrupt_randomness(int irq)
{
lx_emul_trace(__func__);
}

View File

@ -1,9 +1,9 @@
arch/x86/include/asm/acenv.h
arch/x86/include/asm/acpi.h
arch/x86/include/asm/alternative.h
arch/x86/include/asm/apic.h
arch/x86/include/asm/apicdef.h
arch/x86/include/asm/arch_hweight.h
arch/x86/include/asm/archrandom.h
arch/x86/include/asm/asm.h
arch/x86/include/asm/atomic.h
arch/x86/include/asm/barrier.h
@ -15,9 +15,10 @@ arch/x86/include/asm/checksum.h
arch/x86/include/asm/clocksource.h
arch/x86/include/asm/cmpxchg.h
arch/x86/include/asm/compat.h
arch/x86/include/asm/cpu_entry_area.h
arch/x86/include/asm/cpufeatures.h
arch/x86/include/asm/cpu.h
arch/x86/include/asm/cpu_entry_area.h
arch/x86/include/asm/cpufeature.h
arch/x86/include/asm/cpufeatures.h
arch/x86/include/asm/cpumask.h
arch/x86/include/asm/delay.h
arch/x86/include/asm/desc.h
@ -25,11 +26,13 @@ arch/x86/include/asm/desc_defs.h
arch/x86/include/asm/device.h
arch/x86/include/asm/disabled-features.h
arch/x86/include/asm/div64.h
arch/x86/include/asm/dma-mapping.h
arch/x86/include/asm/dma.h
arch/x86/include/asm/elf.h
arch/x86/include/asm/emergency-restart.h
arch/x86/include/asm/exec.h
arch/x86/include/asm/extable.h
arch/x86/include/asm/extable_fixup_types.h
arch/x86/include/asm/fixmap.h
arch/x86/include/asm/fpu/api.h
arch/x86/include/asm/fpu/types.h
@ -38,15 +41,14 @@ arch/x86/include/asm/ftrace.h
arch/x86/include/asm/hardirq.h
arch/x86/include/asm/hw_breakpoint.h
arch/x86/include/asm/hw_irq.h
arch/x86/include/asm/ibt.h
arch/x86/include/asm/intel_ds.h
arch/x86/include/asm/invpcid.h
arch/x86/include/asm/irq.h
arch/x86/include/asm/irq_stack.h
arch/x86/include/asm/irq_vectors.h
arch/x86/include/asm/irq_work.h
arch/x86/include/asm/irqdomain.h
arch/x86/include/asm/ist.h
arch/x86/include/asm/jailhouse_para.h
arch/x86/include/asm/kdebug.h
arch/x86/include/asm/kgdb.h
arch/x86/include/asm/kprobes.h
@ -64,17 +66,13 @@ arch/x86/include/asm/mpspec_def.h
arch/x86/include/asm/msi.h
arch/x86/include/asm/msr-index.h
arch/x86/include/asm/msr.h
arch/x86/include/asm/mwait.h
arch/x86/include/asm/nmi.h
arch/x86/include/asm/nops.h
arch/x86/include/asm/nospec-branch.h
arch/x86/include/asm/numa.h
arch/x86/include/asm/orc_types.h
arch/x86/include/asm/page_64.h
arch/x86/include/asm/page_types.h
arch/x86/include/asm/paravirt.h
arch/x86/include/asm/pci.h
arch/x86/include/asm/pci_x86.h
arch/x86/include/asm/percpu.h
arch/x86/include/asm/perf_event.h
arch/x86/include/asm/pgtable_areas.h
@ -89,7 +87,8 @@ arch/x86/include/asm/ptrace.h
arch/x86/include/asm/required-features.h
arch/x86/include/asm/rmwcc.h
arch/x86/include/asm/segment.h
arch/x86/include/asm/set_memory.h
arch/x86/include/asm/shared/msr.h
arch/x86/include/asm/shared/tdx.h
arch/x86/include/asm/shmparam.h
arch/x86/include/asm/signal.h
arch/x86/include/asm/smap.h
@ -100,25 +99,23 @@ arch/x86/include/asm/stacktrace.h
arch/x86/include/asm/static_call.h
arch/x86/include/asm/string.h
arch/x86/include/asm/syscall_wrapper.h
arch/x86/include/asm/tdx.h
arch/x86/include/asm/text-patching.h
arch/x86/include/asm/thread_info.h
arch/x86/include/asm/timer.h
arch/x86/include/asm/timex.h
arch/x86/include/asm/tlb.h
arch/x86/include/asm/tlbbatch.h
arch/x86/include/asm/tlbflush.h
arch/x86/include/asm/topology.h
arch/x86/include/asm/trace_clock.h
arch/x86/include/asm/tsc.h
arch/x86/include/asm/uaccess.h
arch/x86/include/asm/uaccess_64.h
arch/x86/include/asm/unistd.h
arch/x86/include/asm/unwind_hints.h
arch/x86/include/asm/user.h
arch/x86/include/asm/user32.h
arch/x86/include/asm/vdso.h
arch/x86/include/asm/vdso/clocksource.h
arch/x86/include/asm/vga.h
arch/x86/include/asm/vdso/processor.h
arch/x86/include/asm/vmalloc.h
arch/x86/include/asm/vmxfeatures.h
arch/x86/include/asm/word-at-a-time.h
@ -145,8 +142,8 @@ arch/x86/include/uapi/asm/signal.h
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
drivers/base/base.h
drivers/base/physical_location.h
drivers/base/power/power.h
drivers/base/trace.h
drivers/pci/pci.h
@ -176,12 +173,11 @@ include/acpi/platform/acgcc.h
include/acpi/platform/acgccex.h
include/acpi/platform/aclinux.h
include/acpi/platform/aclinuxex.h
include/asm-generic/atomic-instrumented.h
include/asm-generic/atomic-long.h
include/asm-generic/access_ok.h
include/asm-generic/barrier.h
include/asm-generic/bitops/const_hweight.h
include/asm-generic/bitops/ext2-atomic-setbit.h
include/asm-generic/bitops/find.h
include/asm-generic/bitops/generic-non-atomic.h
include/asm-generic/bitops/instrumented-atomic.h
include/asm-generic/bitops/instrumented-lock.h
include/asm-generic/bitops/instrumented-non-atomic.h
@ -192,9 +188,9 @@ include/asm-generic/bug.h
include/asm-generic/cacheflush.h
include/asm-generic/compat.h
include/asm-generic/delay.h
include/asm-generic/div64.h
include/asm-generic/early_ioremap.h
include/asm-generic/error-injection.h
include/asm-generic/export.h
include/asm-generic/fixmap.h
include/asm-generic/getorder.h
include/asm-generic/int-ll64.h
@ -210,7 +206,6 @@ include/asm-generic/mmiowb.h
include/asm-generic/mmu_context.h
include/asm-generic/module.h
include/asm-generic/param.h
include/asm-generic/pci.h
include/asm-generic/pci_iomap.h
include/asm-generic/percpu.h
include/asm-generic/pgtable-nop4d.h
@ -219,28 +214,23 @@ include/asm-generic/qspinlock_types.h
include/asm-generic/resource.h
include/asm-generic/rwonce.h
include/asm-generic/sections.h
include/asm-generic/set_memory.h
include/asm-generic/softirq_stack.h
include/asm-generic/termios.h
include/asm-generic/tlb.h
include/asm-generic/topology.h
include/asm-generic/unaligned.h
include/crypto/sha1.h
include/linux/acpi.h
include/linux/acpi_iort.h
include/linux/aer.h
include/linux/alarmtimer.h
include/linux/align.h
include/linux/apm_bios.h
include/linux/arch_topology.h
include/linux/assoc_array.h
include/linux/async.h
include/linux/atomic-arch-fallback.h
include/linux/atomic.h
include/linux/atomic/atomic-arch-fallback.h
include/linux/atomic/atomic-instrumented.h
include/linux/atomic/atomic-long.h
include/linux/audit.h
include/linux/audit_arch.h
include/linux/auxvec.h
include/linux/backing-dev-defs.h
include/linux/bcd.h
include/linux/binfmts.h
include/linux/bio.h
include/linux/bit_spinlock.h
@ -249,15 +239,10 @@ include/linux/bitmap.h
include/linux/bitops.h
include/linux/bitrev.h
include/linux/bits.h
include/linux/blk-cgroup.h
include/linux/blk_types.h
include/linux/blkdev.h
include/linux/bottom_half.h
include/linux/bpf-cgroup.h
include/linux/bpf-netns.h
include/linux/bpf.h
include/linux/bpfptr.h
include/linux/bsg.h
include/linux/bpf-cgroup-defs.h
include/linux/bug.h
include/linux/build_bug.h
include/linux/buildid.h
@ -265,12 +250,13 @@ include/linux/bvec.h
include/linux/byteorder/generic.h
include/linux/byteorder/little_endian.h
include/linux/cache.h
include/linux/cacheflush.h
include/linux/capability.h
include/linux/cc_platform.h
include/linux/cdev.h
include/linux/cfi.h
include/linux/cgroup-defs.h
include/linux/cgroup.h
include/linux/cgroup_api.h
include/linux/clk-provider.h
include/linux/clk.h
include/linux/clk/clk-conf.h
@ -279,6 +265,7 @@ include/linux/clocksource.h
include/linux/clocksource_ids.h
include/linux/compat.h
include/linux/compiler-gcc.h
include/linux/compiler-version.h
include/linux/compiler.h
include/linux/compiler_attributes.h
include/linux/compiler_types.h
@ -288,26 +275,26 @@ include/linux/console.h
include/linux/console_struct.h
include/linux/consolemap.h
include/linux/const.h
include/linux/container_of.h
include/linux/context_tracking.h
include/linux/context_tracking_irq.h
include/linux/context_tracking_state.h
include/linux/cpu.h
include/linux/cpufreq.h
include/linux/cpuhotplug.h
include/linux/cpuidle.h
include/linux/cpumask.h
include/linux/cpumask_api.h
include/linux/cpuset.h
include/linux/crash_core.h
include/linux/crc32.h
include/linux/crc32poly.h
include/linux/cred.h
include/linux/ctype.h
include/linux/dax.h
include/linux/dcache.h
include/linux/debug_locks.h
include/linux/debugfs.h
include/linux/debugobjects.h
include/linux/delay.h
include/linux/delayacct.h
include/linux/delayed_call.h
include/linux/dev_printk.h
include/linux/device.h
@ -325,7 +312,6 @@ include/linux/dqblk_v2.h
include/linux/dynamic_debug.h
include/linux/dynamic_queue_limits.h
include/linux/edd.h
include/linux/elevator.h
include/linux/elf-randomize.h
include/linux/elf.h
include/linux/elfcore.h
@ -335,7 +321,6 @@ include/linux/errname.h
include/linux/errno.h
include/linux/error-injection.h
include/linux/errseq.h
include/linux/etherdevice.h
include/linux/ethtool.h
include/linux/eventfd.h
include/linux/export.h
@ -343,48 +328,49 @@ include/linux/fault-inject-usercopy.h
include/linux/fault-inject.h
include/linux/fcntl.h
include/linux/file.h
include/linux/filter.h
include/linux/find.h
include/linux/flex_proportions.h
include/linux/freelist.h
include/linux/freezer.h
include/linux/fs.h
include/linux/fs_api.h
include/linux/fs_context.h
include/linux/fs_types.h
include/linux/ftrace.h
include/linux/ftrace_irq.h
include/linux/fwnode.h
include/linux/genhd.h
include/linux/gfp.h
include/linux/gfp_types.h
include/linux/gpio/consumer.h
include/linux/hardirq.h
include/linux/hash.h
include/linux/hashtable.h
include/linux/hashtable_api.h
include/linux/highmem-internal.h
include/linux/highmem.h
include/linux/highuid.h
include/linux/hrtimer.h
include/linux/hrtimer_api.h
include/linux/hrtimer_defs.h
include/linux/huge_mm.h
include/linux/hugetlb.h
include/linux/hugetlb_inline.h
include/linux/hypervisor.h
include/linux/icmpv6.h
include/linux/idr.h
include/linux/if_arp.h
include/linux/if_ether.h
include/linux/if_link.h
include/linux/if_vlan.h
include/linux/in.h
include/linux/in6.h
include/linux/indirect_call_wrapper.h
include/linux/init.h
include/linux/init_task.h
include/linux/instruction_pointer.h
include/linux/instrumentation.h
include/linux/instrumented.h
include/linux/interrupt.h
include/linux/interval_tree.h
include/linux/io.h
include/linux/ioasid.h
include/linux/iocontext.h
include/linux/iommu.h
include/linux/iopoll.h
include/linux/ioport.h
include/linux/ioprio.h
@ -405,6 +391,7 @@ include/linux/jump_label.h
include/linux/jump_label_ratelimit.h
include/linux/kallsyms.h
include/linux/kasan-checks.h
include/linux/kasan-enabled.h
include/linux/kasan.h
include/linux/kconfig.h
include/linux/kcsan-checks.h
@ -418,18 +405,25 @@ include/linux/kernel_stat.h
include/linux/kernfs.h
include/linux/kexec.h
include/linux/key.h
include/linux/kfifo.h
include/linux/kgdb.h
include/linux/klist.h
include/linux/kmemleak.h
include/linux/kmod.h
include/linux/kmsan-checks.h
include/linux/kmsan.h
include/linux/kmsan_types.h
include/linux/kmsg_dump.h
include/linux/kobject.h
include/linux/kobject_api.h
include/linux/kobject_ns.h
include/linux/kprobes.h
include/linux/kref.h
include/linux/kref_api.h
include/linux/kstrtox.h
include/linux/kthread.h
include/linux/ktime.h
include/linux/ktime_api.h
include/linux/kvm_para.h
include/linux/latencytop.h
include/linux/limits.h
@ -445,10 +439,12 @@ include/linux/llist.h
include/linux/local_lock.h
include/linux/local_lock_internal.h
include/linux/lockdep.h
include/linux/lockdep_api.h
include/linux/lockdep_types.h
include/linux/lockref.h
include/linux/log2.h
include/linux/logic_pio.h
include/linux/maple_tree.h
include/linux/math.h
include/linux/math64.h
include/linux/mdio.h
@ -459,7 +455,6 @@ include/linux/memory_hotplug.h
include/linux/mempolicy.h
include/linux/mempool.h
include/linux/memremap.h
include/linux/migrate.h
include/linux/migrate_mode.h
include/linux/mii.h
include/linux/mii_timestamper.h
@ -471,14 +466,15 @@ include/linux/mman.h
include/linux/mmap_lock.h
include/linux/mmdebug.h
include/linux/mmu_context.h
include/linux/mmu_notifier.h
include/linux/mmzone.h
include/linux/mnt_idmapping.h
include/linux/mod_devicetable.h
include/linux/module.h
include/linux/moduleparam.h
include/linux/mount.h
include/linux/msi.h
include/linux/mutex.h
include/linux/mutex_api.h
include/linux/net.h
include/linux/netdev_features.h
include/linux/netdevice.h
@ -489,6 +485,7 @@ include/linux/nls.h
include/linux/nmi.h
include/linux/node.h
include/linux/nodemask.h
include/linux/nospec.h
include/linux/notifier.h
include/linux/ns_common.h
include/linux/nsproxy.h
@ -502,7 +499,6 @@ include/linux/of_device.h
include/linux/of_fdt.h
include/linux/of_graph.h
include/linux/of_irq.h
include/linux/of_pci.h
include/linux/of_platform.h
include/linux/once.h
include/linux/once_lite.h
@ -518,9 +514,7 @@ include/linux/pagemap.h
include/linux/panic.h
include/linux/panic_notifier.h
include/linux/path.h
include/linux/pci-dma-compat.h
include/linux/pci.h
include/linux/pci_hotplug.h
include/linux/pci_ids.h
include/linux/percpu-defs.h
include/linux/percpu-refcount.h
@ -541,6 +535,7 @@ include/linux/platform_device.h
include/linux/plist.h
include/linux/pm.h
include/linux/pm_domain.h
include/linux/pm_opp.h
include/linux/pm_qos.h
include/linux/pm_runtime.h
include/linux/pm_wakeup.h
@ -561,6 +556,7 @@ include/linux/psi.h
include/linux/psi_types.h
include/linux/ptr_ring.h
include/linux/ptrace.h
include/linux/ptrace_api.h
include/linux/pvclock_gtod.h
include/linux/quota.h
include/linux/radix-tree.h
@ -571,6 +567,7 @@ include/linux/ratelimit_types.h
include/linux/rbtree.h
include/linux/rbtree_augmented.h
include/linux/rbtree_latch.h
include/linux/rbtree_types.h
include/linux/rcu_node_tree.h
include/linux/rcu_segcblist.h
include/linux/rcu_sync.h
@ -578,18 +575,22 @@ include/linux/rculist.h
include/linux/rculist_bl.h
include/linux/rculist_nulls.h
include/linux/rcupdate.h
include/linux/rcupdate_wait.h
include/linux/rcutree.h
include/linux/rcuwait.h
include/linux/reboot.h
include/linux/ref_tracker.h
include/linux/refcount.h
include/linux/resource.h
include/linux/resource_ext.h
include/linux/restart_block.h
include/linux/rethook.h
include/linux/rhashtable-types.h
include/linux/ring_buffer.h
include/linux/rmap.h
include/linux/rtc.h
include/linux/rtmutex.h
include/linux/rtnetlink.h
include/linux/rv.h
include/linux/rwlock.h
include/linux/rwlock_api_smp.h
include/linux/rwlock_types.h
@ -597,6 +598,7 @@ include/linux/rwsem.h
include/linux/sbitmap.h
include/linux/scatterlist.h
include/linux/sched.h
include/linux/sched/affinity.h
include/linux/sched/autogroup.h
include/linux/sched/clock.h
include/linux/sched/coredump.h
@ -604,9 +606,7 @@ include/linux/sched/cpufreq.h
include/linux/sched/cputime.h
include/linux/sched/deadline.h
include/linux/sched/debug.h
include/linux/sched/hotplug.h
include/linux/sched/idle.h
include/linux/sched/init.h
include/linux/sched/isolation.h
include/linux/sched/jobctl.h
include/linux/sched/loadavg.h
@ -614,6 +614,7 @@ include/linux/sched/mm.h
include/linux/sched/nohz.h
include/linux/sched/numa_balancing.h
include/linux/sched/prio.h
include/linux/sched/rseq_api.h
include/linux/sched/rt.h
include/linux/sched/sd_flags.h
include/linux/sched/signal.h
@ -621,12 +622,12 @@ include/linux/sched/smt.h
include/linux/sched/stat.h
include/linux/sched/sysctl.h
include/linux/sched/task.h
include/linux/sched/task_flags.h
include/linux/sched/task_stack.h
include/linux/sched/topology.h
include/linux/sched/types.h
include/linux/sched/user.h
include/linux/sched/wake_q.h
include/linux/sched/xacct.h
include/linux/sched_clock.h
include/linux/screen_info.h
include/linux/seccomp.h
@ -638,7 +639,6 @@ include/linux/seq_buf.h
include/linux/seq_file.h
include/linux/seq_file_net.h
include/linux/seqlock.h
include/linux/set_memory.h
include/linux/shm.h
include/linux/shrinker.h
include/linux/signal.h
@ -652,10 +652,13 @@ include/linux/smp_types.h
include/linux/smpboot.h
include/linux/socket.h
include/linux/sockptr.h
include/linux/softirq.h
include/linux/sort.h
include/linux/spinlock.h
include/linux/spinlock_api.h
include/linux/spinlock_api_smp.h
include/linux/spinlock_types.h
include/linux/spinlock_types_raw.h
include/linux/splice.h
include/linux/srcu.h
include/linux/srcutree.h
@ -665,6 +668,7 @@ include/linux/stat.h
include/linux/static_call.h
include/linux/static_call_types.h
include/linux/static_key.h
include/linux/stdarg.h
include/linux/stddef.h
include/linux/stop_machine.h
include/linux/string.h
@ -674,10 +678,13 @@ include/linux/stringify.h
include/linux/suspend.h
include/linux/swab.h
include/linux/swait.h
include/linux/swait_api.h
include/linux/swap.h
include/linux/swiotlb.h
include/linux/sync_core.h
include/linux/syscall_user_dispatch.h
include/linux/syscalls.h
include/linux/syscalls_api.h
include/linux/syscore_ops.h
include/linux/sysctl.h
include/linux/sysfs.h
@ -705,13 +712,15 @@ include/linux/trace_recursion.h
include/linux/trace_seq.h
include/linux/tracepoint-defs.h
include/linux/tracepoint.h
include/linux/tsacct_kern.h
include/linux/tty.h
include/linux/tty_buffer.h
include/linux/tty_driver.h
include/linux/tty_ldisc.h
include/linux/tty_port.h
include/linux/typecheck.h
include/linux/types.h
include/linux/u64_stats_sync.h
include/linux/u64_stats_sync_api.h
include/linux/uaccess.h
include/linux/udp.h
include/linux/uidgid.h
@ -724,7 +733,7 @@ include/linux/user_namespace.h
include/linux/userfaultfd_k.h
include/linux/utsname.h
include/linux/uuid.h
include/linux/vgaarb.h
include/linux/verification.h
include/linux/vm_event_item.h
include/linux/vmalloc.h
include/linux/vmpressure.h
@ -733,33 +742,35 @@ include/linux/vt.h
include/linux/vt_kern.h
include/linux/vtime.h
include/linux/wait.h
include/linux/wait_api.h
include/linux/wait_bit.h
include/linux/win_minmax.h
include/linux/workqueue.h
include/linux/workqueue_api.h
include/linux/writeback.h
include/linux/ww_mutex.h
include/linux/xarray.h
include/net/addrconf.h
include/net/checksum.h
include/net/dropreason.h
include/net/dst.h
include/net/dst_ops.h
include/net/fib_notifier.h
include/net/fib_rules.h
include/net/flow.h
include/net/flow_dissector.h
include/net/flow_offload.h
include/net/gen_stats.h
include/net/if_inet6.h
include/net/inet_connection_sock.h
include/net/inet_dscp.h
include/net/inet_frag.h
include/net/inet_sock.h
include/net/inet_timewait_sock.h
include/net/ipv6.h
include/net/ipv6_stubs.h
include/net/l3mdev.h
include/net/ndisc.h
include/net/neighbour.h
include/net/net_debug.h
include/net/net_namespace.h
include/net/net_trackers.h
include/net/netlink.h
include/net/netns/bpf.h
include/net/netns/can.h
@ -768,6 +779,7 @@ include/net/netns/hash.h
include/net/netns/ieee802154_6lowpan.h
include/net/netns/ipv4.h
include/net/netns/ipv6.h
include/net/netns/mctp.h
include/net/netns/mib.h
include/net/netns/mpls.h
include/net/netns/netfilter.h
@ -777,14 +789,12 @@ include/net/netns/packet.h
include/net/netns/sctp.h
include/net/netns/smc.h
include/net/netns/unix.h
include/net/netns/x_tables.h
include/net/netns/xdp.h
include/net/netns/xfrm.h
include/net/netprio_cgroup.h
include/net/page_pool.h
include/net/request_sock.h
include/net/rtnetlink.h
include/net/sch_generic.h
include/net/scm.h
include/net/snmp.h
include/net/sock.h
@ -792,7 +802,9 @@ include/net/tcp_states.h
include/net/timewait_sock.h
include/net/xdp.h
include/trace/define_trace.h
include/trace/events/error_report.h
include/trace/events/irq.h
include/trace/events/lock.h
include/trace/events/power.h
include/trace/events/sched.h
include/trace/events/timer.h
@ -820,6 +832,7 @@ include/uapi/asm-generic/siginfo.h
include/uapi/asm-generic/signal-defs.h
include/uapi/asm-generic/socket.h
include/uapi/asm-generic/sockios.h
include/uapi/asm-generic/termbits-common.h
include/uapi/asm-generic/termbits.h
include/uapi/asm-generic/termios.h
include/uapi/asm-generic/types.h
@ -829,10 +842,7 @@ include/uapi/linux/audit.h
include/uapi/linux/auxvec.h
include/uapi/linux/binfmts.h
include/uapi/linux/blkzoned.h
include/uapi/linux/bpf.h
include/uapi/linux/bpf_common.h
include/uapi/linux/bpf_perf_event.h
include/uapi/linux/bsg.h
include/uapi/linux/byteorder/little_endian.h
include/uapi/linux/capability.h
include/uapi/linux/cgroupstats.h
@ -846,22 +856,20 @@ include/uapi/linux/ethtool.h
include/uapi/linux/eventpoll.h
include/uapi/linux/fcntl.h
include/uapi/linux/fib_rules.h
include/uapi/linux/filter.h
include/uapi/linux/fs.h
include/uapi/linux/gen_stats.h
include/uapi/linux/hdlc/ioctl.h
include/uapi/linux/icmpv6.h
include/uapi/linux/if.h
include/uapi/linux/if_addr.h
include/uapi/linux/if_arp.h
include/uapi/linux/if_bonding.h
include/uapi/linux/if_ether.h
include/uapi/linux/if_link.h
include/uapi/linux/if_packet.h
include/uapi/linux/if_vlan.h
include/uapi/linux/in.h
include/uapi/linux/in6.h
include/uapi/linux/ioctl.h
include/uapi/linux/iommu.h
include/uapi/linux/ioprio.h
include/uapi/linux/ipc.h
include/uapi/linux/ipv6.h
include/uapi/linux/irqnr.h
@ -896,6 +904,7 @@ include/uapi/linux/pkt_cls.h
include/uapi/linux/pkt_sched.h
include/uapi/linux/poll.h
include/uapi/linux/posix_types.h
include/uapi/linux/prctl.h
include/uapi/linux/ptrace.h
include/uapi/linux/quota.h
include/uapi/linux/random.h
@ -950,19 +959,31 @@ include/vdso/time.h
include/vdso/time32.h
include/vdso/time64.h
include/video/edid.h
include/video/vga.h
kernel/irq/debug.h
kernel/irq/internals.h
kernel/irq/settings.h
kernel/locking/lock_events.h
kernel/locking/lock_events_list.h
kernel/locking/mutex.h
kernel/locking/ww_mutex.h
kernel/sched/autogroup.h
kernel/sched/clock.c
kernel/sched/completion.c
kernel/sched/cpudeadline.h
kernel/sched/cpupri.c
kernel/sched/cpupri.h
kernel/sched/debug.c
kernel/sched/features.h
kernel/sched/isolation.c
kernel/sched/loadavg.c
kernel/sched/sched-pelt.h
kernel/sched/sched.h
kernel/sched/stats.h
kernel/sched/stop_task.c
kernel/sched/swait.c
kernel/sched/topology.c
kernel/sched/wait.c
kernel/sched/wait_bit.c
kernel/smpboot.h
kernel/time/ntp_internal.h
kernel/time/tick-internal.h
@ -974,3 +995,4 @@ lib/crc32defs.h
lib/kstrtox.h
mm/internal.h
mm/slab.h
mm/swap.h

View File

@ -1,5 +1,4 @@
arch/x86/include/asm/vdso/processor.h
certs/common.h
arch/x86/include/asm/set_memory.h
crypto/internal.h
drivers/net/wireless/intel/iwlwifi/dvm/agn.h
drivers/net/wireless/intel/iwlwifi/dvm/calib.h
@ -37,9 +36,9 @@ drivers/net/wireless/intel/iwlwifi/fw/api/rs.h
drivers/net/wireless/intel/iwlwifi/fw/api/rx.h
drivers/net/wireless/intel/iwlwifi/fw/api/scan.h
drivers/net/wireless/intel/iwlwifi/fw/api/sf.h
drivers/net/wireless/intel/iwlwifi/fw/api/soc.h
drivers/net/wireless/intel/iwlwifi/fw/api/sta.h
drivers/net/wireless/intel/iwlwifi/fw/api/stats.h
drivers/net/wireless/intel/iwlwifi/fw/api/system.h
drivers/net/wireless/intel/iwlwifi/fw/api/tdls.h
drivers/net/wireless/intel/iwlwifi/fw/api/time-event.h
drivers/net/wireless/intel/iwlwifi/fw/api/tx.h
@ -78,6 +77,7 @@ drivers/net/wireless/intel/iwlwifi/iwl-phy-db.h
drivers/net/wireless/intel/iwlwifi/iwl-prph.h
drivers/net/wireless/intel/iwlwifi/iwl-scd.h
drivers/net/wireless/intel/iwlwifi/iwl-trans.h
drivers/net/wireless/intel/iwlwifi/mei/iwl-mei.h
drivers/net/wireless/intel/iwlwifi/mvm/constants.h
drivers/net/wireless/intel/iwlwifi/mvm/debugfs.h
drivers/net/wireless/intel/iwlwifi/mvm/fw-api.h
@ -119,6 +119,7 @@ drivers/net/wireless/realtek/rtlwifi/rtl8188ee/table.h
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/trx.h
drivers/net/wireless/realtek/rtlwifi/stats.h
drivers/net/wireless/realtek/rtlwifi/wifi.h
include/asm-generic/set_memory.h
include/crypto/acompress.h
include/crypto/aead.h
include/crypto/aes.h
@ -149,18 +150,24 @@ include/crypto/md5.h
include/crypto/null.h
include/crypto/rng.h
include/crypto/scatterwalk.h
include/crypto/sha1.h
include/crypto/sha2.h
include/crypto/sha256_base.h
include/crypto/skcipher.h
include/crypto/streebog.h
include/dt-bindings/leds/common.h
include/keys/asymmetric-type.h
include/linux/asn1.h
include/linux/asn1_ber_bytecode.h
include/linux/asn1_decoder.h
include/linux/average.h
include/linux/bpf-cgroup.h
include/linux/bpf.h
include/linux/bpf_local_storage.h
include/linux/bpf_trace.h
include/linux/bpfptr.h
include/linux/bsearch.h
include/linux/btf.h
include/linux/btf_ids.h
include/linux/cookie.h
include/linux/cpu_rmap.h
@ -169,28 +176,33 @@ include/linux/crypto.h
include/linux/devcoredump.h
include/linux/dmaengine.h
include/linux/errqueue.h
include/linux/etherdevice.h
include/linux/ethtool_netlink.h
include/linux/filter.h
include/linux/fips.h
include/linux/firmware.h
include/linux/gcd.h
include/linux/genetlink.h
include/linux/icmpv6.h
include/linux/ieee80211.h
include/linux/if_arp.h
include/linux/if_bridge.h
include/linux/if_macvlan.h
include/linux/if_tun.h
include/linux/if_tunnel.h
include/linux/if_vlan.h
include/linux/inet.h
include/linux/inetdevice.h
include/linux/ip.h
include/linux/ipv6_route.h
include/linux/kcov.h
include/linux/key-type.h
include/linux/leds.h
include/linux/miscdevice.h
include/linux/mpls.h
include/linux/netfilter.h
include/linux/netfilter_ingress.h
include/linux/netfilter_netdev.h
include/linux/netpoll.h
include/linux/nospec.h
include/linux/nvmem-consumer.h
include/linux/of_net.h
include/linux/phylink.h
@ -199,22 +211,24 @@ include/linux/pps_kernel.h
include/linux/proc_ns.h
include/linux/ptp_classify.h
include/linux/ptp_clock_kernel.h
include/linux/rcupdate_trace.h
include/linux/rfkill.h
include/linux/rhashtable.h
include/linux/sctp.h
include/linux/set_memory.h
include/linux/skb_array.h
include/linux/sock_diag.h
include/linux/thermal.h
include/linux/trace.h
include/linux/units.h
include/linux/verification.h
include/linux/usb.h
include/linux/usb/ch9.h
include/linux/virtio.h
include/linux/virtio_byteorder.h
include/linux/virtio_config.h
include/linux/virtio_net.h
include/linux/wireless.h
include/linux/xattr.h
include/net/Space.h
include/net/act_api.h
include/net/arp.h
include/net/bpf_sk_storage.h
@ -230,8 +244,10 @@ include/net/dsa.h
include/net/dsfield.h
include/net/dst_cache.h
include/net/dst_metadata.h
include/net/flow_offload.h
include/net/fq.h
include/net/fq_impl.h
include/net/gen_stats.h
include/net/genetlink.h
include/net/gro.h
include/net/gro_cells.h
@ -244,17 +260,22 @@ include/net/ip6_checksum.h
include/net/ip6_fib.h
include/net/ip_fib.h
include/net/ip_tunnels.h
include/net/ipv6_stubs.h
include/net/iw_handler.h
include/net/lwtunnel.h
include/net/mac80211.h
include/net/macsec.h
include/net/mctp.h
include/net/mpls.h
include/net/mptcp.h
include/net/ndisc.h
include/net/netns/generic.h
include/net/pkt_cls.h
include/net/pkt_sched.h
include/net/protocol.h
include/net/regulatory.h
include/net/route.h
include/net/sch_generic.h
include/net/sock_reuseport.h
include/net/switchdev.h
include/net/tcp.h
@ -274,16 +295,23 @@ include/trace/events/qdisc.h
include/trace/events/skb.h
include/trace/events/sock.h
include/trace/events/xdp.h
include/uapi/linux/bpf.h
include/uapi/linux/bpf_common.h
include/uapi/linux/btf.h
include/uapi/linux/cryptouser.h
include/uapi/linux/devlink.h
include/uapi/linux/errqueue.h
include/uapi/linux/ethtool_netlink.h
include/uapi/linux/filter.h
include/uapi/linux/gen_stats.h
include/uapi/linux/genetlink.h
include/uapi/linux/hash_info.h
include/uapi/linux/if_arp.h
include/uapi/linux/if_bridge.h
include/uapi/linux/if_macsec.h
include/uapi/linux/if_tun.h
include/uapi/linux/if_tunnel.h
include/uapi/linux/if_vlan.h
include/uapi/linux/if_xdp.h
include/uapi/linux/in_route.h
include/uapi/linux/ip.h
@ -291,6 +319,7 @@ include/uapi/linux/ipsec.h
include/uapi/linux/ipv6_route.h
include/uapi/linux/kcov.h
include/uapi/linux/lwtunnel.h
include/uapi/linux/mctp.h
include/uapi/linux/mpls.h
include/uapi/linux/net_namespace.h
include/uapi/linux/nl80211.h
@ -303,6 +332,7 @@ include/uapi/linux/sctp.h
include/uapi/linux/sock_diag.h
include/uapi/linux/thermal.h
include/uapi/linux/un.h
include/uapi/linux/usb/ch9.h
include/uapi/linux/virtio_config.h
include/uapi/linux/virtio_ids.h
include/uapi/linux/virtio_net.h
@ -310,8 +340,9 @@ include/uapi/linux/virtio_types.h
include/uapi/linux/vmcore.h
include/uapi/linux/wireless.h
include/uapi/linux/xattr.h
net/core/datagram.h
net/core/dev.h
net/core/net-sysfs.h
net/core/sock_destructor.h
net/ethtool/common.h
net/mac80211/aead_api.h
net/mac80211/aes_ccm.h

View File

@ -42,10 +42,12 @@ void bpf_prog_change_xdp(struct bpf_prog *prev_prog, struct bpf_prog *prog)
DEFINE_STATIC_KEY_FALSE(bpf_stats_enabled_key);
#ifdef CONFIG_X86_32
asmlinkage __wsum csum_partial(const void * buff,int len,__wsum sum)
{
lx_emul_trace_and_stop(__func__);
}
#endif /* CONFIG_X86_32 */
struct static_key_false init_on_alloc;
@ -377,3 +379,120 @@ void ieee80211_free_led_names(struct ieee80211_local * local)
{
lx_emul_trace(__func__);
}
#include <linux/pgtable.h>
pteval_t __default_kernel_pte_mask __read_mostly = ~0;
#include <linux/random.h>
u32 __get_random_u32_below(u32 ceil)
{
lx_emul_trace_and_stop(__func__);
}
u16 get_random_u16(void)
{
lx_emul_trace_and_stop(__func__);
}
u8 get_random_u8(void)
{
lx_emul_trace_and_stop(__func__);
}
DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, cpu_sibling_map);
EXPORT_PER_CPU_SYMBOL(cpu_sibling_map);
#include <linux/filter.h>
DEFINE_STATIC_KEY_FALSE(bpf_master_redirect_enabled_key);
EXPORT_SYMBOL_GPL(bpf_master_redirect_enabled_key);
extern const struct attribute_group dev_attr_physical_location_group;
const struct attribute_group dev_attr_physical_location_group = {};
#include <linux/acpi.h>
void acpi_device_notify(struct device * dev)
{
lx_emul_trace(__func__);
}
extern bool dev_add_physical_location(struct device * dev);
bool dev_add_physical_location(struct device * dev)
{
lx_emul_trace(__func__);
return false;
}
#include <linux/sysctl.h>
struct ctl_table_header * register_sysctl(const char * path,struct ctl_table * table)
{
lx_emul_trace(__func__);
return NULL;
}
#include <net/gen_stats.h>
void gnet_stats_basic_sync_init(struct gnet_stats_basic_sync * b)
{
lx_emul_trace(__func__);
}
#include <linux/iommu.h>
int iommu_device_use_default_domain(struct device * dev)
{
lx_emul_trace(__func__);
return 0;
}
#include <linux/context_tracking_irq.h>
noinstr void ct_irq_enter(void)
{
lx_emul_trace(__func__);
}
#include <linux/context_tracking_irq.h>
noinstr void ct_irq_exit(void)
{
lx_emul_trace(__func__);
}
#include <linux/sysctl.h>
void __init __register_sysctl_init(const char * path,struct ctl_table * table,const char * table_name)
{
lx_emul_trace(__func__);
}
#include <linux/sysfs.h>
int sysfs_add_file_to_group(struct kobject * kobj,const struct attribute * attr,const char * group)
{
lx_emul_trace(__func__);
return 0;
}
void * high_memory;

View File

@ -53,6 +53,7 @@ Firmware_list fw_list[] = {
{ "iwlwifi-so-a0-gf-a0.pnvm", 41808, nullptr },
{ "iwlwifi-ty-a0-gf-a0-63.ucode", 1460012, nullptr },
{ "iwlwifi-ty-a0-gf-a0-64.ucode", 1460012, "iwlwifi-ty-a0-gf-a0-63.ucode" },
{ "iwlwifi-ty-a0-gf-a0-72.ucode", 1460012, "iwlwifi-ty-a0-gf-a0-63.ucode" },
{ "iwlwifi-ty-a0-gf-a0.pnvm", 41588, nullptr },
{ "rtl8192eu_nic.bin", 31818, nullptr },

View File

@ -1,20 +1,12 @@
/*
* \brief Dummy definitions of Linux Kernel functions
* \author Automatically generated file - do no edit
* \date 2023-02-28
* \date 2023-03-23
*/
#include <lx_emul.h>
#include <linux/proc_fs.h>
void * PDE_DATA(const struct inode * inode)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/ratelimit_types.h>
int ___ratelimit(struct ratelimit_state * rs,const char * func)
@ -23,9 +15,14 @@ int ___ratelimit(struct ratelimit_state * rs,const char * func)
}
#include <linux/clk-provider.h>
#include <linux/cpumask.h>
const char * __clk_get_name(const struct clk * clk)
struct cpumask __cpu_active_mask;
#include <crypto/algapi.h>
void __crypto_xor(u8 * dst,const u8 * src1,const u8 * src2,unsigned int len)
{
lx_emul_trace_and_stop(__func__);
}
@ -47,25 +44,17 @@ unsigned long __fdget(unsigned int fd)
}
#include <linux/file.h>
#include <linux/printk.h>
int __get_unused_fd_flags(unsigned flags,unsigned long nofile)
void __printk_safe_enter(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/gen_stats.h>
#include <linux/printk.h>
void __gnet_stats_copy_basic(const seqcount_t * running,struct gnet_stats_basic_packed * bstats,struct gnet_stats_basic_cpu __percpu * cpu,struct gnet_stats_basic_packed * b)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/gen_stats.h>
void __gnet_stats_copy_queue(struct gnet_stats_queue * qstats,const struct gnet_stats_queue __percpu * cpu,const struct gnet_stats_queue * q,__u32 qlen)
void __printk_safe_exit(void)
{
lx_emul_trace_and_stop(__func__);
}
@ -103,6 +92,14 @@ int __scm_send(struct socket * sock,struct msghdr * msg,struct scm_cookie * p)
}
#include <linux/mm.h>
void __show_mem(unsigned int filter,nodemask_t * nodemask,int max_zone_idx)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/skbuff.h>
u32 __skb_get_hash_symmetric(const struct sk_buff * skb)
@ -129,7 +126,7 @@ void __srcu_read_unlock(struct srcu_struct * ssp,int idx)
#include <linux/vmalloc.h>
void * __vmalloc_node(unsigned long size,unsigned long align,gfp_t gfp_mask,int node,const void * caller)
void * __vmalloc_node_range(unsigned long size,unsigned long align,unsigned long start,unsigned long end,gfp_t gfp_mask,pgprot_t prot,unsigned long vm_flags,int node,const void * caller)
{
lx_emul_trace_and_stop(__func__);
}
@ -143,6 +140,14 @@ unsigned long _copy_to_user(void __user * to,const void * from,unsigned long n)
}
#include <linux/printk.h>
int _printk_deferred(const char * fmt,...)
{
lx_emul_trace_and_stop(__func__);
}
extern void ack_bad_irq(unsigned int irq);
void ack_bad_irq(unsigned int irq)
{
@ -150,6 +155,14 @@ void ack_bad_irq(unsigned int irq)
}
#include <linux/acpi.h>
void acpi_device_notify_remove(struct device * dev)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/kobject.h>
int add_uevent_var(struct kobj_uevent_env * env,const char * format,...)
@ -182,6 +195,13 @@ int arc4_setkey(struct arc4_ctx * ctx,const u8 * in_key,unsigned int key_len)
}
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)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/async.h>
async_cookie_t async_schedule_node(async_func_t func,void * data,int node)
@ -216,7 +236,7 @@ void bpf_prog_destroy(struct bpf_prog * fp)
#include <linux/filter.h>
void bpf_warn_invalid_xdp_action(u32 act)
void bpf_warn_invalid_xdp_action(struct net_device * dev,struct bpf_prog * prog,u32 act)
{
lx_emul_trace_and_stop(__func__);
}
@ -238,11 +258,6 @@ void console_flush_on_panic(enum con_flush_mode mode)
}
#include <linux/printk.h>
int console_printk[] = {};
#include <linux/console.h>
void console_unblank(void)
@ -251,6 +266,14 @@ void console_unblank(void)
}
#include <linux/printk.h>
void console_verbose(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/filter.h>
int copy_bpf_fprog_from_user(struct sock_fprog * dst,sockptr_t src,int len)
@ -267,9 +290,9 @@ size_t copy_page_from_iter(struct page * page,size_t offset,size_t bytes,struct
}
#include <linux/netdevice.h>
#include <linux/arch_topology.h>
int dev_ifconf(struct net * net,struct ifconf * ifc,int size)
const struct cpumask * cpu_clustergroup_mask(int cpu)
{
lx_emul_trace_and_stop(__func__);
}
@ -277,7 +300,23 @@ int dev_ifconf(struct net * net,struct ifconf * ifc,int size)
#include <linux/netdevice.h>
int dev_ioctl(struct net * net,unsigned int cmd,struct ifreq * ifr,bool * need_copyout)
int dev_ifconf(struct net * net,struct ifconf __user * uifc)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/netdevice.h>
int dev_ioctl(struct net * net,unsigned int cmd,struct ifreq * ifr,void __user * data,bool * need_copyout)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/property.h>
int device_create_managed_software_node(struct device * dev,const struct property_entry * properties,const struct software_node * parent)
{
lx_emul_trace_and_stop(__func__);
}
@ -293,7 +332,7 @@ void dst_release(struct dst_entry * dst)
#include <linux/dcache.h>
char * dynamic_dname(struct dentry * dentry,char * buffer,int buflen,const char * fmt,...)
char * dynamic_dname(char * buffer,int buflen,const char * fmt,...)
{
lx_emul_trace_and_stop(__func__);
}
@ -363,6 +402,14 @@ struct task_struct * find_task_by_vpid(pid_t vnr)
}
#include <linux/rcuwait.h>
void finish_rcuwait(struct rcuwait * w)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/flow_dissector.h>
struct flow_dissector flow_keys_basic_dissector;
@ -376,30 +423,6 @@ void fput(struct file * file)
}
#include <linux/sched/user.h>
void free_uid(struct user_struct * up)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/property.h>
struct fwnode_handle * fwnode_create_software_node(const struct property_entry * properties,const struct fwnode_handle * parent)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/property.h>
void fwnode_remove_software_node(struct fwnode_handle * fwnode)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/gcd.h>
unsigned long gcd(unsigned long a,unsigned long b)
@ -466,7 +489,23 @@ bool gfp_pfmemalloc_allowed(gfp_t gfp_mask)
#include <net/gen_stats.h>
int gnet_stats_copy_basic(const seqcount_t * running,struct gnet_dump * d,struct gnet_stats_basic_cpu __percpu * cpu,struct gnet_stats_basic_packed * b)
void gnet_stats_add_basic(struct gnet_stats_basic_sync * bstats,struct gnet_stats_basic_sync __percpu * cpu,struct gnet_stats_basic_sync * b,bool running)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/gen_stats.h>
void gnet_stats_add_queue(struct gnet_stats_queue * qstats,const struct gnet_stats_queue __percpu * cpu,const struct gnet_stats_queue * q)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/gen_stats.h>
int gnet_stats_copy_basic(struct gnet_dump * d,struct gnet_stats_basic_sync __percpu * cpu,struct gnet_stats_basic_sync * b,bool running)
{
lx_emul_trace_and_stop(__func__);
}
@ -514,6 +553,14 @@ void inode_init_once(struct inode * inode)
}
#include <linux/sched.h>
void __sched io_schedule(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched.h>
void io_schedule_finish(int token)
@ -538,6 +585,19 @@ long __sched io_schedule_timeout(long timeout)
}
#include <linux/swiotlb.h>
struct io_tlb_mem io_tlb_default_mem;
#include <linux/iommu.h>
void iommu_device_unuse_default_domain(struct device * dev)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/uio.h>
void iov_iter_kvec(struct iov_iter * i,unsigned int direction,const struct kvec * kvec,unsigned long nr_segs,size_t count)
@ -562,14 +622,6 @@ void irq_work_tick(void)
}
#include <linux/property.h>
bool is_software_node(const struct fwnode_handle * fwnode)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/kobject.h>
struct kobject *kernel_kobj;
@ -607,14 +659,6 @@ void kill_fasync(struct fasync_struct ** fp,int sig,int band)
}
#include <linux/slab.h>
int kmem_cache_alloc_bulk(struct kmem_cache * s,gfp_t flags,size_t size,void ** p)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/slab.h>
void kmem_cache_destroy(struct kmem_cache * s)
@ -673,14 +717,6 @@ void netdev_rss_key_fill(void * buffer,size_t len)
struct irq_chip no_irq_chip;
#include <linux/fs.h>
loff_t no_llseek(struct file * file,loff_t offset,int whence)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/irq.h>
void note_interrupt(struct irq_desc * desc,irqreturn_t action_ret)
@ -726,17 +762,17 @@ int poll_select_set_timeout(struct timespec64 * to,time64_t sec,long nsec)
}
#include <linux/printk.h>
#include <linux/sysctl.h>
int printk_deferred(const char * fmt,...)
int proc_dointvec_minmax(struct ctl_table * table,int write,void * buffer,size_t * lenp,loff_t * ppos)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/printk.h>
#include <linux/sysctl.h>
void printk_safe_flush_on_panic(void)
int proc_douintvec(struct ctl_table * table,int write,void * buffer,size_t * lenp,loff_t * ppos)
{
lx_emul_trace_and_stop(__func__);
}
@ -811,6 +847,14 @@ void reuseport_detach_sock(struct sock * sk)
}
#include <net/sock_reuseport.h>
void reuseport_update_incoming_cpu(struct sock * sk,int val)
{
lx_emul_trace_and_stop(__func__);
}
#include <net/scm.h>
void scm_detach_fds(struct msghdr * msg,struct scm_cookie * scm)
@ -907,14 +951,6 @@ void sha256_update(struct sha256_state * sctx,const u8 * data,unsigned int len)
}
#include <linux/mm.h>
void show_mem(unsigned int filter,nodemask_t * nodemask)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/debug.h>
void show_state_filter(unsigned int state_filter)
@ -973,7 +1009,7 @@ void sk_filter_uncharge(struct sock * sk,struct sk_filter * fp)
#include <linux/filter.h>
int sk_get_filter(struct sock * sk,struct sock_filter __user * ubuf,unsigned int len)
int sk_get_filter(struct sock * sk,sockptr_t optval,unsigned int len)
{
lx_emul_trace_and_stop(__func__);
}
@ -995,6 +1031,22 @@ int sk_reuseport_attach_filter(struct sock_fprog * fprog,struct sock * sk)
}
#include <linux/string.h>
char * skip_spaces(const char * str)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/smp.h>
void smp_call_function_many(const struct cpumask * mask,smp_call_func_t func,void * info,bool wait)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/smp.h>
int smp_call_function_single(int cpu,smp_call_func_t func,void * info,int wait)
@ -1019,6 +1071,13 @@ void sock_diag_broadcast_destroy(struct sock * sk)
}
extern void software_node_notify_remove(struct device * dev);
void software_node_notify_remove(struct device * dev)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/jump_label.h>
bool static_key_initialized;
@ -1040,11 +1099,24 @@ int string_escape_mem(const char * src,size_t isz,char * dst,size_t osz,unsigned
}
#include <linux/string.h>
char * strreplace(char * s,char old,char new)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/printk.h>
int suppress_printk;
#include <linux/sysctl.h>
const int sysctl_vals[] = {};
#include <linux/sysfs.h>
int sysfs_rename_dir_ns(struct kobject * kobj,const char * new_name,const void * new_ns)
@ -1061,17 +1133,17 @@ int sysfs_rename_link_ns(struct kobject * kobj,struct kobject * targ,const char
}
#include <linux/task_work.h>
#include <linux/string.h>
struct callback_head * task_work_cancel(struct task_struct * task,task_work_func_t func)
bool sysfs_streq(const char * s1,const char * s2)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/vt_kern.h>
#include <linux/task_work.h>
void unblank_screen(void)
struct callback_head * task_work_cancel(struct task_struct * task,task_work_func_t func)
{
lx_emul_trace_and_stop(__func__);
}
@ -1129,6 +1201,14 @@ int xdp_do_generic_redirect(struct net_device * dev,struct sk_buff * skb,struct
}
#include <linux/filter.h>
u32 xdp_master_redirect(struct xdp_buff * xdp)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched.h>
void __sched yield(void)

View File

@ -437,6 +437,15 @@ void __put_page(struct page * page)
}
#include <linux/mm.h>
void __folio_put(struct folio * folio)
{
__free_pages(&folio->page, 0);
kfree(folio);
}
#include <linux/prandom.h>
void prandom_bytes(void *buf, size_t bytes)
@ -698,3 +707,24 @@ int pci_read_config_dword(const struct pci_dev * dev,int where,u32 * val)
*val = 0;
return 0;
}
int kmem_cache_alloc_bulk(struct kmem_cache * s,gfp_t flags,size_t nr,void ** p)
{
size_t i;
for (i = 0; i < nr; i++)
p[i] = kmem_cache_alloc(s, flags);
return nr;
}
#include <../mm/slab.h>
void * kmem_cache_alloc_lru(struct kmem_cache * cachep,struct list_lru * lru,gfp_t flags)
{
return kmalloc(cachep->size, flags);
}
unsigned long __FIXADDR_TOP = 0xfffff000;

View File

@ -8,17 +8,8 @@ arch/x86/include/asm/pgtable_32_areas.h
arch/x86/include/asm/pgtable_32_types.h
arch/x86/include/asm/user_32.h
arch/x86/include/uapi/asm/posix_types_32.h
certs/system_keyring.c
include/asm-generic/asm-prototypes.h
include/asm-generic/bitops/fls64.h
include/asm-generic/pgtable-nopmd.h
include/asm-generic/pgtable-nopud.h
include/crypto/pkcs7.h
include/crypto/public_key.h
include/keys/asymmetric-type.h
include/keys/system_keyring.h
include/linux/key-type.h
include/linux/keyctl.h
include/linux/oid_registry.h
include/uapi/linux/keyctl.h
kernel/time/tick-broadcast.c
include/asm-generic/softirq_stack.h

View File

@ -1,5 +1,4 @@
arch/x86/lib/hweight.S
certs/common.c
crypto/acompress.c
crypto/aead.c
crypto/aes_generic.c
@ -8,6 +7,7 @@ crypto/akcipher.c
crypto/algapi.c
crypto/algboss.c
crypto/api.c
crypto/asymmetric_keys/x509_loader.c
crypto/ccm.c
crypto/cipher.c
crypto/cmac.c
@ -20,7 +20,6 @@ crypto/gf128mul.c
crypto/ghash-generic.c
crypto/hash_info.c
crypto/kpp.c
crypto/memneq.c
crypto/proc.c
crypto/rng.c
crypto/scatterwalk.c
@ -38,8 +37,6 @@ drivers/base/devres.c
drivers/base/driver.c
drivers/base/platform.c
drivers/base/property.c
drivers/clk/clk-devres.c
drivers/net/Space.c
drivers/net/loopback.c
drivers/net/wireless/intel/iwlwifi/cfg/1000.c
drivers/net/wireless/intel/iwlwifi/cfg/2000.c
@ -71,6 +68,7 @@ drivers/net/wireless/intel/iwlwifi/fw/init.c
drivers/net/wireless/intel/iwlwifi/fw/notif-wait.c
drivers/net/wireless/intel/iwlwifi/fw/paging.c
drivers/net/wireless/intel/iwlwifi/fw/pnvm.c
drivers/net/wireless/intel/iwlwifi/fw/rs.c
drivers/net/wireless/intel/iwlwifi/fw/smem.c
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
drivers/net/wireless/intel/iwlwifi/iwl-debug.c
@ -152,11 +150,7 @@ kernel/locking/rwsem.c
kernel/notifier.c
kernel/panic.c
kernel/resource.c
kernel/sched/clock.c
kernel/sched/completion.c
kernel/sched/swait.c
kernel/sched/wait.c
kernel/sched/wait_bit.c
kernel/sched/build_utility.c
kernel/smpboot.c
kernel/softirq.c
kernel/time/clockevents.c
@ -180,6 +174,7 @@ lib/bitmap.c
lib/bsearch.c
lib/crc32.c
lib/crypto/aes.c
lib/crypto/memneq.c
lib/ctype.c
lib/debug_locks.c
lib/dynamic_queue_limits.c
@ -211,6 +206,7 @@ mm/util.c
net/core/datagram.c
net/core/dev.c
net/core/dev_addr_lists.c
net/core/gro.c
net/core/link_watch.c
net/core/net-sysfs.c
net/core/net_namespace.c
@ -229,6 +225,7 @@ net/mac80211/airtime.c
net/mac80211/cfg.c
net/mac80211/chan.c
net/mac80211/driver-ops.c
net/mac80211/eht.c
net/mac80211/ethtool.c
net/mac80211/fils_aead.c
net/mac80211/he.c
@ -236,6 +233,7 @@ net/mac80211/ht.c
net/mac80211/ibss.c
net/mac80211/iface.c
net/mac80211/key.c
net/mac80211/link.c
net/mac80211/main.c
net/mac80211/michael.c
net/mac80211/mlme.c

View File

@ -1,6 +1,7 @@
arch/x86/include/asm/atomic64_64.h
arch/x86/include/asm/checksum_64.h
arch/x86/include/asm/cmpxchg_64.h
arch/x86/include/asm/irq_stack.h
arch/x86/include/asm/kaslr.h
arch/x86/include/asm/page_64_types.h
arch/x86/include/asm/pgtable_64_types.h

View File

@ -1,5 +1,5 @@
arch/x86/lib/csum-partial_64.c
arch/x86/lib/hweight.S
certs/common.c
crypto/acompress.c
crypto/aead.c
crypto/aes_generic.c
@ -8,6 +8,7 @@ crypto/akcipher.c
crypto/algapi.c
crypto/algboss.c
crypto/api.c
crypto/asymmetric_keys/x509_loader.c
crypto/ccm.c
crypto/cipher.c
crypto/cmac.c
@ -20,7 +21,6 @@ crypto/gf128mul.c
crypto/ghash-generic.c
crypto/hash_info.c
crypto/kpp.c
crypto/memneq.c
crypto/proc.c
crypto/rng.c
crypto/scatterwalk.c
@ -38,8 +38,6 @@ drivers/base/devres.c
drivers/base/driver.c
drivers/base/platform.c
drivers/base/property.c
drivers/clk/clk-devres.c
drivers/net/Space.c
drivers/net/loopback.c
drivers/net/wireless/intel/iwlwifi/cfg/1000.c
drivers/net/wireless/intel/iwlwifi/cfg/2000.c
@ -71,6 +69,7 @@ drivers/net/wireless/intel/iwlwifi/fw/init.c
drivers/net/wireless/intel/iwlwifi/fw/notif-wait.c
drivers/net/wireless/intel/iwlwifi/fw/paging.c
drivers/net/wireless/intel/iwlwifi/fw/pnvm.c
drivers/net/wireless/intel/iwlwifi/fw/rs.c
drivers/net/wireless/intel/iwlwifi/fw/smem.c
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
drivers/net/wireless/intel/iwlwifi/iwl-debug.c
@ -152,11 +151,7 @@ kernel/locking/rwsem.c
kernel/notifier.c
kernel/panic.c
kernel/resource.c
kernel/sched/clock.c
kernel/sched/completion.c
kernel/sched/swait.c
kernel/sched/wait.c
kernel/sched/wait_bit.c
kernel/sched/build_utility.c
kernel/smpboot.c
kernel/softirq.c
kernel/time/clockevents.c
@ -180,6 +175,7 @@ lib/bitmap.c
lib/bsearch.c
lib/crc32.c
lib/crypto/aes.c
lib/crypto/memneq.c
lib/ctype.c
lib/debug_locks.c
lib/dynamic_queue_limits.c
@ -210,6 +206,7 @@ mm/util.c
net/core/datagram.c
net/core/dev.c
net/core/dev_addr_lists.c
net/core/gro.c
net/core/link_watch.c
net/core/net-sysfs.c
net/core/net_namespace.c
@ -228,6 +225,7 @@ net/mac80211/airtime.c
net/mac80211/cfg.c
net/mac80211/chan.c
net/mac80211/driver-ops.c
net/mac80211/eht.c
net/mac80211/ethtool.c
net/mac80211/fils_aead.c
net/mac80211/he.c
@ -235,6 +233,7 @@ net/mac80211/ht.c
net/mac80211/ibss.c
net/mac80211/iface.c
net/mac80211/key.c
net/mac80211/link.c
net/mac80211/main.c
net/mac80211/michael.c
net/mac80211/mlme.c

View File

@ -47,6 +47,9 @@ LX_ENABLE += FB
# mandatory fs support
LX_ENABLE += PROC_FS SYSFS
# disable cpu frequency scaling
LX_DISABLE += SCHED_MC CPU_FREQ
# disable optimization not possible in PIC code under Genode
LX_DISABLE += CC_HAS_ASM_GOTO