xref: /kvmtool/powerpc/xics.h (revision f17e5a37d51f6ec6d08373b4cfef9d09f01e76ba)
1*f17e5a37SMatt Evans /*
2*f17e5a37SMatt Evans  * PAPR Virtualized Interrupt System, aka ICS/ICP aka xics
3*f17e5a37SMatt Evans  *
4*f17e5a37SMatt Evans  * Copyright 2011 Matt Evans <matt@ozlabs.org>, IBM Corporation.
5*f17e5a37SMatt Evans  *
6*f17e5a37SMatt Evans  * This program is free software; you can redistribute it and/or modify it
7*f17e5a37SMatt Evans  * under the terms of the GNU General Public License version 2 as published
8*f17e5a37SMatt Evans  * by the Free Software Foundation.
9*f17e5a37SMatt Evans  */
10*f17e5a37SMatt Evans 
11*f17e5a37SMatt Evans #ifndef XICS_H
12*f17e5a37SMatt Evans #define XICS_H
13*f17e5a37SMatt Evans 
14*f17e5a37SMatt Evans #define XICS_IPI        0x2
15*f17e5a37SMatt Evans 
16*f17e5a37SMatt Evans struct kvm_cpu;
17*f17e5a37SMatt Evans struct icp_state;
18*f17e5a37SMatt Evans 
19*f17e5a37SMatt Evans struct icp_state *xics_system_init(unsigned int nr_irqs, unsigned int nr_cpus);
20*f17e5a37SMatt Evans void xics_cpu_register(struct kvm_cpu *vcpu);
21*f17e5a37SMatt Evans int xics_alloc_irqnum(void);
22*f17e5a37SMatt Evans 
23*f17e5a37SMatt Evans #endif
24