aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorScott Wood <scottwood@freescale.com>2013-04-12 10:08:46 -0400
committerAlexander Graf <agraf@suse.de>2013-04-26 14:27:23 -0400
commit5df554ad5b7522ea62b0ff9d5be35183494efc21 (patch)
treeb00f569c1d7a684d3455ad59f52c7b5aa7ac04e7 /Documentation
parentf0f5c481a91c56f1ee5b3809bf3943115143b1a7 (diff)
kvm/ppc/mpic: in-kernel MPIC emulation
Hook the MPIC code up to the KVM interfaces, add locking, etc. Signed-off-by: Scott Wood <scottwood@freescale.com> [agraf: add stub function for kvmppc_mpic_set_epr, non-booke, 64bit] Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/virtual/kvm/devices/mpic.txt37
1 files changed, 37 insertions, 0 deletions
diff --git a/Documentation/virtual/kvm/devices/mpic.txt b/Documentation/virtual/kvm/devices/mpic.txt
new file mode 100644
index 000000000000..ce98e3264fa8
--- /dev/null
+++ b/Documentation/virtual/kvm/devices/mpic.txt
@@ -0,0 +1,37 @@
1MPIC interrupt controller
2=========================
3
4Device types supported:
5 KVM_DEV_TYPE_FSL_MPIC_20 Freescale MPIC v2.0
6 KVM_DEV_TYPE_FSL_MPIC_42 Freescale MPIC v4.2
7
8Only one MPIC instance, of any type, may be instantiated. The created
9MPIC will act as the system interrupt controller, connecting to each
10vcpu's interrupt inputs.
11
12Groups:
13 KVM_DEV_MPIC_GRP_MISC
14 Attributes:
15 KVM_DEV_MPIC_BASE_ADDR (rw, 64-bit)
16 Base address of the 256 KiB MPIC register space. Must be
17 naturally aligned. A value of zero disables the mapping.
18 Reset value is zero.
19
20 KVM_DEV_MPIC_GRP_REGISTER (rw, 32-bit)
21 Access an MPIC register, as if the access were made from the guest.
22 "attr" is the byte offset into the MPIC register space. Accesses
23 must be 4-byte aligned.
24
25 MSIs may be signaled by using this attribute group to write
26 to the relevant MSIIR.
27
28 KVM_DEV_MPIC_GRP_IRQ_ACTIVE (rw, 32-bit)
29 IRQ input line for each standard openpic source. 0 is inactive and 1
30 is active, regardless of interrupt sense.
31
32 For edge-triggered interrupts: Writing 1 is considered an activating
33 edge, and writing 0 is ignored. Reading returns 1 if a previously
34 signaled edge has not been acknowledged, and 0 otherwise.
35
36 "attr" is the IRQ number. IRQ numbers for standard sources are the
37 byte offset of the relevant IVPR from EIVPR0, divided by 32.