[gvt-linux:gvt-stable-4.17 5/38] drivers/gpu/drm/i915/gvt/xengt.c:634:19: error: 'HVMMEM_mmio_write_dm' undeclared; did you mean 'HVMMEM_mmio_dm'?

kbuild test robot lkp at intel.com
Wed May 30 19:29:12 UTC 2018


tree:   https://github.com/01org/gvt-linux.git gvt-stable-4.17
head:   21ddfc7ca71dede6d1173120fdbec02a6a4c70bd
commit: abe32202c047c43c7aea7095221106018c562f57 [5/38] arch/x86/xen: Import x4.9 interface for ioreq
config: x86_64-allyesconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
        git checkout abe32202c047c43c7aea7095221106018c562f57
        # save the attached .config to linux build tree
        make ARCH=x86_64 

Note: the gvt-linux/gvt-stable-4.17 HEAD 21ddfc7ca71dede6d1173120fdbec02a6a4c70bd builds fine.
      It only hurts bisectibility.

All errors (new ones prefixed by >>):

   drivers/gpu/drm/i915/gvt/xengt.c:510:39: warning: unused variable 'arg' [-Wunused-variable]
     struct xen_hvm_get_ioreq_server_info arg;
                                          ^~~
   drivers/gpu/drm/i915/gvt/xengt.c: In function 'xen_hvm_destroy_iorequest_server':
   drivers/gpu/drm/i915/gvt/xengt.c:526:38: error: storage size of 'arg' isn't known
     struct xen_hvm_destroy_ioreq_server arg;
                                         ^~~
   drivers/gpu/drm/i915/gvt/xengt.c:531:24: error: 'HVMOP_destroy_ioreq_server' undeclared (first use in this function); did you mean 'xen_hvm_destroy_ioreq_server'?
     r = HYPERVISOR_hvm_op(HVMOP_destroy_ioreq_server, &arg);
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~
                           xen_hvm_destroy_ioreq_server
   drivers/gpu/drm/i915/gvt/xengt.c:526:38: warning: unused variable 'arg' [-Wunused-variable]
     struct xen_hvm_destroy_ioreq_server arg;
                                         ^~~
   drivers/gpu/drm/i915/gvt/xengt.c: In function 'xen_hvm_map_io_range_to_ioreq_server':
   drivers/gpu/drm/i915/gvt/xengt.c:562:2: error: unknown type name 'xen_hvm_io_range_t'; did you mean 'xen_hvm_param_t'?
     xen_hvm_io_range_t arg;
     ^~~~~~~~~~~~~~~~~~
     xen_hvm_param_t
   drivers/gpu/drm/i915/gvt/xengt.c:565:5: error: request for member 'domid' in something not a structure or union
     arg.domid = info->vm_id;
        ^
   drivers/gpu/drm/i915/gvt/xengt.c:566:5: error: request for member 'id' in something not a structure or union
     arg.id = info->iosrv_id;
        ^
   drivers/gpu/drm/i915/gvt/xengt.c:567:5: error: request for member 'type' in something not a structure or union
     arg.type = is_mmio ? HVMOP_IO_RANGE_MEMORY : HVMOP_IO_RANGE_PORT;
        ^
   drivers/gpu/drm/i915/gvt/xengt.c:567:23: error: 'HVMOP_IO_RANGE_MEMORY' undeclared (first use in this function); did you mean 'PCI_IO_RANGE_MASK'?
     arg.type = is_mmio ? HVMOP_IO_RANGE_MEMORY : HVMOP_IO_RANGE_PORT;
                          ^~~~~~~~~~~~~~~~~~~~~
                          PCI_IO_RANGE_MASK
   drivers/gpu/drm/i915/gvt/xengt.c:567:47: error: 'HVMOP_IO_RANGE_PORT' undeclared (first use in this function); did you mean 'HVMOP_IO_RANGE_MEMORY'?
     arg.type = is_mmio ? HVMOP_IO_RANGE_MEMORY : HVMOP_IO_RANGE_PORT;
                                                  ^~~~~~~~~~~~~~~~~~~
                                                  HVMOP_IO_RANGE_MEMORY
   drivers/gpu/drm/i915/gvt/xengt.c:568:5: error: request for member 'start' in something not a structure or union
     arg.start = start;
        ^
   drivers/gpu/drm/i915/gvt/xengt.c:569:5: error: request for member 'end' in something not a structure or union
     arg.end = end;
        ^
   drivers/gpu/drm/i915/gvt/xengt.c:573:4: error: 'HVMOP_map_io_range_to_ioreq_server' undeclared (first use in this function); did you mean 'xen_hvm_map_io_range_to_ioreq_server'?
       HVMOP_map_io_range_to_ioreq_server, &arg);
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       xen_hvm_map_io_range_to_ioreq_server
   drivers/gpu/drm/i915/gvt/xengt.c:576:4: error: 'HVMOP_unmap_io_range_from_ioreq_server' undeclared (first use in this function); did you mean 'HVMOP_map_io_range_to_ioreq_server'?
       HVMOP_unmap_io_range_from_ioreq_server, &arg);
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       HVMOP_map_io_range_to_ioreq_server
   drivers/gpu/drm/i915/gvt/xengt.c: In function 'xen_hvm_map_pcidev_to_ioreq_server':
   drivers/gpu/drm/i915/gvt/xengt.c:584:2: error: unknown type name 'xen_hvm_io_range_t'; did you mean 'xen_hvm_param_t'?
     xen_hvm_io_range_t arg;
     ^~~~~~~~~~~~~~~~~~
     xen_hvm_param_t
   drivers/gpu/drm/i915/gvt/xengt.c:587:5: error: request for member 'domid' in something not a structure or union
     arg.domid = info->vm_id;
        ^
   drivers/gpu/drm/i915/gvt/xengt.c:588:5: error: request for member 'id' in something not a structure or union
     arg.id = info->iosrv_id;
        ^
   drivers/gpu/drm/i915/gvt/xengt.c:589:5: error: request for member 'type' in something not a structure or union
     arg.type = HVMOP_IO_RANGE_PCI;
        ^
   drivers/gpu/drm/i915/gvt/xengt.c:589:13: error: 'HVMOP_IO_RANGE_PCI' undeclared (first use in this function); did you mean 'PCI_IO_RANGE_MASK'?
     arg.type = HVMOP_IO_RANGE_PCI;
                ^~~~~~~~~~~~~~~~~~
                PCI_IO_RANGE_MASK
   drivers/gpu/drm/i915/gvt/xengt.c:590:5: error: request for member 'start' in something not a structure or union
     arg.start = arg.end = sbdf;
        ^
   drivers/gpu/drm/i915/gvt/xengt.c:590:17: error: request for member 'end' in something not a structure or union
     arg.start = arg.end = sbdf;
                    ^
   drivers/gpu/drm/i915/gvt/xengt.c:591:25: error: 'HVMOP_map_io_range_to_ioreq_server' undeclared (first use in this function); did you mean 'xen_hvm_map_io_range_to_ioreq_server'?
     rc = HYPERVISOR_hvm_op(HVMOP_map_io_range_to_ioreq_server, &arg);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                            xen_hvm_map_io_range_to_ioreq_server
   drivers/gpu/drm/i915/gvt/xengt.c: In function 'xen_hvm_set_mem_type':
   drivers/gpu/drm/i915/gvt/xengt.c:603:2: error: unknown type name 'xen_hvm_set_mem_type_t'; did you mean 'xen_hvm_get_mem_type_t'?
     xen_hvm_set_mem_type_t args;
     ^~~~~~~~~~~~~~~~~~~~~~
     xen_hvm_get_mem_type_t
   drivers/gpu/drm/i915/gvt/xengt.c:606:6: error: request for member 'domid' in something not a structure or union
     args.domid = vm_id;
         ^
   drivers/gpu/drm/i915/gvt/xengt.c:607:6: error: request for member 'hvmmem_type' in something not a structure or union
     args.hvmmem_type = mem_type;
         ^
   drivers/gpu/drm/i915/gvt/xengt.c:608:6: error: request for member 'first_pfn' in something not a structure or union
     args.first_pfn = first_pfn;
         ^
   drivers/gpu/drm/i915/gvt/xengt.c:609:6: error: request for member 'nr' in something not a structure or union
     args.nr = 1;
         ^
   drivers/gpu/drm/i915/gvt/xengt.c:610:25: error: 'HVMOP_set_mem_type' undeclared (first use in this function); did you mean 'HVMOP_get_mem_type'?
     rc = HYPERVISOR_hvm_op(HVMOP_set_mem_type, &args);
                            ^~~~~~~~~~~~~~~~~~
                            HVMOP_get_mem_type
   drivers/gpu/drm/i915/gvt/xengt.c: In function 'xen_hvm_wp_page_to_ioreq_server':
