/branches/arm/kernel/arch/arm32/include/exception.h |
---|
40,7 → 40,7 |
#include <arch/types.h> |
#include <arch/regutils.h> |
/** If defined, macro forces using of high exception vectors. */ |
/** If defined, forces using of high exception vectors. */ |
#define HIGH_EXCEPTION_VECTORS |
#ifdef HIGH_EXCEPTION_VECTORS |
84,7 → 84,7 |
extern uintptr_t exc_stack; |
/** Structure representing CPU state saved when an exception occurs. */ |
/** Struct representing CPU state saved when an exception occurs. */ |
typedef struct { |
uint32_t spsr; |
uint32_t sp; |
133,7 → 133,6 |
} |
extern void setup_exception_stacks(void); |
extern void install_exception_handlers(void); |
extern void exception_init(void); |
extern void print_istate(istate_t *istate); |
/branches/arm/kernel/arch/arm32/include/fpu_context.h |
---|
1,5 → 1,5 |
/* |
* Copyright (c) 2005 Jakub Vana |
* Copyright (c) 2007 Michal Kebrt |
* All rights reserved. |
* |
* Redistribution and use in source and binary forms, with or without |
30,7 → 30,9 |
* @{ |
*/ |
/** @file |
* @brief FPU context. |
* @brief FPU context (not implemented). |
* |
* GXemul doesn't support FPU on its ARM CPU. |
*/ |
#ifndef KERN_arm32_FPU_CONTEXT_H_ |
38,7 → 40,7 |
#include <arch/types.h> |
#define FPU_CONTEXT_ALIGN 0 /* TODO */ |
#define FPU_CONTEXT_ALIGN 0 |
typedef struct { |
} fpu_context_t; |
/branches/arm/kernel/arch/arm32/include/cycle.h |
---|
37,7 → 37,12 |
#define KERN_arm32_CYCLE_H_ |
/** No such instruction on ARM to get count of cycles. */ |
/** Returns count of CPU cycles. |
* |
* No such instruction on ARM to get count of cycles. |
* |
* @return Count of CPU cycles. |
*/ |
static inline uint64_t get_cycle(void) |
{ |
return 0; |
/branches/arm/kernel/arch/arm32/include/machine.h |
---|
31,6 → 31,10 |
*/ |
/** @file |
* @brief Declarations of machine specific functions. |
* |
* These functions enable to differentiate more kinds of ARM emulators |
* or CPUs. It's the same concept as "arch" functions on the architecture |
* level. |
*/ |
#ifndef KERN_arm32_MACHINE_H_ |
48,18 → 52,23 |
*/ |
extern void machine_console_init(devno_t devno); |
/** Acquire console back for kernel. */ |
extern void machine_grab_console(void); |
/** Return console to userspace. */ |
extern void machine_release_console(void); |
/** Maps HW devices to the kernel address space using #hw_map. */ |
extern void machine_hw_map_init(void); |
/** Starts timer. */ |
extern void machine_timer_irq_start(void); |
/** Halts CPU. */ |
extern void machine_cpu_halt(void); |
86,6 → 95,10 |
extern void machine_irq_exception(int exc_no, istate_t *istate); |
/** Returns address of framebuffer device. |
* |
* @return Address of framebuffer device. |
*/ |
extern uintptr_t machine_get_fb_address(void); |
/branches/arm/kernel/arch/arm32/Makefile.inc |
---|
1,6 → 1,5 |
# |
# Copyright (c) 2005 Martin Decky |
# Copyright (c) 2007 Jakub Jermar |
# Copyright (c) 2007 Jakub Jermar, Michal Kebrt |
# All rights reserved. |
# |
# Redistribution and use in source and binary forms, with or without |
/branches/arm/kernel/arch/arm32/src/drivers/gxemul.c |
---|
197,6 → 197,7 |
} |
/** Acquire console back for kernel. */ |
void gxemul_grab_console(void) |
{ |
ipl_t ipl = interrupts_disable(); |
207,6 → 208,7 |
} |
/** Return console to userspace. */ |
void gxemul_release_console(void) |
{ |
ipl_t ipl = interrupts_disable(); |
334,6 → 336,10 |
} |
/** Prints a character. |
* |
* @param ch Character to be printed. |
*/ |
void gxemul_debug_putc(char ch) |
{ |
char * addr = 0; |
388,7 → 394,10 |
} |
} |
/** Returns address of framebuffer device. |
* |
* @return Address of framebuffer device. |
*/ |
uintptr_t gxemul_get_fb_address(void) |
{ |
return (uintptr_t) GXEMUL_FB; |