Skip to content

Commit d3db5a6

Browse files
rarindamwenlingz
authored andcommitted
HV: Add const qualifiers where required
V1: In order to better comply with MISRA C, add const qualifiers whereeven required. In the patch, these are being added to pointers which are normally used in "get" functions. V2: Corrected the issues in the patch pointed by Junjie in his review comments. Moved the const qualifiers to the correct places. Removed some changes which are not needed. V3: Updated patch comment. This modifies a subset of all the functions which might need constant qualifiers for the their parameters. This is not and exhaustive patch. This only targets obvious places where we can use the const qualifier. More changes will be submitted in future patches, if required. Signed-off-by: Arindam Roy <arindam.roy@intel.com>
1 parent e280d95 commit d3db5a6

File tree

10 files changed

+45
-45
lines changed

10 files changed

+45
-45
lines changed

hypervisor/arch/x86/cpu_state_tbl.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ static const struct cpu_state_table {
8989
}
9090
};
9191

92-
static int get_state_tbl_idx(char *cpuname)
92+
static int get_state_tbl_idx(const char *cpuname)
9393
{
9494
int i;
9595
int count = ARRAY_SIZE(cpu_state_tbl);

hypervisor/arch/x86/cpuid.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
extern bool x2apic_enabled;
1010

11-
static inline struct vcpuid_entry *find_vcpuid_entry(struct vcpu *vcpu,
11+
static inline struct vcpuid_entry *find_vcpuid_entry(const struct vcpu *vcpu,
1212
uint32_t leaf_arg, uint32_t subleaf)
1313
{
1414
uint32_t i = 0U, nr, half;
@@ -66,7 +66,7 @@ static inline struct vcpuid_entry *find_vcpuid_entry(struct vcpu *vcpu,
6666
}
6767

6868
static inline int set_vcpuid_entry(struct vm *vm,
69-
struct vcpuid_entry *entry)
69+
const struct vcpuid_entry *entry)
7070
{
7171
struct vcpuid_entry *tmp;
7272
size_t entry_size = sizeof(struct vcpuid_entry);
@@ -293,7 +293,7 @@ int set_vcpuid_entries(struct vm *vm)
293293
return 0;
294294
}
295295

296-
void guest_cpuid(struct vcpu *vcpu,
296+
void guest_cpuid(const struct vcpu *vcpu,
297297
uint32_t *eax, uint32_t *ebx,
298298
uint32_t *ecx, uint32_t *edx)
299299
{

hypervisor/arch/x86/ept.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
#define ACRN_DBG_EPT 6U
1212

13-
static uint64_t find_next_table(uint32_t table_offset, void *table_base)
13+
static uint64_t find_next_table(uint32_t table_offset, const void *table_base)
1414
{
1515
uint64_t table_entry;
1616
uint64_t table_present;
@@ -100,7 +100,7 @@ void destroy_ept(struct vm *vm)
100100
free_ept_mem(vm->arch_vm.m2p);
101101
}
102102

103-
uint64_t local_gpa2hpa(struct vm *vm, uint64_t gpa, uint32_t *size)
103+
uint64_t local_gpa2hpa(const struct vm *vm, uint64_t gpa, uint32_t *size)
104104
{
105105
uint64_t hpa = 0UL;
106106
uint64_t *pgentry, pg_size = 0UL;
@@ -124,12 +124,12 @@ uint64_t local_gpa2hpa(struct vm *vm, uint64_t gpa, uint32_t *size)
124124
}
125125

126126
/* using return value 0 as failure, make sure guest will not use hpa 0 */
127-
uint64_t gpa2hpa(struct vm *vm, uint64_t gpa)
127+
uint64_t gpa2hpa(const struct vm *vm, uint64_t gpa)
128128
{
129129
return local_gpa2hpa(vm, gpa, NULL);
130130
}
131131

132-
uint64_t hpa2gpa(struct vm *vm, uint64_t hpa)
132+
uint64_t hpa2gpa(const struct vm *vm, uint64_t hpa)
133133
{
134134
uint64_t *pgentry, pg_size = 0UL;
135135

@@ -251,7 +251,7 @@ int ept_misconfig_vmexit_handler(__unused struct vcpu *vcpu)
251251
return status;
252252
}
253253

254-
int ept_mr_add(struct vm *vm, uint64_t hpa_arg,
254+
int ept_mr_add(const struct vm *vm, uint64_t hpa_arg,
255255
uint64_t gpa_arg, uint64_t size, uint32_t prot_arg)
256256
{
257257
struct mem_map_params map_params;
@@ -290,7 +290,7 @@ int ept_mr_add(struct vm *vm, uint64_t hpa_arg,
290290
return 0;
291291
}
292292

293-
int ept_mr_modify(struct vm *vm, uint64_t *pml4_page,
293+
int ept_mr_modify(const struct vm *vm, uint64_t *pml4_page,
294294
uint64_t gpa, uint64_t size,
295295
uint64_t prot_set, uint64_t prot_clr)
296296
{
@@ -308,7 +308,7 @@ int ept_mr_modify(struct vm *vm, uint64_t *pml4_page,
308308
return ret;
309309
}
310310

311-
int ept_mr_del(struct vm *vm, uint64_t *pml4_page,
311+
int ept_mr_del(const struct vm *vm, uint64_t *pml4_page,
312312
uint64_t gpa, uint64_t size)
313313
{
314314
struct vcpu *vcpu;

hypervisor/arch/x86/guest/guest.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ uint64_t vcpumask2pcpumask(struct vm *vm, uint64_t vdmask)
4646
return dmask;
4747
}
4848

49-
bool vm_lapic_disabled(struct vm *vm)
49+
bool vm_lapic_disabled(const struct vm *vm)
5050
{
5151
uint16_t i;
5252
struct vcpu *vcpu;
@@ -276,7 +276,7 @@ int gva2gpa(struct vcpu *vcpu, uint64_t gva, uint64_t *gpa,
276276
return ret;
277277
}
278278

279-
static inline uint32_t local_copy_gpa(struct vm *vm, void *h_ptr, uint64_t gpa,
279+
static inline uint32_t local_copy_gpa(const struct vm *vm, void *h_ptr, uint64_t gpa,
280280
uint32_t size, uint32_t fix_pg_size, bool cp_from_vm)
281281
{
282282
uint64_t hpa;
@@ -308,7 +308,7 @@ static inline uint32_t local_copy_gpa(struct vm *vm, void *h_ptr, uint64_t gpa,
308308
return len;
309309
}
310310

311-
static inline int copy_gpa(struct vm *vm, void *h_ptr_arg, uint64_t gpa_arg,
311+
static inline int copy_gpa(const struct vm *vm, void *h_ptr_arg, uint64_t gpa_arg,
312312
uint32_t size_arg, bool cp_from_vm)
313313
{
314314
void *h_ptr = h_ptr_arg;
@@ -385,12 +385,12 @@ static inline int copy_gva(struct vcpu *vcpu, void *h_ptr_arg, uint64_t gva_arg,
385385
* - some other gpa from hypercall parameters, VHM should make sure it's
386386
* continuous
387387
*/
388-
int copy_from_gpa(struct vm *vm, void *h_ptr, uint64_t gpa, uint32_t size)
388+
int copy_from_gpa(const struct vm *vm, void *h_ptr, uint64_t gpa, uint32_t size)
389389
{
390390
return copy_gpa(vm, h_ptr, gpa, size, 1);
391391
}
392392

393-
int copy_to_gpa(struct vm *vm, void *h_ptr, uint64_t gpa, uint32_t size)
393+
int copy_to_gpa(const struct vm *vm, void *h_ptr, uint64_t gpa, uint32_t size)
394394
{
395395
return copy_gpa(vm, h_ptr, gpa, size, 0);
396396
}

hypervisor/include/arch/x86/cpuid.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ static inline void cpuid_subleaf(uint32_t leaf, uint32_t subleaf,
132132
}
133133

134134
int set_vcpuid_entries(struct vm *vm);
135-
void guest_cpuid(struct vcpu *vcpu,
135+
void guest_cpuid(const struct vcpu *vcpu,
136136
uint32_t *eax, uint32_t *ebx,
137137
uint32_t *ecx, uint32_t *edx);
138138

hypervisor/include/arch/x86/guest/guest.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ enum vm_paging_mode {
9393
/*
9494
* VM related APIs
9595
*/
96-
bool vm_lapic_disabled(struct vm *vm);
96+
bool vm_lapic_disabled(const struct vm *vm);
9797
uint64_t vcpumask2pcpumask(struct vm *vm, uint64_t vdmask);
9898

9999
int gva2gpa(struct vcpu *vcpu, uint64_t gva, uint64_t *gpa, uint32_t *err_code);
@@ -133,8 +133,8 @@ int general_sw_loader(struct vm *vm, struct vcpu *vcpu);
133133
typedef int (*vm_sw_loader_t)(struct vm *vm, struct vcpu *vcpu);
134134
extern vm_sw_loader_t vm_sw_loader;
135135

136-
int copy_from_gpa(struct vm *vm, void *h_ptr, uint64_t gpa, uint32_t size);
137-
int copy_to_gpa(struct vm *vm, void *h_ptr, uint64_t gpa, uint32_t size);
136+
int copy_from_gpa(const struct vm *vm, void *h_ptr, uint64_t gpa, uint32_t size);
137+
int copy_to_gpa(const struct vm *vm, void *h_ptr, uint64_t gpa, uint32_t size);
138138
int copy_from_gva(struct vcpu *vcpu, void *h_ptr, uint64_t gva,
139139
uint32_t size, uint32_t *err_code, uint64_t *fault_addr);
140140
int copy_to_gva(struct vcpu *vcpu, void *h_ptr, uint64_t gva,

hypervisor/include/arch/x86/io.h

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ static inline uint32_t pio_read(uint16_t addr, size_t sz)
8181
* @param value The 32 bit value to write.
8282
* @param addr The memory address to write to.
8383
*/
84-
static inline void mmio_write32(uint32_t value, void *addr)
84+
static inline void mmio_write32(uint32_t value, const void *addr)
8585
{
8686
volatile uint32_t *addr32 = (volatile uint32_t *)addr;
8787
*addr32 = value;
@@ -92,7 +92,7 @@ static inline void mmio_write32(uint32_t value, void *addr)
9292
* @param value The 16 bit value to write.
9393
* @param addr The memory address to write to.
9494
*/
95-
static inline void mmio_write16(uint16_t value, void *addr)
95+
static inline void mmio_write16(uint16_t value, const void *addr)
9696
{
9797
volatile uint16_t *addr16 = (volatile uint16_t *)addr;
9898
*addr16 = value;
@@ -103,7 +103,7 @@ static inline void mmio_write16(uint16_t value, void *addr)
103103
* @param value The 8 bit value to write.
104104
* @param addr The memory address to write to.
105105
*/
106-
static inline void mmio_write8(uint8_t value, void *addr)
106+
static inline void mmio_write8(uint8_t value, const void *addr)
107107
{
108108
volatile uint8_t *addr8 = (volatile uint8_t *)addr;
109109
*addr8 = value;
@@ -115,7 +115,7 @@ static inline void mmio_write8(uint8_t value, void *addr)
115115
*
116116
* @return The 32 bit value read from the given address.
117117
*/
118-
static inline uint32_t mmio_read32(void *addr)
118+
static inline uint32_t mmio_read32(const void *addr)
119119
{
120120
return *((volatile uint32_t *)addr);
121121
}
@@ -126,7 +126,7 @@ static inline uint32_t mmio_read32(void *addr)
126126
*
127127
* @return The 16 bit value read from the given address.
128128
*/
129-
static inline uint16_t mmio_read16(void *addr)
129+
static inline uint16_t mmio_read16(const void *addr)
130130
{
131131
return *((volatile uint16_t *)addr);
132132
}
@@ -137,7 +137,7 @@ static inline uint16_t mmio_read16(void *addr)
137137
*
138138
* @return The 8 bit value read from the given address.
139139
*/
140-
static inline uint8_t mmio_read8(void *addr)
140+
static inline uint8_t mmio_read8(const void *addr)
141141
{
142142
return *((volatile uint8_t *)addr);
143143
}
@@ -150,7 +150,7 @@ static inline uint8_t mmio_read8(void *addr)
150150
* @param mask The mask to apply to the value read.
151151
* @param value The 32 bit value to write.
152152
*/
153-
static inline void set32(void *addr, uint32_t mask, uint32_t value)
153+
static inline void set32(const void *addr, uint32_t mask, uint32_t value)
154154
{
155155
uint32_t temp_val;
156156

@@ -165,7 +165,7 @@ static inline void set32(void *addr, uint32_t mask, uint32_t value)
165165
* @param mask The mask to apply to the value read.
166166
* @param value The 16 bit value to write.
167167
*/
168-
static inline void set16(void *addr, uint16_t mask, uint16_t value)
168+
static inline void set16(const void *addr, uint16_t mask, uint16_t value)
169169
{
170170
uint16_t temp_val;
171171

@@ -180,7 +180,7 @@ static inline void set16(void *addr, uint16_t mask, uint16_t value)
180180
* @param mask The mask to apply to the value read.
181181
* @param value The 8 bit value to write.
182182
*/
183-
static inline void set8(void *addr, uint8_t mask, uint8_t value)
183+
static inline void set8(const void *addr, uint8_t mask, uint8_t value)
184184
{
185185
uint8_t temp_val;
186186

hypervisor/include/arch/x86/mmu.h

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -259,27 +259,27 @@ enum _page_table_present {
259259
#define PAGE_SIZE_1G MEM_1G
260260

261261
/* Inline functions for reading/writing memory */
262-
static inline uint8_t mem_read8(void *addr)
262+
static inline uint8_t mem_read8(const void *addr)
263263
{
264264
return *(volatile uint8_t *)(addr);
265265
}
266266

267-
static inline uint16_t mem_read16(void *addr)
267+
static inline uint16_t mem_read16(const void *addr)
268268
{
269269
return *(volatile uint16_t *)(addr);
270270
}
271271

272-
static inline uint32_t mem_read32(void *addr)
272+
static inline uint32_t mem_read32(const void *addr)
273273
{
274274
return *(volatile uint32_t *)(addr);
275275
}
276276

277-
static inline uint64_t mem_read64(void *addr)
277+
static inline uint64_t mem_read64(const void *addr)
278278
{
279279
return *(volatile uint64_t *)(addr);
280280
}
281281

282-
static inline void mem_write8(void *addr, uint8_t data)
282+
static inline void mem_write8(const void *addr, uint8_t data)
283283
{
284284
volatile uint8_t *addr8 = (volatile uint8_t *)addr;
285285
*addr8 = data;
@@ -378,15 +378,15 @@ static inline void clflush(volatile void *p)
378378
/* External Interfaces */
379379
uint64_t create_guest_initial_paging(struct vm *vm);
380380
void destroy_ept(struct vm *vm);
381-
uint64_t gpa2hpa(struct vm *vm, uint64_t gpa);
382-
uint64_t local_gpa2hpa(struct vm *vm, uint64_t gpa, uint32_t *size);
383-
uint64_t hpa2gpa(struct vm *vm, uint64_t hpa);
384-
int ept_mr_add(struct vm *vm, uint64_t hpa_arg,
381+
uint64_t gpa2hpa(const struct vm *vm, uint64_t gpa);
382+
uint64_t local_gpa2hpa(const struct vm *vm, uint64_t gpa, uint32_t *size);
383+
uint64_t hpa2gpa(const struct vm *vm, uint64_t hpa);
384+
int ept_mr_add(const struct vm *vm, uint64_t hpa_arg,
385385
uint64_t gpa_arg, uint64_t size, uint32_t prot_arg);
386-
int ept_mr_modify(struct vm *vm, uint64_t *pml4_page,
386+
int ept_mr_modify(const struct vm *vm, uint64_t *pml4_page,
387387
uint64_t gpa, uint64_t size,
388388
uint64_t prot_set, uint64_t prot_clr);
389-
int ept_mr_del(struct vm *vm, uint64_t *pml4_page,
389+
int ept_mr_del(const struct vm *vm, uint64_t *pml4_page,
390390
uint64_t gpa, uint64_t size);
391391
void free_ept_mem(void *pml4_addr);
392392
int ept_violation_vmexit_handler(struct vcpu *vcpu);

hypervisor/include/arch/x86/pgtable.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,25 +53,25 @@ static inline uint64_t *pml4e_offset(uint64_t *pml4_page, uint64_t addr)
5353
return pml4_page + pml4e_index(addr);
5454
}
5555

56-
static inline uint64_t *pdpte_offset(uint64_t *pml4e, uint64_t addr)
56+
static inline uint64_t *pdpte_offset(const uint64_t *pml4e, uint64_t addr)
5757
{
5858
return pml4e_page_vaddr(*pml4e) + pdpte_index(addr);
5959
}
6060

61-
static inline uint64_t *pde_offset(uint64_t *pdpte, uint64_t addr)
61+
static inline uint64_t *pde_offset(const uint64_t *pdpte, uint64_t addr)
6262
{
6363
return pdpte_page_vaddr(*pdpte) + pde_index(addr);
6464
}
6565

66-
static inline uint64_t *pte_offset(uint64_t *pde, uint64_t addr)
66+
static inline uint64_t *pte_offset(const uint64_t *pde, uint64_t addr)
6767
{
6868
return pde_page_vaddr(*pde) + pte_index(addr);
6969
}
7070

7171
/*
7272
* pgentry may means pml4e/pdpte/pde/pte
7373
*/
74-
static inline uint64_t get_pgentry(uint64_t *pte)
74+
static inline uint64_t get_pgentry(const uint64_t *pte)
7575
{
7676
return *pte;
7777
}

hypervisor/include/arch/x86/vmx.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -449,7 +449,7 @@ int vmx_wrmsr_pat(struct vcpu *vcpu, uint64_t value);
449449
int vmx_write_cr0(struct vcpu *vcpu, uint64_t cr0);
450450
int vmx_write_cr4(struct vcpu *vcpu, uint64_t cr4);
451451

452-
static inline enum vm_cpu_mode get_vcpu_mode(struct vcpu *vcpu)
452+
static inline enum vm_cpu_mode get_vcpu_mode(const struct vcpu *vcpu)
453453
{
454454
return vcpu->arch_vcpu.cpu_mode;
455455
}

0 commit comments

Comments
 (0)