mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-24 07:46:42 +00:00
lx_emul: enable SLUB allocator (pc, virt)
The use of the Linux-internal SLUB allocator is supported by lx_emul and drivers may now decide between the Linux implementation or our emulation of kmem_cache. Drivers for pc and virt already use SLUB, while other drivers still use the emulation and may be adapted step-by-step incl. the testing on the devices. Fixes #5236
This commit is contained in:
parent
a798f70284
commit
a441bdf59a
@ -35,8 +35,6 @@ SRC_C += lx_emul/shadow/kernel/smp.c
|
||||
SRC_C += lx_emul/shadow/kernel/stop_machine.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
|
||||
SRC_C += lx_emul/shadow/mm/slub.c
|
||||
SRC_C += lx_emul/shadow/mm/vmstat.c
|
||||
SRC_C += lx_emul/start.c
|
||||
SRC_C += lx_emul/time_initial.c
|
||||
|
@ -28,7 +28,7 @@ ifeq ($(filter-out $(SPECS),arm_v8),)
|
||||
INC_DIR += $(VIRT_LINUX_INCLUDE_DIR)/spec/arm_v8
|
||||
endif
|
||||
|
||||
-include $(call select_from_repositories,lib/import/import-lx_emul_common.inc)
|
||||
include $(call select_from_repositories,lib/import/import-lx_emul_common.inc)
|
||||
|
||||
SRC_C += lx_emul/shadow/drivers/char/random.c
|
||||
SRC_C += lx_emul/shadow/mm/page_alloc.c
|
||||
|
@ -386,6 +386,10 @@ include/crypto/poly1305.h
|
||||
include/crypto/scatterwalk.h
|
||||
include/crypto/sha1.h
|
||||
include/crypto/skcipher.h
|
||||
include/kunit/assert.h
|
||||
include/kunit/resource.h
|
||||
include/kunit/test.h
|
||||
include/kunit/try-catch.h
|
||||
include/linux/acpi.h
|
||||
include/linux/alarmtimer.h
|
||||
include/linux/align.h
|
||||
@ -436,6 +440,7 @@ include/linux/clk.h
|
||||
include/linux/clockchips.h
|
||||
include/linux/clocksource.h
|
||||
include/linux/clocksource_ids.h
|
||||
include/linux/compaction.h
|
||||
include/linux/compat.h
|
||||
include/linux/compiler-gcc.h
|
||||
include/linux/compiler-version.h
|
||||
@ -588,6 +593,7 @@ include/linux/kernel_read_file.h
|
||||
include/linux/kernel_stat.h
|
||||
include/linux/kernfs.h
|
||||
include/linux/key.h
|
||||
include/linux/kfence.h
|
||||
include/linux/kgdb.h
|
||||
include/linux/klist.h
|
||||
include/linux/kmemleak.h
|
||||
@ -631,6 +637,7 @@ include/linux/math64.h
|
||||
include/linux/mdio.h
|
||||
include/linux/mem_encrypt.h
|
||||
include/linux/memcontrol.h
|
||||
include/linux/memory.h
|
||||
include/linux/memory_hotplug.h
|
||||
include/linux/mempolicy.h
|
||||
include/linux/memremap.h
|
||||
@ -760,6 +767,7 @@ include/linux/rcupdate_trace.h
|
||||
include/linux/rcutree.h
|
||||
include/linux/rcuwait.h
|
||||
include/linux/reboot.h
|
||||
include/linux/reciprocal_div.h
|
||||
include/linux/ref_tracker.h
|
||||
include/linux/refcount.h
|
||||
include/linux/resource.h
|
||||
@ -832,12 +840,14 @@ include/linux/sizes.h
|
||||
include/linux/skb_array.h
|
||||
include/linux/skbuff.h
|
||||
include/linux/slab.h
|
||||
include/linux/slub_def.h
|
||||
include/linux/smp.h
|
||||
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
|
||||
@ -1020,7 +1030,9 @@ include/net/xfrm.h
|
||||
include/scsi/fc/fc_fcoe.h
|
||||
include/trace/define_trace.h
|
||||
include/trace/events/irq.h
|
||||
include/trace/events/kmem.h
|
||||
include/trace/events/lock.h
|
||||
include/trace/events/mmflags.h
|
||||
include/trace/events/power.h
|
||||
include/trace/events/sched.h
|
||||
include/trace/events/skb.h
|
||||
|
@ -42,14 +42,6 @@ int __init devices_init(void)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/rcutree.h>
|
||||
|
||||
void kvfree(const void * addr)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/timekeeper_internal.h>
|
||||
|
||||
void update_vsyscall(struct timekeeper * tk)
|
||||
@ -209,3 +201,20 @@ void flush_dcache_page(struct page * page)
|
||||
lx_emul_trace(__func__);
|
||||
}
|
||||
#endif
|
||||
|
||||
pteval_t __default_kernel_pte_mask __read_mostly = ~0;
|
||||
|
||||
|
||||
#include <linux/kernel.h>
|
||||
|
||||
bool parse_option_str(const char * str,const char * option)
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
int get_option(char ** str,int * pint)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
@ -47,14 +47,6 @@ u8 get_random_u8(void)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/mm.h>
|
||||
|
||||
void * kvmalloc_node(size_t size,gfp_t flags,int node)
|
||||
{
|
||||
return kmalloc(size, flags);
|
||||
}
|
||||
|
||||
|
||||
#include <net/rtnetlink.h>
|
||||
|
||||
extern void genode_wg_rtnl_link_ops(struct rtnl_link_ops * ops);
|
||||
@ -134,18 +126,12 @@ void udp_tunnel_xmit_skb(
|
||||
* for in the following. Furthermore, I assume that they should not be
|
||||
* relevant for the port anyway.
|
||||
*/
|
||||
if (xnet != false) {
|
||||
pr_info("Error: XNET != false is not expected\n");
|
||||
while (1) { }
|
||||
}
|
||||
if (nocheck != false) {
|
||||
pr_info("Error: NOCHECK != false is not expected\n");
|
||||
while (1) { }
|
||||
}
|
||||
if (df != 0) {
|
||||
pr_info("Error: DF != 0 is not expected\n");
|
||||
while (1) { }
|
||||
}
|
||||
if (xnet != false)
|
||||
lx_emul_trace_and_stop("Error: XNET != false is not expected");
|
||||
if (nocheck != false)
|
||||
lx_emul_trace_and_stop("Error: NOCHECK != false is not expected");
|
||||
if (df != 0)
|
||||
lx_emul_trace_and_stop("Error: DF != 0 is not expected");
|
||||
/*
|
||||
* FIXME
|
||||
*
|
||||
@ -154,10 +140,8 @@ void udp_tunnel_xmit_skb(
|
||||
* to be incorporated in order to make Wireguard provide a correct TTL
|
||||
* argument. However, it is simpler to set it manually.
|
||||
*/
|
||||
if (ttl != 0) {
|
||||
pr_info("Error: TTL != 0 is not expected\n");
|
||||
while (1) { }
|
||||
}
|
||||
if (ttl != 0)
|
||||
lx_emul_trace_and_stop("Error: TTL != 0 is not expected");
|
||||
ttl = 64;
|
||||
|
||||
/*
|
||||
@ -191,20 +175,6 @@ DEFINE_STATIC_KEY_FALSE(memalloc_socks_key);
|
||||
EXPORT_SYMBOL_GPL(memalloc_socks_key);
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
struct kmem_cache * kmem_cache_create_usercopy(const char * name,
|
||||
unsigned int size,
|
||||
unsigned int align,
|
||||
slab_flags_t flags,
|
||||
unsigned int useroffset,
|
||||
unsigned int usersize,
|
||||
void (* ctor)(void *))
|
||||
{
|
||||
return kmem_cache_create(name, size, align, flags, ctor);
|
||||
}
|
||||
|
||||
|
||||
#include <net/ip_tunnels.h>
|
||||
|
||||
/* Returns either the correct skb->protocol value, or 0 if invalid. */
|
||||
@ -240,14 +210,6 @@ struct rtable * ip_route_output_flow(struct net * net,struct flowi4 * flp4,const
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
void kfree_sensitive(const void * p)
|
||||
{
|
||||
kfree(p);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/netdevice.h>
|
||||
|
||||
gro_result_t napi_gro_receive(struct napi_struct * napi,struct sk_buff * skb)
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* \brief Dummy definitions of Linux Kernel functions
|
||||
* \author Automatically generated file - do no edit
|
||||
* \date 2024-01-26
|
||||
* \date 2024-07-16
|
||||
*/
|
||||
|
||||
#include <lx_emul.h>
|
||||
@ -367,22 +367,6 @@ void irq_work_tick(void)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
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__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kstrtox.h>
|
||||
|
||||
noinline int kstrtoint(const char * s,unsigned int base,int * res)
|
||||
@ -618,3 +602,10 @@ void wake_q_add_safe(struct wake_q_head * head,struct task_struct * task)
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/panic.h>
|
||||
|
||||
void panic(const char *fmt, ...)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
@ -64,6 +64,7 @@ lib/ctype.c
|
||||
lib/find_bit.c
|
||||
lib/hweight.c
|
||||
lib/idr.c
|
||||
lib/math/reciprocal_div.c
|
||||
lib/nlattr.c
|
||||
lib/radix-tree.c
|
||||
lib/refcount.c
|
||||
@ -72,6 +73,10 @@ lib/siphash.c
|
||||
lib/string.c
|
||||
lib/vsprintf.c
|
||||
lib/xarray.c
|
||||
mm/memblock.c
|
||||
mm/slab_common.c
|
||||
mm/slub.c
|
||||
mm/util.c
|
||||
net/core/dst.c
|
||||
net/core/dst_cache.c
|
||||
net/core/flow_dissector.c
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* \brief Dummy definitions of Linux Kernel functions
|
||||
* \author Automatically generated file - do no edit
|
||||
* \date 2024-01-26
|
||||
* \date 2024-07-16
|
||||
*/
|
||||
|
||||
#include <lx_emul.h>
|
||||
@ -321,22 +321,6 @@ void kernel_fpu_end(void)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
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__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kstrtox.h>
|
||||
|
||||
noinline int kstrtoint(const char * s,unsigned int base,int * res)
|
||||
@ -514,3 +498,10 @@ void wake_q_add_safe(struct wake_q_head * head,struct task_struct * task)
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/panic.h>
|
||||
|
||||
void panic(const char *fmt, ...)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
@ -66,6 +66,7 @@ lib/ctype.c
|
||||
lib/find_bit.c
|
||||
lib/hexdump.c
|
||||
lib/idr.c
|
||||
lib/math/reciprocal_div.c
|
||||
lib/nlattr.c
|
||||
lib/radix-tree.c
|
||||
lib/refcount.c
|
||||
@ -75,6 +76,10 @@ lib/string.c
|
||||
lib/string_helpers.c
|
||||
lib/vsprintf.c
|
||||
lib/xarray.c
|
||||
mm/memblock.c
|
||||
mm/slab_common.c
|
||||
mm/slub.c
|
||||
mm/util.c
|
||||
net/core/dst.c
|
||||
net/core/dst_cache.c
|
||||
net/core/flow_dissector.c
|
||||
|
@ -458,6 +458,10 @@ include/asm-generic/unaligned.h
|
||||
include/asm-generic/user.h
|
||||
include/clocksource/arm_arch_timer.h
|
||||
include/dt-bindings/leds/common.h
|
||||
include/kunit/assert.h
|
||||
include/kunit/resource.h
|
||||
include/kunit/test.h
|
||||
include/kunit/try-catch.h
|
||||
include/linux/acpi.h
|
||||
include/linux/alarmtimer.h
|
||||
include/linux/align.h
|
||||
@ -504,6 +508,7 @@ include/linux/clk.h
|
||||
include/linux/clockchips.h
|
||||
include/linux/clocksource.h
|
||||
include/linux/clocksource_ids.h
|
||||
include/linux/compaction.h
|
||||
include/linux/compat.h
|
||||
include/linux/compiler-gcc.h
|
||||
include/linux/compiler-version.h
|
||||
@ -686,6 +691,7 @@ include/linux/math64.h
|
||||
include/linux/mdio.h
|
||||
include/linux/mem_encrypt.h
|
||||
include/linux/memcontrol.h
|
||||
include/linux/memory.h
|
||||
include/linux/memory_hotplug.h
|
||||
include/linux/mempolicy.h
|
||||
include/linux/mempool.h
|
||||
@ -810,6 +816,7 @@ include/linux/rcupdate.h
|
||||
include/linux/rcutree.h
|
||||
include/linux/rcuwait.h
|
||||
include/linux/reboot.h
|
||||
include/linux/reciprocal_div.h
|
||||
include/linux/ref_tracker.h
|
||||
include/linux/refcount.h
|
||||
include/linux/regulator/consumer.h
|
||||
@ -881,12 +888,14 @@ include/linux/siphash.h
|
||||
include/linux/sizes.h
|
||||
include/linux/skbuff.h
|
||||
include/linux/slab.h
|
||||
include/linux/slub_def.h
|
||||
include/linux/smp.h
|
||||
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
|
||||
@ -1036,7 +1045,9 @@ include/net/timewait_sock.h
|
||||
include/net/xdp.h
|
||||
include/trace/define_trace.h
|
||||
include/trace/events/irq.h
|
||||
include/trace/events/kmem.h
|
||||
include/trace/events/lock.h
|
||||
include/trace/events/mmflags.h
|
||||
include/trace/events/power.h
|
||||
include/trace/events/sched.h
|
||||
include/trace/events/timer.h
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* \brief Dummy definitions of Linux Kernel functions
|
||||
* \author Automatically generated file - do no edit
|
||||
* \date 2024-02-22
|
||||
* \date 2024-07-17
|
||||
*/
|
||||
|
||||
#include <lx_emul.h>
|
||||
@ -222,6 +222,22 @@ void finish_rcuwait(struct rcuwait * w)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kernel.h>
|
||||
|
||||
int get_option(char ** str,int * pint)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/gfp.h>
|
||||
|
||||
bool gfp_pfmemalloc_allowed(gfp_t gfp_mask)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/uuid.h>
|
||||
|
||||
const u8 guid_index[16] = {};
|
||||
@ -381,14 +397,6 @@ 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/kobject.h>
|
||||
|
||||
int kobject_synth_uevent(struct kobject * kobj,const char * buf,size_t count)
|
||||
@ -463,6 +471,14 @@ int of_property_read_string(const struct device_node * np,const char * propname,
|
||||
}
|
||||
|
||||
|
||||
#include <linux/panic.h>
|
||||
|
||||
void panic(const char * fmt,...)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/power_supply.h>
|
||||
|
||||
void power_supply_changed(struct power_supply * psy)
|
||||
|
@ -73,10 +73,14 @@ lib/kfifo.c
|
||||
lib/klist.c
|
||||
lib/kobject.c
|
||||
lib/kstrtox.c
|
||||
lib/math/reciprocal_div.c
|
||||
lib/radix-tree.c
|
||||
lib/siphash.c
|
||||
lib/string.c
|
||||
lib/string_helpers.c
|
||||
lib/vsprintf.c
|
||||
lib/xarray.c
|
||||
mm/memblock.c
|
||||
mm/slab_common.c
|
||||
mm/slub.c
|
||||
mm/util.c
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* \brief Dummy definitions of Linux Kernel functions
|
||||
* \author Automatically generated file - do no edit
|
||||
* \date 2024-02-22
|
||||
* \date 2024-07-17
|
||||
*/
|
||||
|
||||
#include <lx_emul.h>
|
||||
@ -180,6 +180,22 @@ void finish_rcuwait(struct rcuwait * w)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kernel.h>
|
||||
|
||||
int get_option(char ** str,int * pint)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/gfp.h>
|
||||
|
||||
bool gfp_pfmemalloc_allowed(gfp_t gfp_mask)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/uuid.h>
|
||||
|
||||
const u8 guid_index[16] = {};
|
||||
@ -283,14 +299,6 @@ 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/kobject.h>
|
||||
|
||||
int kobject_synth_uevent(struct kobject * kobj,const char * buf,size_t count)
|
||||
@ -360,6 +368,14 @@ int of_property_read_string(const struct device_node * np,const char * propname,
|
||||
}
|
||||
|
||||
|
||||
#include <linux/panic.h>
|
||||
|
||||
void panic(const char * fmt,...)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/power_supply.h>
|
||||
|
||||
void power_supply_changed(struct power_supply * psy)
|
||||
@ -494,6 +510,11 @@ const char * usb_speed_string(enum usb_device_speed speed)
|
||||
const u8 uuid_index[16] = {};
|
||||
|
||||
|
||||
#include <linux/vmstat.h>
|
||||
|
||||
atomic_long_t vm_node_stat[NR_VM_NODE_STAT_ITEMS] = {};
|
||||
|
||||
|
||||
#include <linux/sched/wake_q.h>
|
||||
|
||||
void wake_q_add_safe(struct wake_q_head * head,struct task_struct * task)
|
||||
|
@ -71,10 +71,14 @@ lib/kfifo.c
|
||||
lib/klist.c
|
||||
lib/kobject.c
|
||||
lib/kstrtox.c
|
||||
lib/math/reciprocal_div.c
|
||||
lib/radix-tree.c
|
||||
lib/siphash.c
|
||||
lib/string.c
|
||||
lib/string_helpers.c
|
||||
lib/vsprintf.c
|
||||
lib/xarray.c
|
||||
mm/memblock.c
|
||||
mm/slab_common.c
|
||||
mm/slub.c
|
||||
mm/util.c
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* \brief Dummy definitions of Linux Kernel functions
|
||||
* \author Automatically generated file - do no edit
|
||||
* \date 2024-02-22
|
||||
* \date 2024-07-16
|
||||
*/
|
||||
|
||||
#include <lx_emul.h>
|
||||
@ -182,6 +182,22 @@ void finish_rcuwait(struct rcuwait * w)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kernel.h>
|
||||
|
||||
int get_option(char ** str,int * pint)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/gfp.h>
|
||||
|
||||
bool gfp_pfmemalloc_allowed(gfp_t gfp_mask)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/uuid.h>
|
||||
|
||||
const u8 guid_index[16] = {};
|
||||
@ -346,14 +362,6 @@ 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/kobject.h>
|
||||
|
||||
int kobject_synth_uevent(struct kobject * kobj,const char * buf,size_t count)
|
||||
@ -428,6 +436,14 @@ int of_property_read_string(const struct device_node * np,const char * propname,
|
||||
}
|
||||
|
||||
|
||||
#include <linux/panic.h>
|
||||
|
||||
void panic(const char * fmt,...)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/power_supply.h>
|
||||
|
||||
void power_supply_changed(struct power_supply * psy)
|
||||
|
@ -71,10 +71,14 @@ lib/kfifo.c
|
||||
lib/klist.c
|
||||
lib/kobject.c
|
||||
lib/kstrtox.c
|
||||
lib/math/reciprocal_div.c
|
||||
lib/radix-tree.c
|
||||
lib/siphash.c
|
||||
lib/string.c
|
||||
lib/string_helpers.c
|
||||
lib/vsprintf.c
|
||||
lib/xarray.c
|
||||
mm/memblock.c
|
||||
mm/slab_common.c
|
||||
mm/slub.c
|
||||
mm/util.c
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* \brief Dummy definitions of Linux Kernel functions
|
||||
* \author Automatically generated file - do no edit
|
||||
* \date 2024-02-05
|
||||
* \date 2024-07-16
|
||||
*/
|
||||
|
||||
#include <lx_emul.h>
|
||||
@ -179,6 +179,22 @@ void finish_rcuwait(struct rcuwait * w)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kernel.h>
|
||||
|
||||
int get_option(char ** str,int * pint)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/gfp.h>
|
||||
|
||||
bool gfp_pfmemalloc_allowed(gfp_t gfp_mask)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/uuid.h>
|
||||
|
||||
const u8 guid_index[16] = {};
|
||||
@ -295,14 +311,6 @@ 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/kobject.h>
|
||||
|
||||
int kobject_synth_uevent(struct kobject * kobj,const char * buf,size_t count)
|
||||
@ -327,6 +335,14 @@ void led_trigger_event(struct led_trigger * trig,enum led_brightness brightness)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/panic.h>
|
||||
|
||||
void panic(const char * fmt,...)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/moduleparam.h>
|
||||
|
||||
int param_set_copystring(const char * val,const struct kernel_param * kp)
|
||||
|
@ -64,10 +64,14 @@ lib/kfifo.c
|
||||
lib/klist.c
|
||||
lib/kobject.c
|
||||
lib/kstrtox.c
|
||||
lib/math/reciprocal_div.c
|
||||
lib/radix-tree.c
|
||||
lib/siphash.c
|
||||
lib/string.c
|
||||
lib/string_helpers.c
|
||||
lib/vsprintf.c
|
||||
lib/xarray.c
|
||||
mm/memblock.c
|
||||
mm/slab_common.c
|
||||
mm/slub.c
|
||||
mm/util.c
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* \brief Dummy definitions of Linux Kernel functions
|
||||
* \author Automatically generated file - do no edit
|
||||
* \date 2024-02-05
|
||||
* \date 2024-07-16
|
||||
*/
|
||||
|
||||
#include <lx_emul.h>
|
||||
@ -147,6 +147,22 @@ void finish_rcuwait(struct rcuwait * w)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kernel.h>
|
||||
|
||||
int get_option(char ** str,int * pint)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/gfp.h>
|
||||
|
||||
bool gfp_pfmemalloc_allowed(gfp_t gfp_mask)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/uuid.h>
|
||||
|
||||
const u8 guid_index[16] = {};
|
||||
@ -263,14 +279,6 @@ 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/kobject.h>
|
||||
|
||||
int kobject_synth_uevent(struct kobject * kobj,const char * buf,size_t count)
|
||||
@ -295,6 +303,14 @@ void led_trigger_event(struct led_trigger * trig,enum led_brightness brightness)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/panic.h>
|
||||
|
||||
void panic(const char *fmt, ...)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/moduleparam.h>
|
||||
|
||||
int param_set_copystring(const char * val,const struct kernel_param * kp)
|
||||
|
@ -64,10 +64,14 @@ lib/kfifo.c
|
||||
lib/klist.c
|
||||
lib/kobject.c
|
||||
lib/kstrtox.c
|
||||
lib/math/reciprocal_div.c
|
||||
lib/radix-tree.c
|
||||
lib/siphash.c
|
||||
lib/string.c
|
||||
lib/string_helpers.c
|
||||
lib/vsprintf.c
|
||||
lib/xarray.c
|
||||
mm/memblock.c
|
||||
mm/slab_common.c
|
||||
mm/slub.c
|
||||
mm/util.c
|
||||
|
@ -374,6 +374,10 @@ include/asm-generic/unaligned.h
|
||||
include/asm-generic/user.h
|
||||
include/clocksource/arm_arch_timer.h
|
||||
include/crypto/sha1.h
|
||||
include/kunit/assert.h
|
||||
include/kunit/resource.h
|
||||
include/kunit/test.h
|
||||
include/kunit/try-catch.h
|
||||
include/linux/acpi.h
|
||||
include/linux/alarmtimer.h
|
||||
include/linux/align.h
|
||||
@ -426,6 +430,7 @@ include/linux/clk.h
|
||||
include/linux/clockchips.h
|
||||
include/linux/clocksource.h
|
||||
include/linux/clocksource_ids.h
|
||||
include/linux/compaction.h
|
||||
include/linux/compat.h
|
||||
include/linux/compiler-gcc.h
|
||||
include/linux/compiler-version.h
|
||||
@ -623,6 +628,7 @@ include/linux/math64.h
|
||||
include/linux/mdio.h
|
||||
include/linux/mem_encrypt.h
|
||||
include/linux/memcontrol.h
|
||||
include/linux/memory.h
|
||||
include/linux/memory_hotplug.h
|
||||
include/linux/mempolicy.h
|
||||
include/linux/mempool.h
|
||||
@ -768,6 +774,7 @@ include/linux/rcupdate_trace.h
|
||||
include/linux/rcutree.h
|
||||
include/linux/rcuwait.h
|
||||
include/linux/reboot.h
|
||||
include/linux/reciprocal_div.h
|
||||
include/linux/ref_tracker.h
|
||||
include/linux/refcount.h
|
||||
include/linux/regulator/consumer.h
|
||||
@ -844,12 +851,14 @@ include/linux/sizes.h
|
||||
include/linux/skb_array.h
|
||||
include/linux/skbuff.h
|
||||
include/linux/slab.h
|
||||
include/linux/slub_def.h
|
||||
include/linux/smp.h
|
||||
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
|
||||
@ -1060,7 +1069,9 @@ include/net/xfrm.h
|
||||
include/net/xsk_buff_pool.h
|
||||
include/trace/define_trace.h
|
||||
include/trace/events/irq.h
|
||||
include/trace/events/kmem.h
|
||||
include/trace/events/lock.h
|
||||
include/trace/events/mmflags.h
|
||||
include/trace/events/napi.h
|
||||
include/trace/events/net.h
|
||||
include/trace/events/power.h
|
||||
|
@ -24,20 +24,6 @@ struct usb_driver usbfs_driver = {
|
||||
const struct attribute_group *usb_device_groups[] = { };
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
struct kmem_cache * kmem_cache_create_usercopy(const char * name,
|
||||
unsigned int size,
|
||||
unsigned int align,
|
||||
slab_flags_t flags,
|
||||
unsigned int useroffset,
|
||||
unsigned int usersize,
|
||||
void (* ctor)(void *))
|
||||
{
|
||||
return kmem_cache_create(name, size, align, flags, ctor);
|
||||
}
|
||||
|
||||
|
||||
#include <net/netfilter/nf_conntrack.h>
|
||||
|
||||
struct net init_net;
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* \brief Dummy definitions of Linux Kernel functions
|
||||
* \author Automatically generated file - do no edit
|
||||
* \date 2024-02-22
|
||||
* \date 2024-07-17
|
||||
*/
|
||||
|
||||
#include <lx_emul.h>
|
||||
@ -89,14 +89,6 @@ void __skb_get_hash(struct sk_buff * skb)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/vmalloc.h>
|
||||
|
||||
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__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/printk.h>
|
||||
|
||||
int _printk_deferred(const char * fmt,...)
|
||||
@ -312,6 +304,14 @@ int genphy_resume(struct phy_device * phydev)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kernel.h>
|
||||
|
||||
int get_option(char ** str,int * pint)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/gfp.h>
|
||||
|
||||
bool gfp_pfmemalloc_allowed(gfp_t gfp_mask)
|
||||
@ -500,30 +500,6 @@ void irq_work_tick(void)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
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__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
void kmem_cache_free_bulk(struct kmem_cache * s,size_t nr,void ** p)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kobject.h>
|
||||
|
||||
int kobject_synth_uevent(struct kobject * kobj,const char * buf,size_t count)
|
||||
@ -696,6 +672,14 @@ int of_property_read_string(const struct device_node * np,const char * propname,
|
||||
}
|
||||
|
||||
|
||||
#include <linux/panic.h>
|
||||
|
||||
void panic(const char * fmt,...)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/phy.h>
|
||||
|
||||
struct phy_device * phy_connect(struct net_device * dev,const char * bus_id,void (* handler)(struct net_device *),phy_interface_t interface)
|
||||
|
@ -70,6 +70,7 @@ lib/kasprintf.c
|
||||
lib/klist.c
|
||||
lib/kobject.c
|
||||
lib/kstrtox.c
|
||||
lib/math/reciprocal_div.c
|
||||
lib/radix-tree.c
|
||||
lib/rbtree.c
|
||||
lib/rhashtable.c
|
||||
@ -80,6 +81,9 @@ lib/string_helpers.c
|
||||
lib/timerqueue.c
|
||||
lib/vsprintf.c
|
||||
lib/xarray.c
|
||||
mm/memblock.c
|
||||
mm/slab_common.c
|
||||
mm/slub.c
|
||||
mm/util.c
|
||||
net/core/dev.c
|
||||
net/core/dev_addr_lists.c
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* \brief Dummy definitions of Linux Kernel functions
|
||||
* \author Automatically generated file - do no edit
|
||||
* \date 2024-02-22
|
||||
* \date 2024-07-17
|
||||
*/
|
||||
|
||||
#include <lx_emul.h>
|
||||
@ -79,14 +79,6 @@ void __skb_get_hash(struct sk_buff * skb)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/vmalloc.h>
|
||||
|
||||
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__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/printk.h>
|
||||
|
||||
int _printk_deferred(const char * fmt,...)
|
||||
@ -244,6 +236,14 @@ int genphy_resume(struct phy_device * phydev)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kernel.h>
|
||||
|
||||
int get_option(char ** str,int * pint)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/gfp.h>
|
||||
|
||||
bool gfp_pfmemalloc_allowed(gfp_t gfp_mask)
|
||||
@ -339,30 +339,6 @@ void irq_work_tick(void)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
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__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
void kmem_cache_free_bulk(struct kmem_cache * s,size_t nr,void ** p)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kobject.h>
|
||||
|
||||
int kobject_synth_uevent(struct kobject * kobj,const char * buf,size_t count)
|
||||
@ -514,6 +490,14 @@ int of_property_read_string(const struct device_node * np,const char * propname,
|
||||
}
|
||||
|
||||
|
||||
#include <linux/panic.h>
|
||||
|
||||
void panic(const char * fmt,...)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/phy.h>
|
||||
|
||||
struct phy_device * phy_connect(struct net_device * dev,const char * bus_id,void (* handler)(struct net_device *),phy_interface_t interface)
|
||||
@ -805,6 +789,11 @@ const char * usb_speed_string(enum usb_device_speed speed)
|
||||
const u8 uuid_index[16] = {};
|
||||
|
||||
|
||||
#include <linux/vmstat.h>
|
||||
|
||||
atomic_long_t vm_node_stat[NR_VM_NODE_STAT_ITEMS] = {};
|
||||
|
||||
|
||||
#include <linux/sched/wake_q.h>
|
||||
|
||||
void wake_q_add_safe(struct wake_q_head * head,struct task_struct * task)
|
||||
|
@ -6,16 +6,16 @@ arch/arm/lib/strchr.S
|
||||
arch/arm/lib/testclearbit.S
|
||||
arch/arm/lib/testsetbit.S
|
||||
drivers/base/bus.c
|
||||
drivers/base/core.c
|
||||
drivers/base/class.c
|
||||
drivers/base/core.c
|
||||
drivers/base/dd.c
|
||||
drivers/base/devres.c
|
||||
drivers/base/driver.c
|
||||
drivers/base/dd.c
|
||||
drivers/base/property.c
|
||||
drivers/net/mii.c
|
||||
drivers/net/usb/asix.h
|
||||
drivers/net/usb/asix_common.c
|
||||
drivers/net/usb/asix_devices.c
|
||||
drivers/net/usb/asix.h
|
||||
drivers/net/usb/ax88172a.c
|
||||
drivers/net/usb/ax88179_178a.c
|
||||
drivers/net/usb/cdc_ether.c
|
||||
@ -67,16 +67,20 @@ lib/kasprintf.c
|
||||
lib/klist.c
|
||||
lib/kobject.c
|
||||
lib/kstrtox.c
|
||||
lib/math/reciprocal_div.c
|
||||
lib/radix-tree.c
|
||||
lib/rhashtable.c
|
||||
lib/rbtree.c
|
||||
lib/xarray.c
|
||||
lib/rhashtable.c
|
||||
lib/scatterlist.c
|
||||
lib/siphash.c
|
||||
lib/string.c
|
||||
lib/string_helpers.c
|
||||
lib/timerqueue.c
|
||||
lib/vsprintf.c
|
||||
lib/xarray.c
|
||||
mm/memblock.c
|
||||
mm/slab_common.c
|
||||
mm/slub.c
|
||||
mm/util.c
|
||||
net/core/dev.c
|
||||
net/core/dev_addr_lists.c
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* \brief Dummy definitions of Linux Kernel functions
|
||||
* \author Automatically generated file - do no edit
|
||||
* \date 2024-02-22
|
||||
* \date 2024-07-16
|
||||
*/
|
||||
|
||||
#include <lx_emul.h>
|
||||
@ -89,14 +89,6 @@ void __skb_get_hash(struct sk_buff * skb)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/vmalloc.h>
|
||||
|
||||
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__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/printk.h>
|
||||
|
||||
int _printk_deferred(const char * fmt,...)
|
||||
@ -262,6 +254,14 @@ int genphy_resume(struct phy_device * phydev)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kernel.h>
|
||||
|
||||
int get_option(char ** str,int * pint)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/gfp.h>
|
||||
|
||||
bool gfp_pfmemalloc_allowed(gfp_t gfp_mask)
|
||||
@ -418,30 +418,6 @@ void irq_work_tick(void)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
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__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
void kmem_cache_free_bulk(struct kmem_cache * s,size_t nr,void ** p)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kobject.h>
|
||||
|
||||
int kobject_synth_uevent(struct kobject * kobj,const char * buf,size_t count)
|
||||
@ -614,6 +590,14 @@ int of_property_read_string(const struct device_node * np,const char * propname,
|
||||
}
|
||||
|
||||
|
||||
#include <linux/panic.h>
|
||||
|
||||
void panic(const char * fmt,...)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/phy.h>
|
||||
|
||||
struct phy_device * phy_connect(struct net_device * dev,const char * bus_id,void (* handler)(struct net_device *),phy_interface_t interface)
|
||||
|
@ -5,16 +5,16 @@ arch/arm64/lib/strlen.S
|
||||
arch/arm64/lib/strncmp.S
|
||||
arch/arm64/lib/strnlen.S
|
||||
drivers/base/bus.c
|
||||
drivers/base/core.c
|
||||
drivers/base/class.c
|
||||
drivers/base/core.c
|
||||
drivers/base/dd.c
|
||||
drivers/base/devres.c
|
||||
drivers/base/driver.c
|
||||
drivers/base/dd.c
|
||||
drivers/base/property.c
|
||||
drivers/net/mii.c
|
||||
drivers/net/usb/asix.h
|
||||
drivers/net/usb/asix_common.c
|
||||
drivers/net/usb/asix_devices.c
|
||||
drivers/net/usb/asix.h
|
||||
drivers/net/usb/ax88172a.c
|
||||
drivers/net/usb/ax88179_178a.c
|
||||
drivers/net/usb/cdc_ether.c
|
||||
@ -68,16 +68,20 @@ lib/kasprintf.c
|
||||
lib/klist.c
|
||||
lib/kobject.c
|
||||
lib/kstrtox.c
|
||||
lib/math/reciprocal_div.c
|
||||
lib/radix-tree.c
|
||||
lib/rhashtable.c
|
||||
lib/rbtree.c
|
||||
lib/xarray.c
|
||||
lib/rhashtable.c
|
||||
lib/scatterlist.c
|
||||
lib/siphash.c
|
||||
lib/string.c
|
||||
lib/string_helpers.c
|
||||
lib/timerqueue.c
|
||||
lib/vsprintf.c
|
||||
lib/xarray.c
|
||||
mm/memblock.c
|
||||
mm/slab_common.c
|
||||
mm/slub.c
|
||||
mm/util.c
|
||||
net/core/dev.c
|
||||
net/core/dev_addr_lists.c
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* \brief Dummy definitions of Linux Kernel functions
|
||||
* \author Automatically generated file - do no edit
|
||||
* \date 2024-01-23
|
||||
* \date 2024-07-16
|
||||
*/
|
||||
|
||||
#include <lx_emul.h>
|
||||
@ -68,14 +68,6 @@ void __skb_get_hash(struct sk_buff * skb)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/vmalloc.h>
|
||||
|
||||
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__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/printk.h>
|
||||
|
||||
int _printk_deferred(const char * fmt,...)
|
||||
@ -264,6 +256,14 @@ int genphy_resume(struct phy_device * phydev)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kernel.h>
|
||||
|
||||
int get_option(char ** str,int * pint)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/gfp.h>
|
||||
|
||||
bool gfp_pfmemalloc_allowed(gfp_t gfp_mask)
|
||||
@ -377,30 +377,6 @@ void irq_work_tick(void)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
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__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
void kmem_cache_free_bulk(struct kmem_cache * s,size_t nr,void ** p)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kobject.h>
|
||||
|
||||
int kobject_synth_uevent(struct kobject * kobj,const char * buf,size_t count)
|
||||
@ -523,6 +499,14 @@ loff_t noop_llseek(struct file * file,loff_t offset,int whence)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/panic.h>
|
||||
|
||||
void panic(const char * fmt,...)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/moduleparam.h>
|
||||
|
||||
int param_set_copystring(const char * val,const struct kernel_param * kp)
|
||||
|
@ -1,15 +1,15 @@
|
||||
arch/x86/lib/hweight.S
|
||||
drivers/base/bus.c
|
||||
drivers/base/core.c
|
||||
drivers/base/class.c
|
||||
drivers/base/core.c
|
||||
drivers/base/dd.c
|
||||
drivers/base/devres.c
|
||||
drivers/base/driver.c
|
||||
drivers/base/dd.c
|
||||
drivers/base/property.c
|
||||
drivers/net/mii.c
|
||||
drivers/net/usb/asix.h
|
||||
drivers/net/usb/asix_common.c
|
||||
drivers/net/usb/asix_devices.c
|
||||
drivers/net/usb/asix.h
|
||||
drivers/net/usb/ax88172a.c
|
||||
drivers/net/usb/ax88179_178a.c
|
||||
drivers/net/usb/cdc_ether.c
|
||||
@ -61,16 +61,20 @@ lib/kasprintf.c
|
||||
lib/klist.c
|
||||
lib/kobject.c
|
||||
lib/kstrtox.c
|
||||
lib/math/reciprocal_div.c
|
||||
lib/radix-tree.c
|
||||
lib/rhashtable.c
|
||||
lib/rbtree.c
|
||||
lib/xarray.c
|
||||
lib/rhashtable.c
|
||||
lib/scatterlist.c
|
||||
lib/siphash.c
|
||||
lib/string.c
|
||||
lib/string_helpers.c
|
||||
lib/timerqueue.c
|
||||
lib/vsprintf.c
|
||||
lib/xarray.c
|
||||
mm/memblock.c
|
||||
mm/slab_common.c
|
||||
mm/slub.c
|
||||
mm/util.c
|
||||
net/core/dev.c
|
||||
net/core/dev_addr_lists.c
|
||||
|
@ -1,14 +1,12 @@
|
||||
/*
|
||||
* \brief Dummy definitions of Linux Kernel functions
|
||||
* \author Automatically generated file - do no edit
|
||||
* \date 2024-01-22
|
||||
* \date 2024-07-10
|
||||
*/
|
||||
|
||||
#include <lx_emul.h>
|
||||
|
||||
|
||||
#include <linux/gfp.h>
|
||||
|
||||
#include <linux/cpumask.h>
|
||||
|
||||
struct cpumask __cpu_active_mask;
|
||||
@ -70,14 +68,6 @@ void __skb_get_hash(struct sk_buff * skb)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/vmalloc.h>
|
||||
|
||||
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__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/printk.h>
|
||||
|
||||
int _printk_deferred(const char * fmt,...)
|
||||
@ -242,6 +232,14 @@ int genphy_resume(struct phy_device * phydev)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kernel.h>
|
||||
|
||||
int get_option(char ** str,int * pint)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/gfp.h>
|
||||
|
||||
bool gfp_pfmemalloc_allowed(gfp_t gfp_mask)
|
||||
@ -350,30 +348,6 @@ void irq_work_tick(void)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
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__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
void kmem_cache_free_bulk(struct kmem_cache * s,size_t nr,void ** p)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kobject.h>
|
||||
|
||||
int kobject_synth_uevent(struct kobject * kobj,const char * buf,size_t count)
|
||||
@ -496,6 +470,14 @@ loff_t noop_llseek(struct file * file,loff_t offset,int whence)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/panic.h>
|
||||
|
||||
void panic(const char * fmt,...)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/moduleparam.h>
|
||||
|
||||
int param_set_copystring(const char * val,const struct kernel_param * kp)
|
||||
|
@ -1,15 +1,15 @@
|
||||
arch/x86/lib/hweight.S
|
||||
drivers/base/bus.c
|
||||
drivers/base/core.c
|
||||
drivers/base/class.c
|
||||
drivers/base/core.c
|
||||
drivers/base/dd.c
|
||||
drivers/base/devres.c
|
||||
drivers/base/driver.c
|
||||
drivers/base/dd.c
|
||||
drivers/base/property.c
|
||||
drivers/net/mii.c
|
||||
drivers/net/usb/asix.h
|
||||
drivers/net/usb/asix_common.c
|
||||
drivers/net/usb/asix_devices.c
|
||||
drivers/net/usb/asix.h
|
||||
drivers/net/usb/ax88172a.c
|
||||
drivers/net/usb/ax88179_178a.c
|
||||
drivers/net/usb/cdc_ether.c
|
||||
@ -61,16 +61,20 @@ lib/kasprintf.c
|
||||
lib/klist.c
|
||||
lib/kobject.c
|
||||
lib/kstrtox.c
|
||||
lib/math/reciprocal_div.c
|
||||
lib/radix-tree.c
|
||||
lib/rhashtable.c
|
||||
lib/rbtree.c
|
||||
lib/xarray.c
|
||||
lib/rhashtable.c
|
||||
lib/scatterlist.c
|
||||
lib/siphash.c
|
||||
lib/string.c
|
||||
lib/string_helpers.c
|
||||
lib/timerqueue.c
|
||||
lib/vsprintf.c
|
||||
lib/xarray.c
|
||||
mm/memblock.c
|
||||
mm/slab_common.c
|
||||
mm/slub.c
|
||||
mm/util.c
|
||||
net/core/dev.c
|
||||
net/core/dev_addr_lists.c
|
||||
|
@ -26,6 +26,11 @@ static inline unsigned long __dummy_cpu_offset(void)
|
||||
#undef __my_cpu_offset
|
||||
#define __my_cpu_offset __dummy_cpu_offset()
|
||||
|
||||
#ifdef this_cpu_cmpxchg_double
|
||||
#undef this_cpu_cmpxchg_double
|
||||
#define this_cpu_cmpxchg_double this_cpu_generic_cmpxchg_double
|
||||
#endif
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
||||
#endif /* _LX_EMUL__SHADOW__ASM__PERCPU_H_ */
|
||||
|
@ -19,6 +19,16 @@
|
||||
#include <lx_emul/debug.h>
|
||||
#include <lx_emul/page_virt.h>
|
||||
|
||||
/* The GFP flags allowed during early boot (mm/internal.h) */
|
||||
#define GFP_BOOT_MASK (__GFP_BITS_MASK & ~(__GFP_RECLAIM|__GFP_IO|__GFP_FS))
|
||||
|
||||
gfp_t gfp_allowed_mask __read_mostly = GFP_BOOT_MASK;
|
||||
|
||||
DEFINE_STATIC_KEY_MAYBE(CONFIG_INIT_ON_ALLOC_DEFAULT_ON, init_on_alloc);
|
||||
EXPORT_SYMBOL(init_on_alloc);
|
||||
|
||||
DEFINE_STATIC_KEY_MAYBE(CONFIG_INIT_ON_FREE_DEFAULT_ON, init_on_free);
|
||||
EXPORT_SYMBOL(init_on_free);
|
||||
|
||||
|
||||
static void prepare_compound_page(struct page *page, unsigned int order, gfp_t gfp)
|
||||
|
@ -76,3 +76,36 @@ void * kmalloc_large(size_t size,gfp_t flags)
|
||||
return __kmalloc(size, flags);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
struct kmem_cache * kmem_cache_create(const char * name,
|
||||
unsigned int size,
|
||||
unsigned int align,
|
||||
slab_flags_t flags,
|
||||
void (* ctor)(void *))
|
||||
{
|
||||
struct kmem_cache * cache =
|
||||
__kmalloc(sizeof(struct kmem_cache), GFP_KERNEL);
|
||||
cache->size = size;
|
||||
cache->align = align;
|
||||
cache->refcount = 1;
|
||||
return cache;
|
||||
}
|
||||
|
||||
|
||||
void kmem_cache_destroy(struct kmem_cache *cache)
|
||||
{
|
||||
if (!cache)
|
||||
return;
|
||||
|
||||
if (!cache->refcount) {
|
||||
printk("%s unexpected case - potential memory leak\n", __func__);
|
||||
return;
|
||||
}
|
||||
|
||||
if (cache->refcount > 0)
|
||||
cache->refcount --;
|
||||
|
||||
if (!cache->refcount)
|
||||
kfree(cache);
|
||||
}
|
||||
|
@ -53,39 +53,6 @@ void * __kmalloc(size_t size, gfp_t flags)
|
||||
}
|
||||
|
||||
|
||||
struct kmem_cache * kmem_cache_create(const char * name,
|
||||
unsigned int size,
|
||||
unsigned int align,
|
||||
slab_flags_t flags,
|
||||
void (* ctor)(void *))
|
||||
{
|
||||
struct kmem_cache * cache =
|
||||
__kmalloc(sizeof(struct kmem_cache), GFP_KERNEL);
|
||||
cache->size = size;
|
||||
cache->align = align;
|
||||
cache->refcount = 1;
|
||||
return cache;
|
||||
}
|
||||
|
||||
|
||||
void kmem_cache_destroy(struct kmem_cache *cache)
|
||||
{
|
||||
if (!cache)
|
||||
return;
|
||||
|
||||
if (!cache->refcount) {
|
||||
printk("%s unexpected case - potential memory leak\n", __func__);
|
||||
return;
|
||||
}
|
||||
|
||||
if (cache->refcount > 0)
|
||||
cache->refcount --;
|
||||
|
||||
if (!cache->refcount)
|
||||
lx_emul_mem_free(cache);
|
||||
}
|
||||
|
||||
|
||||
void kmem_cache_free(struct kmem_cache * s, void * x)
|
||||
{
|
||||
lx_emul_mem_free(x);
|
||||
|
@ -37,3 +37,12 @@ bool is_vmalloc_addr(const void * x)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
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__);
|
||||
}
|
||||
|
@ -17,4 +17,9 @@
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
void quiet_vmstat(void) { }
|
||||
|
||||
void mod_node_page_state(struct pglist_data *pgdat, enum node_stat_item item, long delta)
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
}
|
||||
#endif
|
||||
|
@ -37,8 +37,6 @@ int __init buses_init(void)
|
||||
#include <linux/jump_label.h>
|
||||
#include <asm/processor.h>
|
||||
|
||||
struct static_key_false init_on_alloc;
|
||||
|
||||
unsigned long sysctl_net_busy_read;
|
||||
|
||||
DEFINE_STATIC_KEY_FALSE(force_irqthreads_key);
|
||||
|
@ -133,20 +133,6 @@ __wsum csum_partial_copy_from_user(const void __user *src, void *dst, int len)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
struct kmem_cache * kmem_cache_create_usercopy(const char * name,
|
||||
unsigned int size,
|
||||
unsigned int align,
|
||||
slab_flags_t flags,
|
||||
unsigned int useroffset,
|
||||
unsigned int usersize,
|
||||
void (* ctor)(void *))
|
||||
{
|
||||
return kmem_cache_create(name, size, align, flags, ctor);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/stringhash.h>
|
||||
|
||||
unsigned int full_name_hash(const void *salt, const char *name, unsigned int len)
|
||||
@ -364,3 +350,7 @@ static int sock_init(void)
|
||||
|
||||
|
||||
core_initcall(sock_init);
|
||||
|
||||
|
||||
/* mm/internal.h */
|
||||
bool mirrored_kernelcore = false;
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* \brief Dummy definitions of Linux Kernel functions
|
||||
* \author Automatically generated file - do no edit
|
||||
* \date 2024-02-05
|
||||
* \date 2024-07-26
|
||||
*/
|
||||
|
||||
#include <lx_emul.h>
|
||||
@ -189,14 +189,6 @@ void * __vmalloc(unsigned long size,gfp_t gfp_mask)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/vmalloc.h>
|
||||
|
||||
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__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/printk.h>
|
||||
|
||||
int _printk_deferred(const char * fmt,...)
|
||||
@ -526,6 +518,14 @@ void finish_rcuwait(struct rcuwait * w)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/mmzone.h>
|
||||
|
||||
struct pglist_data * first_online_pgdat(void)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
extern void flush_dcache_page(struct page * page);
|
||||
void flush_dcache_page(struct page * page)
|
||||
{
|
||||
@ -613,6 +613,14 @@ struct device * get_device(struct device * dev)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kernel.h>
|
||||
|
||||
int get_option(char ** str,int * pint)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/rcutree.h>
|
||||
|
||||
unsigned long get_state_synchronize_rcu(void)
|
||||
@ -830,54 +838,6 @@ int kernel_sock_shutdown(struct socket * sock,enum sock_shutdown_cmd how)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
void kfree_sensitive(const void * p)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
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__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
void kmem_cache_free_bulk(struct kmem_cache * s,size_t nr,void ** p)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
void kmem_dump_obj(void * object)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
bool kmem_valid_obj(void * object)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kobject.h>
|
||||
|
||||
int kobject_uevent_env(struct kobject * kobj,enum kobject_action action,char * envp_ext[])
|
||||
@ -899,6 +859,18 @@ bool llist_add_batch(struct llist_node * new_first,struct llist_node * new_last,
|
||||
unsigned long lpj_fine;
|
||||
|
||||
|
||||
#include <linux/mmzone.h>
|
||||
|
||||
struct page *mem_map;
|
||||
|
||||
|
||||
extern void __init memblock_free_pages(struct page * page,unsigned long pfn,unsigned int order);
|
||||
void __init memblock_free_pages(struct page * page,unsigned long pfn,unsigned int order)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/string.h>
|
||||
|
||||
ssize_t memory_read_from_buffer(void * to,size_t count,loff_t * ppos,const void * from,size_t available)
|
||||
@ -961,6 +933,14 @@ void netdev_unregister_kobject(struct net_device * ndev)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/mmzone.h>
|
||||
|
||||
struct pglist_data * next_online_pgdat(struct pglist_data * pgdat)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/pipe_fs_i.h>
|
||||
|
||||
const struct pipe_buf_operations nosteal_pipe_buf_ops;
|
||||
@ -1123,6 +1103,14 @@ void refcount_warn_saturate(refcount_t * r,enum refcount_saturation_type t)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/mm.h>
|
||||
|
||||
void __meminit reserve_bootmem_region(phys_addr_t start,phys_addr_t end)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/fs.h>
|
||||
|
||||
int send_sigurg(struct fown_struct * fown)
|
||||
|
@ -49,6 +49,7 @@ lib/klist.c
|
||||
lib/kobject.c
|
||||
lib/kstrtox.c
|
||||
lib/math/div64.c
|
||||
lib/math/reciprocal_div.c
|
||||
lib/nlattr.c
|
||||
lib/once.c
|
||||
lib/percpu_counter.c
|
||||
@ -62,6 +63,9 @@ lib/timerqueue.c
|
||||
lib/vsprintf.c
|
||||
lib/win_minmax.c
|
||||
lib/xarray.c
|
||||
mm/memblock.c
|
||||
mm/slab_common.c
|
||||
mm/slub.c
|
||||
mm/util.c
|
||||
net/core/datagram.c
|
||||
net/core/dev.c
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* \brief Dummy definitions of Linux Kernel functions
|
||||
* \author Automatically generated file - do no edit
|
||||
* \date 2024-02-05
|
||||
* \date 2024-07-26
|
||||
*/
|
||||
|
||||
#include <lx_emul.h>
|
||||
@ -179,14 +179,6 @@ void * __vmalloc(unsigned long size,gfp_t gfp_mask)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/vmalloc.h>
|
||||
|
||||
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__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/printk.h>
|
||||
|
||||
int _printk_deferred(const char * fmt,...)
|
||||
@ -479,6 +471,14 @@ void finish_rcuwait(struct rcuwait * w)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/mmzone.h>
|
||||
|
||||
struct pglist_data * first_online_pgdat(void)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
extern void flush_dcache_page(struct page * page);
|
||||
void flush_dcache_page(struct page * page)
|
||||
{
|
||||
@ -558,6 +558,14 @@ struct device * get_device(struct device * dev)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kernel.h>
|
||||
|
||||
int get_option(char ** str,int * pint)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/sched/mm.h>
|
||||
|
||||
struct mm_struct * get_task_mm(struct task_struct * task)
|
||||
@ -711,54 +719,6 @@ int kernel_sock_shutdown(struct socket * sock,enum sock_shutdown_cmd how)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
void kfree_sensitive(const void * p)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
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__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
void kmem_cache_free_bulk(struct kmem_cache * s,size_t nr,void ** p)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
void kmem_dump_obj(void * object)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
bool kmem_valid_obj(void * object)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kobject.h>
|
||||
|
||||
int kobject_uevent_env(struct kobject * kobj,enum kobject_action action,char * envp_ext[])
|
||||
@ -780,6 +740,18 @@ bool llist_add_batch(struct llist_node * new_first,struct llist_node * new_last,
|
||||
unsigned long lpj_fine;
|
||||
|
||||
|
||||
#include <linux/mmzone.h>
|
||||
|
||||
struct page *mem_map;
|
||||
|
||||
|
||||
extern void __init memblock_free_pages(struct page * page,unsigned long pfn,unsigned int order);
|
||||
void __init memblock_free_pages(struct page * page,unsigned long pfn,unsigned int order)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/string.h>
|
||||
|
||||
ssize_t memory_read_from_buffer(void * to,size_t count,loff_t * ppos,const void * from,size_t available)
|
||||
@ -818,6 +790,14 @@ void netdev_unregister_kobject(struct net_device * ndev)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/mmzone.h>
|
||||
|
||||
struct pglist_data * next_online_pgdat(struct pglist_data * pgdat)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/pipe_fs_i.h>
|
||||
|
||||
const struct pipe_buf_operations nosteal_pipe_buf_ops;
|
||||
@ -953,6 +933,14 @@ void refcount_warn_saturate(refcount_t * r,enum refcount_saturation_type t)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/mm.h>
|
||||
|
||||
void __meminit reserve_bootmem_region(phys_addr_t start,phys_addr_t end)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/fs.h>
|
||||
|
||||
int send_sigurg(struct fown_struct * fown)
|
||||
@ -971,7 +959,7 @@ void sg_init_one(struct scatterlist * sg,const void * buf,unsigned int buflen)
|
||||
|
||||
#include <linux/smp.h>
|
||||
|
||||
int smp_call_function_single(int cpu,void (* func)(void * info),void * info,int wait)
|
||||
int smp_call_function_single(int cpu,smp_call_func_t func,void * info,int wait)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
@ -1045,6 +1033,11 @@ int vm_insert_pages(struct vm_area_struct * vma,unsigned long addr,struct page *
|
||||
}
|
||||
|
||||
|
||||
#include <linux/vmstat.h>
|
||||
|
||||
atomic_long_t vm_node_stat[NR_VM_NODE_STAT_ITEMS] = {};
|
||||
|
||||
|
||||
#include <linux/vmalloc.h>
|
||||
|
||||
bool vmalloc_dump_obj(void * object)
|
||||
|
@ -47,6 +47,7 @@ lib/klist.c
|
||||
lib/kobject.c
|
||||
lib/kstrtox.c
|
||||
lib/math/div64.c
|
||||
lib/math/reciprocal_div.c
|
||||
lib/nlattr.c
|
||||
lib/once.c
|
||||
lib/radix-tree.c
|
||||
@ -59,6 +60,9 @@ lib/timerqueue.c
|
||||
lib/vsprintf.c
|
||||
lib/win_minmax.c
|
||||
lib/xarray.c
|
||||
mm/memblock.c
|
||||
mm/slab_common.c
|
||||
mm/slub.c
|
||||
mm/util.c
|
||||
net/core/datagram.c
|
||||
net/core/dev.c
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* \brief Dummy definitions of Linux Kernel functions
|
||||
* \author Automatically generated file - do no edit
|
||||
* \date 2024-01-24
|
||||
* \date 2024-07-26
|
||||
*/
|
||||
|
||||
#include <lx_emul.h>
|
||||
@ -182,14 +182,6 @@ void * __vmalloc(unsigned long size,gfp_t gfp_mask)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/vmalloc.h>
|
||||
|
||||
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__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/printk.h>
|
||||
|
||||
int _printk_deferred(const char * fmt,...)
|
||||
@ -520,6 +512,14 @@ void finish_rcuwait(struct rcuwait * w)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/mmzone.h>
|
||||
|
||||
struct pglist_data * first_online_pgdat(void)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
extern void flush_dcache_page(struct page * page);
|
||||
void flush_dcache_page(struct page * page)
|
||||
{
|
||||
@ -607,6 +607,14 @@ struct device * get_device(struct device * dev)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kernel.h>
|
||||
|
||||
int get_option(char ** str,int * pint)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/rcutree.h>
|
||||
|
||||
unsigned long get_state_synchronize_rcu(void)
|
||||
@ -824,54 +832,6 @@ int kernel_sock_shutdown(struct socket * sock,enum sock_shutdown_cmd how)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
void kfree_sensitive(const void * p)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
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__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
void kmem_cache_free_bulk(struct kmem_cache * s,size_t nr,void ** p)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
void kmem_dump_obj(void * object)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
bool kmem_valid_obj(void * object)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kobject.h>
|
||||
|
||||
int kobject_uevent_env(struct kobject * kobj,enum kobject_action action,char * envp_ext[])
|
||||
@ -955,6 +915,14 @@ void netdev_unregister_kobject(struct net_device * ndev)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/mmzone.h>
|
||||
|
||||
struct pglist_data * next_online_pgdat(struct pglist_data * pgdat)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/pipe_fs_i.h>
|
||||
|
||||
const struct pipe_buf_operations nosteal_pipe_buf_ops;
|
||||
@ -1117,6 +1085,14 @@ void refcount_warn_saturate(refcount_t * r,enum refcount_saturation_type t)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/mm.h>
|
||||
|
||||
void __meminit reserve_bootmem_region(phys_addr_t start,phys_addr_t end)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/fs.h>
|
||||
|
||||
int send_sigurg(struct fown_struct * fown)
|
||||
|
@ -46,6 +46,7 @@ lib/kasprintf.c
|
||||
lib/klist.c
|
||||
lib/kobject.c
|
||||
lib/kstrtox.c
|
||||
lib/math/reciprocal_div.c
|
||||
lib/nlattr.c
|
||||
lib/once.c
|
||||
lib/percpu_counter.c
|
||||
@ -59,6 +60,9 @@ lib/timerqueue.c
|
||||
lib/vsprintf.c
|
||||
lib/win_minmax.c
|
||||
lib/xarray.c
|
||||
mm/memblock.c
|
||||
mm/slab_common.c
|
||||
mm/slub.c
|
||||
mm/util.c
|
||||
net/core/datagram.c
|
||||
net/core/dev.c
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* \brief Dummy definitions of Linux Kernel functions
|
||||
* \author Automatically generated file - do no edit
|
||||
* \date 2024-02-05
|
||||
* \date 2024-07-26
|
||||
*/
|
||||
|
||||
#include <lx_emul.h>
|
||||
@ -153,14 +153,6 @@ void * __vmalloc(unsigned long size,gfp_t gfp_mask)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/vmalloc.h>
|
||||
|
||||
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__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/printk.h>
|
||||
|
||||
int _printk_deferred(const char * fmt,...)
|
||||
@ -468,6 +460,14 @@ void finish_rcuwait(struct rcuwait * w)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/mmzone.h>
|
||||
|
||||
struct pglist_data * first_online_pgdat(void)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/sched/task.h>
|
||||
|
||||
struct task_struct * __init fork_idle(int cpu)
|
||||
@ -548,6 +548,14 @@ struct device * get_device(struct device * dev)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kernel.h>
|
||||
|
||||
int get_option(char ** str,int * pint)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/rcutree.h>
|
||||
|
||||
unsigned long get_state_synchronize_rcu(void)
|
||||
@ -722,54 +730,6 @@ int kernel_sock_shutdown(struct socket * sock,enum sock_shutdown_cmd how)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
void kfree_sensitive(const void * p)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
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__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
void kmem_cache_free_bulk(struct kmem_cache * s,size_t nr,void ** p)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
void kmem_dump_obj(void * object)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
bool kmem_valid_obj(void * object)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kobject.h>
|
||||
|
||||
int kobject_uevent_env(struct kobject * kobj,enum kobject_action action,char * envp_ext[])
|
||||
@ -786,6 +746,13 @@ bool llist_add_batch(struct llist_node * new_first,struct llist_node * new_last,
|
||||
}
|
||||
|
||||
|
||||
extern void __init memblock_free_pages(struct page * page,unsigned long pfn,unsigned int order);
|
||||
void __init memblock_free_pages(struct page * page,unsigned long pfn,unsigned int order)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/string.h>
|
||||
|
||||
ssize_t memory_read_from_buffer(void * to,size_t count,loff_t * ppos,const void * from,size_t available)
|
||||
@ -848,6 +815,14 @@ void netdev_unregister_kobject(struct net_device * ndev)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/mmzone.h>
|
||||
|
||||
struct pglist_data * next_online_pgdat(struct pglist_data * pgdat)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/pipe_fs_i.h>
|
||||
|
||||
const struct pipe_buf_operations nosteal_pipe_buf_ops;
|
||||
@ -973,6 +948,14 @@ void refcount_warn_saturate(refcount_t * r,enum refcount_saturation_type t)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/mm.h>
|
||||
|
||||
void __meminit reserve_bootmem_region(phys_addr_t start,phys_addr_t end)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/fs.h>
|
||||
|
||||
int send_sigurg(struct fown_struct * fown)
|
||||
|
@ -38,6 +38,7 @@ lib/klist.c
|
||||
lib/kobject.c
|
||||
lib/kstrtox.c
|
||||
lib/math/div64.c
|
||||
lib/math/reciprocal_div.c
|
||||
lib/nlattr.c
|
||||
lib/once.c
|
||||
lib/percpu_counter.c
|
||||
@ -51,6 +52,9 @@ lib/timerqueue.c
|
||||
lib/vsprintf.c
|
||||
lib/win_minmax.c
|
||||
lib/xarray.c
|
||||
mm/memblock.c
|
||||
mm/slab_common.c
|
||||
mm/slub.c
|
||||
mm/util.c
|
||||
net/core/datagram.c
|
||||
net/core/dev.c
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* \brief Dummy definitions of Linux Kernel functions
|
||||
* \author Automatically generated file - do no edit
|
||||
* \date 2024-01-24
|
||||
* \date 2024-07-26
|
||||
*/
|
||||
|
||||
#include <lx_emul.h>
|
||||
@ -167,14 +167,6 @@ void * __vmalloc(unsigned long size,gfp_t gfp_mask)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/vmalloc.h>
|
||||
|
||||
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__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/printk.h>
|
||||
|
||||
int _printk_deferred(const char * fmt,...)
|
||||
@ -497,6 +489,14 @@ void finish_rcuwait(struct rcuwait * w)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/mmzone.h>
|
||||
|
||||
struct pglist_data * first_online_pgdat(void)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/sched/task.h>
|
||||
|
||||
struct task_struct * __init fork_idle(int cpu)
|
||||
@ -577,6 +577,14 @@ struct device * get_device(struct device * dev)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kernel.h>
|
||||
|
||||
int get_option(char ** str,int * pint)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/rcutree.h>
|
||||
|
||||
unsigned long get_state_synchronize_rcu(void)
|
||||
@ -741,54 +749,6 @@ int kernel_sock_shutdown(struct socket * sock,enum sock_shutdown_cmd how)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
void kfree_sensitive(const void * p)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
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__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
void kmem_cache_free_bulk(struct kmem_cache * s,size_t nr,void ** p)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
void kmem_dump_obj(void * object)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
bool kmem_valid_obj(void * object)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kobject.h>
|
||||
|
||||
int kobject_uevent_env(struct kobject * kobj,enum kobject_action action,char * envp_ext[])
|
||||
@ -805,6 +765,13 @@ bool llist_add_batch(struct llist_node * new_first,struct llist_node * new_last,
|
||||
}
|
||||
|
||||
|
||||
extern void __init memblock_free_pages(struct page * page,unsigned long pfn,unsigned int order);
|
||||
void __init memblock_free_pages(struct page * page,unsigned long pfn,unsigned int order)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/string.h>
|
||||
|
||||
ssize_t memory_read_from_buffer(void * to,size_t count,loff_t * ppos,const void * from,size_t available)
|
||||
@ -867,6 +834,14 @@ void netdev_unregister_kobject(struct net_device * ndev)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/mmzone.h>
|
||||
|
||||
struct pglist_data * next_online_pgdat(struct pglist_data * pgdat)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/pipe_fs_i.h>
|
||||
|
||||
const struct pipe_buf_operations nosteal_pipe_buf_ops;
|
||||
@ -992,6 +967,14 @@ void refcount_warn_saturate(refcount_t * r,enum refcount_saturation_type t)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/mm.h>
|
||||
|
||||
void __meminit reserve_bootmem_region(phys_addr_t start,phys_addr_t end)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/fs.h>
|
||||
|
||||
int send_sigurg(struct fown_struct * fown)
|
||||
|
@ -39,6 +39,7 @@ lib/kasprintf.c
|
||||
lib/klist.c
|
||||
lib/kobject.c
|
||||
lib/kstrtox.c
|
||||
lib/math/reciprocal_div.c
|
||||
lib/nlattr.c
|
||||
lib/once.c
|
||||
lib/percpu_counter.c
|
||||
@ -52,6 +53,9 @@ lib/timerqueue.c
|
||||
lib/vsprintf.c
|
||||
lib/win_minmax.c
|
||||
lib/xarray.c
|
||||
mm/memblock.c
|
||||
mm/slab_common.c
|
||||
mm/slub.c
|
||||
mm/util.c
|
||||
net/core/datagram.c
|
||||
net/core/dev.c
|
||||
|
@ -18,30 +18,6 @@
|
||||
#include <lx_emul/alloc.h>
|
||||
#include <lx_emul/io_mem.h>
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
struct kmem_cache * kmem_cache_create_usercopy(const char * name,
|
||||
unsigned int size,
|
||||
unsigned int align,
|
||||
slab_flags_t flags,
|
||||
unsigned int useroffset,
|
||||
unsigned int usersize,
|
||||
void (* ctor)(void *))
|
||||
{
|
||||
return kmem_cache_create(name, size, align, flags, ctor);
|
||||
}
|
||||
|
||||
|
||||
void kmem_cache_free_bulk(struct kmem_cache *s, size_t size, void **p)
|
||||
{
|
||||
size_t i;
|
||||
|
||||
for (i = 0; i < size; i++) {
|
||||
kmem_cache_free(s, p[i]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#include <linux/fs.h>
|
||||
|
||||
int register_filesystem(struct file_system_type * fs)
|
||||
@ -257,21 +233,6 @@ int task_work_add(struct task_struct * task,struct callback_head * work,enum tas
|
||||
#endif
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
void kfree_sensitive(const void *p)
|
||||
{
|
||||
size_t ks;
|
||||
void *mem = (void *)p;
|
||||
|
||||
ks = ksize(mem);
|
||||
if (ks)
|
||||
memset(mem, 0, ks);
|
||||
|
||||
kfree(mem);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/gfp.h>
|
||||
#include <linux/slab.h>
|
||||
|
||||
@ -523,22 +484,4 @@ void *dmam_alloc_attrs(struct device *dev, size_t size, dma_addr_t *dma_handle,
|
||||
}
|
||||
|
||||
|
||||
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;
|
||||
|
@ -72,14 +72,6 @@ int __init devices_init(void)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/rcutree.h>
|
||||
|
||||
void kvfree(const void * addr)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/timekeeper_internal.h>
|
||||
|
||||
void update_vsyscall(struct timekeeper * tk)
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* \brief Dummy definitions of Linux Kernel functions
|
||||
* \author Automatically generated file - do no edit
|
||||
* \date 2023-03-27
|
||||
* \date 2024-07-16
|
||||
*/
|
||||
|
||||
#include <lx_emul.h>
|
||||
@ -169,6 +169,22 @@ void fwnode_handle_put(struct fwnode_handle * fwnode)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kernel.h>
|
||||
|
||||
int get_option(char ** str,int * pint)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/gfp.h>
|
||||
|
||||
bool gfp_pfmemalloc_allowed(gfp_t gfp_mask)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/uuid.h>
|
||||
|
||||
const u8 guid_index[16] = {};
|
||||
@ -278,14 +294,6 @@ 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>
|
||||
|
||||
noinline int kstrtoint(const char * s,unsigned int base,int * res)
|
||||
@ -344,6 +352,14 @@ int of_property_read_string(const struct device_node * np,const char * propname,
|
||||
}
|
||||
|
||||
|
||||
#include <linux/panic.h>
|
||||
|
||||
void panic(const char * fmt,...)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/siphash.h>
|
||||
|
||||
u64 siphash_1u64(const u64 first,const siphash_key_t * key)
|
||||
@ -365,14 +381,6 @@ void smp_call_function_many(const struct cpumask * mask,smp_call_func_t func,voi
|
||||
bool static_key_initialized;
|
||||
|
||||
|
||||
#include <linux/string_helpers.h>
|
||||
|
||||
int string_escape_mem(const char * src,size_t isz,char * dst,size_t osz,unsigned int flags,const char * only)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/clockchips.h>
|
||||
|
||||
void tick_broadcast(const struct cpumask * mask)
|
||||
|
@ -34,10 +34,16 @@ lib/find_bit.c
|
||||
lib/hexdump.c
|
||||
lib/hweight.c
|
||||
lib/idr.c
|
||||
lib/math/reciprocal_div.c
|
||||
lib/radix-tree.c
|
||||
lib/rbtree.c
|
||||
lib/refcount.c
|
||||
lib/string.c
|
||||
lib/string_helpers.c
|
||||
lib/timerqueue.c
|
||||
lib/vsprintf.c
|
||||
lib/xarray.c
|
||||
mm/memblock.c
|
||||
mm/slab_common.c
|
||||
mm/slub.c
|
||||
mm/util.c
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* \brief Dummy definitions of Linux Kernel functions
|
||||
* \author Automatically generated file - do no edit
|
||||
* \date 2024-01-25
|
||||
* \date 2024-07-16
|
||||
*/
|
||||
|
||||
#include <lx_emul.h>
|
||||
@ -160,6 +160,22 @@ void fwnode_handle_put(struct fwnode_handle * fwnode)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kernel.h>
|
||||
|
||||
int get_option(char ** str,int * pint)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/gfp.h>
|
||||
|
||||
bool gfp_pfmemalloc_allowed(gfp_t gfp_mask)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/uuid.h>
|
||||
|
||||
const u8 guid_index[16] = {};
|
||||
@ -221,14 +237,6 @@ 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>
|
||||
|
||||
noinline int kstrtoint(const char * s,unsigned int base,int * res)
|
||||
@ -253,17 +261,17 @@ char * kvasprintf(gfp_t gfp,const char * fmt,va_list ap)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/siphash.h>
|
||||
#include <linux/panic.h>
|
||||
|
||||
u64 siphash_1u64(const u64 first,const siphash_key_t * key)
|
||||
void panic(const char * fmt,...)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/string.h>
|
||||
#include <linux/siphash.h>
|
||||
|
||||
char * skip_spaces(const char * str)
|
||||
u64 siphash_1u64(const u64 first,const siphash_key_t * key)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
@ -290,14 +298,6 @@ int smp_call_function_single(int cpu,smp_call_func_t func,void * info,int wait)
|
||||
bool static_key_initialized;
|
||||
|
||||
|
||||
#include <linux/string_helpers.h>
|
||||
|
||||
int string_escape_mem(const char * src,size_t isz,char * dst,size_t osz,unsigned int flags,const char * only)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/uuid.h>
|
||||
|
||||
const u8 uuid_index[16] = {};
|
||||
|
@ -28,10 +28,16 @@ lib/ctype.c
|
||||
lib/find_bit.c
|
||||
lib/hexdump.c
|
||||
lib/idr.c
|
||||
lib/math/reciprocal_div.c
|
||||
lib/radix-tree.c
|
||||
lib/rbtree.c
|
||||
lib/refcount.c
|
||||
lib/string.c
|
||||
lib/string_helpers.c
|
||||
lib/timerqueue.c
|
||||
lib/vsprintf.c
|
||||
lib/xarray.c
|
||||
mm/memblock.c
|
||||
mm/slab_common.c
|
||||
mm/slub.c
|
||||
mm/util.c
|
||||
|
@ -11,6 +11,10 @@ LX_ENABLE += NO_HZ_IDLE
|
||||
# initrd support
|
||||
LX_ENABLE += BINFMT_ELF BLK_DEV_INITRD
|
||||
|
||||
# kmem_cache allocator
|
||||
LX_DISABLE += SLOB SLUB_DEBUG
|
||||
LX_ENABLE += SLUB
|
||||
|
||||
# network infrastructure
|
||||
LX_ENABLE += NET NETDEVICES
|
||||
|
||||
|
@ -30,7 +30,6 @@ SRC_C += lx_emul/shadow/kernel/irq/spurious.c
|
||||
SRC_C += lx_emul/shadow/lib/devres.c
|
||||
SRC_C += lx_emul/shadow/lib/smp_processor_id.c
|
||||
SRC_C += lx_emul/shadow/mm/dmapool.c
|
||||
SRC_C += lx_emul/shadow/mm/memblock.c
|
||||
SRC_C += lx_emul/shadow/mm/page_alloc.c
|
||||
SRC_C += lx_emul/shadow/mm/vmalloc.c
|
||||
SRC_C += lx_emul/shadow/drivers/char/random.c
|
||||
|
@ -697,14 +697,6 @@ void iomap_free(resource_size_t base, unsigned long size)
|
||||
}
|
||||
|
||||
|
||||
#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;
|
||||
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* \brief Dummy definitions of Linux Kernel functions
|
||||
* \author Automatically generated file - do no edit
|
||||
* \date 2023-11-02
|
||||
* \date 2024-07-16
|
||||
*/
|
||||
|
||||
#include <lx_emul.h>
|
||||
@ -91,14 +91,6 @@ void __unregister_chrdev(unsigned int major,unsigned int baseminor,unsigned int
|
||||
}
|
||||
|
||||
|
||||
#include <linux/vmalloc.h>
|
||||
|
||||
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__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/printk.h>
|
||||
|
||||
int _printk_deferred(const char * fmt,...)
|
||||
@ -516,6 +508,14 @@ void gen6_rps_irq_handler(struct intel_rps * rps,u32 pm_iir)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/gfp.h>
|
||||
|
||||
bool gfp_pfmemalloc_allowed(gfp_t gfp_mask)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/gpio/machine.h>
|
||||
|
||||
void gpiod_add_lookup_table(struct gpiod_lookup_table * table)
|
||||
|
@ -228,15 +228,6 @@ size_t dma_max_mapping_size(struct device * dev)
|
||||
}
|
||||
|
||||
|
||||
#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;
|
||||
|
||||
|
||||
|
@ -280,6 +280,7 @@ lib/kstrtox.c
|
||||
lib/list_sort.c
|
||||
lib/llist.c
|
||||
lib/math/div64.c
|
||||
lib/math/reciprocal_div.c
|
||||
lib/radix-tree.c
|
||||
lib/rbtree.c
|
||||
lib/refcount.c
|
||||
@ -292,5 +293,8 @@ lib/timerqueue.c
|
||||
lib/uuid.c
|
||||
lib/vsprintf.c
|
||||
lib/xarray.c
|
||||
mm/memblock.c
|
||||
mm/mempool.c
|
||||
mm/slab_common.c
|
||||
mm/slub.c
|
||||
mm/util.c
|
||||
|
@ -282,6 +282,7 @@ lib/kobject_uevent.c
|
||||
lib/kstrtox.c
|
||||
lib/list_sort.c
|
||||
lib/llist.c
|
||||
lib/math/reciprocal_div.c
|
||||
lib/radix-tree.c
|
||||
lib/rbtree.c
|
||||
lib/refcount.c
|
||||
@ -294,5 +295,8 @@ lib/timerqueue.c
|
||||
lib/uuid.c
|
||||
lib/vsprintf.c
|
||||
lib/xarray.c
|
||||
mm/memblock.c
|
||||
mm/mempool.c
|
||||
mm/slab_common.c
|
||||
mm/slub.c
|
||||
mm/util.c
|
||||
|
@ -73,38 +73,6 @@ void page_frag_free(void * addr)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
struct kmem_cache * kmem_cache_create_usercopy(const char * name,
|
||||
unsigned int size,
|
||||
unsigned int align,
|
||||
slab_flags_t flags,
|
||||
unsigned int useroffset,
|
||||
unsigned int usersize,
|
||||
void (* ctor)(void *))
|
||||
{
|
||||
return kmem_cache_create(name, size, align, flags, ctor);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
void kmem_cache_free_bulk(struct kmem_cache * s, size_t size, void ** p)
|
||||
{
|
||||
size_t i;
|
||||
|
||||
for (i = 0; i < size; i++)
|
||||
kmem_cache_free(s, p[i]);
|
||||
}
|
||||
|
||||
|
||||
#include <asm/hardirq.h>
|
||||
|
||||
void ack_bad_irq(unsigned int irq)
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* \brief Dummy definitions of Linux Kernel functions
|
||||
* \author Automatically generated file - do no edit
|
||||
* \date 2023-10-10
|
||||
* \date 2024-07-16
|
||||
*/
|
||||
|
||||
#include <lx_emul.h>
|
||||
@ -92,14 +92,6 @@ void __srcu_read_unlock(struct srcu_struct * ssp,int idx)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/vmalloc.h>
|
||||
|
||||
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__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/printk.h>
|
||||
|
||||
int _printk_deferred(const char * fmt,...)
|
||||
@ -484,14 +476,6 @@ void kill_anon_super(struct super_block * sb)
|
||||
}
|
||||
|
||||
|
||||
#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/kmsg_dump.h>
|
||||
|
||||
void kmsg_dump(enum kmsg_dump_reason reason)
|
||||
|
@ -93,6 +93,7 @@ lib/kstrtox.c
|
||||
lib/list_sort.c
|
||||
lib/llist.c
|
||||
lib/math/div64.c
|
||||
lib/math/reciprocal_div.c
|
||||
lib/radix-tree.c
|
||||
lib/rbtree.c
|
||||
lib/refcount.c
|
||||
@ -105,7 +106,11 @@ lib/timerqueue.c
|
||||
lib/uuid.c
|
||||
lib/vsprintf.c
|
||||
lib/xarray.c
|
||||
mm/memblock.c
|
||||
mm/mempool.c
|
||||
mm/slab_common.c
|
||||
mm/slub.c
|
||||
mm/util.c
|
||||
mm/util.c
|
||||
net/core/datagram.c
|
||||
net/core/dev.c
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* \brief Dummy definitions of Linux Kernel functions
|
||||
* \author Automatically generated file - do no edit
|
||||
* \date 2023-11-21
|
||||
* \date 2024-07-16
|
||||
*/
|
||||
|
||||
#include <lx_emul.h>
|
||||
@ -92,14 +92,6 @@ void __srcu_read_unlock(struct srcu_struct * ssp,int idx)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/vmalloc.h>
|
||||
|
||||
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__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/printk.h>
|
||||
|
||||
int _printk_deferred(const char * fmt,...)
|
||||
@ -487,14 +479,6 @@ void kill_anon_super(struct super_block * sb)
|
||||
}
|
||||
|
||||
|
||||
#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/kmsg_dump.h>
|
||||
|
||||
void kmsg_dump(enum kmsg_dump_reason reason)
|
||||
|
@ -94,6 +94,7 @@ lib/kobject.c
|
||||
lib/kstrtox.c
|
||||
lib/list_sort.c
|
||||
lib/llist.c
|
||||
lib/math/reciprocal_div.c
|
||||
lib/radix-tree.c
|
||||
lib/rbtree.c
|
||||
lib/refcount.c
|
||||
@ -106,7 +107,11 @@ lib/timerqueue.c
|
||||
lib/uuid.c
|
||||
lib/vsprintf.c
|
||||
lib/xarray.c
|
||||
mm/memblock.c
|
||||
mm/mempool.c
|
||||
mm/slab_common.c
|
||||
mm/slub.c
|
||||
mm/util.c
|
||||
mm/util.c
|
||||
net/core/datagram.c
|
||||
net/core/dev.c
|
||||
|
@ -16,6 +16,13 @@
|
||||
const struct attribute_group pci_dev_acpi_attr_group;
|
||||
|
||||
|
||||
#include <asm/preempt.h>
|
||||
#include <asm/smp.h>
|
||||
|
||||
struct smp_ops smp_ops = { };
|
||||
EXPORT_SYMBOL_GPL(smp_ops);
|
||||
|
||||
|
||||
#include <linux/syscore_ops.h>
|
||||
|
||||
void register_syscore_ops(struct syscore_ops * ops)
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* \brief Dummy definitions of Linux Kernel functions
|
||||
* \author Automatically generated file - do no edit
|
||||
* \date 2023-11-06
|
||||
* \date 2024-07-16
|
||||
*/
|
||||
|
||||
#include <lx_emul.h>
|
||||
@ -44,6 +44,14 @@ void __put_task_struct(struct task_struct * tsk)
|
||||
}
|
||||
|
||||
|
||||
#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/srcu.h>
|
||||
|
||||
void __srcu_read_unlock(struct srcu_struct * ssp,int idx)
|
||||
@ -83,6 +91,13 @@ int add_uevent_var(struct kobj_uevent_env * env,const char * format,...)
|
||||
}
|
||||
|
||||
|
||||
extern void arch_trigger_cpumask_backtrace(const cpumask_t * mask,bool exclude_self);
|
||||
void arch_trigger_cpumask_backtrace(const cpumask_t * mask,bool exclude_self)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/async.h>
|
||||
|
||||
async_cookie_t async_schedule_node(async_func_t func,void * data,int node)
|
||||
@ -99,6 +114,38 @@ void async_synchronize_full(void)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/kernel.h>
|
||||
|
||||
void bust_spinlocks(int yes)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/console.h>
|
||||
|
||||
void console_flush_on_panic(enum con_flush_mode mode)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/console.h>
|
||||
|
||||
void console_unblank(void)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/printk.h>
|
||||
|
||||
void console_verbose(void)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/arch_topology.h>
|
||||
|
||||
const struct cpumask * cpu_clustergroup_mask(int cpu)
|
||||
@ -131,6 +178,14 @@ asmlinkage __visible void dump_stack(void)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/reboot.h>
|
||||
|
||||
void emergency_restart(void)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/capability.h>
|
||||
|
||||
bool file_ns_capable(const struct file * file,struct user_namespace * ns,int cap)
|
||||
@ -179,6 +234,14 @@ void gen_pool_free_owner(struct gen_pool * pool,unsigned long addr,size_t size,v
|
||||
}
|
||||
|
||||
|
||||
#include <linux/gfp.h>
|
||||
|
||||
bool gfp_pfmemalloc_allowed(gfp_t gfp_mask)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/uuid.h>
|
||||
|
||||
const u8 guid_index[16] = {};
|
||||
@ -271,9 +334,9 @@ int kill_pid_usb_asyncio(int sig,int errno,sigval_t addr,struct pid * pid,const
|
||||
}
|
||||
|
||||
|
||||
#include <linux/slab.h>
|
||||
#include <linux/kmsg_dump.h>
|
||||
|
||||
void * kmem_cache_alloc_lru(struct kmem_cache * cachep,struct list_lru * lru,gfp_t flags)
|
||||
void kmsg_dump(enum kmsg_dump_reason reason)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
@ -316,6 +379,11 @@ void note_interrupt(struct irq_desc * desc,irqreturn_t action_ret)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/reboot.h>
|
||||
|
||||
enum reboot_mode panic_reboot_mode;
|
||||
|
||||
|
||||
#include <linux/moduleparam.h>
|
||||
|
||||
int param_set_copystring(const char * val,const struct kernel_param * kp)
|
||||
@ -372,6 +440,11 @@ int proc_douintvec(struct ctl_table * table,int write,void * buffer,size_t * len
|
||||
}
|
||||
|
||||
|
||||
#include <linux/reboot.h>
|
||||
|
||||
enum reboot_mode reboot_mode;
|
||||
|
||||
|
||||
#include <linux/refcount.h>
|
||||
|
||||
void refcount_warn_saturate(refcount_t * r,enum refcount_saturation_type t)
|
||||
@ -396,6 +469,14 @@ void seq_printf(struct seq_file * m,const char * f,...)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/sched/debug.h>
|
||||
|
||||
void show_state_filter(unsigned int state_filter)
|
||||
{
|
||||
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)
|
||||
@ -417,6 +498,11 @@ int smp_call_function_single(int cpu,smp_call_func_t func,void * info,int wait)
|
||||
bool static_key_initialized;
|
||||
|
||||
|
||||
#include <linux/printk.h>
|
||||
|
||||
int suppress_printk;
|
||||
|
||||
|
||||
#include <linux/sysctl.h>
|
||||
|
||||
const int sysctl_vals[] = {};
|
||||
|
@ -92,6 +92,7 @@ lib/kobject.c
|
||||
lib/kstrtox.c
|
||||
lib/list_sort.c
|
||||
lib/math/div64.c
|
||||
lib/math/reciprocal_div.c
|
||||
lib/radix-tree.c
|
||||
lib/rbtree.c
|
||||
lib/scatterlist.c
|
||||
@ -102,5 +103,8 @@ lib/string_helpers.c
|
||||
lib/timerqueue.c
|
||||
lib/vsprintf.c
|
||||
lib/xarray.c
|
||||
mm/memblock.c
|
||||
mm/mempool.c
|
||||
mm/slab_common.c
|
||||
mm/slub.c
|
||||
mm/util.c
|
||||
|
@ -91,6 +91,7 @@ lib/klist.c
|
||||
lib/kobject.c
|
||||
lib/kstrtox.c
|
||||
lib/list_sort.c
|
||||
lib/math/reciprocal_div.c
|
||||
lib/radix-tree.c
|
||||
lib/rbtree.c
|
||||
lib/scatterlist.c
|
||||
@ -101,5 +102,8 @@ lib/string_helpers.c
|
||||
lib/timerqueue.c
|
||||
lib/vsprintf.c
|
||||
lib/xarray.c
|
||||
mm/memblock.c
|
||||
mm/mempool.c
|
||||
mm/slab_common.c
|
||||
mm/slub.c
|
||||
mm/util.c
|
||||
|
@ -198,6 +198,7 @@ static const char * lx_emul_initcall_order[] = {
|
||||
"__initcall_mm_compute_batch_init6",
|
||||
"__initcall_workingset_init6",
|
||||
"__initcall_proc_vmalloc_init6",
|
||||
"__initcall_slab_sysfs_init6",
|
||||
"__initcall_fcntl_init6",
|
||||
"__initcall_proc_filesystems_init6",
|
||||
"__initcall_start_dirtytime_writeback6",
|
||||
|
@ -217,6 +217,10 @@ include/asm-generic/rwonce.h
|
||||
include/asm-generic/sections.h
|
||||
include/asm-generic/topology.h
|
||||
include/asm-generic/unaligned.h
|
||||
include/kunit/assert.h
|
||||
include/kunit/resource.h
|
||||
include/kunit/test.h
|
||||
include/kunit/try-catch.h
|
||||
include/linux/acpi.h
|
||||
include/linux/alarmtimer.h
|
||||
include/linux/align.h
|
||||
@ -264,6 +268,7 @@ include/linux/clk/clk-conf.h
|
||||
include/linux/clockchips.h
|
||||
include/linux/clocksource.h
|
||||
include/linux/clocksource_ids.h
|
||||
include/linux/compaction.h
|
||||
include/linux/compat.h
|
||||
include/linux/compiler-gcc.h
|
||||
include/linux/compiler-version.h
|
||||
@ -406,6 +411,7 @@ include/linux/kernel_stat.h
|
||||
include/linux/kernfs.h
|
||||
include/linux/kexec.h
|
||||
include/linux/key.h
|
||||
include/linux/kfence.h
|
||||
include/linux/kfifo.h
|
||||
include/linux/kgdb.h
|
||||
include/linux/klist.h
|
||||
@ -452,6 +458,7 @@ include/linux/mdio.h
|
||||
include/linux/mem_encrypt.h
|
||||
include/linux/memblock.h
|
||||
include/linux/memcontrol.h
|
||||
include/linux/memory.h
|
||||
include/linux/memory_hotplug.h
|
||||
include/linux/mempolicy.h
|
||||
include/linux/mempool.h
|
||||
@ -579,6 +586,7 @@ include/linux/rcupdate.h
|
||||
include/linux/rcutree.h
|
||||
include/linux/rcuwait.h
|
||||
include/linux/reboot.h
|
||||
include/linux/reciprocal_div.h
|
||||
include/linux/ref_tracker.h
|
||||
include/linux/refcount.h
|
||||
include/linux/resource.h
|
||||
@ -648,6 +656,7 @@ include/linux/siphash.h
|
||||
include/linux/sizes.h
|
||||
include/linux/skbuff.h
|
||||
include/linux/slab.h
|
||||
include/linux/slub_def.h
|
||||
include/linux/smp.h
|
||||
include/linux/smp_types.h
|
||||
include/linux/smpboot.h
|
||||
@ -805,7 +814,9 @@ include/net/xdp.h
|
||||
include/trace/define_trace.h
|
||||
include/trace/events/error_report.h
|
||||
include/trace/events/irq.h
|
||||
include/trace/events/kmem.h
|
||||
include/trace/events/lock.h
|
||||
include/trace/events/mmflags.h
|
||||
include/trace/events/power.h
|
||||
include/trace/events/sched.h
|
||||
include/trace/events/timer.h
|
||||
|
@ -50,9 +50,6 @@ asmlinkage __wsum csum_partial(const void * buff,int len,__wsum sum)
|
||||
#endif /* CONFIG_X86_32 */
|
||||
|
||||
|
||||
struct static_key_false init_on_alloc;
|
||||
|
||||
|
||||
#include <linux/proc_ns.h>
|
||||
|
||||
int proc_alloc_inum(unsigned int * inum)
|
||||
@ -80,6 +77,14 @@ unsigned int get_next_ino(void)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/fs.h>
|
||||
|
||||
void inode_init_once(struct inode * inode)
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/netdevice.h>
|
||||
|
||||
int __init dev_proc_init(void)
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* \brief Dummy definitions of Linux Kernel functions
|
||||
* \author Automatically generated file - do no edit
|
||||
* \date 2023-11-02
|
||||
* \date 2024-07-16
|
||||
*/
|
||||
|
||||
#include <lx_emul.h>
|
||||
@ -116,14 +116,6 @@ void __srcu_read_unlock(struct srcu_struct * ssp,int idx)
|
||||
}
|
||||
|
||||
|
||||
#include <linux/vmalloc.h>
|
||||
|
||||
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__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/uaccess.h>
|
||||
|
||||
unsigned long _copy_to_user(void __user * to,const void * from,unsigned long n)
|
||||
@ -568,14 +560,6 @@ int import_single_range(int rw,void __user * buf,size_t len,struct iovec * iov,s
|
||||
bool initcall_debug;
|
||||
|
||||
|
||||
#include <linux/fs.h>
|
||||
|
||||
void inode_init_once(struct inode * inode)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/sched.h>
|
||||
|
||||
void __sched io_schedule(void)
|
||||
|
@ -201,6 +201,7 @@ lib/kobject.c
|
||||
lib/kstrtox.c
|
||||
lib/list_sort.c
|
||||
lib/math/div64.c
|
||||
lib/math/reciprocal_div.c
|
||||
lib/nlattr.c
|
||||
lib/radix-tree.c
|
||||
lib/rbtree.c
|
||||
@ -214,7 +215,10 @@ lib/string_helpers.c
|
||||
lib/timerqueue.c
|
||||
lib/vsprintf.c
|
||||
lib/xarray.c
|
||||
mm/memblock.c
|
||||
mm/mempool.c
|
||||
mm/slab_common.c
|
||||
mm/slub.c
|
||||
mm/util.c
|
||||
net/core/datagram.c
|
||||
net/core/dev.c
|
||||
|
@ -39,12 +39,6 @@ drivers/base/driver.c
|
||||
drivers/base/platform.c
|
||||
drivers/base/property.c
|
||||
drivers/net/loopback.c
|
||||
drivers/net/wireless/ath/dfs_pattern_detector.c
|
||||
drivers/net/wireless/ath/dfs_pri_detector.c
|
||||
drivers/net/wireless/ath/hw.c
|
||||
drivers/net/wireless/ath/key.c
|
||||
drivers/net/wireless/ath/main.c
|
||||
drivers/net/wireless/ath/regd.c
|
||||
drivers/net/wireless/ath/ath9k/ani.c
|
||||
drivers/net/wireless/ath/ath9k/antenna.c
|
||||
drivers/net/wireless/ath/ath9k/ar5008_phy.c
|
||||
@ -83,6 +77,12 @@ drivers/net/wireless/ath/ath9k/pci.c
|
||||
drivers/net/wireless/ath/ath9k/recv.c
|
||||
drivers/net/wireless/ath/ath9k/wmi.c
|
||||
drivers/net/wireless/ath/ath9k/xmit.c
|
||||
drivers/net/wireless/ath/dfs_pattern_detector.c
|
||||
drivers/net/wireless/ath/dfs_pri_detector.c
|
||||
drivers/net/wireless/ath/hw.c
|
||||
drivers/net/wireless/ath/key.c
|
||||
drivers/net/wireless/ath/main.c
|
||||
drivers/net/wireless/ath/regd.c
|
||||
drivers/net/wireless/intel/iwlwifi/cfg/1000.c
|
||||
drivers/net/wireless/intel/iwlwifi/cfg/2000.c
|
||||
drivers/net/wireless/intel/iwlwifi/cfg/22000.c
|
||||
@ -245,6 +245,7 @@ lib/klist.c
|
||||
lib/kobject.c
|
||||
lib/kstrtox.c
|
||||
lib/list_sort.c
|
||||
lib/math/reciprocal_div.c
|
||||
lib/nlattr.c
|
||||
lib/radix-tree.c
|
||||
lib/rbtree.c
|
||||
@ -258,7 +259,10 @@ lib/string_helpers.c
|
||||
lib/timerqueue.c
|
||||
lib/vsprintf.c
|
||||
lib/xarray.c
|
||||
mm/memblock.c
|
||||
mm/mempool.c
|
||||
mm/slab_common.c
|
||||
mm/slub.c
|
||||
mm/util.c
|
||||
net/core/datagram.c
|
||||
net/core/dev.c
|
||||
|
@ -11,6 +11,10 @@ LX_ENABLE += NO_HZ_IDLE HIGH_RES_TIMERS
|
||||
# initrd support
|
||||
LX_ENABLE += BINFMT_ELF BINFMT_SCRIPT BLK_DEV_INITRD
|
||||
|
||||
# kmem_cache allocator
|
||||
LX_DISABLE += SLOB SLUB_DEBUG
|
||||
LX_ENABLE += SLUB
|
||||
|
||||
# UART device
|
||||
LX_ENABLE += SERIAL_8250 SERIAL_8250_CONSOLE
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user