Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 2261 → Rev 2262

/branches/arm/kernel/arch/arm32/include/exception.h
39,14 → 39,22
 
#include <arch/types.h>
 
#define HIGH_EXCEPTION_VECTORS
 
#ifdef HIGH_EXCEPTION_VECTORS
#define EXC_BASE_ADDRESS 0xffff0000
#else
#define EXC_BASE_ADDRESS 0x0
#endif
 
/* Exception Vectors */
#define EXC_RESET_VEC 0x0
#define EXC_UNDEF_INSTR_VEC 0x4
#define EXC_SWI_VEC 0x8
#define EXC_PREFETCH_ABORT_VEC 0xc
#define EXC_DATA_ABORT_VEC 0x10
#define EXC_IRQ_VEC 0x18
#define EXC_FIQ_VEC 0x1c
#define EXC_RESET_VEC EXC_BASE_ADDRESS + 0x0
#define EXC_UNDEF_INSTR_VEC EXC_BASE_ADDRESS + 0x4
#define EXC_SWI_VEC EXC_BASE_ADDRESS + 0x8
#define EXC_PREFETCH_ABORT_VEC EXC_BASE_ADDRESS + 0xc
#define EXC_DATA_ABORT_VEC EXC_BASE_ADDRESS + 0x10
#define EXC_IRQ_VEC EXC_BASE_ADDRESS + 0x18
#define EXC_FIQ_VEC EXC_BASE_ADDRESS + 0x1c
 
/* Exception numbers */
#define EXC_RESET 0
/branches/arm/kernel/arch/arm32/include/regutils.h
31,16 → 31,18
*/
/**
* @file
* @brief Utilities for convenient manipulation with ARM registries.
* @brief Utilities for convenient manipulation with ARM registers.
*/
 
#ifndef KERN_arm32_REGUTILS_H_
#define KERN_arm32_REGUTILS_H_
 
 
#define STATUS_REG_IE_ENABLED_BIT (1 << 7)
#define STATUS_REG_MODE_MASK 0x1F
 
#define CP15_R1_HIGH_VECTORS_BIT (1 << 13)
 
 
/* ARM Processor Operation Modes */
#define USER_MODE 0x10
#define FIQ_MODE 0x11