1. 26 Apr, 2022 5 commits
  2. 22 Apr, 2022 17 commits
  3. 21 Apr, 2022 2 commits
    • Stefano Stabellini's avatar
      gitlab-ci: add an ARM32 qemu-based smoke test · 43f3d511
      Stefano Stabellini authored
      Add a minimal ARM32 smoke test based on qemu-system-arm, as provided by
      the test-artifacts qemu container. The minimal test simply boots Xen
      (built from previous build stages) and Dom0.
      
      The test needs a working kernel and minimal initrd for dom0. Instead of
      building our own kernel and initrd, which would mean maintaining one or
      two more builting scripts under automation/, we borrow a kernel and
      initrd from distros.
      
      For the kernel we pick the Debian Bullseye kernel, which has everything
      we need already built-in. However, we cannot use the Debian Bullseye
      initrd because it is 22MB and the large size causes QEMU to core dump.
      
      Instead, use the tiny busybox-based rootfs provided by Alpine Linux,
      which is really minimal: just 2.5MB. Note that we cannot use the Alpine
      Linux kernel because that doesn't boot on Xen.
      Signed-off-by: default avatarStefano Stabellini <stefano.stabellini@xilinx.com>
      Reviewed-by: default avatarMichal Orzel <michal.orzel@arm.com>
      43f3d511
    • Stefano Stabellini's avatar
      gitlab-ci: add qemu-system-arm to the existing tests-artifacts container · f1e4efaf
      Stefano Stabellini authored
      Add qemu-system-arm to the existing test-artifacts qemu container (which
      doesn't get build for every iteration but only updated once in a while.)
      
      With qemu-system-arm available, we'll be able to run ARM32 tests.
      
      This patch also bumps the QEMU version to v6.0.0 for both arm32 and
      arm64 (the test-artifacts container is one, shared for both).
      Signed-off-by: default avatarStefano Stabellini <stefano.stabellini@xilinx.com>
      Reviewed-by: default avatarAnthony PERARD <anthony.perard@citrix.com>
      f1e4efaf
  4. 20 Apr, 2022 11 commits
  5. 19 Apr, 2022 2 commits
    • Juergen Gross's avatar
      xen: cleanup gdbsx_guest_mem_io() call · 2ce9afd6
      Juergen Gross authored
      Modify the gdbsx_guest_mem_io() interface to take the already known
      domain pointer as parameter instead of the domid. This enables to
      remove some more code further down the call tree.
      Suggested-by: default avatarJan Beulich <jbeulich@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      Reviewed-by: default avatarJan Beulich <jbeulich@suse.com>
      Reviewed-by: default avatarAndrew Cooper <andrew.cooper3@citrix.com>
      2ce9afd6
    • Juergen Gross's avatar
      xen: fix XEN_DOMCTL_gdbsx_guestmemio crash · f00daf1f
      Juergen Gross authored
      A hypervisor built without CONFIG_GDBSX will crash in case the
      XEN_DOMCTL_gdbsx_guestmemio domctl is being called, as the call will
      end up in iommu_do_domctl() with d == NULL:
      
        (XEN) CPU:    6
        (XEN) RIP:    e008:[<ffff82d040269984>] iommu_do_domctl+0x4/0x30
        (XEN) RFLAGS: 0000000000010202   CONTEXT: hypervisor (d0v0)
        (XEN) rax: 00000000000003e8   rbx: ffff830856277ef8   rcx: ffff830856277fff
        ...
        (XEN) Xen call trace:
        (XEN)    [<ffff82d040269984>] R iommu_do_domctl+0x4/0x30
        (XEN)    [<ffff82d04035cd5f>] S arch_do_domctl+0x7f/0x2330
        (XEN)    [<ffff82d040239e46>] S do_domctl+0xe56/0x1930
        (XEN)    [<ffff82d040238ff0>] S do_domctl+0/0x1930
        (XEN)    [<ffff82d0402f8c59>] S pv_hypercall+0x99/0x110
        (XEN)    [<ffff82d0402f5161>] S arch/x86/pv/domain.c#_toggle_guest_pt+0x11/0x90
        (XEN)    [<ffff82d040366288>] S lstar_enter+0x128/0x130
        (XEN)
        (XEN) Pagetable walk from 0000000000000144:
        (XEN)  L4[0x000] = 0000000000000000 ffffffffffffffff
        (XEN)
        (XEN) ****************************************
        (XEN) Panic on CPU 6:
        (XEN) FATAL PAGE FAULT
        (XEN) [error_code=0000]
        (XEN) Faulting linear address: 0000000000000144
        (XEN) ****************************************
      
      It used to be permitted to pass DOMID_IDLE to dbg_rw_mem(), which is why the
      special case skipping the domid checks exists.  Now that it is only permitted
      to pass proper domids, remove the special case, making 'd' always valid.
      Reported-by: default avatarCheyenne Wills <cheyenne.wills@gmail.com>
      Fixes: e726a82c ("xen: make gdbsx support configurable")
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      Reviewed-by: default avatarJan Beulich <jbeulich@suse.com>
      Reviewed-by: default avatarAndrew Cooper <andrew.cooper3@citrix.com>
      f00daf1f
  6. 14 Apr, 2022 1 commit
  7. 13 Apr, 2022 2 commits
    • Jan Beulich's avatar
      IOMMU: log appropriate SBDF · e509b5f9
      Jan Beulich authored
      To handle phantom devices, several functions are passed separate "devfn"
      arguments besides a PCI device. In such cases we want to log the phantom
      device's coordinates instead of the main one's. (Note that not all of
      the instances being changed are fallout from the referenced commit.)
      
      Fixes: 1ee14418 ("print: introduce a format specifier for pci_sbdf_t")
      Signed-off-by: default avatarJan Beulich <jbeulich@suse.com>
      Reviewed-by: default avatarRoger Pau Monné <roger.pau@citrix.com>
      e509b5f9
    • Jan Beulich's avatar
      AMD/IOMMU: replace a few PCI_BDF2() · e687e721
      Jan Beulich authored
      struct pci_dev has the wanted value directly available; use it. Note
      that this fixes a - imo benign - mistake in reassign_device(): The unity
      map removal ought to be based on the passed in devfn (as is the case on
      the establishing side). This is benign because the mappings would be
      removed anyway a little later, when the "main" device gets processed.
      While there also limit the scope of two variables in that function.
      Signed-off-by: default avatarJan Beulich <jbeulich@suse.com>
      Reviewed-by: default avatarRoger Pau Monné <roger.pau@citrix.com>
      e687e721