Subversion Repositories freemyipod

Rev

Rev 822 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
14 theseven 1
//
2
//
3
//    Copyright 2010 TheSeven
4
//
5
//
427 farthen 6
//    This file is part of emCORE.
14 theseven 7
//
427 farthen 8
//    emCORE is free software: you can redistribute it and/or
14 theseven 9
//    modify it under the terms of the GNU General Public License as
10
//    published by the Free Software Foundation, either version 2 of the
11
//    License, or (at your option) any later version.
12
//
427 farthen 13
//    emCORE is distributed in the hope that it will be useful,
14 theseven 14
//    but WITHOUT ANY WARRANTY; without even the implied warranty of
15
//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16
//    See the GNU General Public License for more details.
17
//
18
//    You should have received a copy of the GNU General Public License along
427 farthen 19
//    with emCORE.  If not, see <http://www.gnu.org/licenses/>.
14 theseven 20
//
21
//
22
 
23
 
24
#ifndef __CONTEXTSWITCH_H__
25
#define __CONTEXTSWITCH_H__
26
 
27
 
28
#include "global.h"
29
 
30
 
31
void handle_irq(void) __attribute__((noreturn)) ICODE_ATTR;
704 theseven 32
void panic_fatal(uint32_t mode) ICODE_ATTR;
33
void panic_recover(uint32_t mode) ICODE_ATTR;
593 theseven 34
void yield() ICODE_ATTR;
822 theseven 35
void leave_thread(void) __attribute__((noreturn)) ICODE_ATTR;
14 theseven 36
void resume_thread(void) __attribute__((noreturn)) ICODE_ATTR;
37
uint32_t enter_critical_section(void) ICODE_ATTR;
38
void leave_critical_section(uint32_t mode) ICODE_ATTR;
593 theseven 39
void execfirmware(void* dest, void* src, size_t size) __attribute__((noreturn)) ICODE_ATTR;
14 theseven 40
 
41
 
42
#endif