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