Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 2177 → Rev 2178

/branches/arm/kernel/arch/arm32/include/exception.h
1,5 → 1,5
/*
* Copyright (c) 2003-2004 Jakub Jermar
* Copyright (c) 2007 Michal Kebrt
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
38,24 → 38,40
#include <arch/types.h>
 
typedef struct {
/* TODO */
uint32_t cpsr;
uint32_t retaddr;
 
uint32_t r0;
uint32_t r1;
uint32_t r2;
uint32_t r3;
uint32_t r4;
uint32_t r5;
uint32_t r6;
uint32_t r7;
uint32_t r8;
uint32_t r10;
uint32_t r11;
uint32_t r12;
uint32_t sp;
uint32_t lr;
 
} istate_t;
 
static inline void istate_set_retaddr(istate_t *istate, uintptr_t retaddr)
{
/* TODO */
istate->retaddr = retaddr;
}
 
/** Return true if exception happened while in userspace */
static inline int istate_from_uspace(istate_t *istate)
{
/* TODO */
return 0;
return !(istate->retaddr & 0x80000000);
}
static inline unative_t istate_get_pc(istate_t *istate)
{
/* TODO */
return 0;
return istate->retaddr;
}
 
#endif