Rev 2294 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2294 | Rev 2300 | ||
---|---|---|---|
Line 44... | Line 44... | ||
44 | #include <arch/machine.h> |
44 | #include <arch/machine.h> |
45 | 45 | ||
46 | /** Address of devices. */ |
46 | /** Address of devices. */ |
47 | #define GXEMUL_VIDEORAM 0x10000000 |
47 | #define GXEMUL_VIDEORAM 0x10000000 |
48 | #define GXEMUL_KBD 0x10000000 |
48 | #define GXEMUL_KBD 0x10000000 |
- | 49 | #define GXEMUL_HALT_OFFSET 0x10 |
|
49 | #define GXEMUL_RTC 0x15000000 |
50 | #define GXEMUL_RTC 0x15000000 |
50 | #define GXEMUL_RTC_FREQ_OFFSET 0x100 |
51 | #define GXEMUL_RTC_FREQ_OFFSET 0x100 |
51 | #define GXEMUL_RTC_ACK_OFFSET 0x110 |
52 | #define GXEMUL_RTC_ACK_OFFSET 0x110 |
52 | #define GXEMUL_IRQC 0x16000000 |
53 | #define GXEMUL_IRQC 0x16000000 |
53 | #define GXEMUL_IRQC_MASK_OFFSET 0x4 |
54 | #define GXEMUL_IRQC_MASK_OFFSET 0x4 |
Line 291... | Line 292... | ||
291 | size_t machine_get_memory_size(void) |
292 | size_t machine_get_memory_size(void) |
292 | { |
293 | { |
293 | return *((int*)(GXEMUL_MP + GXEMUL_MP_MEMSIZE_OFFSET)); |
294 | return *((int*)(GXEMUL_MP + GXEMUL_MP_MEMSIZE_OFFSET)); |
294 | } |
295 | } |
295 | 296 | ||
296 | void machine_debug_putc(char ch) { |
297 | void machine_debug_putc(char ch) |
- | 298 | { |
|
- | 299 | char * addr = 0; |
|
- | 300 | if (!hw_map_init_called) { |
|
- | 301 | addr = (char *) GXEMUL_KBD; |
|
- | 302 | } else { |
|
- | 303 | addr = (char *) gxemul_hw_map.videoram; |
|
- | 304 | } |
|
- | 305 | ||
- | 306 | *(addr) = ch; |
|
- | 307 | } |
|
- | 308 | ||
- | 309 | void machine_cpu_halt(void) |
|
- | 310 | { |
|
- | 311 | char * addr = 0; |
|
297 | if (!hw_map_init_called) { |
312 | if (!hw_map_init_called) { |
298 | *((volatile char *) GXEMUL_KBD) = ch; |
313 | addr = (char *) GXEMUL_KBD; |
299 | } else { |
314 | } else { |
300 | *((char *) gxemul_hw_map.videoram) = ch; |
315 | addr = (char *) gxemul_hw_map.videoram; |
301 | } |
316 | } |
- | 317 | ||
- | 318 | *(addr + GXEMUL_HALT_OFFSET) = '\0'; |
|
302 | } |
319 | } |
303 | 320 | ||
- | 321 | ||
304 | /** @} |
322 | /** @} |
305 | */ |
323 | */ |