qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] c02b37: tests: Add migration test for aarch64


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] c02b37: tests: Add migration test for aarch64
Date: Fri, 12 Oct 2018 03:56:24 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: c02b37814cf6962b3320ab34e1b3a26a2323772f
      
https://github.com/qemu/qemu/commit/c02b37814cf6962b3320ab34e1b3a26a2323772f
  Author: Wei Huang <address@hidden>
  Date:   2018-10-11 (Thu, 11 Oct 2018)

  Changed paths:
    M tests/Makefile.include
    M tests/migration-test.c
    M tests/migration/Makefile
    A tests/migration/aarch64/Makefile
    A tests/migration/aarch64/a-b-kernel.S
    A tests/migration/aarch64/a-b-kernel.h
    M tests/migration/migration-test.h

  Log Message:
  -----------
  tests: Add migration test for aarch64

This patch adds migration test support for aarch64. The test code, which
implements the same functionality as x86, is booted as a kernel in qemu.
Here are the design choices we make for aarch64:

 * We choose this -kernel approach because aarch64 QEMU doesn't provide a
   built-in fw like x86 does. So instead of relying on a boot loader, we
   use -kernel approach for aarch64.
 * The serial output is sent to PL011 directly.
 * The physical memory base for mach-virt machine is 0x40000000. We change
   the start_address and end_address for aarch64.

In addition to providing the binary, this patch also includes the source
code and the build script in tests/migration/aarch64. So users can change
the source and/or re-compile the binary as they wish.

Reviewed-by: Juan Quintela <address@hidden>
Reviewed-by: Andrew Jones <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Wei Huang <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 5571dc824b3a8b9e890caa721a6938970e7596ed
      
https://github.com/qemu/qemu/commit/5571dc824b3a8b9e890caa721a6938970e7596ed
  Author: Thomas Huth <address@hidden>
  Date:   2018-10-11 (Thu, 11 Oct 2018)

  Changed paths:
    M tests/Makefile.include
    M tests/migration-test.c
    M tests/migration/Makefile
    M tests/migration/migration-test.h
    A tests/migration/s390x/Makefile
    A tests/migration/s390x/a-b-bios.c
    A tests/migration/s390x/a-b-bios.h

  Log Message:
  -----------
  tests/migration: Enable the migration test on s390x, too

We can re-use the s390-ccw bios code to implement a small firmware
for a s390x guest which prints out the "A" and "B" characters and
modifies the memory, as required for the migration test.

[quintela: Converted the compile script to Makefile rules]
Signed-off-by: Juan Quintela <address@hidden>
Signed-off-by: Thomas Huth <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>
  Fixed up Makefile since the aarch patch sneaked in first


  Commit: 55d0fe8254984321a126efd8db358f754737aa63
      
https://github.com/qemu/qemu/commit/55d0fe8254984321a126efd8db358f754737aa63
  Author: Ilya Maximets <address@hidden>
  Date:   2018-10-11 (Thu, 11 Oct 2018)

  Changed paths:
    M migration/postcopy-ram.c

  Log Message:
  -----------
  migration: Stop postcopy fault thread before notifying

POSTCOPY_NOTIFY_INBOUND_END handlers will remove userfault fds
from the postcopy_remote_fds array which could be still in
use by the fault thread. Let's stop the thread before
notification to avoid possible accessing wrong memory.

Fixes: 46343570c06e ("vhost+postcopy: Wire up POSTCOPY_END notify")
Cc: address@hidden
Signed-off-by: Ilya Maximets <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Reviewed-by: Maxime Coquelin <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: c4f753859ae6da1aeb93cad19c586fea1925e269
      
https://github.com/qemu/qemu/commit/c4f753859ae6da1aeb93cad19c586fea1925e269
  Author: Ilya Maximets <address@hidden>
  Date:   2018-10-11 (Thu, 11 Oct 2018)

  Changed paths:
    M hw/virtio/vhost-user.c

  Log Message:
  -----------
  vhost-user: Fix userfaultfd leak

'fd' received from the vhost side is never freed.
Also, everything (including 'postcopy_listen' state) should be
cleaned up on vhost cleanup.

Fixes: 46343570c06e ("vhost+postcopy: Wire up POSTCOPY_END notify")
Fixes: f82c11165ffa ("vhost+postcopy: Register shared ufd with postcopy")
Cc: address@hidden
Signed-off-by: Ilya Maximets <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Reviewed-by: Maxime Coquelin <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 5ce43896e1679e706db1562d0e2d86ad428ed1e6
      
https://github.com/qemu/qemu/commit/5ce43896e1679e706db1562d0e2d86ad428ed1e6
  Author: Ilya Maximets <address@hidden>
  Date:   2018-10-11 (Thu, 11 Oct 2018)

  Changed paths:
    M hw/virtio/vhost-user.c

  Log Message:
  -----------
  vhost-user: Don't ask for reply on postcopy mem table set

