Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 477 → Rev 478

/SPARTAN/trunk/Makefile.config
40,8 → 40,8
#CONFIG_TEST = synch/rwlock1
#CONFIG_TEST = synch/rwlock2
#CONFIG_TEST = synch/rwlock3
CONFIG_TEST = synch/rwlock4
#CONFIG_TEST = synch/rwlock5
#CONFIG_TEST = synch/rwlock4
CONFIG_TEST = synch/rwlock5
#CONFIG_TEST = synch/semaphore1
#CONFIG_TEST = synch/semaphore2
#CONFIG_TEST = fpu/fpu1
/SPARTAN/trunk/arch/ia64/include/atomic.h
40,8 → 40,6
__asm__ volatile ("fetchadd8.rel %0 = %1, %2\n" : "=r" (v), "+m" (*val) : "i" (imm));
*val += imm;
return v;
}
 
53,10 → 51,7
static inline atomic_t atomic_dec_pre(atomic_t *val) { return atomic_add(val, -1); }
 
 
static inline atomic_t atomic_inc_post(atomic_t *val) { return atomic_add(val, 1)+1; }
static inline atomic_t atomic_dec_post(atomic_t *val) { return atomic_add(val, -1)-1; }
static inline atomic_t atomic_inc_post(atomic_t *val) { return atomic_add(val, 1) + 1; }
static inline atomic_t atomic_dec_post(atomic_t *val) { return atomic_add(val, -1) - 1; }
 
 
 
 
#endif
/SPARTAN/trunk/arch/ia64/src/ivt.S
1,5 → 1,6
#
# Copyright (C) 2005 Jakub Vana
# Copyright (C) 2005 Jakub Jermar
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
27,6 → 28,7
#
 
#include <arch/stack.h>
#include <arch/register.h>
 
#define STACK_ITEMS 12
#define STACK_FRAME_SIZE ((STACK_ITEMS*STACK_ITEM_SIZE) + STACK_SCRATCH_AREA_SIZE)
104,7 → 106,7
mov r28 = ar.bspstore ;;
/* assume kernel backing store */
mov ar.bspstore = r28 ;;
/* mov ar.bspstore = r28 ;; */
mov r29 = ar.bsp
144,8 → 146,8
ld8 r25 = [r31], +8 ;; /* load ar.pfs */
ld8 r24 = [r31], +8 ;; /* load ar.rsc */
 
mov ar.bspstore = r28 ;; /* (step 4) */
mov ar.rnat = r27 /* (step 5) */
/* mov ar.bspstore = r28 ;; */ /* (step 4) */
/* mov ar.rnat = r27 */ /* (step 5) */
 
mov ar.pfs = r25 /* (step 6) */
mov cr.ifs = r26
189,7 → 191,7
add out1 = STACK_SCRATCH_AREA_SIZE, r12
 
/* 6. switch to bank 1 and reenable PSR.ic */
ssm 0x2000
ssm PSR_IC_MASK
bsw.1 ;;
srlz.d
245,6 → 247,11
mov loc46 = r31
/* 9. skipped (will not enable interrupts) */
/*
* ssm PSR_I_MASK
* ;;
* srlz.d
*/
 
/* 10. call handler */
mov b1 = loc2
254,6 → 261,11
0:
/* 12. skipped (will not disable interrupts) */
/*
* rsm PSR_I_MASK
* ;;
* srlz.d
*/
 
/* 13. restore general and floating-point registers */
/* TODO: restore floating-point context */
307,7 → 319,7
mov b7 = loc16
/* 15. disable PSR.ic and switch to bank 0 */
rsm 0x2000
rsm PSR_IC_MASK
bsw.0 ;;
srlz.d