mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 01:03:55 -06:00
Implement PAPR CRQ hypercalls
This patch implements the infrastructure and hypercalls necessary for the PAPR specified CRQ (Command Request Queue) mechanism. This general request queueing system is used by many of the PAPR virtual IO devices, including the virtual scsi adapter. Signed-off-by: Ben Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David Gibson <dwg@au1.ibm.com> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
8d90ad9005
commit
b45d63b62f
4 changed files with 184 additions and 1 deletions
|
@ -18,6 +18,17 @@ uint32_t kvmppc_get_tbfreq(void);
|
|||
int kvmppc_get_hypercall(CPUState *env, uint8_t *buf, int buf_len);
|
||||
int kvmppc_set_interrupt(CPUState *env, int irq, int level);
|
||||
|
||||
#ifndef CONFIG_KVM
|
||||
#define kvmppc_eieio() do { } while (0)
|
||||
#else
|
||||
#define kvmppc_eieio() \
|
||||
do { \
|
||||
if (kvm_enabled()) { \
|
||||
asm volatile("eieio" : : : "memory"); \
|
||||
} \
|
||||
} while (0)
|
||||
#endif
|
||||
|
||||
#ifndef KVM_INTERRUPT_SET
|
||||
#define KVM_INTERRUPT_SET -1
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue