diff --git a/repos/pc/run/driver_time.run b/repos/dde_linux/run/driver_time.run
similarity index 76%
rename from repos/pc/run/driver_time.run
rename to repos/dde_linux/run/driver_time.run
index f3b439615c..323fae8eb0 100644
--- a/repos/pc/run/driver_time.run
+++ b/repos/dde_linux/run/driver_time.run
@@ -2,7 +2,7 @@
# Build
#
-if {[expr ![have_spec x86_64]]} {
+if {[expr ![have_spec arm_64] && ![have_spec x86_64]]} {
puts "Run script is not supported on this platform."
exit 0
}
@@ -11,7 +11,6 @@ set use_top 0
set build_components {
core init timer
- drivers/platform
test/driver_time
}
@@ -44,14 +43,6 @@ append config {
-
-
-
-
-
-
-
-
}
@@ -71,11 +62,9 @@ install_config $config
# Boot modules
#
-file copy [select_from_repositories board/[board]/devices] [run_dir]/genode/devices
-
# generic modules
set boot_modules {
- core ld.lib.so init timer platform_drv
+ core ld.lib.so init timer
test-driver_time
}
diff --git a/repos/dde_linux/src/test/driver_time/dummies.c b/repos/dde_linux/src/test/driver_time/dummies.c
new file mode 100644
index 0000000000..f5e05dc480
--- /dev/null
+++ b/repos/dde_linux/src/test/driver_time/dummies.c
@@ -0,0 +1,22 @@
+/*
+ * \brief Dummy definitions of Linux Kernel functions - handled manually
+ * \author Alexander Boettcher
+ * \date 2022-07-01
+ */
+
+/*
+ * Copyright (C) 2022 Genode Labs GmbH
+ *
+ * This file is distributed under the terms of the GNU General Public License
+ * version 2.
+ */
+
+#include
+
+
+#include
+
+void register_syscore_ops(struct syscore_ops * ops)
+{
+ lx_emul_trace(__func__);
+}
diff --git a/repos/dde_linux/src/test/driver_time/lx_emul.h b/repos/dde_linux/src/test/driver_time/lx_emul.h
new file mode 100644
index 0000000000..81699d13a2
--- /dev/null
+++ b/repos/dde_linux/src/test/driver_time/lx_emul.h
@@ -0,0 +1,25 @@
+/**
+ * \brief Dummy definitions of Linux Kernel functions
+ * \author Alexander Boettcher
+ * \date 2022-07-01
+ */
+
+/*
+ * Copyright (C) 2022 Genode Labs GmbH
+ *
+ * This file is distributed under the terms of the GNU General Public License
+ * version 2.
+ */
+
+#ifndef _DRIVER_TIME__LX_EMUL_H_
+#define _DRIVER_TIME__LX_EMUL_H_
+
+/* Needed to trace and stop */
+#include
+
+/* fix for missing includes in generated_dummies */
+#include
+#include
+#include
+
+#endif /* _DRIVER_TIME__LX_EMUL_H_ */
diff --git a/repos/pc/src/test/driver_time/lx_user.c b/repos/dde_linux/src/test/driver_time/lx_user.c
similarity index 94%
rename from repos/pc/src/test/driver_time/lx_user.c
rename to repos/dde_linux/src/test/driver_time/lx_user.c
index b208351078..2affb96f8f 100644
--- a/repos/pc/src/test/driver_time/lx_user.c
+++ b/repos/dde_linux/src/test/driver_time/lx_user.c
@@ -16,7 +16,14 @@
#include
-#include "i915_drv.h" /* test wait_for() macro */
+#ifdef __x86_64__
+/* test wait_for() macro */
+#define CONFIG_DRM_I915_TIMESLICE_DURATION 1
+#define CONFIG_DRM_I915_PREEMPT_TIMEOUT 640
+#define CONFIG_DRM_I915_HEARTBEAT_INTERVAL 2500
+
+#include "i915_drv.h"
+#endif
#include
@@ -46,13 +53,13 @@ struct measure {
\
m_lxemul.start = lx_emul_time_counter(); \
m_jiffies.start = jiffies_64; \
- m_rdtsc.start = rdtsc(); \
+ m_rdtsc.start = get_cycles(); \
\
{ \
fn_test \
} \
\
- m_rdtsc.end = rdtsc(); \
+ m_rdtsc.end = get_cycles(); \
m_jiffies.end = jiffies_64; \
m_lxemul.end = lx_emul_time_counter(); \
\
@@ -120,7 +127,6 @@ static int timing_tests(void * data)
{
DEFINE_WAIT(wait);
wait_queue_head_t wq;
- int ret;
uint64_t const rdtsc_freq_mhz = tsc_freq_khz / 1000;
init_waitqueue_head(&wq);
@@ -146,6 +152,10 @@ static int timing_tests(void * data)
msleep(5000);
);
+#ifdef __x86_64__
+{
+ int ret = 0;
+
test_timing_with_ret("wait_for(cond,10ms) A ->",
add_wait_queue(&wq, &wait);
ret = wait_for((0), 10);
@@ -251,6 +261,10 @@ static int timing_tests(void * data)
ret = wait_for((0), 50);
remove_wait_queue(&wq, &wait);
);
+}
+#else
+ printk("skip x86_64 wait_for() tests ...\n");
+#endif
/* audio driver test case -> sleeping too short or long is bad */
test_timing_no_ret ("usleep_range(20,21) ->",
diff --git a/repos/pc/src/test/driver_time/main.cc b/repos/dde_linux/src/test/driver_time/main.cc
similarity index 100%
rename from repos/pc/src/test/driver_time/main.cc
rename to repos/dde_linux/src/test/driver_time/main.cc
diff --git a/repos/dde_linux/src/test/driver_time/spec/arm_64/generated_dummies.c b/repos/dde_linux/src/test/driver_time/spec/arm_64/generated_dummies.c
new file mode 100644
index 0000000000..64a06886ae
--- /dev/null
+++ b/repos/dde_linux/src/test/driver_time/spec/arm_64/generated_dummies.c
@@ -0,0 +1,304 @@
+/*
+ * \brief Dummy definitions of Linux Kernel functions
+ * \author Automatically generated file - do no edit
+ * \date 2023-03-24
+ */
+
+#include
+
+
+#include
+
+const char * __clk_get_name(const struct clk * clk)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+struct irq_domain * __irq_domain_add(struct fwnode_handle * fwnode,int size,irq_hw_number_t hwirq_max,int direct_max,const struct irq_domain_ops * ops,void * host_data)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+struct irq_desc * __irq_resolve_mapping(struct irq_domain * domain,irq_hw_number_t hwirq,unsigned int * irq)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+unsigned long __per_cpu_offset[NR_CPUS] = {};
+
+
+#include
+
+void __put_task_struct(struct task_struct * tsk)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+u64 (*arch_timer_read_counter)(void);
+
+
+#include
+
+asmlinkage __visible void dump_stack(void)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+bool force_irqthreads;
+
+
+#include
+
+unsigned int fwnode_count_parents(const struct fwnode_handle * fwnode)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+const char * fwnode_get_name(const struct fwnode_handle * fwnode)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+const char * fwnode_get_name_prefix(const struct fwnode_handle * fwnode)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+struct fwnode_handle * fwnode_get_nth_parent(struct fwnode_handle * fwnode,unsigned int depth)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+void fwnode_handle_put(struct fwnode_handle * fwnode)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+const u8 guid_index[16] = {};
+
+
+#include
+
+void handle_fasteoi_irq(struct irq_desc * desc)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+void io_schedule_finish(int token)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+int io_schedule_prepare(void)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+long __sched io_schedule_timeout(long timeout)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+int irq_can_set_affinity(unsigned int irq)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+void irq_domain_free_irqs_common(struct irq_domain * domain,unsigned int virq,unsigned int nr_irqs)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+void irq_domain_set_info(struct irq_domain * domain,unsigned int virq,irq_hw_number_t hwirq,struct irq_chip * chip,void * chip_data,irq_flow_handler_t handler,void * handler_data,const char * handler_name)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+void irq_modify_status(unsigned int irq,unsigned long clr,unsigned long set)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+int irq_set_affinity(unsigned int irq,const struct cpumask * cpumask)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+void irq_set_default_host(struct irq_domain * domain)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+struct irq_desc * irq_to_desc(unsigned int irq)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+void irq_work_tick(void)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+int kstrtoll(const char * s,unsigned int base,long long * res)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+unsigned long lpj_fine;
+
+
+#include
+
+struct property * of_find_property(const struct device_node * np,const char * name,int * lenp)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+const struct fwnode_operations of_fwnode_ops;
+
+
+#include
+
+const char * of_prop_next_string(struct property * prop,const char * cur)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+int of_property_read_string(const struct device_node * np,const char * propname,const char ** out_string)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+int printk_deferred(const char * fmt,...)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+void rcu_irq_enter_irqson(void)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+void rcu_irq_exit_irqson(void)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+u64 siphash_1u64(const u64 first,const siphash_key_t * key)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+bool static_key_initialized;
+
+
+#include
+
+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
+
+void tick_broadcast(const struct cpumask * mask)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+const u8 uuid_index[16] = {};
+
diff --git a/repos/pc/src/test/driver_time/source.list b/repos/dde_linux/src/test/driver_time/spec/arm_64/source.list
similarity index 54%
rename from repos/pc/src/test/driver_time/source.list
rename to repos/dde_linux/src/test/driver_time/spec/arm_64/source.list
index ef8f09d03b..92c0a52198 100644
--- a/repos/pc/src/test/driver_time/source.list
+++ b/repos/dde_linux/src/test/driver_time/spec/arm_64/source.list
@@ -1,29 +1,12 @@
-drivers/base/bus.c
-drivers/base/class.c
-drivers/base/component.c
-drivers/base/core.c
-drivers/base/dd.c
-drivers/base/devres.c
-drivers/base/driver.c
-drivers/base/platform.c
-drivers/base/property.c
-drivers/pci/pci-driver.c
-kernel/async.c
-kernel/irq/chip.c
-kernel/irq/devres.c
-kernel/irq/handle.c
-kernel/irq/irqdesc.c
-kernel/irq/irqdomain.c
-kernel/irq/manage.c
-kernel/irq/resend.c
+arch/arm64/lib/memchr.S
+arch/arm64/lib/memcmp.S
+arch/arm64/lib/strcmp.S
+arch/arm64/lib/strlen.S
kernel/kthread.c
kernel/locking/mutex.c
kernel/locking/osq_lock.c
-kernel/locking/rtmutex.c
kernel/locking/rwsem.c
kernel/notifier.c
-kernel/panic.c
-kernel/resource.c
kernel/sched/clock.c
kernel/sched/completion.c
kernel/sched/swait.c
@@ -36,6 +19,7 @@ kernel/time/clocksource.c
kernel/time/hrtimer.c
kernel/time/jiffies.c
kernel/time/ntp.c
+kernel/time/tick-broadcast-hrtimer.c
kernel/time/tick-broadcast.c
kernel/time/tick-common.c
kernel/time/tick-oneshot.c
@@ -48,32 +32,15 @@ kernel/time/timer.c
kernel/time/timer_list.c
kernel/workqueue.c
lib/bitmap.c
-lib/crc32.c
lib/ctype.c
-lib/debug_locks.c
-lib/dec_and_lock.c
lib/find_bit.c
lib/hexdump.c
lib/hweight.c
lib/idr.c
-lib/iomap.c
-lib/irq_regs.c
-lib/kasprintf.c
-lib/klist.c
-lib/kobject.c
-lib/kstrtox.c
-lib/list_sort.c
-lib/llist.c
lib/radix-tree.c
lib/rbtree.c
lib/refcount.c
-lib/scatterlist.c
-lib/siphash.c
-lib/sort.c
lib/string.c
lib/timerqueue.c
-lib/uuid.c
lib/vsprintf.c
lib/xarray.c
-mm/mempool.c
-mm/util.c
diff --git a/repos/dde_linux/src/test/driver_time/spec/arm_64/target.mk b/repos/dde_linux/src/test/driver_time/spec/arm_64/target.mk
new file mode 100644
index 0000000000..ef575f8cbd
--- /dev/null
+++ b/repos/dde_linux/src/test/driver_time/spec/arm_64/target.mk
@@ -0,0 +1,5 @@
+REQUIRES := arm_64
+
+SRC_C += lx_emul/shadow/arch/arm64/kernel/smp.c
+
+include $(PRG_DIR)/../../target.inc
diff --git a/repos/pc/src/test/driver_time/generated_dummies.c b/repos/dde_linux/src/test/driver_time/spec/x86_64/generated_dummies.c
similarity index 59%
rename from repos/pc/src/test/driver_time/generated_dummies.c
rename to repos/dde_linux/src/test/driver_time/spec/x86_64/generated_dummies.c
index 04b188f12e..65186ba4a3 100644
--- a/repos/pc/src/test/driver_time/generated_dummies.c
+++ b/repos/dde_linux/src/test/driver_time/spec/x86_64/generated_dummies.c
@@ -1,20 +1,12 @@
/*
* \brief Dummy definitions of Linux Kernel functions
* \author Automatically generated file - do no edit
- * \date 2022-09-27
+ * \date 2023-02-24
*/
#include
-#include
-
-void * PDE_DATA(const struct inode * inode)
-{
- lx_emul_trace_and_stop(__func__);
-}
-
-
#include
const char * __clk_get_name(const struct clk * clk)
@@ -31,14 +23,6 @@ void __put_task_struct(struct task_struct * tsk)
}
-#include
-
-void __srcu_read_unlock(struct srcu_struct * ssp,int idx)
-{
- lx_emul_trace_and_stop(__func__);
-}
-
-
#include
unsigned long _copy_to_user(void __user * to,const void * from,unsigned long n)
@@ -47,16 +31,22 @@ unsigned long _copy_to_user(void __user * to,const void * from,unsigned long n)
}
-extern void ack_bad_irq(unsigned int irq);
-void ack_bad_irq(unsigned int irq)
+extern const char * _parse_integer_fixup_radix(const char * s,unsigned int * base);
+const char * _parse_integer_fixup_radix(const char * s,unsigned int * base)
{
lx_emul_trace_and_stop(__func__);
}
-#include
+extern unsigned int _parse_integer_limit(const char * s,unsigned int base,unsigned long long * p,size_t max_chars);
+unsigned int _parse_integer_limit(const char * s,unsigned int base,unsigned long long * p,size_t max_chars)
+{
+ lx_emul_trace_and_stop(__func__);
+}
-int add_uevent_var(struct kobj_uevent_env * env,const char * format,...)
+
+extern void ack_bad_irq(unsigned int irq);
+void ack_bad_irq(unsigned int irq)
{
lx_emul_trace_and_stop(__func__);
}
@@ -70,9 +60,14 @@ asmlinkage __visible void dump_stack(void)
}
-#include
+#include
-bool file_ns_capable(const struct file * file,struct user_namespace * ns,int cap)
+bool force_irqthreads;
+
+
+#include
+
+unsigned int fwnode_count_parents(const struct fwnode_handle * fwnode)
{
lx_emul_trace_and_stop(__func__);
}
@@ -80,31 +75,39 @@ bool file_ns_capable(const struct file * file,struct user_namespace * ns,int cap
#include
-void fwnode_remove_software_node(struct fwnode_handle * fwnode)
+const char * fwnode_get_name(const struct fwnode_handle * fwnode)
{
lx_emul_trace_and_stop(__func__);
}
-#include
+#include
-int get_option(char ** str,int * pint)
+const char * fwnode_get_name_prefix(const struct fwnode_handle * fwnode)
{
lx_emul_trace_and_stop(__func__);
}
-#include
+#include
-struct pseudo_fs_context * init_pseudo(struct fs_context * fc,unsigned long magic)
+struct fwnode_handle * fwnode_get_nth_parent(struct fwnode_handle * fwnode,unsigned int depth)
{
lx_emul_trace_and_stop(__func__);
}
-#include
+#include
-bool initcall_debug;
+void fwnode_handle_put(struct fwnode_handle * fwnode)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+const u8 guid_index[16] = {};
#include
@@ -123,6 +126,30 @@ int io_schedule_prepare(void)
}
+#include
+
+long __sched io_schedule_timeout(long timeout)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+int irq_can_set_affinity(unsigned int irq)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
+#include
+
+int irq_set_affinity(unsigned int irq,const struct cpumask * cpumask)
+{
+ lx_emul_trace_and_stop(__func__);
+}
+
+
#include
void irq_work_tick(void)
@@ -131,43 +158,17 @@ void irq_work_tick(void)
}
-#include
+#include
-bool is_software_node(const struct fwnode_handle * fwnode)
+int kstrtoll(const char * s,unsigned int base,long long * res)
{
lx_emul_trace_and_stop(__func__);
}
-#include
+#include
-struct kobject *kernel_kobj;
-
-
-#include
-
-void kill_anon_super(struct super_block * sb)
-{
- lx_emul_trace_and_stop(__func__);
-}
-
-
-#include
-
-int kobject_synth_uevent(struct kobject * kobj,const char * buf,size_t count)
-{
- lx_emul_trace_and_stop(__func__);
-}
-
-
-#include
-
-struct irq_chip no_irq_chip;
-
-
-#include
-
-void note_interrupt(struct irq_desc * desc,irqreturn_t action_ret)
+u32 prandom_u32(void)
{
lx_emul_trace_and_stop(__func__);
}
@@ -181,9 +182,9 @@ int printk_deferred(const char * fmt,...)
}
-#include
+#include
-void seq_printf(struct seq_file * m,const char * f,...)
+u64 siphash_1u64(const u64 first,const siphash_key_t * key)
{
lx_emul_trace_and_stop(__func__);
}
@@ -210,10 +211,7 @@ int string_escape_mem(const char * src,size_t isz,char * dst,size_t osz,unsigned
}
-#include
+#include
-void wake_q_add_safe(struct wake_q_head * head,struct task_struct * task)
-{
- lx_emul_trace_and_stop(__func__);
-}
+const u8 uuid_index[16] = {};
diff --git a/repos/dde_linux/src/test/driver_time/spec/x86_64/source.list b/repos/dde_linux/src/test/driver_time/spec/x86_64/source.list
new file mode 100644
index 0000000000..c11efb3f64
--- /dev/null
+++ b/repos/dde_linux/src/test/driver_time/spec/x86_64/source.list
@@ -0,0 +1,41 @@
+arch/x86/lib/hweight.S
+kernel/kthread.c
+kernel/locking/mutex.c
+kernel/locking/osq_lock.c
+kernel/locking/rwsem.c
+kernel/notifier.c
+kernel/sched/clock.c
+kernel/sched/completion.c
+kernel/sched/swait.c
+kernel/sched/wait.c
+kernel/sched/wait_bit.c
+kernel/smpboot.c
+kernel/softirq.c
+kernel/time/clockevents.c
+kernel/time/clocksource.c
+kernel/time/hrtimer.c
+kernel/time/jiffies.c
+kernel/time/ntp.c
+kernel/time/tick-broadcast.c
+kernel/time/tick-common.c
+kernel/time/tick-oneshot.c
+kernel/time/tick-sched.c
+kernel/time/time.c
+kernel/time/timeconv.c
+kernel/time/timecounter.c
+kernel/time/timekeeping.c
+kernel/time/timer.c
+kernel/time/timer_list.c
+kernel/workqueue.c
+lib/bitmap.c
+lib/ctype.c
+lib/find_bit.c
+lib/hexdump.c
+lib/idr.c
+lib/radix-tree.c
+lib/rbtree.c
+lib/refcount.c
+lib/string.c
+lib/timerqueue.c
+lib/vsprintf.c
+lib/xarray.c
diff --git a/repos/dde_linux/src/test/driver_time/spec/x86_64/target.mk b/repos/dde_linux/src/test/driver_time/spec/x86_64/target.mk
new file mode 100644
index 0000000000..84bc74d54e
--- /dev/null
+++ b/repos/dde_linux/src/test/driver_time/spec/x86_64/target.mk
@@ -0,0 +1,3 @@
+REQUIRES := x86_64
+
+include $(PRG_DIR)/../../target.inc
diff --git a/repos/pc/src/test/driver_time/target.mk b/repos/dde_linux/src/test/driver_time/target.inc
similarity index 56%
rename from repos/pc/src/test/driver_time/target.mk
rename to repos/dde_linux/src/test/driver_time/target.inc
index 4a4beeb3c4..64646f01a9 100644
--- a/repos/pc/src/test/driver_time/target.mk
+++ b/repos/dde_linux/src/test/driver_time/target.inc
@@ -1,19 +1,14 @@
-REQUIRES := x86_64
-
TARGET := test-driver_time
-LIBS := base pc_lx_emul jitterentropy
+LIBS := base virt_lx_emul jitterentropy
SRC_CC += main.cc
SRC_C += lx_user.c
SRC_C += dummies.c
SRC_C += generated_dummies.c
+SRC_CC += lx_emul/random.cc
-SRC_C += lx_emul/common_dummies.c
-SRC_C += lx_emul/shadow/lib/kobject_uevent.c
-SRC_C += lx_emul/shadow/drivers/char/random.c
-
-vpath %.c $(REP_DIR)/src/lib/pc
-vpath %.cc $(REP_DIR)/src/lib/pc
+vpath %.c $(PRG_DIR)/../..
+vpath %.cc $(PRG_DIR)/../..
LX_SRC_DIR := $(call select_from_ports,linux)/src/linux
ifeq ($(wildcard $(LX_SRC_DIR)),)
@@ -23,5 +18,5 @@ ifeq ($(wildcard $(LX_SRC_DIR)),)
fail
endif
-INC_DIR += $(PRG_DIR)
+INC_DIR += $(PRG_DIR)/../..
INC_DIR += $(LX_SRC_DIR)/drivers/gpu/drm/i915
diff --git a/repos/pc/src/test/driver_time/dummies.c b/repos/pc/src/test/driver_time/dummies.c
deleted file mode 100644
index efb54bd300..0000000000
--- a/repos/pc/src/test/driver_time/dummies.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * \brief Dummy definitions of Linux Kernel functions - handled manually
- * \author Alexander Boettcher
- * \date 2022-07-01
- */
-
-/*
- * Copyright (C) 2022 Genode Labs GmbH
- *
- * This file is distributed under the terms of the GNU General Public License
- * version 2.
- */
-
-#include
-#include
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-
-int ___ratelimit(struct ratelimit_state * rs, const char * func)
-{
- /*
- * from lib/ratelimit.c:
- * " 0 means callbacks will be suppressed.
- * 1 means go ahead and do it. "
- */
- lx_emul_trace(__func__);
- return 1;
-}
-
-
-#include
-
-long io_schedule_timeout(long timeout)
-{
- lx_emul_trace_and_stop(__func__);
-}
-
-
-void register_syscore_ops(struct syscore_ops * ops)
-{
- lx_emul_trace(__func__);
-}
-
-
-#include
-
-u32 prandom_u32(void)
-{
- lx_emul_trace_and_stop(__func__);
-}
diff --git a/repos/pc/src/test/driver_time/lx_emul.h b/repos/pc/src/test/driver_time/lx_emul.h
deleted file mode 100644
index 4c60a2f777..0000000000
--- a/repos/pc/src/test/driver_time/lx_emul.h
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * \brief Dummy definitions of Linux Kernel functions
- * \author Alexander Boettcher
- * \date 2022-07-01
- */
-
-/*
- * Copyright (C) 2022 Genode Labs GmbH
- *
- * This file is distributed under the terms of the GNU General Public License
- * version 2.
- */