mirror of
https://github.com/genodelabs/genode.git
synced 2025-04-12 13:48:30 +00:00
parent
71c32f2923
commit
22231c0604
@ -25,6 +25,7 @@ endif
|
||||
-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/kernel/rcu/srcutree.c
|
||||
SRC_C += lx_emul/virt/common_dummies.c
|
||||
SRC_CC += lx_emul/virt/irq.cc
|
||||
SRC_CC += lx_kit/memory_non_dma.cc
|
||||
@ -40,3 +41,6 @@ endif
|
||||
ifeq ($(filter-out $(SPECS),arm_64),)
|
||||
SRC_C += lx_emul/virt/spec/arm_64/dummies_arch.c
|
||||
endif
|
||||
ifeq ($(filter-out $(SPECS),arm),)
|
||||
SRC_C += lx_emul/virt/spec/arm/dummies_arch.c
|
||||
endif
|
||||
|
@ -15,6 +15,46 @@
|
||||
#include <lx_emul.h>
|
||||
|
||||
|
||||
extern int __init buses_init(void);
|
||||
int __init buses_init(void)
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
extern int __init classes_init(void);
|
||||
int __init classes_init(void)
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
extern int __init devices_init(void);
|
||||
int __init devices_init(void)
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
#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)
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <net/ipv6_stubs.h>
|
||||
|
||||
const struct ipv6_stub *ipv6_stub = NULL;
|
||||
@ -151,6 +191,14 @@ void __init net_ns_init(void)
|
||||
}
|
||||
|
||||
|
||||
unsigned long __must_check __arch_copy_to_user(void __user *to, const void *from, unsigned long n);
|
||||
unsigned long __must_check __arch_copy_to_user(void __user *to, const void *from, unsigned long n)
|
||||
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#ifdef CONFIG_ARM64
|
||||
extern void flush_dcache_page(struct page * page);
|
||||
void flush_dcache_page(struct page * page)
|
||||
|
@ -13,6 +13,10 @@
|
||||
|
||||
#include <lx_emul.h>
|
||||
|
||||
#include <asm-generic/sections.h>
|
||||
|
||||
char __start_rodata[] = {};
|
||||
char __end_rodata[] = {};
|
||||
|
||||
extern int __init platform_bus_init(void);
|
||||
int __init platform_bus_init(void)
|
||||
@ -39,31 +43,6 @@ int add_random_ready_callback(struct random_ready_callback * rdy)
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
extern int __init buses_init(void);
|
||||
int __init buses_init(void)
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
extern int __init classes_init(void);
|
||||
int __init classes_init(void)
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
extern int __init devices_init(void);
|
||||
int __init devices_init(void)
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
#include <linux/interrupt.h>
|
||||
|
||||
int __init early_irq_init(void)
|
||||
@ -138,25 +117,17 @@ void rcu_sched_clock_irq(int user)
|
||||
}
|
||||
|
||||
|
||||
#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)
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/sched/signal.h>
|
||||
|
||||
void ignore_signals(struct task_struct * t)
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
}
|
||||
|
||||
#include <linux/srcu.h>
|
||||
|
||||
void synchronize_srcu(struct srcu_struct * ssp)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
71
repos/dde_linux/src/lib/lx_emul/virt/spec/arm/dummies_arch.c
Normal file
71
repos/dde_linux/src/lib/lx_emul/virt/spec/arm/dummies_arch.c
Normal file
@ -0,0 +1,71 @@
|
||||
/**
|
||||
* \brief Architecture-specific dummy definitions of Linux Kernel functions
|
||||
* \author Sebastian Sumpf
|
||||
* \date 2023-07-01
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2023 Genode Labs GmbH
|
||||
*
|
||||
* This file is distributed under the terms of the GNU General Public License
|
||||
* version 2.
|
||||
*/
|
||||
|
||||
#include <lx_emul.h>
|
||||
#include <linux/of_fdt.h>
|
||||
|
||||
bool __init early_init_dt_scan(void * params)
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
#include <linux/of_fdt.h>
|
||||
|
||||
void __init unflatten_device_tree(void)
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/of_clk.h>
|
||||
|
||||
void __init of_clk_init(const struct of_device_id * matches)
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/of.h>
|
||||
|
||||
void __init of_core_init(void)
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/irqchip.h>
|
||||
|
||||
void __init irqchip_init(void)
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/sched_clock.h>
|
||||
|
||||
void __init sched_clock_register(u64 (* read)(void),int bits,unsigned long rate)
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/sched_clock.h>
|
||||
|
||||
void __init generic_sched_clock_init(void)
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
}
|
||||
|
||||
|
@ -29,11 +29,6 @@ bool cpu_have_feature(unsigned int num)
|
||||
|
||||
u64 vabits_actual;
|
||||
|
||||
unsigned long __must_check __arch_copy_to_user(void __user *to, const void *from, unsigned long n)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
||||
|
||||
#include <linux/of_fdt.h>
|
||||
|
||||
|
@ -41,3 +41,50 @@ void skb_init()
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
}
|
||||
|
||||
|
||||
extern int __init buses_init(void);
|
||||
int __init buses_init(void)
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
extern int __init classes_init(void);
|
||||
int __init classes_init(void)
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
extern int __init devices_init(void);
|
||||
int __init devices_init(void)
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
#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)
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
}
|
||||
|
||||
|
||||
extern unsigned long __must_check __arch_copy_to_user(void __user *to, const void *from, unsigned long n);
|
||||
unsigned long __must_check __arch_copy_to_user(void __user *to, const void *from, unsigned long n)
|
||||
{
|
||||
lx_emul_trace_and_stop(__func__);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user