1/* 2 * Copyright 2003-2011, Haiku, Inc. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * Ingo Weinhold <bonefish@cs.tu-berlin.de> 7 * François Revol <revol@free.fr> 8 * Jonas Sundström <jonas@kirilla.com 9 * 10 * Copyright 2001, Travis Geiselbrecht. All rights reserved. 11 * Distributed under the terms of the NewOS License. 12 */ 13 14 15#include <arch_thread.h> 16 17#include <arch_cpu.h> 18#include <arch/thread.h> 19#include <boot/stage2.h> 20#include <kernel.h> 21#include <thread.h> 22#include <vm/vm_types.h> 23#include <vm/VMAddressSpace.h> 24#include <arch_vm.h> 25 26#include <string.h> 27 28 29static struct arch_thread sInitialState; 30 31 32void 33mipsel_push_iframe(struct iframe_stack *stack, struct iframe *frame) 34{ 35#warning IMPLEMENT mipsel_push_iframe 36} 37 38 39void 40mipsel_pop_iframe(struct iframe_stack *stack) 41{ 42#warning IMPLEMENT mipsel_pop_iframe 43} 44 45 46static struct iframe * 47mipsel_get_current_iframe(void) 48{ 49#warning IMPLEMENT mipsel_get_current_iframe 50 return NULL; 51} 52 53 54struct iframe * 55mipsel_get_user_iframe(void) 56{ 57#warning IMPLEMENT mipsel_get_user_iframe 58 return NULL; 59} 60 61 62// #pragma mark - 63 64 65status_t 66arch_thread_init(struct kernel_args *args) 67{ 68#warning IMPLEMENT arch_thread_init 69 return B_ERROR; 70} 71 72 73status_t 74arch_team_init_team_struct(Team *team, bool kernel) 75{ 76#warning IMPLEMENT arch_team_init_team_struct 77 return B_ERROR; 78} 79 80 81status_t 82arch_thread_init_thread_struct(Thread *thread) 83{ 84#warning IMPLEMENT arch_thread_init_thread_struct 85 return B_ERROR; 86} 87 88 89void 90arch_thread_init_kthread_stack(Thread* thread, void* _stack, void* _stackTop, 91 void (*function)(void*), const void* data) 92{ 93#warning IMPLEMENT arch_thread_init_kthread_stack 94} 95 96 97status_t 98arch_thread_init_tls(Thread *thread) 99{ 100#warning IMPLEMENT arch_thread_init_tls 101 return B_ERROR; 102} 103 104 105void 106arch_thread_context_switch(Thread *from, Thread *to) 107{ 108#warning IMPLEMENT arch_thread_context_switch 109} 110 111 112void 113arch_thread_dump_info(void *info) 114{ 115#warning IMPLEMENT arch_thread_dump_info 116} 117 118 119status_t 120arch_thread_enter_userspace(Thread *thread, addr_t entry, void *arg1, 121 void *arg2) 122{ 123#warning IMPLEMENT arch_thread_enter_userspace 124 panic("arch_thread_enter_uspace(): not yet implemented\n"); 125 return B_ERROR; 126} 127 128 129bool 130arch_on_signal_stack(Thread *thread) 131{ 132#warning IMPLEMENT arch_on_signal_stack 133 return false; 134} 135 136 137status_t 138arch_setup_signal_frame(Thread *thread, struct sigaction *sa, 139 struct signal_frame_data *signalFrameData) 140{ 141#warning IMPLEMENT arch_setup_signal_frame 142 return B_ERROR; 143} 144 145 146int64 147arch_restore_signal_frame(struct signal_frame_data* signalFrameData) 148{ 149#warning IMPLEMENT arch_restore_signal_frame 150 return 0; 151} 152 153 154void 155arch_check_syscall_restart(Thread *thread) 156{ 157#warning IMPLEMENT arch_check_syscall_restart 158} 159 160 161void 162arch_store_fork_frame(struct arch_fork_arg *arg) 163{ 164#warning IMPLEMENT arch_store_fork_frame 165} 166 167 168void 169arch_restore_fork_frame(struct arch_fork_arg *arg) 170{ 171#warning IMPLEMENT arch_restore_fork_frame 172} 173 174