Make ibrs_type as internal variable

add get_ibrs_type API to get ibrs type.
this patch fix Misra C violation:
filename:/hypervisor/arch/x86/security.c  function:None  offset:19:
       reason:Variable should be declared static. : ibrs_type

Tracked-On: #861
Signed-off-by: Jason Chen CJ <jason.cj.chen@intel.com>
This commit is contained in:
Jason Chen CJ 2018-12-18 14:18:38 +08:00 committed by wenlingz
parent 55cce7e4ca
commit 97132acccf
3 changed files with 8 additions and 2 deletions

View File

@ -407,6 +407,7 @@ int32_t run_vcpu(struct acrn_vcpu *vcpu)
struct run_context *ctx =
&vcpu->arch.contexts[vcpu->arch.cur_context].run_ctx;
int64_t status = 0;
int32_t ibrs_type = get_ibrs_type();
if (bitmap_test_and_clear_lock(CPU_REG_RIP, &vcpu->reg_updated))
exec_vmwrite(VMX_GUEST_RIP, ctx->rip);

View File

@ -15,7 +15,7 @@
#include <logmsg.h>
static bool skip_l1dfl_vmentry;
int32_t ibrs_type;
static int32_t ibrs_type;
static void detect_ibrs(void)
{
@ -44,6 +44,11 @@ static void detect_ibrs(void)
#endif
}
int32_t get_ibrs_type(void)
{
return ibrs_type;
}
bool check_cpu_security_cap(void)
{
uint64_t x86_arch_capabilities;

View File

@ -17,7 +17,7 @@
#define IBRS_OPT 2
#ifndef ASSEMBLER
extern int32_t ibrs_type;
int32_t get_ibrs_type(void);
void cpu_l1d_flush(void);
bool check_cpu_security_cap(void);