@@ -99,7 +99,7 @@ static void write_mailbox(struct kvm_vcpu *vcpu, int offset, uint64_t data, int
99
99
static int send_ipi_data (struct kvm_vcpu * vcpu , gpa_t addr , uint64_t data )
100
100
{
101
101
int i , idx , ret ;
102
- uint32_t val = 0 , mask = 0 ;
102
+ uint64_t val = 0 , mask = 0 ;
103
103
104
104
/*
105
105
* Bit 27-30 is mask for byte writing.
@@ -108,7 +108,7 @@ static int send_ipi_data(struct kvm_vcpu *vcpu, gpa_t addr, uint64_t data)
108
108
if ((data >> 27 ) & 0xf ) {
109
109
/* Read the old val */
110
110
idx = srcu_read_lock (& vcpu -> kvm -> srcu );
111
- ret = kvm_io_bus_read (vcpu , KVM_IOCSR_BUS , addr , sizeof ( val ) , & val );
111
+ ret = kvm_io_bus_read (vcpu , KVM_IOCSR_BUS , addr , 4 , & val );
112
112
srcu_read_unlock (& vcpu -> kvm -> srcu , idx );
113
113
if (unlikely (ret )) {
114
114
kvm_err ("%s: : read data from addr %llx failed\n" , __func__ , addr );
@@ -124,7 +124,7 @@ static int send_ipi_data(struct kvm_vcpu *vcpu, gpa_t addr, uint64_t data)
124
124
}
125
125
val |= ((uint32_t )(data >> 32 ) & ~mask );
126
126
idx = srcu_read_lock (& vcpu -> kvm -> srcu );
127
- ret = kvm_io_bus_write (vcpu , KVM_IOCSR_BUS , addr , sizeof ( val ) , & val );
127
+ ret = kvm_io_bus_write (vcpu , KVM_IOCSR_BUS , addr , 4 , & val );
128
128
srcu_read_unlock (& vcpu -> kvm -> srcu , idx );
129
129
if (unlikely (ret ))
130
130
kvm_err ("%s: : write data to addr %llx failed\n" , __func__ , addr );
0 commit comments