Re: [PATCH] KVM: remove unused guest_enter/exit

From: kbuild test robot
Date: Sat Jan 11 2020 - 00:29:36 EST


Hi Alex,

I love your patch! Yet something to improve:

[auto build test ERROR on kvm/linux-next]
[also build test ERROR on linux/master linus/master v5.5-rc5 next-20200109]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url: https://github.com/0day-ci/linux/commits/Alex-Shi/KVM-remove-unused-guest_enter-exit/20200111-004903
base: https://git.kernel.org/pub/scm/virt/kvm/kvm.git linux-next
config: arm64-randconfig-a001-20200110 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 7.5.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.5.0 make.cross ARCH=arm64

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

arch/arm64/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_vcpu_ioctl_run':
>> arch/arm64/kvm/../../../virt/kvm/arm/arm.c:861:3: error: implicit declaration of function 'guest_exit'; did you mean 'user_exit'? [-Werror=implicit-function-declaration]
guest_exit();
^~~~~~~~~~
user_exit
cc1: some warnings being treated as errors

vim +861 arch/arm64/kvm/../../../virt/kvm/arm/arm.c

0592c005622582 virt/kvm/arm/arm.c Andrew Jones 2017-06-04 687
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 688 /**
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 689 * kvm_arch_vcpu_ioctl_run - the main VCPU run function to execute guest code
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 690 * @vcpu: The VCPU pointer
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 691 * @run: The kvm_run structure pointer used for userspace state exchange
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 692 *
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 693 * This function is called through the VCPU_RUN ioctl called from user space. It
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 694 * will execute VM code in a loop until the time slice for the process is used
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 695 * or some emulation is needed from user space in which case the function will
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 696 * return with return value 0 and with the kvm_run structure filled in with the
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 697 * required data for the requested emulation.
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 698 */
749cf76c5a363e arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 699 int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *run)
749cf76c5a363e arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 700 {
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 701 int ret;
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 702
e8180dcaa8470c arch/arm/kvm/arm.c Andre Przywara 2013-05-09 703 if (unlikely(!kvm_vcpu_initialized(vcpu)))
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 704 return -ENOEXEC;
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 705
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 706 ret = kvm_vcpu_first_run_init(vcpu);
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 707 if (ret)
829a58635497d7 virt/kvm/arm/arm.c Christoffer Dall 2017-11-29 708 return ret;
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 709
45e96ea6b36953 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 710 if (run->exit_reason == KVM_EXIT_MMIO) {
45e96ea6b36953 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 711 ret = kvm_handle_mmio_return(vcpu, vcpu->run);
45e96ea6b36953 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 712 if (ret)
829a58635497d7 virt/kvm/arm/arm.c Christoffer Dall 2017-11-29 713 return ret;
accb757d798c9b virt/kvm/arm/arm.c Christoffer Dall 2017-12-04 714 }
1eb591288b956b virt/kvm/arm/arm.c Alex Bennée 2017-11-16 715
829a58635497d7 virt/kvm/arm/arm.c Christoffer Dall 2017-11-29 716 if (run->immediate_exit)
829a58635497d7 virt/kvm/arm/arm.c Christoffer Dall 2017-11-29 717 return -EINTR;
45e96ea6b36953 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 718
829a58635497d7 virt/kvm/arm/arm.c Christoffer Dall 2017-11-29 719 vcpu_load(vcpu);
460df4c1fc7c00 arch/arm/kvm/arm.c Paolo Bonzini 2017-02-08 720
20b7035c66bacc virt/kvm/arm/arm.c Jan H. Schönherr 2017-11-24 721 kvm_sigset_activate(vcpu);
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 722
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 723 ret = 1;
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 724 run->exit_reason = KVM_EXIT_UNKNOWN;
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 725 while (ret > 0) {
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 726 /*
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 727 * Check conditions before entering the guest
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 728 */
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 729 cond_resched();
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 730
e329fb75d519e3 virt/kvm/arm/arm.c Christoffer Dall 2018-12-11 731 update_vmid(&vcpu->kvm->arch.vmid);
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 732
0592c005622582 virt/kvm/arm/arm.c Andrew Jones 2017-06-04 733 check_vcpu_requests(vcpu);
0592c005622582 virt/kvm/arm/arm.c Andrew Jones 2017-06-04 734
abdf58438356c7 arch/arm/kvm/arm.c Marc Zyngier 2015-06-08 735 /*
abdf58438356c7 arch/arm/kvm/arm.c Marc Zyngier 2015-06-08 736 * Preparing the interrupts to be injected also
abdf58438356c7 arch/arm/kvm/arm.c Marc Zyngier 2015-06-08 737 * involves poking the GIC, which must be done in a
abdf58438356c7 arch/arm/kvm/arm.c Marc Zyngier 2015-06-08 738 * non-preemptible context.
abdf58438356c7 arch/arm/kvm/arm.c Marc Zyngier 2015-06-08 739 */
1b3d546daf85ed arch/arm/kvm/arm.c Christoffer Dall 2015-05-28 740 preempt_disable();
328e5664794491 arch/arm/kvm/arm.c Christoffer Dall 2016-03-24 741
b02386eb7dac75 arch/arm/kvm/arm.c Shannon Zhao 2016-02-26 742 kvm_pmu_flush_hwstate(vcpu);
328e5664794491 arch/arm/kvm/arm.c Christoffer Dall 2016-03-24 743
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 744 local_irq_disable();
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 745
abdf58438356c7 arch/arm/kvm/arm.c Marc Zyngier 2015-06-08 746 kvm_vgic_flush_hwstate(vcpu);
abdf58438356c7 arch/arm/kvm/arm.c Marc Zyngier 2015-06-08 747
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 748 /*
61bbe380273347 virt/kvm/arm/arm.c Christoffer Dall 2017-10-27 749 * Exit if we have a signal pending so that we can deliver the
61bbe380273347 virt/kvm/arm/arm.c Christoffer Dall 2017-10-27 750 * signal to user space.
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 751 */
61bbe380273347 virt/kvm/arm/arm.c Christoffer Dall 2017-10-27 752 if (signal_pending(current)) {
61bbe380273347 virt/kvm/arm/arm.c Christoffer Dall 2017-10-27 753 ret = -EINTR;
61bbe380273347 virt/kvm/arm/arm.c Christoffer Dall 2017-10-27 754 run->exit_reason = KVM_EXIT_INTR;
61bbe380273347 virt/kvm/arm/arm.c Christoffer Dall 2017-10-27 755 }
61bbe380273347 virt/kvm/arm/arm.c Christoffer Dall 2017-10-27 756
61bbe380273347 virt/kvm/arm/arm.c Christoffer Dall 2017-10-27 757 /*
61bbe380273347 virt/kvm/arm/arm.c Christoffer Dall 2017-10-27 758 * If we're using a userspace irqchip, then check if we need
61bbe380273347 virt/kvm/arm/arm.c Christoffer Dall 2017-10-27 759 * to tell a userspace irqchip about timer or PMU level
61bbe380273347 virt/kvm/arm/arm.c Christoffer Dall 2017-10-27 760 * changes and if so, exit to userspace (the actual level
61bbe380273347 virt/kvm/arm/arm.c Christoffer Dall 2017-10-27 761 * state gets updated in kvm_timer_update_run and
61bbe380273347 virt/kvm/arm/arm.c Christoffer Dall 2017-10-27 762 * kvm_pmu_update_run below).
61bbe380273347 virt/kvm/arm/arm.c Christoffer Dall 2017-10-27 763 */
61bbe380273347 virt/kvm/arm/arm.c Christoffer Dall 2017-10-27 764 if (static_branch_unlikely(&userspace_irqchip_in_use)) {
61bbe380273347 virt/kvm/arm/arm.c Christoffer Dall 2017-10-27 765 if (kvm_timer_should_notify_user(vcpu) ||
3dbbdf78636e66 arch/arm/kvm/arm.c Christoffer Dall 2017-02-01 766 kvm_pmu_should_notify_user(vcpu)) {
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 767 ret = -EINTR;
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 768 run->exit_reason = KVM_EXIT_INTR;
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 769 }
61bbe380273347 virt/kvm/arm/arm.c Christoffer Dall 2017-10-27 770 }
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 771
6a6d73be12fbe4 virt/kvm/arm/arm.c Andrew Jones 2017-06-04 772 /*
6a6d73be12fbe4 virt/kvm/arm/arm.c Andrew Jones 2017-06-04 773 * Ensure we set mode to IN_GUEST_MODE after we disable
6a6d73be12fbe4 virt/kvm/arm/arm.c Andrew Jones 2017-06-04 774 * interrupts and before the final VCPU requests check.
6a6d73be12fbe4 virt/kvm/arm/arm.c Andrew Jones 2017-06-04 775 * See the comment in kvm_vcpu_exiting_guest_mode() and
2f5947dfcaecb9 virt/kvm/arm/arm.c Christoph Hellwig 2019-07-24 776 * Documentation/virt/kvm/vcpu-requests.rst
6a6d73be12fbe4 virt/kvm/arm/arm.c Andrew Jones 2017-06-04 777 */
6a6d73be12fbe4 virt/kvm/arm/arm.c Andrew Jones 2017-06-04 778 smp_store_mb(vcpu->mode, IN_GUEST_MODE);
6a6d73be12fbe4 virt/kvm/arm/arm.c Andrew Jones 2017-06-04 779
e329fb75d519e3 virt/kvm/arm/arm.c Christoffer Dall 2018-12-11 780 if (ret <= 0 || need_new_vmid_gen(&vcpu->kvm->arch.vmid) ||
424c989b1a664a virt/kvm/arm/arm.c Andrew Jones 2017-06-04 781 kvm_request_pending(vcpu)) {
6a6d73be12fbe4 virt/kvm/arm/arm.c Andrew Jones 2017-06-04 782 vcpu->mode = OUTSIDE_GUEST_MODE;
771621b0e2f806 virt/kvm/arm/arm.c Christoffer Dall 2017-10-04 783 isb(); /* Ensure work in x_flush_hwstate is committed */
b02386eb7dac75 arch/arm/kvm/arm.c Shannon Zhao 2016-02-26 784 kvm_pmu_sync_hwstate(vcpu);
61bbe380273347 virt/kvm/arm/arm.c Christoffer Dall 2017-10-27 785 if (static_branch_unlikely(&userspace_irqchip_in_use))
4b4b4512da2a84 arch/arm/kvm/arm.c Christoffer Dall 2015-08-30 786 kvm_timer_sync_hwstate(vcpu);
1a89dd9113badd arch/arm/kvm/arm.c Marc Zyngier 2013-01-21 787 kvm_vgic_sync_hwstate(vcpu);
ee9bb9a1e3c6e4 virt/kvm/arm/arm.c Christoffer Dall 2016-10-16 788 local_irq_enable();
abdf58438356c7 arch/arm/kvm/arm.c Marc Zyngier 2015-06-08 789 preempt_enable();
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 790 continue;
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 791 }
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 792
56c7f5e77f797f arch/arm/kvm/arm.c Alex Bennée 2015-07-07 793 kvm_arm_setup_debug(vcpu);
56c7f5e77f797f arch/arm/kvm/arm.c Alex Bennée 2015-07-07 794
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 795 /**************************************************************
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 796 * Enter the guest
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 797 */
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 798 trace_kvm_entry(*vcpu_pc(vcpu));
6edaa5307f3f51 arch/arm/kvm/arm.c Paolo Bonzini 2016-06-15 799 guest_enter_irqoff();
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 800
3f5c90b890acfa virt/kvm/arm/arm.c Christoffer Dall 2017-10-03 801 if (has_vhe()) {
3f5c90b890acfa virt/kvm/arm/arm.c Christoffer Dall 2017-10-03 802 kvm_arm_vhe_guest_enter();
3f5c90b890acfa virt/kvm/arm/arm.c Christoffer Dall 2017-10-03 803 ret = kvm_vcpu_run_vhe(vcpu);
4f5abad9e826bd virt/kvm/arm/arm.c James Morse 2018-01-15 804 kvm_arm_vhe_guest_exit();
3f5c90b890acfa virt/kvm/arm/arm.c Christoffer Dall 2017-10-03 805 } else {
7aa8d14641651a virt/kvm/arm/arm.c Marc Zyngier 2019-01-05 806 ret = kvm_call_hyp_ret(__kvm_vcpu_run_nvhe, vcpu);
3f5c90b890acfa virt/kvm/arm/arm.c Christoffer Dall 2017-10-03 807 }
3f5c90b890acfa virt/kvm/arm/arm.c Christoffer Dall 2017-10-03 808
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 809 vcpu->mode = OUTSIDE_GUEST_MODE;
b19e6892a90e7c arch/arm/kvm/arm.c Amit Tomar 2015-11-26 810 vcpu->stat.exits++;
1b3d546daf85ed arch/arm/kvm/arm.c Christoffer Dall 2015-05-28 811 /*
1b3d546daf85ed arch/arm/kvm/arm.c Christoffer Dall 2015-05-28 812 * Back from guest
1b3d546daf85ed arch/arm/kvm/arm.c Christoffer Dall 2015-05-28 813 *************************************************************/
1b3d546daf85ed arch/arm/kvm/arm.c Christoffer Dall 2015-05-28 814
56c7f5e77f797f arch/arm/kvm/arm.c Alex Bennée 2015-07-07 815 kvm_arm_clear_debug(vcpu);
56c7f5e77f797f arch/arm/kvm/arm.c Alex Bennée 2015-07-07 816
ee9bb9a1e3c6e4 virt/kvm/arm/arm.c Christoffer Dall 2016-10-16 817 /*
b103cc3f10c06f virt/kvm/arm/arm.c Christoffer Dall 2016-10-16 818 * We must sync the PMU state before the vgic state so
ee9bb9a1e3c6e4 virt/kvm/arm/arm.c Christoffer Dall 2016-10-16 819 * that the vgic can properly sample the updated state of the
ee9bb9a1e3c6e4 virt/kvm/arm/arm.c Christoffer Dall 2016-10-16 820 * interrupt line.
ee9bb9a1e3c6e4 virt/kvm/arm/arm.c Christoffer Dall 2016-10-16 821 */
ee9bb9a1e3c6e4 virt/kvm/arm/arm.c Christoffer Dall 2016-10-16 822 kvm_pmu_sync_hwstate(vcpu);
ee9bb9a1e3c6e4 virt/kvm/arm/arm.c Christoffer Dall 2016-10-16 823
b103cc3f10c06f virt/kvm/arm/arm.c Christoffer Dall 2016-10-16 824 /*
b103cc3f10c06f virt/kvm/arm/arm.c Christoffer Dall 2016-10-16 825 * Sync the vgic state before syncing the timer state because
b103cc3f10c06f virt/kvm/arm/arm.c Christoffer Dall 2016-10-16 826 * the timer code needs to know if the virtual timer
b103cc3f10c06f virt/kvm/arm/arm.c Christoffer Dall 2016-10-16 827 * interrupts are active.
b103cc3f10c06f virt/kvm/arm/arm.c Christoffer Dall 2016-10-16 828 */
ee9bb9a1e3c6e4 virt/kvm/arm/arm.c Christoffer Dall 2016-10-16 829 kvm_vgic_sync_hwstate(vcpu);
ee9bb9a1e3c6e4 virt/kvm/arm/arm.c Christoffer Dall 2016-10-16 830
b103cc3f10c06f virt/kvm/arm/arm.c Christoffer Dall 2016-10-16 831 /*
b103cc3f10c06f virt/kvm/arm/arm.c Christoffer Dall 2016-10-16 832 * Sync the timer hardware state before enabling interrupts as
b103cc3f10c06f virt/kvm/arm/arm.c Christoffer Dall 2016-10-16 833 * we don't want vtimer interrupts to race with syncing the
b103cc3f10c06f virt/kvm/arm/arm.c Christoffer Dall 2016-10-16 834 * timer virtual interrupt state.
b103cc3f10c06f virt/kvm/arm/arm.c Christoffer Dall 2016-10-16 835 */
61bbe380273347 virt/kvm/arm/arm.c Christoffer Dall 2017-10-27 836 if (static_branch_unlikely(&userspace_irqchip_in_use))
b103cc3f10c06f virt/kvm/arm/arm.c Christoffer Dall 2016-10-16 837 kvm_timer_sync_hwstate(vcpu);
b103cc3f10c06f virt/kvm/arm/arm.c Christoffer Dall 2016-10-16 838
e6b673b741ea0d virt/kvm/arm/arm.c Dave Martin 2018-04-06 839 kvm_arch_vcpu_ctxsync_fp(vcpu);
e6b673b741ea0d virt/kvm/arm/arm.c Dave Martin 2018-04-06 840
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 841 /*
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 842 * We may have taken a host interrupt in HYP mode (ie
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 843 * while executing the guest). This interrupt is still
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 844 * pending, as we haven't serviced it yet!
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 845 *
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 846 * We're now back in SVC mode, with interrupts
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 847 * disabled. Enabling the interrupts now will have
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 848 * the effect of taking the interrupt again, in SVC
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 849 * mode this time.
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 850 */
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 851 local_irq_enable();
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 852
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 853 /*
6edaa5307f3f51 arch/arm/kvm/arm.c Paolo Bonzini 2016-06-15 854 * We do local_irq_enable() before calling guest_exit() so
1b3d546daf85ed arch/arm/kvm/arm.c Christoffer Dall 2015-05-28 855 * that if a timer interrupt hits while running the guest we
1b3d546daf85ed arch/arm/kvm/arm.c Christoffer Dall 2015-05-28 856 * account that tick as being spent in the guest. We enable
6edaa5307f3f51 arch/arm/kvm/arm.c Paolo Bonzini 2016-06-15 857 * preemption after calling guest_exit() so that if we get
1b3d546daf85ed arch/arm/kvm/arm.c Christoffer Dall 2015-05-28 858 * preempted we make sure ticks after that is not counted as
1b3d546daf85ed arch/arm/kvm/arm.c Christoffer Dall 2015-05-28 859 * guest time.
1b3d546daf85ed arch/arm/kvm/arm.c Christoffer Dall 2015-05-28 860 */
6edaa5307f3f51 arch/arm/kvm/arm.c Paolo Bonzini 2016-06-15 @861 guest_exit();
b5905dc12ed425 arch/arm/kvm/arm.c Christoffer Dall 2015-08-30 862 trace_kvm_exit(ret, kvm_vcpu_trap_get_class(vcpu), *vcpu_pc(vcpu));
1b3d546daf85ed arch/arm/kvm/arm.c Christoffer Dall 2015-05-28 863
3368bd809764d3 virt/kvm/arm/arm.c James Morse 2018-01-15 864 /* Exit types that need handling before we can be preempted */
3368bd809764d3 virt/kvm/arm/arm.c James Morse 2018-01-15 865 handle_exit_early(vcpu, run, ret);
3368bd809764d3 virt/kvm/arm/arm.c James Morse 2018-01-15 866
abdf58438356c7 arch/arm/kvm/arm.c Marc Zyngier 2015-06-08 867 preempt_enable();
abdf58438356c7 arch/arm/kvm/arm.c Marc Zyngier 2015-06-08 868
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 869 ret = handle_exit(vcpu, run, ret);
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 870 }
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 871
d9e1397783765a arch/arm/kvm/arm.c Alexander Graf 2016-09-27 872 /* Tell userspace about in-kernel device output levels */
3dbbdf78636e66 arch/arm/kvm/arm.c Christoffer Dall 2017-02-01 873 if (unlikely(!irqchip_in_kernel(vcpu->kvm))) {
d9e1397783765a arch/arm/kvm/arm.c Alexander Graf 2016-09-27 874 kvm_timer_update_run(vcpu);
3dbbdf78636e66 arch/arm/kvm/arm.c Christoffer Dall 2017-02-01 875 kvm_pmu_update_run(vcpu);
3dbbdf78636e66 arch/arm/kvm/arm.c Christoffer Dall 2017-02-01 876 }
d9e1397783765a arch/arm/kvm/arm.c Alexander Graf 2016-09-27 877
20b7035c66bacc virt/kvm/arm/arm.c Jan H. Schönherr 2017-11-24 878 kvm_sigset_deactivate(vcpu);
20b7035c66bacc virt/kvm/arm/arm.c Jan H. Schönherr 2017-11-24 879
accb757d798c9b virt/kvm/arm/arm.c Christoffer Dall 2017-12-04 880 vcpu_put(vcpu);
f7ed45be3ba524 arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 881 return ret;
749cf76c5a363e arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 882 }
749cf76c5a363e arch/arm/kvm/arm.c Christoffer Dall 2013-01-20 883

:::::: The code at line 861 was first introduced by commit
:::::: 6edaa5307f3f51e4e56dc4c63f68a69d88c6ddf5 KVM: remove kvm_guest_enter/exit wrappers

:::::: TO: Paolo Bonzini <pbonzini@xxxxxxxxxx>
:::::: CC: Paolo Bonzini <pbonzini@xxxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx Intel Corporation

Attachment: .config.gz
Description: application/gzip