Fix to exregs.c functions

This commit is contained in:
Bahadir Balban
2008-09-15 18:16:02 +03:00
parent 9c2c9676e8
commit 4d1b649465
2 changed files with 4 additions and 5 deletions

View File

@@ -18,7 +18,7 @@
#include INC_SUBARCH(mm.h) #include INC_SUBARCH(mm.h)
/* Abort debugging conditions */ /* Abort debugging conditions */
// #define DEBUG_ABORTS #define DEBUG_ABORTS
#if defined (DEBUG_ABORTS) #if defined (DEBUG_ABORTS)
#define dbg_abort(...) dprintk(__VA_ARGS__) #define dbg_abort(...) dprintk(__VA_ARGS__)
#else #else

View File

@@ -21,8 +21,7 @@ void exregs_set_mr(struct exregs_data *s, int offset, unsigned long val)
mr[offset] = val; mr[offset] = val;
/* Set valid bit for mr register */ /* Set valid bit for mr register */
s->valid_vect |= offsetof(exregs_context_t, r3) + s->valid_vect |= FIELD_TO_BIT(exregs_context_t, r3) << offset;
(offset * sizeof(int));
} }
void exregs_set_pager(struct exregs_data *s, l4id_t pagerid) void exregs_set_pager(struct exregs_data *s, l4id_t pagerid)
@@ -34,12 +33,12 @@ void exregs_set_pager(struct exregs_data *s, l4id_t pagerid)
void exregs_set_stack(struct exregs_data *s, unsigned long sp) void exregs_set_stack(struct exregs_data *s, unsigned long sp)
{ {
s->context.sp = sp; s->context.sp = sp;
s->valid_vect |= 1 << (offsetof(exregs_context_t, sp) >> 2); s->valid_vect |= FIELD_TO_BIT(exregs_context_t, sp);
} }
void exregs_set_pc(struct exregs_data *s, unsigned long pc) void exregs_set_pc(struct exregs_data *s, unsigned long pc)
{ {
s->context.pc = pc; s->context.pc = pc;
s->valid_vect |= 1 << (offsetof(exregs_context_t, pc) >> 2); s->valid_vect |= FIELD_TO_BIT(exregs_context_t, pc);
} }