hv:add volatile keyword for some variables

pcpu_active_bitmap was read continuously in wait_pcpus_offline(),
acrn_vcpu->running was read continuously in pause_vcpu(),
add volatile keyword to ensure that such accesses are not
optimised away by the complier.

Tracked-On: #1842
Signed-off-by: Mingqiang Chi <mingqiang.chi@intel.com>
This commit is contained in:
Mingqiang Chi 2019-09-06 14:22:55 +08:00 committed by wenlingz
parent be0c2a8124
commit c691c5bd3c
2 changed files with 2 additions and 2 deletions

View File

@ -37,7 +37,7 @@ static uint64_t pcpu_sync = 0UL;
static uint64_t startup_paddr = 0UL; static uint64_t startup_paddr = 0UL;
/* physical cpu active bitmap, support up to 64 cpus */ /* physical cpu active bitmap, support up to 64 cpus */
static uint64_t pcpu_active_bitmap = 0UL; static volatile uint64_t pcpu_active_bitmap = 0UL;
static void pcpu_xsave_init(void); static void pcpu_xsave_init(void);
static void set_current_pcpu_id(uint16_t pcpu_id); static void set_current_pcpu_id(uint16_t pcpu_id);

View File

@ -360,7 +360,7 @@ struct acrn_vcpu {
struct sched_object sched_obj; struct sched_object sched_obj;
bool launched; /* Whether the vcpu is launched on target pcpu */ bool launched; /* Whether the vcpu is launched on target pcpu */
bool running; /* vcpu is picked up and run? */ volatile bool running; /* vcpu is picked up and run? */
struct instr_emul_ctxt inst_ctxt; struct instr_emul_ctxt inst_ctxt;
struct io_request req; /* used by io/ept emulation */ struct io_request req; /* used by io/ept emulation */