tree:   https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git 
kvm-arm64/nv-wip-v5.0-rc1
head:   688c386ca096f2c1f2eee386697586c88df5d5bc
commit: 4fb08a5a9975b41829daec65774877666461e75f [53/75] KVM: arm64: nv: 
arch_timer: Support hyp timer emulation
config: arm-axm55xx_defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 4fb08a5a9975b41829daec65774877666461e75f
        # save the attached .config to linux build tree
        GCC_VERSION=7.2.0 make.cross ARCH=arm 

All errors (new ones prefixed by >>):

   arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c: In function 'get_timer_map':
>> arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:78:7: error: implicit 
>> declaration of function 'is_hyp_ctxt'; did you mean '__hyp_text'? 
>> [-Werror=implicit-function-declaration]
      if (is_hyp_ctxt(vcpu)) {
          ^~~~~~~~~~~
          __hyp_text
   arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c: In function 
'kvm_timer_should_fire':
   arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:277:1: error: macro 
"__read_sysreg" requires 4 arguments, but only 1 given
       cnt_ctl = read_sysreg_el0(cntp_ctl);
    ^  ~~~~~~~~~
   In file included from arch/arm/include/asm/kvm_hyp.h:23:0,
                    from arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:29:
   arch/arm/include/asm/cp15.h:63:27: error: '__read_sysreg' undeclared (first 
use in this function); did you mean 'vcpu_sysreg'?
    #define read_sysreg(...)  __read_sysreg(__VA_ARGS__)
                              ^
   arch/arm/include/asm/kvm_hyp.h:94:29: note: in expansion of macro 
'read_sysreg'
    #define read_sysreg_el0(r)  read_sysreg(r##_el0)
                                ^~~~~~~~~~~
   arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:277:14: note: in expansion 
of macro 'read_sysreg_el0'
       cnt_ctl = read_sysreg_el0(cntp_ctl);
                 ^~~~~~~~~~~~~~~
   arch/arm/include/asm/cp15.h:63:27: note: each undeclared identifier is 
reported only once for each function it appears in
    #define read_sysreg(...)  __read_sysreg(__VA_ARGS__)
                              ^
   arch/arm/include/asm/kvm_hyp.h:94:29: note: in expansion of macro 
'read_sysreg'
    #define read_sysreg_el0(r)  read_sysreg(r##_el0)
                                ^~~~~~~~~~~
   arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:277:14: note: in expansion 
of macro 'read_sysreg_el0'
       cnt_ctl = read_sysreg_el0(cntp_ctl);
                 ^~~~~~~~~~~~~~~
   arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c: In function 
'timer_save_state':
   arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:398:1: error: macro 
"__read_sysreg" requires 4 arguments, but only 1 given
      ctx->cnt_ctl = read_sysreg_el0(cntp_ctl);
    ^ ~~~~~~~~~~
   In file included from arch/arm/include/asm/kvm_hyp.h:23:0,
                    from arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:29:
   arch/arm/include/asm/cp15.h:63:27: error: '__read_sysreg' undeclared (first 
use in this function); did you mean 'vcpu_sysreg'?
    #define read_sysreg(...)  __read_sysreg(__VA_ARGS__)
                              ^
   arch/arm/include/asm/kvm_hyp.h:94:29: note: in expansion of macro 
'read_sysreg'
    #define read_sysreg_el0(r)  read_sysreg(r##_el0)
                                ^~~~~~~~~~~
   arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:398:18: note: in expansion 
of macro 'read_sysreg_el0'
      ctx->cnt_ctl = read_sysreg_el0(cntp_ctl);
                     ^~~~~~~~~~~~~~~
   arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:399:1: error: macro 
"__read_sysreg" requires 4 arguments, but only 1 given
      ctx->cnt_cval = read_sysreg_el0(cntp_cval);
    ^ ~~~~~~~~~~~
   arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:402:1: error: macro 
"__write_sysreg" requires 5 arguments, but only 2 given
      write_sysreg_el0(0, cntp_ctl);
    ^ ~~~~~~~~~~
   In file included from arch/arm/include/asm/kvm_hyp.h:23:0,
                    from arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:29:
   arch/arm/include/asm/cp15.h:66:31: error: '__write_sysreg' undeclared (first 
use in this function); did you mean '__read_sysreg'?
    #define write_sysreg(v, ...)  __write_sysreg(v, __VA_ARGS__)
                                  ^
   arch/arm/include/asm/kvm_hyp.h:95:33: note: in expansion of macro 
'write_sysreg'
    #define write_sysreg_el0(v, r)  write_sysreg(v, r##_el0)
                                    ^~~~~~~~~~~~
   arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:402:3: note: in expansion of 
macro 'write_sysreg_el0'
      write_sysreg_el0(0, cntp_ctl);
      ^~~~~~~~~~~~~~~~
   arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c: In function 
'timer_restore_state':
   arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:476:1: error: macro 
"__write_sysreg" requires 5 arguments, but only 2 given
      write_sysreg_el0(ctx->cnt_cval, cntp_cval);
    ^ ~~~~~~~~~~~
   In file included from arch/arm/include/asm/kvm_hyp.h:23:0,
                    from arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:29:
   arch/arm/include/asm/cp15.h:66:31: error: '__write_sysreg' undeclared (first 
use in this function); did you mean '__write_msi_msg'?
    #define write_sysreg(v, ...)  __write_sysreg(v, __VA_ARGS__)
                                  ^
   arch/arm/include/asm/kvm_hyp.h:95:33: note: in expansion of macro 
'write_sysreg'
    #define write_sysreg_el0(v, r)  write_sysreg(v, r##_el0)
                                    ^~~~~~~~~~~~
   arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:476:3: note: in expansion of 
macro 'write_sysreg_el0'
      write_sysreg_el0(ctx->cnt_cval, cntp_cval);
      ^~~~~~~~~~~~~~~~
   arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:478:1: error: macro 
"__write_sysreg" requires 5 arguments, but only 2 given
      write_sysreg_el0(ctx->cnt_ctl, cntp_ctl);
    ^ ~~~~~~~~~~
   arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c: In function 
'get_timer_from_sysreg':
   arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:889:7: error: 
'SYS_CNTP_TVAL_EL0' undeclared (first use in this function)
     case SYS_CNTP_TVAL_EL0:
          ^~~~~~~~~~~~~~~~~
   arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:890:7: error: 
'SYS_CNTP_CTL_EL0' undeclared (first use in this function); did you mean 
'SYS_CNTP_TVAL_EL0'?
     case SYS_CNTP_CTL_EL0:
          ^~~~~~~~~~~~~~~~
          SYS_CNTP_TVAL_EL0
   arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:891:7: error: 
'SYS_CNTP_CVAL_EL0' undeclared (first use in this function); did you mean 
'SYS_CNTP_TVAL_EL0'?
     case SYS_CNTP_CVAL_EL0:
          ^~~~~~~~~~~~~~~~~
          SYS_CNTP_TVAL_EL0
   arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:892:7: error: 
'SYS_AARCH32_CNTP_TVAL' undeclared (first use in this function)
     case SYS_AARCH32_CNTP_TVAL:
          ^~~~~~~~~~~~~~~~~~~~~
   arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:893:7: error: 
'SYS_AARCH32_CNTP_CTL' undeclared (first use in this function); did you mean 
'SYS_AARCH32_CNTP_TVAL'?
     case SYS_AARCH32_CNTP_CTL:
          ^~~~~~~~~~~~~~~~~~~~
          SYS_AARCH32_CNTP_TVAL
   arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:894:7: error: 
'SYS_AARCH32_CNTP_CVAL' undeclared (first use in this function); did you mean 
'SYS_AARCH32_CNTP_TVAL'?
     case SYS_AARCH32_CNTP_CVAL:
          ^~~~~~~~~~~~~~~~~~~~~
          SYS_AARCH32_CNTP_TVAL

vim +78 arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c

    74  
    75  static void get_timer_map(struct kvm_vcpu *vcpu, struct timer_map *map)
    76  {
    77          if (nested_virt_in_use(vcpu)) {
  > 78                  if (is_hyp_ctxt(vcpu)) {
    79                          map->direct_vtimer = vcpu_hvtimer(vcpu);
    80                          map->direct_ptimer = vcpu_hptimer(vcpu);
    81                          map->emul_vtimer = vcpu_vtimer(vcpu);
    82                          map->emul_ptimer = vcpu_ptimer(vcpu);
    83                  } else {
    84                          map->direct_vtimer = vcpu_vtimer(vcpu);
    85                          map->direct_ptimer = vcpu_ptimer(vcpu);
    86                          map->emul_vtimer = vcpu_hvtimer(vcpu);
    87                          map->emul_ptimer = vcpu_hptimer(vcpu);
    88                  }
    89          } else if (has_vhe()) {
    90                  map->direct_vtimer = vcpu_vtimer(vcpu);
    91                  map->direct_ptimer = vcpu_ptimer(vcpu);
    92                  map->emul_vtimer = NULL;
    93                  map->emul_ptimer = NULL;
    94          } else {
    95                  map->direct_vtimer = vcpu_vtimer(vcpu);
    96                  map->direct_ptimer = NULL;
    97                  map->emul_vtimer = NULL;
    98                  map->emul_ptimer = vcpu_ptimer(vcpu);
    99          }
   100  
   101          trace_kvm_get_timer_map(vcpu->vcpu_id, map);
   102  }
   103  

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

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

Reply via email to