@@ -110,10 +110,10 @@ static void *apicv_apic_access_addr;
110
110
111
111
static int
112
112
vlapic_write (struct vlapic * vlapic , int mmio_access , uint64_t offset ,
113
- uint64_t data , bool * retu );
113
+ uint64_t data );
114
114
static int
115
115
vlapic_read (struct vlapic * vlapic , int mmio_access , uint64_t offset ,
116
- uint64_t * data , bool * retu );
116
+ uint64_t * data );
117
117
118
118
static int
119
119
apicv_set_intr_ready (struct vlapic * vlapic , int vector , bool level );
@@ -370,7 +370,7 @@ vlapic_dcr_write_handler(struct vlapic *vlapic)
370
370
371
371
divisor = vlapic_timer_divisor (lapic -> dcr_timer );
372
372
dev_dbg (ACRN_DBG_LAPIC , "vlapic dcr_timer=%#x, divisor=%d" ,
373
- lapic -> dcr_timer , divisor );
373
+ lapic -> dcr_timer , divisor );
374
374
375
375
/*
376
376
* Update the timer frequency and the timer period.
@@ -1095,7 +1095,7 @@ vlapic_get_cr8(struct vlapic *vlapic)
1095
1095
}
1096
1096
1097
1097
static int
1098
- vlapic_icrlo_write_handler (struct vlapic * vlapic , bool * retu )
1098
+ vlapic_icrlo_write_handler (struct vlapic * vlapic )
1099
1099
{
1100
1100
int i ;
1101
1101
bool phys ;
@@ -1219,7 +1219,6 @@ vlapic_icrlo_write_handler(struct vlapic *vlapic, bool *retu)
1219
1219
target_vcpu -> vm -> attr .id );
1220
1220
schedule_vcpu (target_vcpu );
1221
1221
1222
- * retu = true;
1223
1222
return 0 ;
1224
1223
}
1225
1224
}
@@ -1342,7 +1341,7 @@ vlapic_svr_write_handler(struct vlapic *vlapic)
1342
1341
1343
1342
static int
1344
1343
vlapic_read (struct vlapic * vlapic , int mmio_access , uint64_t offset ,
1345
- uint64_t * data , bool * retu )
1344
+ uint64_t * data )
1346
1345
{
1347
1346
struct lapic * lapic = vlapic -> apic_page ;
1348
1347
int i ;
@@ -1446,7 +1445,6 @@ vlapic_read(struct vlapic *vlapic, int mmio_access, uint64_t offset,
1446
1445
case APIC_OFFSET_RRR :
1447
1446
default :
1448
1447
* data = 0 ;
1449
- * retu = true;
1450
1448
break ;
1451
1449
}
1452
1450
done :
@@ -1457,7 +1455,7 @@ vlapic_read(struct vlapic *vlapic, int mmio_access, uint64_t offset,
1457
1455
1458
1456
static int
1459
1457
vlapic_write (struct vlapic * vlapic , int mmio_access , uint64_t offset ,
1460
- uint64_t data , bool * retu )
1458
+ uint64_t data )
1461
1459
{
1462
1460
struct lapic * lapic = vlapic -> apic_page ;
1463
1461
uint32_t * regptr ;
@@ -1508,7 +1506,7 @@ vlapic_write(struct vlapic *vlapic, int mmio_access, uint64_t offset,
1508
1506
break ;
1509
1507
case APIC_OFFSET_ICR_LOW :
1510
1508
lapic -> icr_lo = data ;
1511
- retval = vlapic_icrlo_write_handler (vlapic , retu );
1509
+ retval = vlapic_icrlo_write_handler (vlapic );
1512
1510
break ;
1513
1511
case APIC_OFFSET_ICR_HI :
1514
1512
lapic -> icr_hi = data ;
@@ -1927,29 +1925,31 @@ static int tsc_periodic_time(uint64_t data)
1927
1925
}
1928
1926
1929
1927
int
1930
- vlapic_rdmsr (struct vcpu * vcpu , uint32_t msr , uint64_t * rval ,
1931
- bool * retu )
1928
+ vlapic_rdmsr (struct vcpu * vcpu , uint32_t msr , uint64_t * rval )
1932
1929
{
1933
- int error ;
1930
+ int error = 0 ;
1934
1931
uint32_t offset ;
1935
1932
struct vlapic * vlapic ;
1936
1933
1937
1934
dev_dbg (ACRN_DBG_LAPIC , "cpu[%d] rdmsr: %x" , vcpu -> vcpu_id , msr );
1938
1935
vlapic = vcpu -> arch_vcpu .vlapic ;
1939
1936
1940
- if (msr == MSR_IA32_APIC_BASE ) {
1937
+ switch (msr ) {
1938
+ case MSR_IA32_APIC_BASE :
1941
1939
* rval = vlapic_get_apicbase (vlapic );
1942
- error = 0 ;
1943
- } else {
1940
+ break ;
1941
+
1942
+ default :
1944
1943
offset = x2apic_msr_to_regoff (msr );
1945
- error = vlapic_read (vlapic , 0 , offset , rval , retu );
1944
+ error = vlapic_read (vlapic , 0 , offset , rval );
1945
+ break ;
1946
1946
}
1947
1947
1948
1948
return error ;
1949
1949
}
1950
1950
1951
1951
int
1952
- vlapic_wrmsr (struct vcpu * vcpu , uint32_t msr , uint64_t val , bool * retu )
1952
+ vlapic_wrmsr (struct vcpu * vcpu , uint32_t msr , uint64_t val )
1953
1953
{
1954
1954
int error ;
1955
1955
uint32_t offset ;
@@ -1959,9 +1959,12 @@ vlapic_wrmsr(struct vcpu *vcpu, uint32_t msr, uint64_t val, bool *retu)
1959
1959
vlapic = vcpu -> arch_vcpu .vlapic ;
1960
1960
lapic = vlapic -> apic_page ;
1961
1961
1962
- if (msr == MSR_IA32_APIC_BASE ) {
1962
+ switch (msr ) {
1963
+ case MSR_IA32_APIC_BASE :
1963
1964
error = vlapic_set_apicbase (vlapic , val );
1964
- } else if (msr == MSR_IA32_TSC_DEADLINE ) {
1965
+ break ;
1966
+
1967
+ case MSR_IA32_TSC_DEADLINE :
1965
1968
error = 0 ;
1966
1969
if (!VLAPIC_TSCDEADLINE (lapic -> lvt_timer ))
1967
1970
return error ;
@@ -1981,9 +1984,12 @@ vlapic_wrmsr(struct vcpu *vcpu, uint32_t msr, uint64_t val, bool *retu)
1981
1984
error = -1 ;
1982
1985
}
1983
1986
}
1984
- } else {
1987
+ break ;
1988
+
1989
+ default :
1985
1990
offset = x2apic_msr_to_regoff (msr );
1986
- error = vlapic_write (vlapic , 0 , offset , val , retu );
1991
+ error = vlapic_write (vlapic , 0 , offset , val );
1992
+ break ;
1987
1993
}
1988
1994
1989
1995
dev_dbg (ACRN_DBG_LAPIC , "cpu[%d] wrmsr: %x val=%#x" ,
@@ -1997,7 +2003,6 @@ vlapic_mmio_write(struct vcpu *vcpu, uint64_t gpa, uint64_t wval, int size)
1997
2003
int error ;
1998
2004
uint64_t off ;
1999
2005
struct vlapic * vlapic ;
2000
- bool arg ;
2001
2006
2002
2007
off = gpa - DEFAULT_APIC_BASE ;
2003
2008
@@ -2009,7 +2014,7 @@ vlapic_mmio_write(struct vcpu *vcpu, uint64_t gpa, uint64_t wval, int size)
2009
2014
return - EINVAL ;
2010
2015
2011
2016
vlapic = vcpu -> arch_vcpu .vlapic ;
2012
- error = vlapic_write (vlapic , 1 , off , wval , & arg );
2017
+ error = vlapic_write (vlapic , 1 , off , wval );
2013
2018
return error ;
2014
2019
}
2015
2020
@@ -2020,7 +2025,6 @@ vlapic_mmio_read(struct vcpu *vcpu, uint64_t gpa, uint64_t *rval,
2020
2025
int error ;
2021
2026
uint64_t off ;
2022
2027
struct vlapic * vlapic ;
2023
- bool arg ;
2024
2028
2025
2029
off = gpa - DEFAULT_APIC_BASE ;
2026
2030
@@ -2034,7 +2038,7 @@ vlapic_mmio_read(struct vcpu *vcpu, uint64_t gpa, uint64_t *rval,
2034
2038
return - EINVAL ;
2035
2039
2036
2040
vlapic = vcpu -> arch_vcpu .vlapic ;
2037
- error = vlapic_read (vlapic , 1 , off , rval , & arg );
2041
+ error = vlapic_read (vlapic , 1 , off , rval );
2038
2042
return error ;
2039
2043
}
2040
2044
@@ -2339,7 +2343,6 @@ apicv_inject_pir(struct vlapic *vlapic)
2339
2343
2340
2344
int apic_access_vmexit_handler (struct vcpu * vcpu )
2341
2345
{
2342
- bool ret ;
2343
2346
int access_type , offset ;
2344
2347
uint64_t qual ;
2345
2348
struct vlapic * vlapic ;
@@ -2356,9 +2359,9 @@ int apic_access_vmexit_handler(struct vcpu *vcpu)
2356
2359
analyze_instruction (vcpu , & vcpu -> mmio );
2357
2360
if (access_type == 1 ) {
2358
2361
if (!emulate_instruction (vcpu , & vcpu -> mmio ))
2359
- vlapic_write (vlapic , 1 , offset , vcpu -> mmio .value , & ret );
2362
+ vlapic_write (vlapic , 1 , offset , vcpu -> mmio .value );
2360
2363
} else if (access_type == 0 ) {
2361
- vlapic_read (vlapic , 1 , offset , & vcpu -> mmio .value , & ret );
2364
+ vlapic_read (vlapic , 1 , offset , & vcpu -> mmio .value );
2362
2365
emulate_instruction (vcpu , & vcpu -> mmio );
2363
2366
}
2364
2367
@@ -2397,7 +2400,6 @@ int veoi_vmexit_handler(struct vcpu *vcpu)
2397
2400
2398
2401
int apic_write_vmexit_handler (struct vcpu * vcpu )
2399
2402
{
2400
- bool retu ;
2401
2403
uint64_t qual ;
2402
2404
int error , handled , offset ;
2403
2405
struct vlapic * vlapic = NULL ;
@@ -2429,9 +2431,8 @@ int apic_write_vmexit_handler(struct vcpu *vcpu)
2429
2431
vlapic_esr_write_handler (vlapic );
2430
2432
break ;
2431
2433
case APIC_OFFSET_ICR_LOW :
2432
- retu = false;
2433
- error = vlapic_icrlo_write_handler (vlapic , & retu );
2434
- if (error != 0 || retu )
2434
+ error = vlapic_icrlo_write_handler (vlapic );
2435
+ if (error != 0 )
2435
2436
handled = 0 ;
2436
2437
break ;
2437
2438
case APIC_OFFSET_CMCI_LVT :
0 commit comments