diff options
Diffstat (limited to 'arch/ia64/kvm/vcpu.h')
| -rw-r--r-- | arch/ia64/kvm/vcpu.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/ia64/kvm/vcpu.h b/arch/ia64/kvm/vcpu.h index 360724d3ae69..988911b4cc7a 100644 --- a/arch/ia64/kvm/vcpu.h +++ b/arch/ia64/kvm/vcpu.h | |||
| @@ -388,6 +388,9 @@ static inline u64 __gpfn_is_io(u64 gpfn) | |||
| 388 | #define _vmm_raw_spin_lock(x) do {}while(0) | 388 | #define _vmm_raw_spin_lock(x) do {}while(0) |
| 389 | #define _vmm_raw_spin_unlock(x) do {}while(0) | 389 | #define _vmm_raw_spin_unlock(x) do {}while(0) |
| 390 | #else | 390 | #else |
| 391 | typedef struct { | ||
| 392 | volatile unsigned int lock; | ||
| 393 | } vmm_spinlock_t; | ||
| 391 | #define _vmm_raw_spin_lock(x) \ | 394 | #define _vmm_raw_spin_lock(x) \ |
| 392 | do { \ | 395 | do { \ |
| 393 | __u32 *ia64_spinlock_ptr = (__u32 *) (x); \ | 396 | __u32 *ia64_spinlock_ptr = (__u32 *) (x); \ |
| @@ -405,12 +408,12 @@ static inline u64 __gpfn_is_io(u64 gpfn) | |||
| 405 | 408 | ||
| 406 | #define _vmm_raw_spin_unlock(x) \ | 409 | #define _vmm_raw_spin_unlock(x) \ |
| 407 | do { barrier(); \ | 410 | do { barrier(); \ |
| 408 | ((spinlock_t *)x)->raw_lock.lock = 0; } \ | 411 | ((vmm_spinlock_t *)x)->lock = 0; } \ |
| 409 | while (0) | 412 | while (0) |
| 410 | #endif | 413 | #endif |
| 411 | 414 | ||
| 412 | void vmm_spin_lock(spinlock_t *lock); | 415 | void vmm_spin_lock(vmm_spinlock_t *lock); |
| 413 | void vmm_spin_unlock(spinlock_t *lock); | 416 | void vmm_spin_unlock(vmm_spinlock_t *lock); |
| 414 | enum { | 417 | enum { |
| 415 | I_TLB = 1, | 418 | I_TLB = 1, |
| 416 | D_TLB = 2 | 419 | D_TLB = 2 |
