kvm: Correct documentation of kvm_irqchip_*()

When split irqchip support was introduced, the meaning of
kvm_irqchip_in_kernel() changed: now it only means the LAPIC is
in kernel.  The PIC, IOAPIC, and PIT might be in userspace if
irqchip=split was set.  Update the doc comment to reflect that.

While at it, remove the "the user asked us" part in
kvm_irqchip_is_split() doc comment.  That macro has nothing to do
with existence of explicit user-provided options.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20200922203612.2178370-1-ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
This commit is contained in:
Eduardo Habkost 2020-09-22 16:36:12 -04:00
parent eafa08683f
commit 31c707fb4d
1 changed files with 9 additions and 10 deletions

View File

@ -51,23 +51,22 @@ extern bool kvm_msi_use_devid;
/** /**
* kvm_irqchip_in_kernel: * kvm_irqchip_in_kernel:
* *
* Returns: true if the user asked us to create an in-kernel * Returns: true if an in-kernel irqchip was created.
* irqchip via the "kernel_irqchip=on" machine option.
* What this actually means is architecture and machine model * What this actually means is architecture and machine model
* specific: on PC, for instance, it means that the LAPIC, * specific: on PC, for instance, it means that the LAPIC
* IOAPIC and PIT are all in kernel. This function should never * is in kernel. This function should never be used from generic
* be used from generic target-independent code: use one of the * target-independent code: use one of the following functions or
* following functions or some other specific check instead. * some other specific check instead.
*/ */
#define kvm_irqchip_in_kernel() (kvm_kernel_irqchip) #define kvm_irqchip_in_kernel() (kvm_kernel_irqchip)
/** /**
* kvm_irqchip_is_split: * kvm_irqchip_is_split:
* *
* Returns: true if the user asked us to split the irqchip * Returns: true if the irqchip implementation is split between
* implementation between user and kernel space. The details are * user and kernel space. The details are architecture and
* architecture and machine specific. On PC, it means that the PIC, * machine specific. On PC, it means that the PIC, IOAPIC, and
* IOAPIC, and PIT are in user space while the LAPIC is in the kernel. * PIT are in user space while the LAPIC is in the kernel.
*/ */
#define kvm_irqchip_is_split() (kvm_split_irqchip) #define kvm_irqchip_is_split() (kvm_split_irqchip)