root / target-ppc / kvm_ppc.h @ b45d63b6
History | View | Annotate | Download (1.1 kB)
1 |
/*
|
---|---|
2 |
* Copyright 2008 IBM Corporation.
|
3 |
* Authors: Hollis Blanchard <hollisb@us.ibm.com>
|
4 |
*
|
5 |
* This work is licensed under the GNU GPL license version 2 or later.
|
6 |
*
|
7 |
*/
|
8 |
|
9 |
#ifndef __KVM_PPC_H__
|
10 |
#define __KVM_PPC_H__
|
11 |
|
12 |
void kvmppc_init(void); |
13 |
void kvmppc_fdt_update(void *fdt); |
14 |
int kvmppc_read_host_property(const char *node_path, const char *prop, |
15 |
void *val, size_t len);
|
16 |
|
17 |
uint32_t kvmppc_get_tbfreq(void);
|
18 |
int kvmppc_get_hypercall(CPUState *env, uint8_t *buf, int buf_len); |
19 |
int kvmppc_set_interrupt(CPUState *env, int irq, int level); |
20 |
|
21 |
#ifndef CONFIG_KVM
|
22 |
#define kvmppc_eieio() do { } while (0) |
23 |
#else
|
24 |
#define kvmppc_eieio() \
|
25 |
do { \
|
26 |
if (kvm_enabled()) { \
|
27 |
asm volatile("eieio" : : : "memory"); \ |
28 |
} \ |
29 |
} while (0) |
30 |
#endif
|
31 |
|
32 |
#ifndef KVM_INTERRUPT_SET
|
33 |
#define KVM_INTERRUPT_SET -1 |
34 |
#endif
|
35 |
|
36 |
#ifndef KVM_INTERRUPT_UNSET
|
37 |
#define KVM_INTERRUPT_UNSET -2 |
38 |
#endif
|
39 |
|
40 |
#ifndef KVM_INTERRUPT_SET_LEVEL
|
41 |
#define KVM_INTERRUPT_SET_LEVEL -3 |
42 |
#endif
|
43 |
|
44 |
#endif /* __KVM_PPC_H__ */ |