Lines Matching defs:kvm_vcpu_arch
512 struct kvm_vcpu_arch { struct
513 ulong host_stack;
514 u32 host_pid;
516 struct kvmppc_slb slb[64];
517 int slb_max; /* 1 + index of last valid entry in slb[] */
518 int slb_nr; /* total number of entries in SLB */
519 struct kvmppc_mmu mmu;
520 struct kvmppc_vcpu_book3s *book3s;
523 struct kvmppc_book3s_shadow_vcpu *shadow_vcpu;
532 struct thread_fp_state fp;
535 ulong evr[32];
536 ulong spefscr;
537 ulong host_spefscr;
538 u64 acc;
541 struct thread_vr_state vr;
545 u32 host_mas4;
546 u32 host_mas6;
547 u32 shadow_epcr;
548 u32 shadow_msrp;
549 u32 eplc;
550 u32 epsc;
551 u32 oldpir;
556 u32 epcr;
562 u32 qpr[32];
566 ulong tar;
570 ulong hflags;
571 ulong guest_owned_ext;
572 ulong purr;
573 ulong spurr;
574 ulong ic;
575 ulong dscr;
576 ulong amr;
577 ulong uamor;
578 ulong iamr;
579 u32 ctrl;
580 u32 dabrx;
581 ulong dabr;
582 ulong dawr0;
583 ulong dawrx0;
584 ulong dawr1;
585 ulong dawrx1;
586 ulong ciabr;
587 ulong cfar;
588 ulong ppr;
589 u32 pspb;
590 u8 load_ebb;
592 u8 load_tm;
594 ulong fscr;
595 ulong shadow_fscr;
596 ulong ebbhr;
597 ulong ebbrr;
598 ulong bescr;
599 ulong csigr;
600 ulong tacr;
601 ulong tcscr;
602 ulong acop;
603 ulong wort;
604 ulong tid;
605 ulong psscr;
606 ulong hfscr;
607 ulong shadow_srr1;
609 u32 vrsave; /* also USPRG0 */
610 u32 mmucr;
612 ulong shadow_msr;
613 ulong csrr0;
614 ulong csrr1;
615 ulong dsrr0;
616 ulong dsrr1;
617 ulong mcsrr0;
618 ulong mcsrr1;
619 ulong mcsr;
620 ulong dec;
622 u32 decar;
625 u64 entry_tb;
626 u64 entry_vtb;
627 u64 entry_ic;
628 u32 tcr;
629 ulong tsr; /* we need to perform set/clr_bits() which requires ulong */
630 u32 ivor[64];
631 ulong ivpr;
632 u32 pvr;
634 u32 shadow_pid;
635 u32 shadow_pid1;
636 u32 pid;
637 u32 swap_pid;
639 u32 ccr0;
640 u32 ccr1;
641 u32 dbsr;
643 u64 mmcr[4]; /* MMCR0, MMCR1, MMCR2, MMCR3 */
644 u64 mmcra;
645 u64 mmcrs;
646 u32 pmc[8];
647 u32 spmc[2];
648 u64 siar;
649 u64 sdar;
650 u64 sier[3];
652 u64 tfhar;
653 u64 texasr;
654 u64 tfiar;
655 u64 orig_texasr;
657 u32 cr_tm;
658 u64 xer_tm;
659 u64 lr_tm;
660 u64 ctr_tm;
661 u64 amr_tm;
662 u64 ppr_tm;
663 u64 dscr_tm;
664 u64 tar_tm;
666 ulong gpr_tm[32];
668 struct thread_fp_state fp_tm;
670 struct thread_vr_state vr_tm;
671 u32 vrsave_tm; /* also USPRG0 */
675 struct mutex exit_timing_lock;
676 struct kvmppc_exit_timing timing_exit;
677 struct kvmppc_exit_timing timing_last_enter;
678 u32 last_exit_type;
679 u32 timing_count_type[__NUMBER_OF_KVM_EXIT_TYPES];
680 u64 timing_sum_duration[__NUMBER_OF_KVM_EXIT_TYPES];
681 u64 timing_sum_quad_duration[__NUMBER_OF_KVM_EXIT_TYPES];
682 u64 timing_min_duration[__NUMBER_OF_KVM_EXIT_TYPES];
683 u64 timing_max_duration[__NUMBER_OF_KVM_EXIT_TYPES];
684 u64 timing_last_exit;
688 ulong fault_dar;
689 u32 fault_dsisr;
690 unsigned long intr_msr;
696 ulong fault_gpa;
700 ulong fault_dear;
701 ulong fault_esr;
702 ulong queued_dear;
703 ulong queued_esr;
704 spinlock_t wdt_lock;
705 struct timer_list wdt_timer;
706 u32 tlbcfg[4];
707 u32 tlbps[4];
708 u32 mmucfg;
709 u32 eptcfg;
710 u32 epr;
711 u64 sprg9;
712 u32 pwrmgtcr0;
713 u32 crit_save;
715 struct debug_reg dbg_reg;
717 gpa_t paddr_accessed;
718 gva_t vaddr_accessed;
719 pgd_t *pgdir;
721 u16 io_gpr; /* GPR used as IO source/target */
722 u8 mmio_host_swabbed;
723 u8 mmio_sign_extend;
725 u8 mmio_sp64_extend;
735 u8 mmio_vsx_copy_nums;
736 u8 mmio_vsx_offset;
737 u8 mmio_vmx_copy_nums;
738 u8 mmio_vmx_offset;
739 u8 mmio_copy_type;
740 u8 osi_needed;
741 u8 osi_enabled;
742 u8 papr_enabled;
743 u8 watchdog_enabled;
744 u8 sane;
745 u8 cpu_type;
746 u8 hcall_needed;
747 u8 epr_flags; /* KVMPPC_EPR_xxx */
748 u8 epr_needed;
749 u8 external_oneshot; /* clear external irq after delivery */
751 u32 cpr0_cfgaddr; /* holds the last set cpr0_cfgaddr */
776 struct kvm_vcpu_arch_shared *shared; argument
799 struct kvm_vcpu_arch_shared shregs; argument
801 struct mmio_hpte_cache mmio_cache;
802 unsigned long pgfault_addr;
803 long pgfault_index;
804 unsigned long pgfault_hpte[2];
805 struct mmio_hpte_cache_entry *pgfault_cache;
807 struct task_struct *run_task;
809 spinlock_t vpa_update_lock;
810 struct kvmppc_vpa vpa;
811 struct kvmppc_vpa dtl;
812 struct dtl_entry *dtl_ptr;
813 unsigned long dtl_index;
814 u64 stolen_logged;
815 struct kvmppc_vpa slb_shadow;
817 spinlock_t tbacct_lock;
818 u64 busy_stolen;
819 u64 busy_preempt;
821 u32 emul_inst;
823 u32 online;
825 u64 hfscr_permitted; /* A mask of permitted HFSCR facilities */
828 struct kvm_nested_guest *nested;
829 u64 nested_hfscr; /* HFSCR that the L1 requested for the nested guest */
830 u32 nested_vcpu_id;
831 gpa_t nested_io_gpr;
835 struct kvmhv_tb_accumulator *cur_activity; /* What we're timing */
836 u64 cur_tb_start; /* when it started */
838 struct kvmhv_tb_accumulator vcpu_entry;
839 struct kvmhv_tb_accumulator vcpu_exit;
840 struct kvmhv_tb_accumulator in_guest;
841 struct kvmhv_tb_accumulator hcall;
842 struct kvmhv_tb_accumulator pg_fault;
843 struct kvmhv_tb_accumulator guest_entry;
844 struct kvmhv_tb_accumulator guest_exit;
846 struct kvmhv_tb_accumulator rm_entry; /* real-mode entry code */
847 struct kvmhv_tb_accumulator rm_intr; /* real-mode intr handling */
848 struct kvmhv_tb_accumulator rm_exit; /* real-mode exit code */
849 struct kvmhv_tb_accumulator guest_time; /* guest execution */
850 struct kvmhv_tb_accumulator cede_time; /* time napping inside guest */