Lines Matching defs:kvm_vcpu_arch
521 struct kvm_vcpu_arch { struct
522 ulong host_stack;
523 u32 host_pid;
525 struct kvmppc_slb slb[64];
526 int slb_max; /* 1 + index of last valid entry in slb[] */
527 int slb_nr; /* total number of entries in SLB */
528 struct kvmppc_mmu mmu;
529 struct kvmppc_vcpu_book3s *book3s;
532 struct kvmppc_book3s_shadow_vcpu *shadow_vcpu;
535 struct pt_regs regs;
537 struct thread_fp_state fp;
540 ulong evr[32];
541 ulong spefscr;
542 ulong host_spefscr;
543 u64 acc;
546 struct thread_vr_state vr;
550 u32 host_mas4;
551 u32 host_mas6;
552 u32 shadow_epcr;
553 u32 shadow_msrp;
554 u32 eplc;
555 u32 epsc;
556 u32 oldpir;
561 u32 epcr;
567 u32 qpr[32];
571 ulong tar;
575 ulong hflags;
576 ulong guest_owned_ext;
577 ulong purr;
578 ulong spurr;
579 ulong ic;
580 ulong dscr;
581 ulong amr;
582 ulong uamor;
583 ulong iamr;
584 u32 ctrl;
585 u32 dabrx;
586 ulong dabr;
587 ulong dawr;
588 ulong dawrx;
589 ulong ciabr;
590 ulong cfar;
591 ulong ppr;
592 u32 pspb;
593 ulong fscr;
594 ulong shadow_fscr;
595 ulong ebbhr;
596 ulong ebbrr;
597 ulong bescr;
598 ulong csigr;
599 ulong tacr;
600 ulong tcscr;
601 ulong acop;
602 ulong wort;
603 ulong tid;
604 ulong psscr;
605 ulong hfscr;
606 ulong shadow_srr1;
608 u32 vrsave; /* also USPRG0 */
609 u32 mmucr;
611 ulong shadow_msr;
612 ulong csrr0;
613 ulong csrr1;
614 ulong dsrr0;
615 ulong dsrr1;
616 ulong mcsrr0;
617 ulong mcsrr1;
618 ulong mcsr;
619 ulong dec;
621 u32 decar;
624 u64 entry_tb;
625 u64 entry_vtb;
626 u64 entry_ic;
627 u32 tcr;
628 ulong tsr; /* we need to perform set/clr_bits() which requires ulong */
629 u32 ivor[64];
630 ulong ivpr;
631 u32 pvr;
633 u32 shadow_pid;
634 u32 shadow_pid1;
635 u32 pid;
636 u32 swap_pid;
638 u32 ccr0;
639 u32 ccr1;
640 u32 dbsr;
642 u64 mmcr[4]; /* MMCR0, MMCR1, MMCR2, MMCR3 */
643 u64 mmcra;
644 u64 mmcrs;
645 u32 pmc[8];
646 u32 spmc[2];
647 u64 siar;
648 u64 sdar;
649 u64 sier[3];
651 u64 tfhar;
652 u64 texasr;
653 u64 tfiar;
654 u64 orig_texasr;
656 u32 cr_tm;
657 u64 xer_tm;
658 u64 lr_tm;
659 u64 ctr_tm;
660 u64 amr_tm;
661 u64 ppr_tm;
662 u64 dscr_tm;
663 u64 tar_tm;
665 ulong gpr_tm[32];
667 struct thread_fp_state fp_tm;
669 struct thread_vr_state vr_tm;
670 u32 vrsave_tm; /* also USPRG0 */
674 struct mutex exit_timing_lock;
675 struct kvmppc_exit_timing timing_exit;
676 struct kvmppc_exit_timing timing_last_enter;
677 u32 last_exit_type;
678 u32 timing_count_type[__NUMBER_OF_KVM_EXIT_TYPES];
679 u64 timing_sum_duration[__NUMBER_OF_KVM_EXIT_TYPES];
680 u64 timing_sum_quad_duration[__NUMBER_OF_KVM_EXIT_TYPES];
681 u64 timing_min_duration[__NUMBER_OF_KVM_EXIT_TYPES];
682 u64 timing_max_duration[__NUMBER_OF_KVM_EXIT_TYPES];
683 u64 timing_last_exit;
684 struct dentry *debugfs_exit_timing;
688 ulong fault_dar;
689 u32 fault_dsisr;
690 unsigned long intr_msr;
691 ulong fault_gpa; /* guest real address of page fault (POWER9) */
695 ulong fault_dear;
696 ulong fault_esr;
697 ulong queued_dear;
698 ulong queued_esr;
699 spinlock_t wdt_lock;
700 struct timer_list wdt_timer;
701 u32 tlbcfg[4];
702 u32 tlbps[4];
703 u32 mmucfg;
704 u32 eptcfg;
705 u32 epr;
706 u64 sprg9;
707 u32 pwrmgtcr0;
708 u32 crit_save;
710 struct debug_reg dbg_reg;
712 gpa_t paddr_accessed;
713 gva_t vaddr_accessed;
714 pgd_t *pgdir;
716 u16 io_gpr; /* GPR used as IO source/target */
717 u8 mmio_host_swabbed;
718 u8 mmio_sign_extend;
720 u8 mmio_sp64_extend;
730 u8 mmio_vsx_copy_nums;
731 u8 mmio_vsx_offset;
732 u8 mmio_vmx_copy_nums;
733 u8 mmio_vmx_offset;
734 u8 mmio_copy_type;
735 u8 osi_needed;
736 u8 osi_enabled;
737 u8 papr_enabled;
738 u8 watchdog_enabled;
739 u8 sane;
740 u8 cpu_type;
741 u8 hcall_needed;
742 u8 epr_flags; /* KVMPPC_EPR_xxx */
743 u8 epr_needed;
744 u8 external_oneshot; /* clear external irq after delivery */
746 u32 cpr0_cfgaddr; /* holds the last set cpr0_cfgaddr */
770 struct kvm_vcpu_arch_shared *shared; argument
793 struct kvm_vcpu_arch_shared shregs; argument
795 struct mmio_hpte_cache mmio_cache;
796 unsigned long pgfault_addr;
797 long pgfault_index;
798 unsigned long pgfault_hpte[2];
799 struct mmio_hpte_cache_entry *pgfault_cache;
801 struct task_struct *run_task;
803 spinlock_t vpa_update_lock;
804 struct kvmppc_vpa vpa;
805 struct kvmppc_vpa dtl;
806 struct dtl_entry *dtl_ptr;
807 unsigned long dtl_index;
808 u64 stolen_logged;
809 struct kvmppc_vpa slb_shadow;
811 spinlock_t tbacct_lock;
812 u64 busy_stolen;
813 u64 busy_preempt;
815 u32 emul_inst;
817 u32 online;
820 struct kvm_nested_guest *nested;
821 u32 nested_vcpu_id;
822 gpa_t nested_io_gpr;
826 struct kvmhv_tb_accumulator *cur_activity; /* What we're timing */
827 u64 cur_tb_start; /* when it started */
828 struct kvmhv_tb_accumulator rm_entry; /* real-mode entry code */
829 struct kvmhv_tb_accumulator rm_intr; /* real-mode intr handling */
830 struct kvmhv_tb_accumulator rm_exit; /* real-mode exit code */
831 struct kvmhv_tb_accumulator guest_time; /* guest execution */
832 struct kvmhv_tb_accumulator cede_time; /* time napping inside guest */
834 struct dentry *debugfs_dir;