GadgetSeed  0.9.6
asm-emu.h
[詳解]
1 /** @file
2  @brief エミュレータ用制御
3 
4  @date 2013.03.03
5  @author Takashi SHUDO
6 */
7 
8 #ifndef ASM_EMU_H
9 #define ASM_EMU_H
10 
11 #include <ucontext.h>
12 #include <signal.h>
13 #include <pthread.h>
14 #include <unistd.h>
15 
16 #define ENDIAN_LITTLE
17 
18 extern int pause(void); // <unistd.h>
19 
20 #define SIGNAL_TIMER SIGALRM
21 
22 struct st_context {
23  ucontext_t uc;
24 }; ///< エミュレータ用タスクコンテキスト
25 
26 #define disable_interrupt() block_timer_interrupt()
27 #define enable_interrupt() unblock_timer_interrupt()
28 #define sleep_cpu() do { ualarm(GSC_KERNEL_TIMER_INTERVAL_MSEC*1000, 0); pause(); } while(0)
29 #define user_mode()
30 
31 #define INTNUM_SYSCALL 1 // 割り込み番号(ダミー)
32 
33 extern void syscall_trap(void);
34 extern int block_timer_interrupt(void);
35 extern void unblock_timer_interrupt(void);
36 extern void lock_timer(void);
37 extern void unlock_timer(void);
38 
39 extern void *MEM_START;
40 extern void *MEM_END;
41 
42 #endif // ASM_EMU_H
Cortex-M3 用タスクコンテキスト
Definition: asm-Cortex-M3.h:49