[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 44/50] target/i386: Eliminate user stubs for read/write_crN, rd/wr
From: |
Richard Henderson |
Subject: |
[PULL 44/50] target/i386: Eliminate user stubs for read/write_crN, rd/wrmsr |
Date: |
Wed, 19 May 2021 13:30:44 -0500 |
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20210514151342.384376-45-richard.henderson@linaro.org>
---
target/i386/helper.h | 8 ++++----
target/i386/tcg/translate.c | 4 ++++
target/i386/tcg/user/misc_stubs.c | 20 --------------------
3 files changed, 8 insertions(+), 24 deletions(-)
diff --git a/target/i386/helper.h b/target/i386/helper.h
index 0264fba335..1d85f033df 100644
--- a/target/i386/helper.h
+++ b/target/i386/helper.h
@@ -42,8 +42,6 @@ DEF_HELPER_5(lcall_protected, void, env, int, tl, int, tl)
DEF_HELPER_2(iret_real, void, env, int)
DEF_HELPER_3(iret_protected, void, env, int, int)
DEF_HELPER_3(lret_protected, void, env, int, int)
-DEF_HELPER_FLAGS_2(read_crN, TCG_CALL_NO_RWG, tl, env, int)
-DEF_HELPER_FLAGS_3(write_crN, TCG_CALL_NO_RWG, void, env, int, tl)
DEF_HELPER_1(clts, void, env)
#ifndef CONFIG_USER_ONLY
@@ -87,8 +85,6 @@ DEF_HELPER_1(cpuid, void, env)
DEF_HELPER_1(rdtsc, void, env)
DEF_HELPER_1(rdtscp, void, env)
DEF_HELPER_FLAGS_1(rdpmc, TCG_CALL_NO_WG, noreturn, env)
-DEF_HELPER_1(rdmsr, void, env)
-DEF_HELPER_1(wrmsr, void, env)
DEF_HELPER_2(check_iob, void, env, i32)
DEF_HELPER_2(check_iow, void, env, i32)
@@ -114,6 +110,10 @@ DEF_HELPER_FLAGS_2(flush_page, TCG_CALL_NO_RWG, void, env,
tl)
DEF_HELPER_FLAGS_2(hlt, TCG_CALL_NO_WG, noreturn, env, int)
DEF_HELPER_FLAGS_2(monitor, TCG_CALL_NO_WG, void, env, tl)
DEF_HELPER_FLAGS_2(mwait, TCG_CALL_NO_WG, noreturn, env, int)
+DEF_HELPER_1(rdmsr, void, env)
+DEF_HELPER_1(wrmsr, void, env)
+DEF_HELPER_FLAGS_2(read_crN, TCG_CALL_NO_RWG, tl, env, int)
+DEF_HELPER_FLAGS_3(write_crN, TCG_CALL_NO_RWG, void, env, int, tl)
#endif /* !CONFIG_USER_ONLY */
/* x86 FPU */
diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c
index eb11a75e86..9501089861 100644
--- a/target/i386/tcg/translate.c
+++ b/target/i386/tcg/translate.c
@@ -198,6 +198,8 @@ STUB_HELPER(flush_page, TCGv_env env, TCGv addr)
STUB_HELPER(hlt, TCGv_env env, TCGv_i32 pc_ofs)
STUB_HELPER(monitor, TCGv_env env, TCGv addr)
STUB_HELPER(mwait, TCGv_env env, TCGv_i32 pc_ofs)
+STUB_HELPER(rdmsr, TCGv_env env)
+STUB_HELPER(read_crN, TCGv ret, TCGv_env env, TCGv_i32 reg)
STUB_HELPER(set_dr, TCGv_env env, TCGv_i32 reg, TCGv val)
STUB_HELPER(stgi, TCGv_env env)
STUB_HELPER(svm_check_intercept, TCGv_env env, TCGv_i32 type)
@@ -206,6 +208,8 @@ 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)
+STUB_HELPER(write_crN, TCGv_env env, TCGv_i32 reg, TCGv val)
+STUB_HELPER(wrmsr, TCGv_env env)
#endif
static void gen_eob(DisasContext *s);
diff --git a/target/i386/tcg/user/misc_stubs.c
b/target/i386/tcg/user/misc_stubs.c
index 84df4e65ff..df38b44d6e 100644
--- a/target/i386/tcg/user/misc_stubs.c
+++ b/target/i386/tcg/user/misc_stubs.c
@@ -53,23 +53,3 @@ target_ulong helper_inl(CPUX86State *env, uint32_t port)
g_assert_not_reached();
return 0;
}
-
-target_ulong helper_read_crN(CPUX86State *env, int reg)
-{
- g_assert_not_reached();
-}
-
-void helper_write_crN(CPUX86State *env, int reg, target_ulong t0)
-{
- g_assert_not_reached();
-}
-
-void helper_wrmsr(CPUX86State *env)
-{
- g_assert_not_reached();
-}
-
-void helper_rdmsr(CPUX86State *env)
-{
- g_assert_not_reached();
-}
--
2.25.1
- [PULL 34/50] target/i386: Mark some helpers as noreturn, (continued)
- [PULL 34/50] target/i386: Mark some helpers as noreturn, Richard Henderson, 2021/05/19
- [PULL 37/50] target/i386: Remove pc_start argument to gen_svm_check_intercept, Richard Henderson, 2021/05/19
- [PULL 35/50] target/i386: Simplify gen_debug usage, Richard Henderson, 2021/05/19
- [PULL 38/50] target/i386: Remove user stub for cpu_vmexit, Richard Henderson, 2021/05/19
- [PULL 33/50] target/i386: Eliminate SVM helpers for user-only, Richard Henderson, 2021/05/19
- [PULL 40/50] target/i386: Pass env to do_pause and do_hlt, Richard Henderson, 2021/05/19
- [PULL 41/50] target/i386: Move invlpg, hlt, monitor, mwait to sysemu, Richard Henderson, 2021/05/19
- [PULL 42/50] target/i386: Unify invlpg, invlpga, Richard Henderson, 2021/05/19
- [PULL 43/50] target/i386: Inline user cpu_svm_check_intercept_param, Richard Henderson, 2021/05/19
- [PULL 45/50] target/i386: Exit tb after wrmsr, Richard Henderson, 2021/05/19
- [PULL 44/50] target/i386: Eliminate user stubs for read/write_crN, rd/wrmsr,
Richard Henderson <=
- [PULL 48/50] target/i386: Create helper_check_io, Richard Henderson, 2021/05/19
- [PULL 50/50] target/i386: Remove user-only i/o stubs, Richard Henderson, 2021/05/19
- [PULL 47/50] target/i386: Pass in port to gen_check_io, Richard Henderson, 2021/05/19
- [PULL 46/50] target/i386: Tidy gen_check_io, Richard Henderson, 2021/05/19
- [PULL 49/50] target/i386: Move helper_check_io to sysemu, Richard Henderson, 2021/05/19
- Re: [PULL 00/50] target/i386 translate cleanups, no-reply, 2021/05/19
- Re: [PULL 00/50] target/i386 translate cleanups, Peter Maydell, 2021/05/20