diff options
author | Blue Swirl <blauwirbel@gmail.com> | 2012-04-28 19:35:10 +0000 |
---|---|---|
committer | Blue Swirl <blauwirbel@gmail.com> | 2012-06-28 20:28:08 +0000 |
commit | 77b2bc2c096be44a36c45d777abb81a298c05c98 (patch) | |
tree | 6b102bf6993d28825d37938b3c26939c3ef33b7d /target-i386/cpu.h | |
parent | 20054ef03e0bd051178edd9d1378aa59570dbcf5 (diff) |
x86: avoid AREG0 for exceptions
Add an explicit CPUX86State parameter instead of relying on AREG0.
Merge raise_exception_env() to raise_exception(), likewise with
raise_exception_err_env() and raise_exception_err().
Introduce cpu_svm_check_intercept_param() and cpu_vmexit()
as wrappers.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'target-i386/cpu.h')
-rw-r--r-- | target-i386/cpu.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/target-i386/cpu.h b/target-i386/cpu.h index bcf663eeb5..c546723eea 100644 --- a/target-i386/cpu.h +++ b/target-i386/cpu.h @@ -1074,13 +1074,15 @@ void cpu_x86_inject_mce(Monitor *mon, CPUX86State *cenv, int bank, /* op_helper.c */ void do_interrupt(CPUX86State *env); void do_interrupt_x86_hardirq(CPUX86State *env, int intno, int is_hw); -void QEMU_NORETURN raise_exception_env(int exception_index, CPUX86State *nenv); -void QEMU_NORETURN raise_exception_err_env(CPUX86State *nenv, int exception_index, - int error_code); +void QEMU_NORETURN raise_exception(CPUX86State *env, int exception_index); +void QEMU_NORETURN raise_exception_err(CPUX86State *env, int exception_index, + int error_code); void do_smm_enter(CPUX86State *env1); -void svm_check_intercept(CPUX86State *env1, uint32_t type); +void cpu_svm_check_intercept_param(CPUX86State *env1, uint32_t type, + uint64_t param); +void cpu_vmexit(CPUX86State *nenv, uint32_t exit_code, uint64_t exit_info_1); uint32_t cpu_cc_compute_all(CPUX86State *env1, int op); |