Subversion Repositories HelenOS

Rev

Rev 2358 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2358 Rev 2412
Line 29... Line 29...
29
/** @addtogroup arm32
29
/** @addtogroup arm32
30
 * @{
30
 * @{
31
 */
31
 */
32
/** @file
32
/** @file
33
 *  @brief Declarations of machine specific functions.
33
 *  @brief Declarations of machine specific functions.
-
 
34
 *
-
 
35
 *  These functions enable to differentiate more kinds of ARM emulators
-
 
36
 *  or CPUs. It's the same concept as "arch" functions on the architecture
-
 
37
 *  level.
34
 */
38
 */
35
 
39
 
36
#ifndef KERN_arm32_MACHINE_H_
40
#ifndef KERN_arm32_MACHINE_H_
37
#define KERN_arm32_MACHINE_H_
41
#define KERN_arm32_MACHINE_H_
38
 
42
 
Line 46... Line 50...
46
 *
50
 *
47
 * @param devno Console device number.
51
 * @param devno Console device number.
48
 */
52
 */
49
extern void machine_console_init(devno_t devno);
53
extern void machine_console_init(devno_t devno);
50
 
54
 
-
 
55
 
51
/** Acquire console back for kernel. */
56
/** Acquire console back for kernel. */
52
extern void machine_grab_console(void);
57
extern void machine_grab_console(void);
53
 
58
 
-
 
59
 
54
/** Return console to userspace. */
60
/** Return console to userspace. */
55
extern void machine_release_console(void);
61
extern void machine_release_console(void);
56
 
62
 
-
 
63
 
57
/** Maps HW devices to the kernel address space using #hw_map. */
64
/** Maps HW devices to the kernel address space using #hw_map. */
58
extern void machine_hw_map_init(void);
65
extern void machine_hw_map_init(void);
59
 
66
 
-
 
67
 
60
/** Starts timer. */
68
/** Starts timer. */
61
extern void machine_timer_irq_start(void);
69
extern void machine_timer_irq_start(void);
62
 
70
 
-
 
71
 
63
/** Halts CPU. */
72
/** Halts CPU. */
64
extern void machine_cpu_halt(void);
73
extern void machine_cpu_halt(void);
65
 
74
 
66
 
75
 
67
/** Returns size of available memory.
76
/** Returns size of available memory.
Line 84... Line 93...
84
 * @param istate Saved processor state.
93
 * @param istate Saved processor state.
85
 */
94
 */
86
extern void machine_irq_exception(int exc_no, istate_t *istate);
95
extern void machine_irq_exception(int exc_no, istate_t *istate);
87
 
96
 
88
 
97
 
-
 
98
/** Returns address of framebuffer device.
-
 
99
 *
-
 
100
 *  @return Address of framebuffer device.
-
 
101
 */
89
extern uintptr_t machine_get_fb_address(void);
102
extern uintptr_t machine_get_fb_address(void);
90
 
103
 
91
 
104
 
92
#ifdef MACHINE_GXEMUL_TESTARM   
105
#ifdef MACHINE_GXEMUL_TESTARM   
93
#   define machine_console_init(devno)           gxemul_console_init(devno)
106
#   define machine_console_init(devno)           gxemul_console_init(devno)