Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 119287
b: refs/heads/master
c: 93fe10b
h: refs/heads/master
i:
  119285: fa78f34
  119283: 6c28b29
  119279: c746ae4
v: v3
  • Loading branch information
Isaku Yamahata authored and Tony Luck committed Nov 20, 2008
1 parent 6d928b7 commit f33b4fb
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: d5964107763d7155e9bea658098a337507b3e928
refs/heads/master: 93fe10b670a7a6a1dc9649c7860f452dc7bbbb9d
2 changes: 1 addition & 1 deletion trunk/arch/ia64/include/asm/intrinsics.h
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ extern long ia64_cmpxchg_called_with_bad_pointer (void);
/************************************************/
#define ia64_ssm IA64_INTRINSIC_MACRO(ssm)
#define ia64_rsm IA64_INTRINSIC_MACRO(rsm)
#define ia64_getreg IA64_INTRINSIC_API(getreg)
#define ia64_getreg IA64_INTRINSIC_MACRO(getreg)
#define ia64_setreg IA64_INTRINSIC_API(setreg)
#define ia64_set_rr IA64_INTRINSIC_API(set_rr)
#define ia64_get_rr IA64_INTRINSIC_API(get_rr)
Expand Down
13 changes: 13 additions & 0 deletions trunk/arch/ia64/include/asm/paravirt_privop.h
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,19 @@ extern unsigned long ia64_native_getreg_func(int regnum);
ia64_native_rsm(mask); \
} while (0)

/* returned ip value should be the one in the caller,
* not in __paravirt_getreg() */
#define paravirt_getreg(reg) \
({ \
unsigned long res; \
BUILD_BUG_ON(!__builtin_constant_p(reg)); \
if ((reg) == _IA64_REG_IP) \
res = ia64_native_getreg(_IA64_REG_IP); \
else \
res = pv_cpu_ops.getreg(reg); \
res; \
})

/******************************************************************************
* replacement of hand written assembly codes.
*/
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/ia64/kernel/paravirt.c
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ ia64_native_getreg_func(int regnum)
unsigned long res = -1;
switch (regnum) {
CASE_GET_REG(GP);
CASE_GET_REG(IP);
/*CASE_GET_REG(IP);*/ /* returned ip value shouldn't be constant */
CASE_GET_REG(PSR);
CASE_GET_REG(TP);
CASE_GET_REG(SP);
Expand Down

0 comments on commit f33b4fb

Please sign in to comment.