Lines Matching defs:kvm_vcpu_arch
398 struct kvm_vcpu_arch { struct
399 ulong host_stack;
400 u32 host_pid;
402 struct kvmppc_slb slb[64];
403 int slb_max; /* 1 + index of last valid entry in slb[] */
404 int slb_nr; /* total number of entries in SLB */
405 struct kvmppc_mmu mmu;
406 struct kvmppc_vcpu_book3s *book3s;
409 struct kvmppc_book3s_shadow_vcpu *shadow_vcpu;
412 ulong gpr[32];
414 struct thread_fp_state fp;
417 ulong evr[32];
418 ulong spefscr;
419 ulong host_spefscr;
420 u64 acc;
423 struct thread_vr_state vr;
427 u32 host_mas4;
428 u32 host_mas6;
429 u32 shadow_epcr;
430 u32 shadow_msrp;
431 u32 eplc;
432 u32 epsc;
433 u32 oldpir;
438 u32 epcr;
444 u32 qpr[32];
447 ulong pc;
448 ulong ctr;
449 ulong lr;
451 ulong tar;
454 ulong xer;
455 u32 cr;
458 ulong hflags;
459 ulong guest_owned_ext;
460 ulong purr;
461 ulong spurr;
462 ulong ic;
463 ulong vtb;
464 ulong dscr;
465 ulong amr;
466 ulong uamor;
467 ulong iamr;
468 u32 ctrl;
469 u32 dabrx;
470 ulong dabr;
471 ulong dawr;
472 ulong dawrx;
473 ulong ciabr;
474 ulong cfar;
475 ulong ppr;
476 ulong pspb;
477 ulong fscr;
478 ulong shadow_fscr;
479 ulong ebbhr;
480 ulong ebbrr;
481 ulong bescr;
482 ulong csigr;
483 ulong tacr;
484 ulong tcscr;
485 ulong acop;
486 ulong wort;
487 ulong shadow_srr1;
489 u32 vrsave; /* also USPRG0 */
490 u32 mmucr;
492 ulong shadow_msr;
493 ulong csrr0;
494 ulong csrr1;
495 ulong dsrr0;
496 ulong dsrr1;
497 ulong mcsrr0;
498 ulong mcsrr1;
499 ulong mcsr;
500 u32 dec;
502 u32 decar;
505 u64 entry_tb;
506 u64 entry_vtb;
507 u64 entry_ic;
508 u32 tcr;
509 ulong tsr; /* we need to perform set/clr_bits() which requires ulong */
510 u32 ivor[64];
511 ulong ivpr;
512 u32 pvr;
514 u32 shadow_pid;
515 u32 shadow_pid1;
516 u32 pid;
517 u32 swap_pid;
519 u32 ccr0;
520 u32 ccr1;
521 u32 dbsr;
523 u64 mmcr[5];
524 u32 pmc[8];
525 u32 spmc[2];
526 u64 siar;
527 u64 sdar;
528 u64 sier;
530 u64 tfhar;
531 u64 texasr;
532 u64 tfiar;
534 u32 cr_tm;
535 u64 lr_tm;
536 u64 ctr_tm;
537 u64 amr_tm;
538 u64 ppr_tm;
539 u64 dscr_tm;
540 u64 tar_tm;
542 ulong gpr_tm[32];
544 struct thread_fp_state fp_tm;
546 struct thread_vr_state vr_tm;
547 u32 vrsave_tm; /* also USPRG0 */
552 struct mutex exit_timing_lock;
553 struct kvmppc_exit_timing timing_exit;
554 struct kvmppc_exit_timing timing_last_enter;
555 u32 last_exit_type;
556 u32 timing_count_type[__NUMBER_OF_KVM_EXIT_TYPES];
557 u64 timing_sum_duration[__NUMBER_OF_KVM_EXIT_TYPES];
558 u64 timing_sum_quad_duration[__NUMBER_OF_KVM_EXIT_TYPES];
559 u64 timing_min_duration[__NUMBER_OF_KVM_EXIT_TYPES];
560 u64 timing_max_duration[__NUMBER_OF_KVM_EXIT_TYPES];
561 u64 timing_last_exit;
562 struct dentry *debugfs_exit_timing;
566 ulong fault_dar;
567 u32 fault_dsisr;
568 unsigned long intr_msr;
572 ulong fault_dear;
573 ulong fault_esr;
574 ulong queued_dear;
575 ulong queued_esr;
576 spinlock_t wdt_lock;
577 struct timer_list wdt_timer;
578 u32 tlbcfg[4];
579 u32 tlbps[4];
580 u32 mmucfg;
581 u32 eptcfg;
582 u32 epr;
583 u64 sprg9;
584 u32 pwrmgtcr0;
585 u32 crit_save;
587 struct debug_reg dbg_reg;
589 gpa_t paddr_accessed;
590 gva_t vaddr_accessed;
591 pgd_t *pgdir;
593 u8 io_gpr; /* GPR used as IO source/target */
594 u8 mmio_host_swabbed;
595 u8 mmio_sign_extend;
596 u8 osi_needed;
597 u8 osi_enabled;
598 u8 papr_enabled;
599 u8 watchdog_enabled;
600 u8 sane;
601 u8 cpu_type;
625 struct kvm_vcpu_arch_shared *shared; argument
641 struct kvm_vcpu_arch_shared shregs; argument
643 unsigned long pgfault_addr;
644 long pgfault_index;
645 unsigned long pgfault_hpte[2];
647 struct list_head run_list;
648 struct task_struct *run_task;
649 struct kvm_run *kvm_run;
651 spinlock_t vpa_update_lock;
652 struct kvmppc_vpa vpa;
653 struct kvmppc_vpa dtl;
654 struct dtl_entry *dtl_ptr;
655 unsigned long dtl_index;
656 u64 stolen_logged;
657 struct kvmppc_vpa slb_shadow;
659 spinlock_t tbacct_lock;
660 u64 busy_stolen;
661 u64 busy_preempt;
663 u32 emul_inst;
667 struct kvmhv_tb_accumulator *cur_activity; /* What we're timing */
668 u64 cur_tb_start; /* when it started */
669 struct kvmhv_tb_accumulator rm_entry; /* real-mode entry code */
670 struct kvmhv_tb_accumulator rm_intr; /* real-mode intr handling */
671 struct kvmhv_tb_accumulator rm_exit; /* real-mode exit code */
672 struct kvmhv_tb_accumulator guest_time; /* guest execution */
673 struct kvmhv_tb_accumulator cede_time; /* time napping inside guest */
675 struct dentry *debugfs_dir;
676 struct dentry *debugfs_timings;