lkml.org 
[lkml]   [2013]   [Sep]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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


\
 
 \ /
  Last update: 2013-09-10 14:21    [W:0.849 / U:0.008 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site