mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 08:13:54 -06:00
kvm: Provide sigbus services arch-independently
Provide arch-independent kvm_on_sigbus* stubs to remove the #ifdef'ery from cpus.c. This patch also fixes --disable-kvm build by providing the missing kvm_on_sigbus_vcpu kvm-stub. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Acked-by: Alexander Graf <agraf@suse.de> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
This commit is contained in:
parent
84b4915dd2
commit
a1b87fe046
7 changed files with 46 additions and 10 deletions
10
cpus.c
10
cpus.c
|
@ -539,10 +539,9 @@ static void sigbus_reraise(void)
|
|||
static void sigbus_handler(int n, struct qemu_signalfd_siginfo *siginfo,
|
||||
void *ctx)
|
||||
{
|
||||
#if defined(TARGET_I386)
|
||||
if (kvm_on_sigbus(siginfo->ssi_code, (void *)(intptr_t)siginfo->ssi_addr))
|
||||
#endif
|
||||
if (kvm_on_sigbus(siginfo->ssi_code, (void *)(intptr_t)siginfo->ssi_addr)) {
|
||||
sigbus_reraise();
|
||||
}
|
||||
}
|
||||
|
||||
static void qemu_kvm_eat_signal(CPUState *env, int timeout)
|
||||
|
@ -575,10 +574,9 @@ static void qemu_kvm_eat_signal(CPUState *env, int timeout)
|
|||
|
||||
switch (r) {
|
||||
case SIGBUS:
|
||||
#ifdef TARGET_I386
|
||||
if (kvm_on_sigbus_vcpu(env, siginfo.si_code, siginfo.si_addr))
|
||||
#endif
|
||||
if (kvm_on_sigbus_vcpu(env, siginfo.si_code, siginfo.si_addr)) {
|
||||
sigbus_reraise();
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue