Skip to content
Snippets Groups Projects
  1. Mar 26, 2021
  2. Mar 20, 2021
  3. Mar 17, 2021
  4. Feb 18, 2021
    • zhouyang's avatar
      contrib: Open brace '{' following struct go on the same line · 24fa5d66
      zhouyang authored
      
      I found some style problems whil check the code using checkpatch.pl.
      This commit fixs the issue below:
      ERROR: that open brace { should be on the previous line
      
      Signed-off-by: default avatarzhouyang <zhouyang789@huawei.com>
      Signed-off-by: default avatarAlex Bennée <alex.bennee@linaro.org>
      Message-Id: <20210118031004.1662363-6-zhouyang789@huawei.com>
      Message-Id: <20210213130325.14781-9-alex.bennee@linaro.org>
      24fa5d66
    • zhouyang's avatar
      contrib: space required after that ',' · edd4a85d
      zhouyang authored
      
      I am reading contrib related code and found some style problems while
      check the code using checkpatch.pl. This commit fixs the issue below:
      ERROR: space required after that ','
      
      Signed-off-by: default avatarzhouyang <zhouyang789@huawei.com>
      Signed-off-by: default avatarAlex Bennée <alex.bennee@linaro.org>
      Message-Id: <20210118031004.1662363-5-zhouyang789@huawei.com>
      Message-Id: <20210213130325.14781-8-alex.bennee@linaro.org>
      edd4a85d
    • zhouyang's avatar
      contrib: Add spaces around operator · d62cc7fe
      zhouyang authored
      
      I am reading contrib related code and found some style problems while
      check the code using checkpatch.pl. This commit fixs the issue below:
      ERROR: spaces required around that '*'
      
      Signed-off-by: default avatarzhouyang <zhouyang789@huawei.com>
      Signed-off-by: default avatarAlex Bennée <alex.bennee@linaro.org>
      Message-Id: <20210118031004.1662363-4-zhouyang789@huawei.com>
      Message-Id: <20210213130325.14781-7-alex.bennee@linaro.org>
      d62cc7fe
    • zhouyang's avatar
      contrib: Fix some code style problems, ERROR: "foo * bar" should be "foo *bar" · 247b3c70
      zhouyang authored
      
      I am reading contrib related code and found some style problems while
      check the code using checkpatch.pl. This commit fixs the issue below:
      ERROR: "foo * bar" should be "foo *bar"
      
      Signed-off-by: default avatarzhouyang <zhouyang789@huawei.com>
      Signed-off-by: default avatarAlex Bennée <alex.bennee@linaro.org>
      Message-Id: <20210118031004.1662363-3-zhouyang789@huawei.com>
      Message-Id: <20210213130325.14781-6-alex.bennee@linaro.org>
      247b3c70
    • zhouyang's avatar
      contrib: Don't use '#' flag of printf format · 7fe7ab15
      zhouyang authored
      
      I am reading contrib related code and found some style problems while
      check the code using checkpatch.pl. This commit fixs the misuse of
      '#' flag of printf format
      
      Signed-off-by: default avatarzhouyang <zhouyang789@huawei.com>
      Signed-off-by: default avatarAlex Bennée <alex.bennee@linaro.org>
      Message-Id: <20210118031004.1662363-2-zhouyang789@huawei.com>
      Message-Id: <20210213130325.14781-5-alex.bennee@linaro.org>
      7fe7ab15
    • Alex Bennée's avatar
      plugins: new hwprofile plugin · a622d64e
      Alex Bennée authored
      
      This is a plugin intended to help with profiling access to various
      bits of system hardware. It only really makes sense for system
      emulation.
      
      It takes advantage of the recently exposed helper API that allows us
      to see the device name (memory region name) associated with a device.
      
      You can specify arg=read or arg=write to limit the tracking to just
      reads or writes (by default it does both).
      
      The pattern option:
      
        -plugin ./tests/plugin/libhwprofile.so,arg=pattern
      
      will allow you to see the access pattern to devices, eg:
      
        gic_cpu @ 0xffffffc010040000
          off:00000000, 8, 1, 8, 1
          off:00000000, 4, 1, 4, 1
          off:00000000, 2, 1, 2, 1
          off:00000000, 1, 1, 1, 1
      
      The source option:
      
        -plugin ./tests/plugin/libhwprofile.so,arg=source
      
      will track the virtual source address of the instruction making the
      access:
      
        pl011 @ 0xffffffc010031000
          pc:ffffffc0104c785c, 1, 4, 0, 0
          pc:ffffffc0104c7898, 1, 4, 0, 0
          pc:ffffffc010512bcc, 2, 1867, 0, 0
      
      You cannot mix source and pattern.
      
      Finally the match option allow you to limit the tracking to just the
      devices you care about.
      
      Signed-off-by: default avatarAlex Bennée <alex.bennee@linaro.org>
      Tested-by: default avatarRobert Foley <robert.foley@linaro.org>
      Reviewed-by: default avatarRobert Foley <robert.foley@linaro.org>
      Message-Id: <20210213130325.14781-4-alex.bennee@linaro.org>
      a622d64e
  5. Feb 04, 2021
  6. Jan 20, 2021
  7. Jan 02, 2021
  8. Dec 18, 2020
  9. Dec 13, 2020
  10. Dec 10, 2020
    • Markus Armbruster's avatar
      Clean up includes · 4bd802b2
      Markus Armbruster authored
      
      Clean up includes so that osdep.h is included first and headers
      which it implies are not included manually.
      
      This commit was created with scripts/clean-includes, with the changes
      to the following files manually reverted:
      
          contrib/libvhost-user/libvhost-user-glib.h
          contrib/libvhost-user/libvhost-user.c
          contrib/libvhost-user/libvhost-user.h
          contrib/plugins/hotblocks.c
          contrib/plugins/hotpages.c
          contrib/plugins/howvec.c
          contrib/plugins/lockstep.c
          linux-user/mips64/cpu_loop.c
          linux-user/mips64/signal.c
          linux-user/sparc64/cpu_loop.c
          linux-user/sparc64/signal.c
          linux-user/x86_64/cpu_loop.c
          linux-user/x86_64/signal.c
          target/s390x/gen-features.c
          tests/fp/platform.h
          tests/migration/s390x/a-b-bios.c
          tests/plugin/bb.c
          tests/plugin/empty.c
          tests/plugin/insn.c
          tests/plugin/mem.c
          tests/test-rcu-simpleq.c
          tests/test-rcu-slist.c
          tests/test-rcu-tailq.c
          tests/uefi-test-tools/UefiTestToolsPkg/BiosTablesTest/BiosTablesTest.c
      
      contrib/plugins/, tests/plugin/, and tests/test-rcu-slist.c appear not
      to include osdep.h intentionally.  The remaining reverts are the same
      as in commit bbfff196.
      
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Message-Id: <20201113061216.2483385-1-armbru@redhat.com>
      Acked-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Acked-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      Tested-by: default avatarThomas Huth <thuth@redhat.com>
      Acked-by: default avatarCornelia Huck <cohuck@redhat.com>
      Acked-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Acked-by: default avatarAlexander Bulekov <alxndr@bu.edu>
      4bd802b2
  11. Dec 09, 2020
  12. Dec 08, 2020
  13. Nov 17, 2020
  14. Nov 16, 2020
  15. Nov 12, 2020
    • Stefan Hajnoczi's avatar
      vhost-user: fix VHOST_USER_ADD/REM_MEM_REG truncation · 3009edff
      Stefan Hajnoczi authored
      
      QEMU currently truncates the mmap_offset field when sending
      VHOST_USER_ADD_MEM_REG and VHOST_USER_REM_MEM_REG messages. The struct
      layout looks like this:
      
        typedef struct VhostUserMemoryRegion {
            uint64_t guest_phys_addr;
            uint64_t memory_size;
            uint64_t userspace_addr;
            uint64_t mmap_offset;
        } VhostUserMemoryRegion;
      
        typedef struct VhostUserMemRegMsg {
            uint32_t padding;
            /* WARNING: there is a 32-bit hole here! */
            VhostUserMemoryRegion region;
        } VhostUserMemRegMsg;
      
      The payload size is calculated as follows when sending the message in
      hw/virtio/vhost-user.c:
      
        msg->hdr.size = sizeof(msg->payload.mem_reg.padding) +
            sizeof(VhostUserMemoryRegion);
      
      This calculation produces an incorrect result of only 36 bytes.
      sizeof(VhostUserMemRegMsg) is actually 40 bytes.
      
      The consequence of this is that the final field, mmap_offset, is
      truncated. This breaks x86_64 TCG guests on s390 hosts. Other guest/host
      combinations may get lucky if either of the following holds:
      1. The guest memory layout does not need mmap_offset != 0.
      2. The host is little-endian and mmap_offset <= 0xffffffff so the
         truncation has no effect.
      
      Fix this by extending the existing 32-bit padding field to 64-bit. Now
      the padding reflects the actual compiler padding. This can be verified
      using pahole(1).
      
      Also document the layout properly in the vhost-user specification.  The
      vhost-user spec did not document the exact layout. It would be
      impossible to implement the spec without looking at the QEMU source
      code.
      
      Existing vhost-user frontends and device backends continue to work after
      this fix has been applied. The only change in the wire protocol is that
      QEMU now sets hdr.size to 40 instead of 36. If a vhost-user
      implementation has a hardcoded size check for 36 bytes, then it will
      fail with new QEMUs. Both QEMU and DPDK/SPDK don't check the exact
      payload size, so they continue to work.
      
      Fixes: f1aeb14b ("Transmit vhost-user memory regions individually")
      Cc: Raphael Norwitz <raphael.norwitz@nutanix.com>
      Cc: Cornelia Huck <cohuck@redhat.com>
      Cc: Michael S. Tsirkin <mst@redhat.com>
      Cc: Christian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Message-Id: <20201109174355.1069147-1-stefanha@redhat.com>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Fixes: f1aeb14b ("Transmit vhost-user memory regions individually")
      Reviewed-by: default avatarCornelia Huck <cohuck@redhat.com>
      Reviewed-by: default avatarRaphael Norwitz <raphael.norwitz@nutanix.com>
      3009edff
  16. Nov 03, 2020
  17. Oct 27, 2020
Loading