Message ID | 20220927141504.3886314-16-alex.bennee@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | gdbstub/next (MemTxAttrs, re-factoring) | expand |
On 27/9/22 16:15, Alex Bennée wrote: > Signed-off-by: Alex Bennée <alex.bennee@linaro.org> > --- > include/sysemu/kvm.h | 16 ++++++++++++++++ > accel/kvm/kvm-all.c | 6 ------ > accel/stubs/kvm-stub.c | 5 ----- > 3 files changed, 16 insertions(+), 11 deletions(-) > > diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h > index 6e1bd01725..790d35ef78 100644 > --- a/include/sysemu/kvm.h > +++ b/include/sysemu/kvm.h > @@ -247,7 +247,23 @@ int kvm_on_sigbus(int code, void *addr); > > void kvm_flush_coalesced_mmio_buffer(void); > > +/** > + * kvm_update_guest_debug(): ensure KVM debug structures updated > + * @cs: the CPUState for this cpu > + * @reinject_trap: KVM trap injection control > + * > + * There are usually per-arch specifics which will be handled by > + * calling down to kvm_arch_update_guest_debug after the generic > + * fields have been set. > + */ > +#ifdef KVM_CAP_SET_GUEST_DEBUG > int kvm_update_guest_debug(CPUState *cpu, unsigned long reinject_trap); > +#else > +static inline int kvm_update_guest_debug(CPUState *cpu, unsigned long reinject_trap) > +{ > + return -EINVAL; Wouldn't -ENOSYS make more sense in this case? > +} > +#endif > > /* internal API */ > > diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c > index 6ebff6e5a6..423fb1936f 100644 > --- a/accel/kvm/kvm-all.c > +++ b/accel/kvm/kvm-all.c > @@ -3395,12 +3395,6 @@ void kvm_remove_all_breakpoints(CPUState *cpu) > } > } > > -#else /* !KVM_CAP_SET_GUEST_DEBUG */ > - > -static int kvm_update_guest_debug(CPUState *cpu, unsigned long reinject_trap) > -{ > - return -EINVAL; > -} > #endif /* !KVM_CAP_SET_GUEST_DEBUG */ > > static int kvm_set_signal_mask(CPUState *cpu, const sigset_t *sigset) > diff --git a/accel/stubs/kvm-stub.c b/accel/stubs/kvm-stub.c > index 2d79333143..5d2dd8f351 100644 > --- a/accel/stubs/kvm-stub.c > +++ b/accel/stubs/kvm-stub.c > @@ -46,11 +46,6 @@ int kvm_has_many_ioeventfds(void) > return 0; > } > > -int kvm_update_guest_debug(CPUState *cpu, unsigned long reinject_trap) > -{ > - return -ENOSYS; > -} > - > int kvm_on_sigbus_vcpu(CPUState *cpu, int code, void *addr) > { > return 1;
diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h index 6e1bd01725..790d35ef78 100644 --- a/include/sysemu/kvm.h +++ b/include/sysemu/kvm.h @@ -247,7 +247,23 @@ int kvm_on_sigbus(int code, void *addr); void kvm_flush_coalesced_mmio_buffer(void); +/** + * kvm_update_guest_debug(): ensure KVM debug structures updated + * @cs: the CPUState for this cpu + * @reinject_trap: KVM trap injection control + * + * There are usually per-arch specifics which will be handled by + * calling down to kvm_arch_update_guest_debug after the generic + * fields have been set. + */ +#ifdef KVM_CAP_SET_GUEST_DEBUG int kvm_update_guest_debug(CPUState *cpu, unsigned long reinject_trap); +#else +static inline int kvm_update_guest_debug(CPUState *cpu, unsigned long reinject_trap) +{ + return -EINVAL; +} +#endif /* internal API */ diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 6ebff6e5a6..423fb1936f 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -3395,12 +3395,6 @@ void kvm_remove_all_breakpoints(CPUState *cpu) } } -#else /* !KVM_CAP_SET_GUEST_DEBUG */ - -static int kvm_update_guest_debug(CPUState *cpu, unsigned long reinject_trap) -{ - return -EINVAL; -} #endif /* !KVM_CAP_SET_GUEST_DEBUG */ static int kvm_set_signal_mask(CPUState *cpu, const sigset_t *sigset) diff --git a/accel/stubs/kvm-stub.c b/accel/stubs/kvm-stub.c index 2d79333143..5d2dd8f351 100644 --- a/accel/stubs/kvm-stub.c +++ b/accel/stubs/kvm-stub.c @@ -46,11 +46,6 @@ int kvm_has_many_ioeventfds(void) return 0; } -int kvm_update_guest_debug(CPUState *cpu, unsigned long reinject_trap) -{ - return -ENOSYS; -} - int kvm_on_sigbus_vcpu(CPUState *cpu, int code, void *addr) { return 1;
Signed-off-by: Alex Bennée <alex.bennee@linaro.org> --- include/sysemu/kvm.h | 16 ++++++++++++++++ accel/kvm/kvm-all.c | 6 ------ accel/stubs/kvm-stub.c | 5 ----- 3 files changed, 16 insertions(+), 11 deletions(-)