1. 26 Apr, 2022 2 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 3 commits
  8. 12 Apr, 2022 1 commit
  9. 11 Apr, 2022 1 commit