Messages in this thread | | | Date | Tue, 10 Sep 2013 13:59:39 +0200 | From | Paolo Bonzini <> | Subject | Re: [PATCH v3 1/3] tile: support KVM host mode |
| |
Il 10/09/2013 12:53, Gleb Natapov ha scritto: >> > +#ifndef __KERNEL__ >> > +/* For hv_*() */ >> > +#define KVM_EMULATE(name) [HV_SYS_##name] = qemu_emulate_illegal, >> > +#define USER_EMULATE(name) [HV_SYS_##name] = qemu_emulate_hv_##name, >> > +#define NO_EMULATE(name) [HV_SYS_##name] = qemu_emulate_illegal, >> > +#define BOTH_EMULATE(name) [HV_SYS_##name] = qemu_emulate_hv_##name, >> > +/* For others */ >> > +#define USER_HCALL(name) [KVM_HCALL_##name] = qemu_handle_##name, > This does not belong to a kernel header. QEMU is not the only user of KVM > kernel APIs. Please drop that and change all the references in comment > from "qemu" to "userspace". If you add code that workarounds QEMU bugs it > is appropriate to mention QEMU by name, otherwise interface to userspace > should not be QEMU specific. >
In general, I believe that HCALL_DEFS should not be part of the public interface.
Otherwise, adding a new hypercall would break compilation of userspace. Hypercalls (after the first commit) should always be associated to a capability, so they shouldn't be generated unless userspace explicitly requests them.
Rather, document the hypercalls under Documentation/virtual/kvm, noting which are implemented in the kernel and which need to be handled in userspace.
BTW, BOTH_EMULATE and USER_HCALL seem unused.
Paolo
| |