Revision ce377af3
b/target-i386/kvm.c | ||
---|---|---|
1442 | 1442 |
|
1443 | 1443 |
void kvm_arch_pre_run(CPUState *env, struct kvm_run *run) |
1444 | 1444 |
{ |
1445 |
int ret; |
|
1446 |
|
|
1445 | 1447 |
/* Inject NMI */ |
1446 | 1448 |
if (env->interrupt_request & CPU_INTERRUPT_NMI) { |
1447 | 1449 |
env->interrupt_request &= ~CPU_INTERRUPT_NMI; |
1448 | 1450 |
DPRINTF("injected NMI\n"); |
1449 |
kvm_vcpu_ioctl(env, KVM_NMI); |
|
1451 |
ret = kvm_vcpu_ioctl(env, KVM_NMI); |
|
1452 |
if (ret < 0) { |
|
1453 |
fprintf(stderr, "KVM: injection failed, NMI lost (%s)\n", |
|
1454 |
strerror(-ret)); |
|
1455 |
} |
|
1450 | 1456 |
} |
1451 | 1457 |
|
1452 | 1458 |
if (!kvm_irqchip_in_kernel()) { |
... | ... | |
1467 | 1473 |
struct kvm_interrupt intr; |
1468 | 1474 |
|
1469 | 1475 |
intr.irq = irq; |
1470 |
/* FIXME: errors */ |
|
1471 | 1476 |
DPRINTF("injected interrupt %d\n", irq); |
1472 |
kvm_vcpu_ioctl(env, KVM_INTERRUPT, &intr); |
|
1477 |
ret = kvm_vcpu_ioctl(env, KVM_INTERRUPT, &intr); |
|
1478 |
if (ret < 0) { |
|
1479 |
fprintf(stderr, |
|
1480 |
"KVM: injection failed, interrupt lost (%s)\n", |
|
1481 |
strerror(-ret)); |
|
1482 |
} |
|
1473 | 1483 |
} |
1474 | 1484 |
} |
1475 | 1485 |
|
Also available in: Unified diff