i386: make cpu_load_efer sysemu-only
cpu_load_efer is now used only for sysemu code. Therefore, move this function implementation to sysemu-only section of helper.c Signed-off-by: Claudio Fontana <cfontana@suse.de> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20210322132800.7470-22-cfontana@suse.de> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
1852f0942c
commit
6308728907
@ -1958,6 +1958,11 @@ static inline AddressSpace *cpu_addressspace(CPUState *cs, MemTxAttrs attrs)
|
||||
return cpu_get_address_space(cs, cpu_asidx_from_attrs(cs, attrs));
|
||||
}
|
||||
|
||||
/*
|
||||
* load efer and update the corresponding hflags. XXX: do consistency
|
||||
* checks with cpuid bits?
|
||||
*/
|
||||
void cpu_load_efer(CPUX86State *env, uint64_t val);
|
||||
uint8_t x86_ldub_phys(CPUState *cs, hwaddr addr);
|
||||
uint32_t x86_lduw_phys(CPUState *cs, hwaddr addr);
|
||||
uint32_t x86_ldl_phys(CPUState *cs, hwaddr addr);
|
||||
@ -2054,21 +2059,6 @@ static inline uint32_t cpu_compute_eflags(CPUX86State *env)
|
||||
return eflags;
|
||||
}
|
||||
|
||||
|
||||
/* load efer and update the corresponding hflags. XXX: do consistency
|
||||
checks with cpuid bits? */
|
||||
static inline void cpu_load_efer(CPUX86State *env, uint64_t val)
|
||||
{
|
||||
env->efer = val;
|
||||
env->hflags &= ~(HF_LMA_MASK | HF_SVME_MASK);
|
||||
if (env->efer & MSR_EFER_LMA) {
|
||||
env->hflags |= HF_LMA_MASK;
|
||||
}
|
||||
if (env->efer & MSR_EFER_SVME) {
|
||||
env->hflags |= HF_SVME_MASK;
|
||||
}
|
||||
}
|
||||
|
||||
static inline MemTxAttrs cpu_get_mem_attrs(CPUX86State *env)
|
||||
{
|
||||
return ((MemTxAttrs) { .secure = (env->hflags & HF_SMM_MASK) != 0 });
|
||||
|
@ -574,6 +574,19 @@ void do_cpu_sipi(X86CPU *cpu)
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_USER_ONLY
|
||||
|
||||
void cpu_load_efer(CPUX86State *env, uint64_t val)
|
||||
{
|
||||
env->efer = val;
|
||||
env->hflags &= ~(HF_LMA_MASK | HF_SVME_MASK);
|
||||
if (env->efer & MSR_EFER_LMA) {
|
||||
env->hflags |= HF_LMA_MASK;
|
||||
}
|
||||
if (env->efer & MSR_EFER_SVME) {
|
||||
env->hflags |= HF_SVME_MASK;
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t x86_ldub_phys(CPUState *cs, hwaddr addr)
|
||||
{
|
||||
X86CPU *cpu = X86_CPU(cs);
|
||||
|
Loading…
Reference in New Issue
Block a user