Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
kvm-ia64.c File Reference
#include <linux/module.h>
#include <linux/errno.h>
#include <linux/percpu.h>
#include <linux/fs.h>
#include <linux/slab.h>
#include <linux/smp.h>
#include <linux/kvm_host.h>
#include <linux/kvm.h>
#include <linux/bitops.h>
#include <linux/hrtimer.h>
#include <linux/uaccess.h>
#include <linux/iommu.h>
#include <linux/intel-iommu.h>
#include <linux/pci.h>
#include <asm/pgtable.h>
#include <asm/gcc_intrin.h>
#include <asm/pal.h>
#include <asm/cacheflush.h>
#include <asm/div64.h>
#include <asm/tlb.h>
#include <asm/elf.h>
#include <asm/sn/addrs.h>
#include <asm/sn/clksupport.h>
#include <asm/sn/shub_mmr.h>
#include "misc.h"
#include "vti.h"
#include "iodev.h"
#include "ioapic.h"
#include "lapic.h"
#include "irq.h"

Go to the source code of this file.

Data Structures

struct  call_data
 
struct  kvm_ia64_io_range
 

Macros

#define GUEST_PHYSICAL_RR0   0x1739
 
#define GUEST_PHYSICAL_RR4   0x2739
 
#define VMM_INIT_RR   0x1660
 
#define RESTORE_REGS(_x)   vcpu->arch._x = regs->_x
 
#define PALE_RESET_ENTRY   0x80000000ffffffb0UL
 
#define SAVE_REGS(_x)   regs->_x = vcpu->arch._x
 

Functions

long ia64_pal_vp_create (u64 *vpd, u64 *host_iva, u64 *opt_handler)
 
int kvm_arch_hardware_enable (void *garbage)
 
void kvm_arch_hardware_disable (void *garbage)
 
void kvm_arch_check_processor_compat (void *rtn)
 
int kvm_dev_ioctl_check_extension (long ext)
 
int kvm_emulate_halt (struct kvm_vcpu *vcpu)
 
