@@ -728,15 +728,16 @@ static int32_t vpic_master_handler(struct acrn_vm *vm, bool in, uint16_t port,
728
728
return ret ;
729
729
}
730
730
731
- static uint32_t vpic_master_io_read (struct acrn_vm * vm , uint16_t addr , size_t width )
731
+ static bool vpic_master_io_read (struct acrn_vm * vm , struct acrn_vcpu * vcpu , uint16_t addr , size_t width )
732
732
{
733
- uint32_t val = 0U ;
733
+ struct pio_request * pio_req = & vcpu -> req . reqs . pio ;
734
734
735
- if (vpic_master_handler (vm , true, addr , width , & val ) < 0 ) {
735
+ if (vpic_master_handler (vm , true, addr , width , & pio_req -> value ) < 0 ) {
736
736
pr_err ("pic master read port 0x%x width=%d failed\n" ,
737
737
addr , width );
738
738
}
739
- return val ;
739
+
740
+ return true;
740
741
}
741
742
742
743
static bool vpic_master_io_write (struct acrn_vm * vm , uint16_t addr , size_t width ,
@@ -773,15 +774,15 @@ static int32_t vpic_slave_handler(struct acrn_vm *vm, bool in, uint16_t port,
773
774
return ret ;
774
775
}
775
776
776
- static uint32_t vpic_slave_io_read (struct acrn_vm * vm , uint16_t addr , size_t width )
777
+ static bool vpic_slave_io_read (struct acrn_vm * vm , struct acrn_vcpu * vcpu , uint16_t addr , size_t width )
777
778
{
778
- uint32_t val = 0U ;
779
+ struct pio_request * pio_req = & vcpu -> req . reqs . pio ;
779
780
780
- if (vpic_slave_handler (vm , true, addr , width , & val ) < 0 ) {
781
+ if (vpic_slave_handler (vm , true, addr , width , & pio_req -> value ) < 0 ) {
781
782
pr_err ("pic slave read port 0x%x width=%d failed\n" ,
782
783
addr , width );
783
784
}
784
- return val ;
785
+ return true ;
785
786
}
786
787
787
788
static bool vpic_slave_io_write (struct acrn_vm * vm , uint16_t addr , size_t width ,
@@ -843,14 +844,15 @@ static int32_t vpic_elc_handler(struct acrn_vm *vm, bool in, uint16_t port, size
843
844
return ret ;
844
845
}
845
846
846
- static uint32_t vpic_elc_io_read (struct acrn_vm * vm , uint16_t addr , size_t width )
847
+ static bool vpic_elc_io_read (struct acrn_vm * vm , struct acrn_vcpu * vcpu , uint16_t addr , size_t width )
847
848
{
848
- uint32_t val = 0U ;
849
+ struct pio_request * pio_req = & vcpu -> req . reqs . pio ;
849
850
850
- if (vpic_elc_handler (vm , true, addr , width , & val ) < 0 ) {
851
+ if (vpic_elc_handler (vm , true, addr , width , & pio_req -> value ) < 0 ) {
851
852
pr_err ("pic elc read port 0x%x width=%d failed" , addr , width );
852
853
}
853
- return val ;
854
+
855
+ return true;
854
856
}
855
857
856
858
static bool vpic_elc_io_write (struct acrn_vm * vm , uint16_t addr , size_t width ,
0 commit comments