Annotation of qemu/target-ppc/kvm_ppc.h, revision 1.1.1.5

1.1       root        1: /*
                      2:  * Copyright 2008 IBM Corporation.
                      3:  * Authors: Hollis Blanchard <[email protected]>
                      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: 
1.1.1.5 ! root       12: #include "memory.h"
        !            13: 
1.1       root       14: void kvmppc_init(void);
1.1.1.5 ! root       15: 
        !            16: #ifdef CONFIG_KVM
1.1       root       17: 
1.1.1.2   root       18: uint32_t kvmppc_get_tbfreq(void);
1.1.1.5 ! root       19: uint64_t kvmppc_get_clockfreq(void);
        !            20: uint32_t kvmppc_get_vmx(void);
        !            21: uint32_t kvmppc_get_dfp(void);
1.1.1.3   root       22: int kvmppc_get_hypercall(CPUState *env, uint8_t *buf, int buf_len);
                     23: int kvmppc_set_interrupt(CPUState *env, int irq, int level);
1.1.1.5 ! root       24: void kvmppc_set_papr(CPUState *env);
        !            25: int kvmppc_smt_threads(void);
        !            26: #ifndef CONFIG_USER_ONLY
        !            27: off_t kvmppc_alloc_rma(const char *name, MemoryRegion *sysmem);
        !            28: void *kvmppc_create_spapr_tce(uint32_t liobn, uint32_t window_size, int *pfd);
        !            29: int kvmppc_remove_spapr_tce(void *table, int pfd, uint32_t window_size);
        !            30: #endif /* !CONFIG_USER_ONLY */
        !            31: const ppc_def_t *kvmppc_host_cpu_def(void);
        !            32: 
        !            33: #else
        !            34: 
        !            35: static inline uint32_t kvmppc_get_tbfreq(void)
        !            36: {
        !            37:     return 0;
        !            38: }
        !            39: 
        !            40: static inline uint64_t kvmppc_get_clockfreq(void)
        !            41: {
        !            42:     return 0;
        !            43: }
        !            44: 
        !            45: static inline uint32_t kvmppc_get_vmx(void)
        !            46: {
        !            47:     return 0;
        !            48: }
        !            49: 
        !            50: static inline uint32_t kvmppc_get_dfp(void)
        !            51: {
        !            52:     return 0;
        !            53: }
        !            54: 
        !            55: static inline int kvmppc_get_hypercall(CPUState *env, uint8_t *buf, int buf_len)
        !            56: {
        !            57:     return -1;
        !            58: }
        !            59: 
        !            60: static inline int kvmppc_set_interrupt(CPUState *env, int irq, int level)
        !            61: {
        !            62:     return -1;
        !            63: }
        !            64: 
        !            65: static inline void kvmppc_set_papr(CPUState *env)
        !            66: {
        !            67: }
        !            68: 
        !            69: static inline int kvmppc_smt_threads(void)
        !            70: {
        !            71:     return 1;
        !            72: }
        !            73: 
        !            74: #ifndef CONFIG_USER_ONLY
        !            75: static inline off_t kvmppc_alloc_rma(const char *name, MemoryRegion *sysmem)
        !            76: {
        !            77:     return 0;
        !            78: }
        !            79: 
        !            80: static inline void *kvmppc_create_spapr_tce(uint32_t liobn,
        !            81:                                             uint32_t window_size, int *fd)
        !            82: {
        !            83:     return NULL;
        !            84: }
        !            85: 
        !            86: static inline int kvmppc_remove_spapr_tce(void *table, int pfd,
        !            87:                                           uint32_t window_size)
        !            88: {
        !            89:     return -1;
        !            90: }
        !            91: #endif /* !CONFIG_USER_ONLY */
        !            92: 
        !            93: static inline const ppc_def_t *kvmppc_host_cpu_def(void)
        !            94: {
        !            95:     return NULL;
        !            96: }
        !            97: 
        !            98: #endif
1.1.1.3   root       99: 
1.1.1.4   root      100: #ifndef CONFIG_KVM
                    101: #define kvmppc_eieio() do { } while (0)
                    102: #else
                    103: #define kvmppc_eieio() \
                    104:     do {                                          \
                    105:         if (kvm_enabled()) {                          \
                    106:             asm volatile("eieio" : : : "memory"); \
                    107:         } \
                    108:     } while (0)
                    109: #endif
                    110: 
1.1.1.3   root      111: #ifndef KVM_INTERRUPT_SET
                    112: #define KVM_INTERRUPT_SET -1
                    113: #endif
                    114: 
                    115: #ifndef KVM_INTERRUPT_UNSET
                    116: #define KVM_INTERRUPT_UNSET -2
                    117: #endif
                    118: 
                    119: #ifndef KVM_INTERRUPT_SET_LEVEL
                    120: #define KVM_INTERRUPT_SET_LEVEL -3
                    121: #endif
1.1.1.2   root      122: 
1.1       root      123: #endif /* __KVM_PPC_H__ */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.