int kvm_arch_vcpu_ioctl_run (struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
 
struct kvmkvm_arch_alloc_vm (void)
 
int kvm_arch_init_vm (struct kvm *kvm, unsigned long type)
 
int kvm_arch_vcpu_ioctl_set_regs (struct kvm_vcpu *vcpu, struct kvm_regs *regs)
 
int kvm_vm_ioctl_irq_line (struct kvm *kvm, struct kvm_irq_level *irq_event)
 
long kvm_arch_vm_ioctl (struct file *filp, unsigned int ioctl, unsigned long arg)
 
int kvm_arch_vcpu_ioctl_set_sregs (struct kvm_vcpu *vcpu, struct kvm_sregs *sregs)
 
int kvm_arch_vcpu_ioctl_get_sregs (struct kvm_vcpu *vcpu, struct kvm_sregs *sregs)
 
int kvm_arch_vcpu_ioctl_translate (struct kvm_vcpu *vcpu, struct kvm_translation *tr)
 
bool kvm_vcpu_compatible (struct kvm_vcpu *vcpu)
 
int kvm_arch_vcpu_init (struct kvm_vcpu *vcpu)
 
struct kvm_vcpukvm_arch_vcpu_create (struct kvm *kvm, unsigned int id)
 
int kvm_arch_vcpu_setup (struct kvm_vcpu *vcpu)
 
int kvm_arch_vcpu_ioctl_get_fpu (struct kvm_vcpu *vcpu, struct kvm_fpu *fpu)
 
int kvm_arch_vcpu_ioctl_set_fpu (struct kvm_vcpu *vcpu, struct kvm_fpu *fpu)
 
int kvm_arch_vcpu_ioctl_set_guest_debug (struct kvm_vcpu *vcpu, struct kvm_guest_debug *dbg)
 
void kvm_arch_free_vm (struct kvm *kvm)
 
void kvm_arch_sync_events (struct kvm *kvm)
 
void kvm_arch_destroy_vm (struct kvm *kvm)
 
void kvm_arch_vcpu_put (struct kvm_vcpu *vcpu)
 
void kvm_arch_vcpu_load (struct kvm_vcpu *vcpu, int cpu)
 
int kvm_arch_vcpu_ioctl_get_regs (struct kvm_vcpu *vcpu, struct kvm_regs *regs)
 
int kvm_arch_vcpu_ioctl_get_stack (struct kvm_vcpu *vcpu, struct kvm_ia64_vcpu_stack *stack)
 
int kvm_arch_vcpu_ioctl_set_stack (struct kvm_vcpu *vcpu, struct kvm_ia64_vcpu_stack *stack)
 
void kvm_arch_vcpu_uninit (struct kvm_vcpu *vcpu)
 
long kvm_arch_vcpu_ioctl (struct file *filp, unsigned int ioctl, unsigned long arg)
 
int kvm_arch_vcpu_fault (struct kvm_vcpu *vcpu, struct vm_fault *vmf)
 
void kvm_arch_free_memslot (struct kvm_memory_slot *free, struct kvm_memory_slot *dont)
 
int kvm_arch_create_memslot (struct kvm_memory_slot *slot, unsigned long npages)
 
int kvm_arch_prepare_memory_region (struct kvm *kvm, struct kvm_memory_slot *memslot, struct kvm_memory_slot old, struct kvm_userspace_memory_region *mem, int user_alloc)
 
void kvm_arch_commit_memory_region (struct kvm *kvm, struct kvm_userspace_memory_region *mem, struct kvm_memory_slot old, int user_alloc)
 
void kvm_arch_flush_shadow_all (struct kvm *kvm)
 
void kvm_arch_flush_shadow_memslot (struct kvm *kvm, struct kvm_memory_slot *slot)
 
long kvm_arch_dev_ioctl (struct file *filp, unsigned int ioctl, unsigned long arg)
 
void kvm_arch_vcpu_destroy (struct kvm_vcpu *vcpu)
 
int kvm_arch_init (void *opaque)
 
void kvm_arch_exit (void)
 
int kvm_vm_ioctl_get_dirty_log (struct kvm *kvm, struct kvm_dirty_log *log)
 
int kvm_arch_hardware_setup (void)
 
void kvm_arch_hardware_unsetup (void)
 
int kvm_apic_set_irq (struct kvm_vcpu *vcpu, struct kvm_lapic_irq *irq)
 
int kvm_apic_match_physical_addr (struct kvm_lapic *apic, u16 dest)
 
int kvm_apic_match_logical_addr (struct kvm_lapic *apic, u8 mda)
 
int kvm_apic_compare_prio (struct kvm_vcpu *vcpu1, struct kvm_vcpu *vcpu2)
 
int kvm_apic_match_dest (struct kvm_vcpu *vcpu, struct kvm_lapic *source, int short_hand, int dest, int dest_mode)
 
int kvm_highest_pending_irq (struct kvm_vcpu *vcpu)
 
int kvm_cpu_has_pending_timer (struct kvm_vcpu *vcpu)
 
int kvm_arch_vcpu_runnable (struct kvm_vcpu *vcpu)
 
int kvm_arch_vcpu_should_kick (struct kvm_vcpu *vcpu)
 
int kvm_arch_vcpu_ioctl_get_mpstate (struct kvm_vcpu *vcpu, struct kvm_mp_state *mp_state)
 
int kvm_arch_vcpu_ioctl_set_mpstate (struct kvm_vcpu *vcpu, struct kvm_mp_state *mp_state)
 

Variables

unsigned long kvm_vmm_gp
 
struct kvm_stats_debugfs_item debugfs_entries []
 

Macro Definition Documentation

#define GUEST_PHYSICAL_RR0   0x1739

Definition at line 808 of file kvm-ia64.c.

#define GUEST_PHYSICAL_RR4   0x2739

Definition at line 809 of file kvm-ia64.c.

#define PALE_RESET_ENTRY   0x80000000ffffffb0UL

Definition at line 1160 of file kvm-ia64.c.

#define RESTORE_REGS (   _x)    vcpu->arch._x = regs->_x

Definition at line 871 of file kvm-ia64.c.

#define SAVE_REGS (   _x)    regs->_x = vcpu->arch._x

Definition at line 1404 of file kvm-ia64.c.

#define VMM_INIT_RR   0x1660

Definition at line 810 of file kvm-ia64.c.

Function Documentation

long ia64_pal_vp_create ( u64 vpd,
u64 host_iva,
u64 opt_handler 
)

Definition at line 116 of file kvm-ia64.c.

int kvm_apic_compare_prio ( struct kvm_vcpu vcpu1,
struct kvm_vcpu vcpu2 
)

Definition at line 1883 of file kvm-ia64.c.

int kvm_apic_match_dest ( struct kvm_vcpu vcpu,
struct kvm_lapic source,
int  short_hand,
int  dest,
int  dest_mode 
)

Definition at line 1888 of file kvm-ia64.c.

int kvm_apic_match_logical_addr ( struct kvm_lapic apic,
u8  mda 
)

Definition at line 1878 of file kvm-ia64.c.

int kvm_apic_match_physical_addr ( struct kvm_lapic apic,
u16  dest 
)

Definition at line 1873 of file kvm-ia64.c.

int kvm_apic_set_irq ( struct kvm_vcpu vcpu,
struct kvm_lapic_irq irq 
)

Definition at line 1868 of file kvm-ia64.c.

struct kvm* kvm_arch_alloc_vm ( void  )
read

Definition at line 755 of file kvm-ia64.c.

void kvm_arch_check_processor_compat ( void rtn)

Definition at line 188 of file kvm-ia64.c.

void kvm_arch_commit_memory_region ( struct kvm kvm,
struct kvm_userspace_memory_region mem,
struct kvm_memory_slot  old,
int  user_alloc 
)

Definition at line 1608 of file kvm-ia64.c.

int kvm_arch_create_memslot ( struct kvm_memory_slot slot,
unsigned long  npages 
)

Definition at line 1571 of file kvm-ia64.c.

void kvm_arch_destroy_vm ( struct kvm kvm)

Definition at line 1381 of file kvm-ia64.c.

long kvm_arch_dev_ioctl ( struct file filp,
unsigned int  ioctl,
unsigned long  arg 
)

Definition at line 1627 of file kvm-ia64.c.

void kvm_arch_exit ( void  )

Definition at line 1796 of file kvm-ia64.c.

void kvm_arch_flush_shadow_all ( struct kvm kvm)

Definition at line 1616 of file kvm-ia64.c.

void kvm_arch_flush_shadow_memslot ( struct kvm kvm,
struct kvm_memory_slot slot 
)

Definition at line 1621 of file kvm-ia64.c.

void kvm_arch_free_memslot ( struct kvm_memory_slot free,
struct kvm_memory_slot dont 
)

Definition at line 1566 of file kvm-ia64.c.

void kvm_arch_free_vm ( struct kvm kvm)

Definition at line 1349 of file kvm-ia64.c.

void kvm_arch_hardware_disable ( void garbage)

Definition at line 163 of file kvm-ia64.c.

int kvm_arch_hardware_enable ( void garbage)

Definition at line 128 of file kvm-ia64.c.

int kvm_arch_hardware_setup ( void  )

Definition at line 1859 of file kvm-ia64.c.

void kvm_arch_hardware_unsetup ( void  )

Definition at line 1864 of file kvm-ia64.c.

int kvm_arch_init ( void opaque)

Definition at line 1757 of file kvm-ia64.c.

int kvm_arch_init_vm ( struct kvm kvm,
unsigned long  type 
)

Definition at line 812 of file kvm-ia64.c.

int kvm_arch_prepare_memory_region ( struct kvm kvm,
struct kvm_memory_slot memslot,
struct kvm_memory_slot  old,
struct kvm_userspace_memory_region mem,
int  user_alloc 
)

Definition at line 1576 of file kvm-ia64.c.

void kvm_arch_sync_events ( struct kvm kvm)

Definition at line 1377 of file kvm-ia64.c.

struct kvm_vcpu* kvm_arch_vcpu_create ( struct kvm kvm,
unsigned int  id 
)
read

Definition at line 1288 of file kvm-ia64.c.

void kvm_arch_vcpu_destroy ( struct kvm_vcpu vcpu)

Definition at line 1633 of file kvm-ia64.c.

int kvm_arch_vcpu_fault ( struct kvm_vcpu vcpu,
struct vm_fault *  vmf 
)

Definition at line 1561 of file kvm-ia64.c.

int kvm_arch_vcpu_init ( struct kvm_vcpu vcpu)

Definition at line 1167 of file kvm-ia64.c.

long kvm_arch_vcpu_ioctl ( struct file filp,
unsigned int  ioctl,
unsigned long  arg 
)

Definition at line 1484 of file kvm-ia64.c.

int kvm_arch_vcpu_ioctl_get_fpu ( struct kvm_vcpu vcpu,
struct kvm_fpu fpu 
)

Definition at line 1333 of file kvm-ia64.c.

int kvm_arch_vcpu_ioctl_get_mpstate ( struct kvm_vcpu vcpu,
struct kvm_mp_state mp_state 
)

Definition at line 1942 of file kvm-ia64.c.

int kvm_arch_vcpu_ioctl_get_regs ( struct kvm_vcpu vcpu,
struct kvm_regs regs 
)

Definition at line 1406 of file kvm-ia64.c.

int kvm_arch_vcpu_ioctl_get_sregs ( struct kvm_vcpu vcpu,
struct kvm_sregs sregs 
)

Definition at line 1024 of file kvm-ia64.c.

int kvm_arch_vcpu_ioctl_get_stack ( struct kvm_vcpu vcpu,
struct kvm_ia64_vcpu_stack stack 
)

Definition at line 1459 of file kvm-ia64.c.

int kvm_arch_vcpu_ioctl_run ( struct kvm_vcpu vcpu,
struct kvm_run kvm_run 
)

Definition at line 726 of file kvm-ia64.c.

int kvm_arch_vcpu_ioctl_set_fpu ( struct kvm_vcpu vcpu,
struct kvm_fpu fpu 
)

Definition at line 1338 of file kvm-ia64.c.

int kvm_arch_vcpu_ioctl_set_guest_debug ( struct kvm_vcpu vcpu,
struct kvm_guest_debug dbg 
)

Definition at line 1343 of file kvm-ia64.c.

int kvm_arch_vcpu_ioctl_set_mpstate ( struct kvm_vcpu vcpu,
struct kvm_mp_state mp_state 
)

Definition at line 1971 of file kvm-ia64.c.

int kvm_arch_vcpu_ioctl_set_regs ( struct kvm_vcpu vcpu,
struct kvm_regs regs 
)

Definition at line 873 of file kvm-ia64.c.

int kvm_arch_vcpu_ioctl_set_sregs ( struct kvm_vcpu vcpu,
struct kvm_sregs sregs 
)

Definition at line 1018 of file kvm-ia64.c.

int kvm_arch_vcpu_ioctl_set_stack ( struct kvm_vcpu vcpu,
struct kvm_ia64_vcpu_stack stack 
)

Definition at line 1466 of file kvm-ia64.c.

int kvm_arch_vcpu_ioctl_translate ( struct kvm_vcpu vcpu,
struct kvm_translation tr 
)

Definition at line 1030 of file kvm-ia64.c.

void kvm_arch_vcpu_load ( struct kvm_vcpu vcpu,
int  cpu 
)

Definition at line 1395 of file kvm-ia64.c.

void kvm_arch_vcpu_put ( struct kvm_vcpu vcpu)

Definition at line 1391 of file kvm-ia64.c.

int kvm_arch_vcpu_runnable ( struct kvm_vcpu vcpu)

Definition at line 1931 of file kvm-ia64.c.

int kvm_arch_vcpu_setup ( struct kvm_vcpu vcpu)

Definition at line 1328 of file kvm-ia64.c.

int kvm_arch_vcpu_should_kick ( struct kvm_vcpu vcpu)

Definition at line 1937 of file kvm-ia64.c.

void kvm_arch_vcpu_uninit ( struct kvm_vcpu vcpu)

Definition at line 1476 of file kvm-ia64.c.

long kvm_arch_vm_ioctl ( struct file filp,
unsigned int  ioctl,
unsigned long  arg 
)

Definition at line 937 of file kvm-ia64.c.

int kvm_cpu_has_pending_timer ( struct kvm_vcpu vcpu)

Definition at line 1926 of file kvm-ia64.c.

int kvm_dev_ioctl_check_extension ( long  ext)

Definition at line 193 of file kvm-ia64.c.

int kvm_emulate_halt ( struct kvm_vcpu vcpu)

Definition at line 448 of file kvm-ia64.c.

int kvm_highest_pending_irq ( struct kvm_vcpu vcpu)

Definition at line 1914 of file kvm-ia64.c.

bool kvm_vcpu_compatible ( struct kvm_vcpu vcpu)

Definition at line 1162 of file kvm-ia64.c.

int kvm_vm_ioctl_get_dirty_log ( struct kvm kvm,
struct kvm_dirty_log log 
)

Definition at line 1823 of file kvm-ia64.c.

int kvm_vm_ioctl_irq_line ( struct kvm kvm,
struct kvm_irq_level irq_event 
)

Definition at line 927 of file kvm-ia64.c.

Variable Documentation

struct kvm_stats_debugfs_item debugfs_entries[]
Initial value:
= {
{ NULL }
}

Definition at line 68 of file kvm-ia64.c.

unsigned long kvm_vmm_gp

Definition at line 60 of file kvm-ia64.c.