Richard Henderson
7fb7c42394
target/i386: Remove user-only i/o stubs
...
With the previous patch for check_io, we now have enough for
the compiler to dead-code eliminate all of the i/o helpers.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com >
Message-Id: <20210514151342.384376-51-richard.henderson@linaro.org >
2021-05-19 12:17:23 -05:00
Richard Henderson
27bd3216a7
target/i386: Inline user cpu_svm_check_intercept_param
...
The user-version is a no-op. This lets us completely
remove tcg/user/svm_stubs.c.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com >
Message-Id: <20210514151342.384376-44-richard.henderson@linaro.org >
2021-05-19 12:17:11 -05:00
Claudio Fontana
30493a030f
i386: split seg_helper into user-only and sysemu parts
...
Signed-off-by: Claudio Fontana <cfontana@suse.de >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
[claudio]:
Rebased on commit 68775856
("target/i386: svm: do not discard high 32 bits")
Signed-off-by: Claudio Fontana <cfontana@suse.de >
Message-Id: <20210322132800.7470-18-cfontana@suse.de >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2021-05-10 15:41:52 -04:00
Claudio Fontana
b39030942d
i386: split svm_helper into sysemu and stub-only user
...
For now we just copy over the previous user stubs, but really,
everything that requires s->cpl == 0 should be impossible
to trigger from user-mode emulation.
Later on we should add a check that asserts this easily f.e.:
static bool check_cpl0(DisasContext *s)
{
int cpl = s->cpl;
#ifdef CONFIG_USER_ONLY
assert(cpl == 3);
#endif
if (cpl != 0) {
gen_exception(s, EXCP0D_GPF, s->pc_start - s->cs_base);
return false;
}
return true;
}
Signed-off-by: Claudio Fontana <cfontana@suse.de >
Cc: Paolo Bonzini <pbonzini@redhat.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210322132800.7470-17-cfontana@suse.de >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2021-05-10 15:41:51 -04:00
Claudio Fontana
a4b1f4e611
i386: split misc helper user stubs and sysemu part
...
Signed-off-by: Claudio Fontana <cfontana@suse.de >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
[claudio]:
Rebased on da3f3b02("target/i386: fail if toggling LA57 in 64-bitmode")
Signed-off-by: Claudio Fontana <cfontana@suse.de >
Message-Id: <20210322132800.7470-15-cfontana@suse.de >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2021-05-10 15:41:51 -04:00
Claudio Fontana
e7f2670f2a
i386: split tcg excp_helper into sysemu and user parts
...
Signed-off-by: Claudio Fontana <cfontana@suse.de >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
[claudio]:
Rebased on commit b8184135
("target/i386: allow modifying TCG phys-addr-bits")
Signed-off-by: Claudio Fontana <cfontana@suse.de >
Message-Id: <20210322132800.7470-13-cfontana@suse.de >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2021-05-10 15:41:51 -04:00
Paolo Bonzini
222f3e6f19
i386: split off sysemu-only functionality in tcg-cpu
...
Signed-off-by: Claudio Fontana <cfontana@suse.de >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210322132800.7470-11-cfontana@suse.de >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2021-05-10 15:41:50 -04:00