According to documentation, NEED_REPLY_MASK should not be set
for VHOST_USER_SET_MEM_TABLE request in postcopy mode.
This restriction was mistakenly applied to 'reply_supported'
variable, which is local and used only for non-postcopy case.

CC: Dr. David Alan Gilbert <address@hidden>
Fixes: 9bb38019942c ("vhost+postcopy: Send address back to qemu")
Signed-off-by: Ilya Maximets <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Maxime Coquelin <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 18613dc6d9f2f33c333440fecab4c584281305ee
      
https://github.com/qemu/qemu/commit/18613dc6d9f2f33c333440fecab4c584281305ee
  Author: Denis V. Lunev <address@hidden>
  Date:   2018-10-11 (Thu, 11 Oct 2018)

  Changed paths:
    M hmp.c
    M hw/pci/pci.c
    M qapi/misc.json

  Log Message:
  -----------
  qmp, hmp: make subsystem/system-vendor identities optional

According to PCI specification, subsystem id and subsystem vendor id
are present only in type 0 and type 2 headers (at different offsets),
but not in type 1 headers.

Thus we should make this data optional in struct PciDeviceId and skip
reporting them via HMP if the information is not available.

Additional (wrong information) about PCI bridges (Type1 devices) has been
added in 5383a705 and fortunately not released. This patch fixes that
problem. The problem was spotted by Markus.

Signed-off-by: Denis V. Lunev <address@hidden>
CC: "Dr. David Alan Gilbert" <address@hidden>
CC: Eric Blake <address@hidden>
CC: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reported-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 36bd9e3c8b049cb9124e04ed8bf8f9451d63de03
      
https://github.com/qemu/qemu/commit/36bd9e3c8b049cb9124e04ed8bf8f9451d63de03
  Author: Juan Quintela <address@hidden>
  Date:   2018-10-11 (Thu, 11 Oct 2018)

  Changed paths:
    M tests/migration/Makefile

  Log Message:
  -----------
  migration-test: Only generate a single target architecture

Several changes:
- We only allow generate header "inside" the tree.  Why?  Because we
  need to connit the result, so it makes no sense to generate them on
  the build dir.
- We only generate a single target each time.  Getting all the
  cross-compilers correctly is an impossible task.  So know you do:
     make -C tests/migration $target (native)
     make CROSS_PREFIX=foo- -C tests/migratiion $target (cross)
  And you are done.

- If we are building out of tree, we have no data about if we are
  cross-compile or whatever.  So instead of guess what is happening,
  just do what I pointed on previous point.

Signed-off-by: Juan Quintela <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 05b656dcaa62bd91c97bcfd335a2802f2a2d678d
      
https://github.com/qemu/qemu/commit/05b656dcaa62bd91c97bcfd335a2802f2a2d678d
  Author: Peter Maydell <address@hidden>
  Date:   2018-10-12 (Fri, 12 Oct 2018)

  Changed paths:
    M hmp.c
    M hw/pci/pci.c
    M hw/virtio/vhost-user.c
    M migration/postcopy-ram.c
    M qapi/misc.json
    M tests/Makefile.include
    M tests/migration-test.c
    M tests/migration/Makefile
    A tests/migration/aarch64/Makefile
    A tests/migration/aarch64/a-b-kernel.S
    A tests/migration/aarch64/a-b-kernel.h
    M tests/migration/migration-test.h
    A tests/migration/s390x/Makefile
    A tests/migration/s390x/a-b-bios.c
    A tests/migration/s390x/a-b-bios.h

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/dgilbert/tags/pull-migration-20181011a' 
into staging

Migration pull 2018-10-11

With one bonus HMP fix.

# gpg: Signature made Thu 11 Oct 2018 20:23:12 BST
# gpg:                using RSA key 0516331EBC5BFDE7
# gpg: Good signature from "Dr. David Alan Gilbert (RH2) <address@hidden>"
# Primary key fingerprint: 45F5 C71B 4A0C B7FB 977A  9FA9 0516 331E BC5B FDE7

* remotes/dgilbert/tags/pull-migration-20181011a:
  migration-test: Only generate a single target architecture
  qmp, hmp: make subsystem/system-vendor identities optional
  vhost-user: Don't ask for reply on postcopy mem table set
  vhost-user: Fix userfaultfd leak
  migration: Stop postcopy fault thread before notifying
  tests/migration: Enable the migration test on s390x, too
  tests: Add migration test for aarch64

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/75e50c80e051...05b656dcaa62
      **NOTE:** This service has been marked for deprecation: 
https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]