Il 15/09/2013 07:08, Kevin O'Connor ha scritto:
> Signed-off-by: Kevin O'Connor <kevin(a)koconnor.net>
> ---
> src/stacks.h | 34 ++++++++++++++++++++++++++++++++++
> 1 file changed, 34 insertions(+)
> create mode 100644 src/stacks.h
>
> diff --git a/src/stacks.h b/src/stacks.h
> new file mode 100644
> index 0000000..5ee4adc
> --- /dev/null
> +++ b/src/stacks.h
> @@ -0,0 +1,34 @@
> +// Misc function and variable declarations.
> +#ifndef __STACKS_H
> +#define __STACKS_H
> +
> +#include "types.h" // u32
> +
> +// stacks.c
> +extern u8 ExtraStack[], *StackPos;
> +u32 stack_hop(u32 eax, u32 edx, void *func);
> +u32 stack_hop_back(u32 eax, u32 edx, void *func);
> +u32 call32(void *func, u32 eax, u32 errret);
> +struct bregs;
> +inline void farcall16(struct bregs *callregs);
> +inline void farcall16big(struct bregs *callregs);
> +inline void __call16_int(struct bregs *callregs, u16 offset);
> +#define call16_int(nr, callregs) do { \
> + extern void irq_trampoline_ ##nr (); \
> + __call16_int((callregs), (u32)&irq_trampoline_ ##nr ); \
> + } while (0)
> +extern struct thread_info MainThread;
> +struct thread_info *getCurThread(void);
> +void yield(void);
> +void yield_toirq(void);
> +void run_thread(void (*func)(void*), void *data);
> +void wait_threads(void);
> +struct mutex_s { u32 isLocked; };
> +void mutex_lock(struct mutex_s *mutex);
> +void mutex_unlock(struct mutex_s *mutex);
> +void start_preempt(void);
> +void finish_preempt(void);
> +int wait_preempt(void);
> +void check_preempt(void);
> +
> +#endif // stacks.h
>
Should be squashed in previous patch.
Paolo