@@ -1196,11 +1196,11 @@ impl VcpuFd {
1196
1196
/// * `reg_id` - ID of the register for which we are setting the value.
1197
1197
/// * `data` - value for the specified register.
1198
1198
#[ cfg( any( target_arch = "arm" , target_arch = "aarch64" ) ) ]
1199
- pub fn set_one_reg ( & self , reg_id : u64 , data : u64 ) -> Result < ( ) > {
1200
- let data_ref = & data as * const u64 ;
1199
+ pub fn set_one_reg ( & self , reg_id : u64 , data : u128 ) -> Result < ( ) > {
1200
+ let data_ptr = & data as * const _ ;
1201
1201
let onereg = kvm_one_reg {
1202
1202
id : reg_id,
1203
- addr : data_ref as u64 ,
1203
+ addr : data_ptr as u64 ,
1204
1204
} ;
1205
1205
// This is safe because we allocated the struct and we know the kernel will read
1206
1206
// exactly the size of the struct.
@@ -1220,11 +1220,11 @@ impl VcpuFd {
1220
1220
///
1221
1221
/// * `reg_id` - ID of the register.
1222
1222
#[ cfg( any( target_arch = "arm" , target_arch = "aarch64" ) ) ]
1223
- pub fn get_one_reg ( & self , reg_id : u64 ) -> Result < u64 > {
1223
+ pub fn get_one_reg ( & self , reg_id : u64 ) -> Result < u128 > {
1224
1224
let mut reg_value = 0 ;
1225
1225
let mut onereg = kvm_one_reg {
1226
1226
id : reg_id,
1227
- addr : & mut reg_value as * mut u64 as u64 ,
1227
+ addr : & mut reg_value as * mut _ as u64 ,
1228
1228
} ;
1229
1229
1230
1230
let ret = unsafe { ioctl_with_mut_ref ( self , KVM_GET_ONE_REG ( ) , & mut onereg) } ;
@@ -2074,15 +2074,15 @@ mod tests {
2074
2074
2075
2075
// Set the PC to the guest address where we loaded the code.
2076
2076
vcpu_fd
2077
- . set_one_reg ( core_reg_base + 2 * 32 , guest_addr)
2077
+ . set_one_reg ( core_reg_base + 2 * 32 , guest_addr as u128 )
2078
2078
. unwrap ( ) ;
2079
2079
2080
2080
// Set x8 and x9 to the addresses the guest test code needs
2081
2081
vcpu_fd
2082
- . set_one_reg ( core_reg_base + 2 * 8 , guest_addr + 0x10000 )
2082
+ . set_one_reg ( core_reg_base + 2 * 8 , guest_addr as u128 + 0x10000 )
2083
2083
. unwrap ( ) ;
2084
2084
vcpu_fd
2085
- . set_one_reg ( core_reg_base + 2 * 9 , mmio_addr)
2085
+ . set_one_reg ( core_reg_base + 2 * 9 , mmio_addr as u128 )
2086
2086
. unwrap ( ) ;
2087
2087
2088
2088
loop {
@@ -2416,7 +2416,7 @@ mod tests {
2416
2416
vm. get_preferred_target ( & mut kvi)
2417
2417
. expect ( "Cannot get preferred target" ) ;
2418
2418
vcpu. vcpu_init ( & kvi) . expect ( "Cannot initialize vcpu" ) ;
2419
- let data: u64 = 0 ;
2419
+ let data: u128 = 0 ;
2420
2420
let reg_id: u64 = 0 ;
2421
2421
2422
2422
assert ! ( vcpu. set_one_reg( reg_id, data) . is_err( ) ) ;
@@ -2448,15 +2448,15 @@ mod tests {
2448
2448
const PSR_D_BIT : u64 = 0x0000_0200 ;
2449
2449
const PSTATE_FAULT_BITS_64 : u64 =
2450
2450
PSR_MODE_EL1H | PSR_A_BIT | PSR_F_BIT | PSR_I_BIT | PSR_D_BIT ;
2451
- let data: u64 = PSTATE_FAULT_BITS_64 ;
2451
+ let data: u128 = PSTATE_FAULT_BITS_64 as u128 ;
2452
2452
const PSTATE_REG_ID : u64 = 0x6030_0000_0010_0042 ;
2453
2453
vcpu. set_one_reg ( PSTATE_REG_ID , data)
2454
2454
. expect ( "Failed to set pstate register" ) ;
2455
2455
2456
2456
assert_eq ! (
2457
2457
vcpu. get_one_reg( PSTATE_REG_ID )
2458
2458
. expect( "Failed to get pstate register" ) ,
2459
- PSTATE_FAULT_BITS_64
2459
+ PSTATE_FAULT_BITS_64 as u128
2460
2460
) ;
2461
2461
}
2462
2462
0 commit comments