diff --git a/headers/private/kernel/arch/m68k/arch_cpu.h b/headers/private/kernel/arch/m68k/arch_cpu.h index 4f921f6ced..7e9373b7ad 100644 --- a/headers/private/kernel/arch/m68k/arch_cpu.h +++ b/headers/private/kernel/arch/m68k/arch_cpu.h @@ -501,6 +501,7 @@ extern int arch_cpu_type; extern int arch_fpu_type; extern int arch_mmu_type; extern int arch_platform; +extern int arch_machine; /* Use of (some) special purpose registers. diff --git a/src/system/kernel/arch/m68k/Jamfile b/src/system/kernel/arch/m68k/Jamfile index 1af0405a84..870a6d5457 100644 --- a/src/system/kernel/arch/m68k/Jamfile +++ b/src/system/kernel/arch/m68k/Jamfile @@ -25,6 +25,7 @@ KernelMergeObject arch_m68k_060.o : KernelMergeObject kernel_arch_m68k.o : arch_atomic.c + arch_commpage.cpp arch_cpu.cpp arch_cpu_asm.S arch_debug_console.cpp diff --git a/src/system/kernel/arch/m68k/arch_commpage.cpp b/src/system/kernel/arch/m68k/arch_commpage.cpp new file mode 100644 index 0000000000..c9226ca38b --- /dev/null +++ b/src/system/kernel/arch/m68k/arch_commpage.cpp @@ -0,0 +1,31 @@ +/* + * Copyright 2007, Travis Geiselbrecht. All rights reserved. + * Distributed under the terms of the MIT License. + */ + + +#include + +#include + +#include + +#include +#include + + +// user syscall assembly stubs +extern "C" void _user_syscall_int(void); +extern unsigned int _user_syscall_int_end; +extern "C" void _user_syscall_sysenter(void); +extern unsigned int _user_syscall_sysenter_end; + + +status_t +arch_commpage_init(void) +{ + panic("WRITEME"); + return B_NO_INIT; + return B_OK; +} + diff --git a/src/system/kernel/arch/m68k/arch_cpu.cpp b/src/system/kernel/arch/m68k/arch_cpu.cpp index 20aa2eaf48..c8bab02492 100644 --- a/src/system/kernel/arch/m68k/arch_cpu.cpp +++ b/src/system/kernel/arch/m68k/arch_cpu.cpp @@ -23,6 +23,11 @@ extern struct m68k_cpu_ops cpu_ops_060; struct m68k_cpu_ops cpu_ops; +int arch_cpu_type; +int arch_fpu_type; +int arch_mmu_type; +int arch_platform; + status_t arch_cpu_preboot_init_percpu(kernel_args *args, int curr_cpu) { @@ -44,6 +49,7 @@ arch_cpu_init(kernel_args *args) arch_fpu_type = args->arch_args.fpu_type; arch_mmu_type = args->arch_args.mmu_type; arch_platform = args->arch_args.platform; + arch_platform = args->arch_args.machine; void (*flush_insn_pipeline)(void); void (*flush_atc_all)(void); void (*flush_atc_user)(void); diff --git a/src/system/kernel/arch/m68k/arch_thread.c b/src/system/kernel/arch/m68k/arch_thread.c index ed667cf637..a8d41e052e 100644 --- a/src/system/kernel/arch/m68k/arch_thread.c +++ b/src/system/kernel/arch/m68k/arch_thread.c @@ -28,6 +28,8 @@ // a new thread structure. static struct arch_thread sInitialState; +struct thread *gCurrentThread; + // Helper function for thread creation, defined in arch_asm.S. extern void m68k_kernel_thread_root();