>> drivers/gpu/drm/i915/gvt/xengt.c:634:19: error: 'HVMMEM_mmio_write_dm' undeclared (first use in this function); did you mean 'HVMMEM_mmio_dm'?
     mem_type = set ? HVMMEM_mmio_write_dm : HVMMEM_ram_rw;
                      ^~~~~~~~~~~~~~~~~~~~
                      HVMMEM_mmio_dm
   drivers/gpu/drm/i915/gvt/xengt.c: In function 'xengt_inject_msi':
   drivers/gpu/drm/i915/gvt/xengt.c:1388:28: error: storage size of 'msi' isn't known
     struct xen_hvm_inject_msi msi;
                               ^~~
   drivers/gpu/drm/i915/gvt/xengt.c:1397:27: error: 'HVMOP_inject_msi' undeclared (first use in this function); did you mean 'xengt_inject_msi'?
     return HYPERVISOR_hvm_op(HVMOP_inject_msi, &msi);
                              ^~~~~~~~~~~~~~~~
                              xengt_inject_msi
   drivers/gpu/drm/i915/gvt/xengt.c:1388:28: warning: unused variable 'msi' [-Wunused-variable]
     struct xen_hvm_inject_msi msi;
                               ^~~
   drivers/gpu/drm/i915/gvt/xengt.c:1398:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^

