blob: 04e033e3300b6da8a09ccf0cde8b13e79085ecd5 [file] [log] [blame]
Michael Sevakisc935ed52007-10-26 23:16:41 +00001/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * Copyright (C) 2007 by Michael Sevakis
11 *
Daniel Stenberg2acc0ac2008-06-28 18:10:04 +000012 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
Michael Sevakisc935ed52007-10-26 23:16:41 +000016 *
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
19 *
20 ****************************************************************************/
21#ifndef _SYSTEM_SDL_H_
22#define _SYSTEM_SDL_H_
23
24#include <stdbool.h>
25
26#define HIGHEST_IRQ_LEVEL 1
27
28int set_irq_level(int level);
Michael Sevakisaf395f42008-03-26 01:50:41 +000029
30#define disable_irq() \
31 ((void)set_irq_level(HIGHEST_IRQ_LEVEL))
32
33#define enable_irq() \
34 ((void)set_irq_level(0))
35
36#define disable_irq_save() \
37 set_irq_level(HIGHEST_IRQ_LEVEL)
38
39#define restore_irq(level) \
40 ((void)set_irq_level(level))
41
Michael Sevakisc935ed52007-10-26 23:16:41 +000042void sim_enter_irq_handler(void);
43void sim_exit_irq_handler(void);
44bool sim_kernel_init(void);
45void sim_kernel_shutdown(void);
46
Michael Sevakis27cf6772008-03-25 02:34:12 +000047extern long start_tick;
48
Michael Sevakisc935ed52007-10-26 23:16:41 +000049#endif /* _SYSTEM_SDL_H_ */