Skip to content

Commit ad73bb5

Browse files
junjiemao1lijinxia
authored andcommitted
HV: treewide: unify the type of bit-field members
Qualified or unqualified int or bool are the only types allowed for bit-field members in C99, and MISRA C further forbids using plain int. Use uint32_t (which is equivalent to unsigned int) for all bit-field members. Signed-off-by: Junjie Mao <junjie.mao@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
1 parent c0b55cd commit ad73bb5

File tree

4 files changed

+41
-40
lines changed

4 files changed

+41
-40
lines changed

hypervisor/arch/x86/lapic.c

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -20,26 +20,26 @@ union apic_icr {
2020
uint32_t hi_32;
2121
} value_32;
2222
struct {
23-
uint64_t vector:8;
24-
uint64_t delivery_mode:3;
25-
uint64_t destination_mode:1;
26-
uint64_t delivery_status:1;
27-
uint64_t rsvd_1:1;
28-
uint64_t level:1;
29-
uint64_t trigger_mode:1;
30-
uint64_t rsvd_2:2;
31-
uint64_t shorthand:2;
32-
uint64_t rsvd_3:12;
33-
uint64_t rsvd_4:32;
23+
uint32_t vector:8;
24+
uint32_t delivery_mode:3;
25+
uint32_t destination_mode:1;
26+
uint32_t delivery_status:1;
27+
uint32_t rsvd_1:1;
28+
uint32_t level:1;
29+
uint32_t trigger_mode:1;
30+
uint32_t rsvd_2:2;
31+
uint32_t shorthand:2;
32+
uint32_t rsvd_3:12;
33+
uint32_t rsvd_4:32;
3434
} bits;
3535
struct {
36-
uint64_t rsvd_1:32;
37-
uint64_t rsvd_2:24;
38-
uint64_t dest_field:8;
36+
uint32_t rsvd_1:32;
37+
uint32_t rsvd_2:24;
38+
uint32_t dest_field:8;
3939
} x_bits;
4040
struct {
41-
uint64_t rsvd_1:32;
42-
uint64_t dest_field:32;
41+
uint32_t rsvd_1:32;
42+
uint32_t dest_field:32;
4343
} x2_bits;
4444
};
4545

@@ -116,13 +116,13 @@ union apic_lvt {
116116
union lapic_base_msr {
117117
uint64_t value;
118118
struct {
119-
uint64_t rsvd_1:8;
120-
uint64_t bsp:1;
121-
uint64_t rsvd_2:1;
122-
uint64_t x2APIC_enable:1;
123-
uint64_t xAPIC_enable:1;
124-
uint64_t lapic_paddr:24;
125-
uint64_t rsvd_3:28;
119+
uint32_t rsvd_1:8;
120+
uint32_t bsp:1;
121+
uint32_t rsvd_2:1;
122+
uint32_t x2APIC_enable:1;
123+
uint32_t xAPIC_enable:1;
124+
uint32_t lapic_paddr:24;
125+
uint32_t rsvd_3:28;
126126
} fields;
127127
};
128128

hypervisor/arch/x86/mmu.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,11 @@ static inline void _invvpid(uint64_t type, uint16_t vpid, uint64_t gva)
7474
int error = 0;
7575

7676
struct {
77-
uint64_t vpid : 16;
78-
uint64_t rsvd : 48;
77+
uint32_t vpid : 16;
78+
uint32_t rsvd1 : 16;
79+
uint32_t rsvd2 : 32;
7980
uint64_t gva;
80-
} operand = { vpid, 0, gva };
81+
} operand = { vpid, 0U, 0U, gva };
8182

8283
asm volatile ("invvpid %1, %2\n"
8384
VMFAIL_INVALID_EPT_VPID

hypervisor/include/arch/x86/apicreg.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,8 +121,8 @@
121121

122122
#ifndef LOCORE
123123

124-
#define PAD3 int: 32; int: 32; int: 32
125-
#define PAD4 int: 32; int: 32; int: 32; int: 32
124+
#define PAD3 uint32_t: 32; uint32_t: 32; uint32_t: 32
125+
#define PAD4 uint32_t: 32; uint32_t: 32; uint32_t: 32; uint32_t: 32
126126

127127
struct lapic_reg {
128128
uint32_t val; PAD3;

hypervisor/include/arch/x86/mtrr.h

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,24 +12,24 @@
1212
union mtrr_cap_reg {
1313
uint64_t value;
1414
struct {
15-
uint64_t vcnt:8;
16-
uint64_t fix:1;
17-
uint64_t res0:1;
18-
uint64_t wc:1;
19-
uint64_t res1:21;
20-
uint64_t res2:32;
15+
uint32_t vcnt:8;
16+
uint32_t fix:1;
17+
uint32_t res0:1;
18+
uint32_t wc:1;
19+
uint32_t res1:21;
20+
uint32_t res2:32;
2121
} bits;
2222
};
2323

2424
union mtrr_def_type_reg {
2525
uint64_t value;
2626
struct {
27-
uint64_t type:8;
28-
uint64_t res0:2;
29-
uint64_t fixed_enable:1;
30-
uint64_t enable:1;
31-
uint64_t res1:20;
32-
uint64_t res2:32;
27+
uint32_t type:8;
28+
uint32_t res0:2;
29+
uint32_t fixed_enable:1;
30+
uint32_t enable:1;
31+
uint32_t res1:20;
32+
uint32_t res2:32;
3333
} bits;
3434
};
3535

0 commit comments

Comments
 (0)