diff options
Diffstat (limited to 'arch/ia64/kvm/mmio.c')
| -rw-r--r-- | arch/ia64/kvm/mmio.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/ia64/kvm/mmio.c b/arch/ia64/kvm/mmio.c index 351bf70da463..7f1a858bc69f 100644 --- a/arch/ia64/kvm/mmio.c +++ b/arch/ia64/kvm/mmio.c | |||
| @@ -159,7 +159,8 @@ static void mmio_access(struct kvm_vcpu *vcpu, u64 src_pa, u64 *dest, | |||
| 159 | 159 | ||
| 160 | if (p->u.ioreq.state == STATE_IORESP_READY) { | 160 | if (p->u.ioreq.state == STATE_IORESP_READY) { |
| 161 | if (dir == IOREQ_READ) | 161 | if (dir == IOREQ_READ) |
| 162 | *dest = p->u.ioreq.data; | 162 | /* it's necessary to ensure zero extending */ |
| 163 | *dest = p->u.ioreq.data & (~0UL >> (64-(s*8))); | ||
| 163 | } else | 164 | } else |
| 164 | panic_vm(vcpu); | 165 | panic_vm(vcpu); |
| 165 | out: | 166 | out: |
