Main Page
Related Pages
Modules
Classes
Files
File List
File Members
system.h
Go to the documentation of this file.
1
6
/*
7
* The contents of this file are subject to the Mozilla Public License
8
* Version 1.0 (the "License"); you may not use this file except in
9
* compliance with the License. You may obtain a copy of the License
10
* at http://www.mozilla.org/MPL/
11
*
12
* Software distributed under the License is distributed on an "AS IS"
13
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
14
* the License for the specific language governing rights and
15
* limitations under the License.
16
*
17
* The Original Code is legOS code, released October 17, 1999.
18
*
19
* The Initial Developer of the Original Code is Markus L. Noga.
20
* Portions created by Markus L. Noga are Copyright (C) 1999
21
* Markus L. Noga. All Rights Reserved.
22
*
23
* Contributor(s): Markus L. Noga <markus@noga.de>
24
*/
25
26
#ifndef __rom_system_h__
27
#define __rom_system_h__
28
29
#ifdef __cplusplus
30
extern
"C"
{
31
#endif
32
33
#include <
sys/irq.h
>
34
36
//
37
// Functions
38
//
40
42
extern
inline
void
power_off
(
void
)
43
{
44
__asm__
__volatile__(
"\n\
45
push r6\n\
46
bset #7,@0xc4:8 ; software standby mode\n\
47
jsr @ power_off ; ROM call\n\
48
pop r6\n\
49
"
);
50
}
51
53
// instruction.
54
extern
inline
void
power_init
(
void
) {
55
__asm__
__volatile__(
"\n\
56
push r6\n\
57
jsr @ power_init ; ROM call\n\
58
bclr #7,@0xc4:8 ; disable software standby\n\
59
pop r6\n\
60
"
);
61
}
62
64
extern
void
reset
(
void
) __attribute__((noreturn));
65
67
extern inline
void
rom_reset
(
void
) __attribute__((noreturn));
68
extern inline
void
rom_reset
(
void
) {
69
disable_irqs
();
70
reset
();
71
}
72
73
#ifdef __cplusplus
74
}
75
#endif
76
77
#endif // __rom_system_h__
brickOS
is released under the
Mozilla Public License
.
Original code copyright 1998-2005 by the authors.
Generated on Sat Mar 15 2014 11:28:21 for brickOS Kernel Developer by
1.8.1.2