Revision cc84de95 kvm-all.c
b/kvm-all.c | ||
---|---|---|
771 | 771 |
kvm_arch_post_run(env, run); |
772 | 772 |
|
773 | 773 |
if (ret == -EINTR || ret == -EAGAIN) { |
774 |
cpu_exit(env); |
|
774 | 775 |
dprintf("io window exit\n"); |
775 | 776 |
ret = 0; |
776 | 777 |
break; |
... | ... | |
1116 | 1117 |
{ |
1117 | 1118 |
} |
1118 | 1119 |
#endif /* !KVM_CAP_SET_GUEST_DEBUG */ |
1120 |
|
|
1121 |
int kvm_set_signal_mask(CPUState *env, const sigset_t *sigset) |
|
1122 |
{ |
|
1123 |
struct kvm_signal_mask *sigmask; |
|
1124 |
int r; |
|
1125 |
|
|
1126 |
if (!sigset) |
|
1127 |
return kvm_vcpu_ioctl(env, KVM_SET_SIGNAL_MASK, NULL); |
|
1128 |
|
|
1129 |
sigmask = qemu_malloc(sizeof(*sigmask) + sizeof(*sigset)); |
|
1130 |
|
|
1131 |
sigmask->len = 8; |
|
1132 |
memcpy(sigmask->sigset, sigset, sizeof(*sigset)); |
|
1133 |
r = kvm_vcpu_ioctl(env, KVM_SET_SIGNAL_MASK, sigmask); |
|
1134 |
free(sigmask); |
|
1135 |
|
|
1136 |
return r; |
|
1137 |
} |
Also available in: Unified diff