diff options
Diffstat (limited to 'arch/x86/kvm/i8259.c')
-rw-r--r-- | arch/x86/kvm/i8259.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/arch/x86/kvm/i8259.c b/arch/x86/kvm/i8259.c index cc31f7c06d3d..fef922ff2635 100644 --- a/arch/x86/kvm/i8259.c +++ b/arch/x86/kvm/i8259.c | |||
@@ -507,6 +507,7 @@ static int picdev_read(struct kvm_pic *s, | |||
507 | return -EOPNOTSUPP; | 507 | return -EOPNOTSUPP; |
508 | 508 | ||
509 | if (len != 1) { | 509 | if (len != 1) { |
510 | memset(val, 0, len); | ||
510 | pr_pic_unimpl("non byte read\n"); | 511 | pr_pic_unimpl("non byte read\n"); |
511 | return 0; | 512 | return 0; |
512 | } | 513 | } |
@@ -528,42 +529,42 @@ static int picdev_read(struct kvm_pic *s, | |||
528 | return 0; | 529 | return 0; |
529 | } | 530 | } |
530 | 531 | ||
531 | static int picdev_master_write(struct kvm_io_device *dev, | 532 | static int picdev_master_write(struct kvm_vcpu *vcpu, struct kvm_io_device *dev, |
532 | gpa_t addr, int len, const void *val) | 533 | gpa_t addr, int len, const void *val) |
533 | { | 534 | { |
534 | return picdev_write(container_of(dev, struct kvm_pic, dev_master), | 535 | return picdev_write(container_of(dev, struct kvm_pic, dev_master), |
535 | addr, len, val); | 536 | addr, len, val); |
536 | } | 537 | } |
537 | 538 | ||
538 | static int picdev_master_read(struct kvm_io_device *dev, | 539 | static int picdev_master_read(struct kvm_vcpu *vcpu, struct kvm_io_device *dev, |
539 | gpa_t addr, int len, void *val) | 540 | gpa_t addr, int len, void *val) |
540 | { | 541 | { |
541 | return picdev_read(container_of(dev, struct kvm_pic, dev_master), | 542 | return picdev_read(container_of(dev, struct kvm_pic, dev_master), |
542 | addr, len, val); | 543 | addr, len, val); |
543 | } | 544 | } |
544 | 545 | ||
545 | static int picdev_slave_write(struct kvm_io_device *dev, | 546 | static int picdev_slave_write(struct kvm_vcpu *vcpu, struct kvm_io_device *dev, |
546 | gpa_t addr, int len, const void *val) | 547 | gpa_t addr, int len, const void *val) |
547 | { | 548 | { |
548 | return picdev_write(container_of(dev, struct kvm_pic, dev_slave), | 549 | return picdev_write(container_of(dev, struct kvm_pic, dev_slave), |
549 | addr, len, val); | 550 | addr, len, val); |
550 | } | 551 | } |
551 | 552 | ||
552 | static int picdev_slave_read(struct kvm_io_device *dev, | 553 | static int picdev_slave_read(struct kvm_vcpu *vcpu, struct kvm_io_device *dev, |
553 | gpa_t addr, int len, void *val) | 554 | gpa_t addr, int len, void *val) |
554 | { | 555 | { |
555 | return picdev_read(container_of(dev, struct kvm_pic, dev_slave), | 556 | return picdev_read(container_of(dev, struct kvm_pic, dev_slave), |
556 | addr, len, val); | 557 | addr, len, val); |
557 | } | 558 | } |
558 | 559 | ||
559 | static int picdev_eclr_write(struct kvm_io_device *dev, | 560 | static int picdev_eclr_write(struct kvm_vcpu *vcpu, struct kvm_io_device *dev, |
560 | gpa_t addr, int len, const void *val) | 561 | gpa_t addr, int len, const void *val) |
561 | { | 562 | { |
562 | return picdev_write(container_of(dev, struct kvm_pic, dev_eclr), | 563 | return picdev_write(container_of(dev, struct kvm_pic, dev_eclr), |
563 | addr, len, val); | 564 | addr, len, val); |
564 | } | 565 | } |
565 | 566 | ||
566 | static int picdev_eclr_read(struct kvm_io_device *dev, | 567 | static int picdev_eclr_read(struct kvm_vcpu *vcpu, struct kvm_io_device *dev, |
567 | gpa_t addr, int len, void *val) | 568 | gpa_t addr, int len, void *val) |
568 | { | 569 | { |
569 | return picdev_read(container_of(dev, struct kvm_pic, dev_eclr), | 570 | return picdev_read(container_of(dev, struct kvm_pic, dev_eclr), |