diff options
author | Isaku Yamahata <yamahata@valinux.co.jp> | 2008-10-17 06:17:43 +0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2008-10-17 20:51:36 +0400 |
commit | 41a6ba09839cc5b114ea2c2c064b056e35cf93f1 (patch) | |
tree | c614efc29e34576b1ea2c5a219b8c072027a1aef /arch/ia64/include/asm/native | |
parent | ce1fc742f9703eeda0787b449ac57a780585bc97 (diff) | |
download | linux-41a6ba09839cc5b114ea2c2c064b056e35cf93f1.tar.xz |
ia64/pv_ops: update native/inst.h to clobber predicate.
add CLOBBER_PRED() to clobber predicate register.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64/include/asm/native')
-rw-r--r-- | arch/ia64/include/asm/native/inst.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/ia64/include/asm/native/inst.h b/arch/ia64/include/asm/native/inst.h index c8efbf7b849e..0a1026cca4fa 100644 --- a/arch/ia64/include/asm/native/inst.h +++ b/arch/ia64/include/asm/native/inst.h @@ -36,8 +36,13 @@ ;; \ movl clob = PARAVIRT_POISON; \ ;; +# define CLOBBER_PRED(pred_clob) \ + ;; \ + cmp.eq pred_clob, p0 = r0, r0 \ + ;; #else -# define CLOBBER(clob) /* nothing */ +# define CLOBBER(clob) /* nothing */ +# define CLOBBER_PRED(pred_clob) /* nothing */ #endif #define MOV_FROM_IFA(reg) \ @@ -136,7 +141,8 @@ #define SSM_PSR_I(pred, pred_clob, clob) \ (pred) ssm psr.i \ - CLOBBER(clob) + CLOBBER(clob) \ + CLOBBER_PRED(pred_clob) #define RSM_PSR_I(pred, clob0, clob1) \ (pred) rsm psr.i \ |