vim +634 drivers/gpu/drm/i915/gvt/xengt.c

2c80ff2c Pei Zhang 2017-04-10  599  
2c80ff2c Pei Zhang 2017-04-10  600  static int xen_hvm_set_mem_type(domid_t vm_id, uint16_t mem_type,
2c80ff2c Pei Zhang 2017-04-10  601  		uint64_t first_pfn, uint64_t nr)
2c80ff2c Pei Zhang 2017-04-10  602  {
2c80ff2c Pei Zhang 2017-04-10  603  	xen_hvm_set_mem_type_t args;
2c80ff2c Pei Zhang 2017-04-10  604  	int rc;
2c80ff2c Pei Zhang 2017-04-10  605  
2c80ff2c Pei Zhang 2017-04-10  606  	args.domid = vm_id;
2c80ff2c Pei Zhang 2017-04-10  607  	args.hvmmem_type = mem_type;
2c80ff2c Pei Zhang 2017-04-10  608  	args.first_pfn = first_pfn;
2c80ff2c Pei Zhang 2017-04-10 @609  	args.nr = 1;
2c80ff2c Pei Zhang 2017-04-10  610  	rc = HYPERVISOR_hvm_op(HVMOP_set_mem_type, &args);
2c80ff2c Pei Zhang 2017-04-10  611  
2c80ff2c Pei Zhang 2017-04-10  612  	return rc;
2c80ff2c Pei Zhang 2017-04-10  613  }
2c80ff2c Pei Zhang 2017-04-10  614  
2c80ff2c Pei Zhang 2017-04-10  615  static int xen_hvm_wp_page_to_ioreq_server(struct xengt_hvm_dev *info,
2c80ff2c Pei Zhang 2017-04-10  616  		unsigned long page, bool set)
2c80ff2c Pei Zhang 2017-04-10  617  {
2c80ff2c Pei Zhang 2017-04-10  618  	int rc = 0;
2c80ff2c Pei Zhang 2017-04-10  619  	uint64_t start, end;
2c80ff2c Pei Zhang 2017-04-10  620  	uint16_t mem_type;
2c80ff2c Pei Zhang 2017-04-10  621  
2c80ff2c Pei Zhang 2017-04-10  622  	start = page << PAGE_SHIFT;
2c80ff2c Pei Zhang 2017-04-10  623  	end = ((page + 1) << PAGE_SHIFT) - 1;
2c80ff2c Pei Zhang 2017-04-10  624  
2c80ff2c Pei Zhang 2017-04-10  625  	if (set) {
2c80ff2c Pei Zhang 2017-04-10  626  		rc = xen_hvm_map_io_range_to_ioreq_server(info, 1,
2c80ff2c Pei Zhang 2017-04-10  627  				start, end, true);
2c80ff2c Pei Zhang 2017-04-10  628  		if (rc < 0) {
2c80ff2c Pei Zhang 2017-04-10  629  			gvt_err("map page 0x%lx failed: %d!\n",	page, rc);
2c80ff2c Pei Zhang 2017-04-10  630  			return rc;
2c80ff2c Pei Zhang 2017-04-10  631  		}
2c80ff2c Pei Zhang 2017-04-10  632  	}
2c80ff2c Pei Zhang 2017-04-10  633  
2c80ff2c Pei Zhang 2017-04-10 @634  	mem_type = set ? HVMMEM_mmio_write_dm : HVMMEM_ram_rw;
2c80ff2c Pei Zhang 2017-04-10  635  	rc = xen_hvm_set_mem_type(info->vm_id, mem_type, page, 1);
2c80ff2c Pei Zhang 2017-04-10  636  	if (rc < 0) {
2c80ff2c Pei Zhang 2017-04-10  637  		gvt_err("set mem type of page 0x%lx to %s fail - %d!\n", page,
2c80ff2c Pei Zhang 2017-04-10  638  				set ? "HVMMEM_mmio_write_dm" : "HVMMEM_ram_rw", rc);
2c80ff2c Pei Zhang 2017-04-10  639  		return rc;
2c80ff2c Pei Zhang 2017-04-10  640  	}
2c80ff2c Pei Zhang 2017-04-10  641  
2c80ff2c Pei Zhang 2017-04-10  642  	if (!set) {
2c80ff2c Pei Zhang 2017-04-10  643  		rc = xen_hvm_map_io_range_to_ioreq_server(info, 1,
2c80ff2c Pei Zhang 2017-04-10  644  				start, end, false);
2c80ff2c Pei Zhang 2017-04-10  645  		if (rc < 0) {
2c80ff2c Pei Zhang 2017-04-10  646  			gvt_err("unmap page 0x%lx failed: %d!\n", page, rc);
2c80ff2c Pei Zhang 2017-04-10  647  			return rc;
2c80ff2c Pei Zhang 2017-04-10  648  		}
2c80ff2c Pei Zhang 2017-04-10  649  	}
2c80ff2c Pei Zhang 2017-04-10  650  
2c80ff2c Pei Zhang 2017-04-10  651  	return rc;
2c80ff2c Pei Zhang 2017-04-10  652  }
2c80ff2c Pei Zhang 2017-04-10  653  

:::::: The code at line 634 was first introduced by commit
:::::: 2c80ff2cbec4b99804b25f5e3c8e52b484b5b4df drm/i915/xengt: xengt moudule initial files

:::::: TO: Pei Zhang <pei.zhang at intel.com>
:::::: CC: Xiong Zhang <xiong.y.zhang at intel.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 62416 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gvt-dev/attachments/20180531/995f9f52/attachment-0001.gz>


More information about the intel-gvt-dev mailing list