target/i386: Eliminate SVM helpers for user-only
Use STUB_HELPER to ensure that such calls are always eliminated. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20210514151342.384376-34-richard.henderson@linaro.org>
This commit is contained in:
parent
e6aeb948bb
commit
8d6806c7dd
@ -107,8 +107,6 @@ DEF_HELPER_2(inl, tl, env, i32)
|
||||
|
||||
#ifndef CONFIG_USER_ONLY
|
||||
DEF_HELPER_FLAGS_4(bpt_io, TCG_CALL_NO_WG, void, env, i32, i32, tl)
|
||||
#endif /* !CONFIG_USER_ONLY */
|
||||
|
||||
DEF_HELPER_3(svm_check_intercept_param, void, env, i32, i64)
|
||||
DEF_HELPER_4(svm_check_io, void, env, i32, i32, i32)
|
||||
DEF_HELPER_3(vmrun, void, env, int, int)
|
||||
@ -118,6 +116,7 @@ DEF_HELPER_2(vmsave, void, env, int)
|
||||
DEF_HELPER_1(stgi, void, env)
|
||||
DEF_HELPER_1(clgi, void, env)
|
||||
DEF_HELPER_2(invlpga, void, env, int)
|
||||
#endif /* !CONFIG_USER_ONLY */
|
||||
|
||||
/* x86 FPU */
|
||||
|
||||
|
@ -193,7 +193,16 @@ typedef struct DisasContext {
|
||||
{ qemu_build_not_reached(); }
|
||||
|
||||
#ifdef CONFIG_USER_ONLY
|
||||
STUB_HELPER(clgi, TCGv_env env)
|
||||
STUB_HELPER(invlpga, TCGv_env env, TCGv_i32 aflag)
|
||||
STUB_HELPER(set_dr, TCGv_env env, TCGv_i32 reg, TCGv val)
|
||||
STUB_HELPER(stgi, TCGv_env env)
|
||||
STUB_HELPER(svm_check_intercept_param, TCGv_env env, TCGv_i32 t, TCGv_i64 p)
|
||||
STUB_HELPER(svm_check_io, TCGv_env env, TCGv_i32 port, TCGv_i32 p, TCGv_i32 a)
|
||||
STUB_HELPER(vmload, TCGv_env env, TCGv_i32 aflag)
|
||||
STUB_HELPER(vmmcall, TCGv_env env)
|
||||
STUB_HELPER(vmrun, TCGv_env env, TCGv_i32 aflag, TCGv_i32 pc_ofs)
|
||||
STUB_HELPER(vmsave, TCGv_env env, TCGv_i32 aflag)
|
||||
#endif
|
||||
|
||||
static void gen_eob(DisasContext *s);
|
||||
|
@ -22,51 +22,13 @@
|
||||
#include "exec/helper-proto.h"
|
||||
#include "tcg/helper-tcg.h"
|
||||
|
||||
void helper_vmrun(CPUX86State *env, int aflag, int next_eip_addend)
|
||||
{
|
||||
}
|
||||
|
||||
void helper_vmmcall(CPUX86State *env)
|
||||
{
|
||||
}
|
||||
|
||||
void helper_vmload(CPUX86State *env, int aflag)
|
||||
{
|
||||
}
|
||||
|
||||
void helper_vmsave(CPUX86State *env, int aflag)
|
||||
{
|
||||
}
|
||||
|
||||
void helper_stgi(CPUX86State *env)
|
||||
{
|
||||
}
|
||||
|
||||
void helper_clgi(CPUX86State *env)
|
||||
{
|
||||
}
|
||||
|
||||
void helper_invlpga(CPUX86State *env, int aflag)
|
||||
{
|
||||
}
|
||||
|
||||
void cpu_vmexit(CPUX86State *nenv, uint32_t exit_code, uint64_t exit_info_1,
|
||||
uintptr_t retaddr)
|
||||
{
|
||||
assert(0);
|
||||
}
|
||||
|
||||
void helper_svm_check_intercept_param(CPUX86State *env, uint32_t type,
|
||||
uint64_t param)
|
||||
{
|
||||
}
|
||||
|
||||
void cpu_svm_check_intercept_param(CPUX86State *env, uint32_t type,
|
||||
uint64_t param, uintptr_t retaddr)
|
||||
{
|
||||
}
|
||||
|
||||
void helper_svm_check_io(CPUX86State *env, uint32_t port, uint32_t param,
|
||||
uint32_t next_eip_addend)
|
||||
{
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user