xref: /haiku/headers/private/kernel/arch/mipsel/arch_int.h (revision cf02b29e4e0dd6d61c4bb25fcc8620e99d4908bf)
1 /*
2  * Copyright 2005-2009, Haiku Inc. All rights reserved.
3  * Distributed under the terms of the MIT License.
4  *
5  * Authors:
6  * 		Axel Dörfler <axeld@pinc-software.de>
7  * 		Ingo Weinhold <bonefish@cs.tu-berlin.de>
8  */
9 #ifndef _KERNEL_ARCH_MIPSEL_INT_H
10 #define _KERNEL_ARCH_MIPSEL_INT_H
11 
12 
13 #include <SupportDefs.h>
14 
15 
16 #warning IMPLEMENT arch_int.h
17 
18 
19 #define NUM_IO_VECTORS	256
20 
21 
22 struct mipsel_cpu_exception_context {
23 	void	*kernel_handle_exception;	// exception handler routine in the
24 										// kernel
25 	void	*exception_context;			// the virtual address of this
26 										// structure
27 	void	*kernel_stack;				// kernel stack for the current thread
28 
29 	uint32	scratch[8];					// scratch memory for free use in the
30 										// early exception handling code
31 };
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
37 struct mipsel_cpu_exception_context* mipsel_get_cpu_exception_context(int cpu);
38 
39 void mipsel_set_current_cpu_exception_context(
40 	struct mipsel_cpu_exception_context *context);
41 		// only called once per CPU
42 
43 #ifdef __cplusplus
44 }
45 #endif
46 
47 #endif /* _KERNEL_ARCH_MIPSEL_INT_H */
48 
49