Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 84a5c79e authored by David Hildenbrand's avatar David Hildenbrand Committed by Radim Krčmář
Browse files

KVM: x86: set data directly in picdev_read()



Now it looks almost as picdev_write().

Signed-off-by: default avatarDavid Hildenbrand <david@redhat.com>
Signed-off-by: default avatarRadim Krčmář <rkrcmar@redhat.com>
parent 9fecaa9e
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -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;
}