[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