KVM: x86: set data directly in picdev_read()

Now it looks almost as picdev_write().

Signed-off-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
This commit is contained in:
David Hildenbrand 2017-04-07 10:50:39 +02:00 committed by Radim Krčmář
parent 9fecaa9e32
commit 84a5c79e70
1 changed files with 3 additions and 4 deletions

View File

@ -484,7 +484,7 @@ static int picdev_write(struct kvm_pic *s,
static int picdev_read(struct kvm_pic *s,
gpa_t addr, int len, void *val)
{
unsigned char data = 0;
unsigned char *data = (unsigned char *)val;
if (len != 1) {
memset(val, 0, len);
@ -497,19 +497,18 @@ static int picdev_read(struct kvm_pic *s,
case 0xa0:
case 0xa1:
pic_lock(s);
data = pic_ioport_read(&s->pics[addr >> 7], addr);
*data = pic_ioport_read(&s->pics[addr >> 7], addr);
pic_unlock(s);
break;
case 0x4d0:
case 0x4d1:
pic_lock(s);
data = elcr_ioport_read(&s->pics[addr & 1], addr);
*data = elcr_ioport_read(&s->pics[addr & 1], addr);
pic_unlock(s);
break;
default:
return -EOPNOTSUPP;
}
*(unsigned char *)val = data;
return 0;
}