Skip to content

Commits

Permalink
chrfe
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Commits on Jun 2, 2017

  1. char: move char devices to chardev/

    Suggested by Paolo Bonzini during series review.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
    elmarco committed Jun 2, 2017
    Copy the full SHA
    6b10e57 View commit details
    Browse the repository at this point in the history
  2. char: make chr_fe_deinit() optionaly delete backend

    This simplifies removing a backend for a frontend user (no need to
    retrieve the associated driver and separate delete call etc).
    
    NB: many frontends have questionable handling of ending a chardev. They
    should probably delete the backend to prevent broken reusage.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
    elmarco committed Jun 2, 2017
    Copy the full SHA
    1ce2610 View commit details
    Browse the repository at this point in the history
  3. char: rename functions that are not part of fe

    There is no clear reason to have those functions associated with
    frontend.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
    elmarco committed Jun 2, 2017
    Copy the full SHA
    a9b1ca3 View commit details
    Browse the repository at this point in the history
  4. char: move CharBackend handling in char-fe unit

    Move all the frontend struct and methods to a seperate unit. This avoids
    accidentally mixing backend and frontend calls, and helps with readabilty.
    
    Make qemu_chr_replay() a macro shared by both char and char-fe.
    
    Export qemu_chr_write(), and use a macro for qemu_chr_write_all()
    
    (nb: yes, CharBackend is for char frontend :)
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
    elmarco committed Jun 2, 2017
    Copy the full SHA
    4d43a60 View commit details
    Browse the repository at this point in the history
  5. char: generalize qemu_chr_write_all()

    qemu_chr_fe_write() is similar to qemu_chr_write_all(): the later write
    all with a chardev backend.
    
    Make qemu_chr_write() and qemu_chr_fe_write_buffer() take an 'all'
    argument. If false, handle 'partial' write the way qemu_chr_fe_write()
    use to, and call qemu_chr_write() from qemu_chr_fe_write().
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
    elmarco committed Jun 2, 2017
    Copy the full SHA
    c90e939 View commit details
    Browse the repository at this point in the history
  6. be-hci: use backend functions

    Avoid accessing CharBackend directly, use qemu_chr_be_* methods instead.
    
    be->chr_read should exists if qemu_chr_be_can_write() is true.
    
    (use qemu_chr_be_write(), _impl() bypasses replay)
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Reviewed-by: Andrzej Zaborowski <balrogg@gmail.com>
    elmarco committed Jun 2, 2017
    Copy the full SHA
    93a78e4 View commit details
    Browse the repository at this point in the history
  7. chardev: serial & parallel declaration to own headers

    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
    elmarco committed Jun 2, 2017
    Copy the full SHA
    7566c6e View commit details
    Browse the repository at this point in the history
  8. chardev: move headers to include/chardev

    So they are all in one place. The following patch will move serial &
    parallel declarations to the respective headers.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
    elmarco committed Jun 2, 2017
    Copy the full SHA
    8228e35 View commit details
    Browse the repository at this point in the history
  9. Remove/replace sysemu/char.h inclusion

    Those are apparently unnecessary includes.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
    elmarco committed Jun 2, 2017
    Copy the full SHA
    f664b88 View commit details
    Browse the repository at this point in the history
  10. char-win: close file handle except with console

    Only the console handle shouldn't be closed, however, the "file" handle
    should.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
    elmarco committed Jun 2, 2017
    Copy the full SHA
    541815f View commit details
    Browse the repository at this point in the history
  11. char-win: rename hcom->file

    hcom is the name of the file handle, regardless of the actual chardev
    driver (serial, file, console etc..). Rename it to be more explicit.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
    elmarco committed Jun 2, 2017
    Copy the full SHA
    ef0f272 View commit details
    Browse the repository at this point in the history
  12. char-win: rename win_chr_init/poll win_chr_serial_init/poll

    Those 2 functions are specific to serial chardev, make it more clear.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
    elmarco committed Jun 2, 2017
    Copy the full SHA
    221e659 View commit details
    Browse the repository at this point in the history
  13. char-win: remove WinChardev.len

    The "len" argument can be passed directly to win_chr_read()
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
    elmarco committed Jun 2, 2017
    Copy the full SHA
    6ce8e0e View commit details
    Browse the repository at this point in the history
  14. char-win: simplify win_chr_read()

    win_chr_read_poll() is always used before win_chr_read().
    We can easily fold win_chr_readfile() too.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
    elmarco committed Jun 2, 2017
    Copy the full SHA
    b88ee02 View commit details
    Browse the repository at this point in the history
  15. char: cast ARRAY_SIZE() as signed to silent warning on empty array

    chardev/char.c: In function 'chardev_name_foreach':
    chardev/char.c:546:19: error: comparison of unsigned expression < 0 is always false [-Werror=type-limits]
         for (i = 0; i < ARRAY_SIZE(chardev_alias_table); i++) {
                       ^
    Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
    Message-Id: <20170530120919.8874-1-f4bug@amsat.org>
    Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    philmd authored and elmarco committed Jun 2, 2017
    Copy the full SHA
    c7e47c6 View commit details
    Browse the repository at this point in the history

Commits on Jun 1, 2017

  1. Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2017-05-3…

    …1' into staging
    
    QAPI patches for 2017-05-31
    
    # gpg: Signature made Wed 31 May 2017 18:06:39 BST
    # gpg:                using RSA key 0x3870B400EB918653
    # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>"
    # gpg:                 aka "Markus Armbruster <armbru@pond.sub.org>"
    # Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867  4E5F 3870 B400 EB91 8653
    
    * remotes/armbru/tags/pull-qapi-2017-05-31:
      qapi: Reject alternates that can't work with keyval_parse()
      tests/qapi-schema: Avoid 'str' in alternate test cases
      qapi: Document visit_type_any() issues with keyval input
      qobject-input-visitor: Reject non-finite numbers with keyval
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    pm215 committed Jun 1, 2017
    Copy the full SHA
    43771d5 View commit details
    Browse the repository at this point in the history
  2. Merge remote-tracking branch 'remotes/riku/tags/pull-linux-user-20170…

    …531' into staging
    
    Misc linux-user updates
    
    # gpg: Signature made Wed 31 May 2017 12:33:17 BST
    # gpg:                using RSA key 0xB44890DEDE3C9BC0
    # gpg: Good signature from "Riku Voipio <riku.voipio@iki.fi>"
    # gpg:                 aka "Riku Voipio <riku.voipio@linaro.org>"
    # Primary key fingerprint: FF82 03C8 C391 98AE 0581  41EF B448 90DE DE3C 9BC0
    
    * remotes/riku/tags/pull-linux-user-20170531:
      linux-user: add strace support for uinfo structure of rt_sigqueueinfo() and rt_tgsigqueueinfo()
      linux-user: fix inconsistent spaces in print_siginfo() output
      linux-user: add rt_tgsigqueueinfo() strace
      linux-user: add support for rt_tgsigqueueinfo() system call
      linux-user: fix argument type declaration of rt_sigqueinfo() syscall
      linux-user: fix mismatch of lock/unlock_user() invocations in rt_sigqueinfo() syscall
      linux-user: fix ssetmask() system call
      linux-user: add tkill(), tgkill() and rt_sigqueueinfo() strace
      linux-user: add strace for getuid(), gettid(), getppid(), geteuid()
      linux-user: remove all traces of qemu from /proc/self/cmdline
      linux-user: allocate heap memory for execve arguments
      linux-user: fix inotify
      linux-user: fix fadvise64_64() on ppc
      linux-user: fix eventfd
      linux-user: call fd_trans_target_to_host_data() for write()
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    pm215 committed Jun 1, 2017
    Copy the full SHA
    c077a99 View commit details
    Browse the repository at this point in the history
  3. Merge remote-tracking branch 'remotes/juanquintela/tags/migration/201…

    …70531' into staging
    
    migration/next for 20170531
    
    # gpg: Signature made Wed 31 May 2017 08:53:06 BST
    # gpg:                using RSA key 0xF487EF185872D723
    # gpg: Good signature from "Juan Quintela <quintela@redhat.com>"
    # gpg:                 aka "Juan Quintela <quintela@trasno.org>"
    # Primary key fingerprint: 1899 FF8E DEBF 58CC EE03  4B82 F487 EF18 5872 D723
    
    * remotes/juanquintela/tags/migration/20170531:
      migration: use dirty_rate_high_cnt more aggressively
      migration: set bytes_xfer_* outside of autoconverge logic
      migration: set dirty_pages_rate before autoconverge logic
      migration: keep bytes_xfer_prev init'd to zero
      migration: Create savevm.h for functions exported from savevm.c
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    pm215 committed Jun 1, 2017
    Copy the full SHA
    e5cac10 View commit details
    Browse the repository at this point in the history
  4. Merge remote-tracking branch 'remotes/aurel/tags/pull-target-sh4-2017…

    …0530' into staging
    
    Queued target/sh4 patches
    
    # gpg: Signature made Tue 30 May 2017 20:12:10 BST
    # gpg:                using RSA key 0xBA9C78061DDD8C9B
    # gpg: Good signature from "Aurelien Jarno <aurelien@aurel32.net>"
    # gpg:                 aka "Aurelien Jarno <aurelien@jarno.fr>"
    # gpg:                 aka "Aurelien Jarno <aurel32@debian.org>"
    # gpg: WARNING: This key is not certified with sufficiently trusted signatures!
    # gpg:          It is not certain that the signature belongs to the owner.
    # Primary key fingerprint: 7746 2642 A9EF 94FD 0F77  196D BA9C 7806 1DDD 8C9B
    
    * remotes/aurel/tags/pull-target-sh4-20170530:
      target/sh4: fix RTE instruction delay slot
      target/sh4: ignore interrupts in a delay slot
      target/sh4: introduce DELAY_SLOT_MASK
      target/sh4: fix reset when using a kernel and an initrd
      target/sh4: log unauthorized accesses using qemu_log_mask
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    pm215 committed Jun 1, 2017
    Copy the full SHA
    61462af View commit details
    Browse the repository at this point in the history
  5. Merge remote-tracking branch 'remotes/gkurz/tags/for-upstream' into s…

    …taging
    
    Various bugfixes and code cleanups. Most notably, it fixes metadata handling in
    mapped-file security mode (especially for the virtfs root).
    
    # gpg: Signature made Tue 30 May 2017 14:36:22 BST
    # gpg:                using DSA key 0x02FC3AEB0101DBC2
    # gpg: Good signature from "Greg Kurz <groug@kaod.org>"
    # gpg:                 aka "Greg Kurz <groug@free.fr>"
    # gpg:                 aka "Greg Kurz <gkurz@linux.vnet.ibm.com>"
    # gpg:                 aka "Gregory Kurz (Groug) <groug@free.fr>"
    # gpg:                 aka "[jpeg image of size 3330]"
    # gpg: WARNING: This key is not certified with a trusted signature!
    # gpg:          There is no indication that the signature belongs to the owner.
    # Primary key fingerprint: 2BD4 3B44 535E C0A7 9894  DBA2 02FC 3AEB 0101 DBC2
    
    * remotes/gkurz/tags/for-upstream:
      9pfs: local: metadata file for the VirtFS root
      9pfs: local: simplify file opening
      9pfs: local: resolve special directories in paths
      9pfs: check return value of v9fs_co_name_to_path()
      util: drop old utimensat() compat code
      9pfs: assume utimensat() and futimens() are present
      fsdev: fix virtfs-proxy-helper cwd
      9pfs: local: fix unlink of alien files in mapped-file mode
      9pfs: drop pdu_push_and_notify()
      fsdev: don't allow unknown format in marshal/unmarshal
      virtio-9p/xen-9p: move 9p specific bits to core 9p code
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    pm215 committed Jun 1, 2017
    Copy the full SHA
    066ae4f View commit details
    Browse the repository at this point in the history
  6. Merge remote-tracking branch 'remotes/ehabkost/tags/numa-pull-request…

    …' into staging
    
    NUMA fixes, 2017-05-30
    
    # gpg: Signature made Tue 30 May 2017 20:10:44 BST
    # gpg:                using RSA key 0x2807936F984DC5A6
    # gpg: Good signature from "Eduardo Habkost <ehabkost@redhat.com>"
    # Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF  D1AA 2807 936F 984D C5A6
    
    * remotes/ehabkost/tags/numa-pull-request:
      numa: Fix format string for "Invalid node" message
      numa-test: fix query-cpus leaks
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    pm215 committed Jun 1, 2017
    Copy the full SHA
    70f3141 View commit details
    Browse the repository at this point in the history

Commits on May 31, 2017

  1. qapi: Reject alternates that can't work with keyval_parse()

    Alternates are sum types like unions, but use the JSON type on the
    wire / QType in QObject instead of an explicit tag.  That's why we
    require alternate members to have distinct QTypes.
    
    The recently introduced keyval_parse() (commit d454dbe) can only
    produce string scalars.  The qobject_input_visitor_new_keyval() input
    visitor mostly hides the difference, so code using a QObject input
    visitor doesn't have to care whether its input was parsed from JSON or
    KEY=VALUE,...  The difference leaks for alternates, as noted in commit
    0ee9ae7: a non-string, non-enum scalar alternate value can't currently
    be expressed.
    
    In part, this is just our insufficiently sophisticated implementation.
    Consider alternate type 'GuestFileWhence'.  It has an integer member
    and a 'QGASeek' member.  The latter is an enumeration with values
    'set', 'cur', 'end'.  The meaning of b=set, b=cur, b=end, b=0, b=1 and
    so forth is perfectly obvious.  However, our current implementation
    falls apart at run time for b=0, b=1, and so forth.  Fixable, but not
    today; add a test case and a TODO comment.
    
    Now consider an alternate type with a string and an integer member.
    What's the meaning of a=42?  Is it the string "42" or the integer 42?
    Whichever meaning you pick makes the other inexpressible.  This isn't
    just an implementation problem, it's fundamental.  Our current
    implementation will pick string.
    
    So far, we haven't needed such alternates.  To make sure we stop and
    think before we add one that cannot sanely work with keyval_parse(),
    let's require alternate members to have sufficiently distinct
    representation in KEY=VALUE,... syntax:
    
    * A string member clashes with any other scalar member
    
    * An enumeration member clashes with bool members when it has value
      'on' or 'off'.
    
    * An enumeration member clashes with numeric members when it has a
      value that starts with '-', '+', or a decimal digit.  This is a
      rather lazy approximation of the actual number syntax accepted by
      the visitor.
    
      Note that enumeration values starting with '-' and '+' are rejected
      elsewhere already, but better safe than sorry.
    
    Signed-off-by: Markus Armbruster <armbru@redhat.com>
    Message-Id: <1495471335-23707-5-git-send-email-armbru@redhat.com>
    Reviewed-by: Eric Blake <eblake@redhat.com>
    Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Markus Armbruster committed May 31, 2017
    Copy the full SHA
    c064477 View commit details
    Browse the repository at this point in the history
  2. tests/qapi-schema: Avoid 'str' in alternate test cases

    The next commit is going to make alternate members of type 'str'
    conflict with other scalar types.  Would break a few test cases that
    don't actually require 'str'.  Flip them from 'str' to 'bool' or
    'EnumOne'.
    
    Signed-off-by: Markus Armbruster <armbru@redhat.com>
    Message-Id: <1495471335-23707-4-git-send-email-armbru@redhat.com>
    Reviewed-by: Eric Blake <eblake@redhat.com>
    Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Markus Armbruster committed May 31, 2017
    Copy the full SHA
    8168ca8 View commit details
    Browse the repository at this point in the history
  3. qapi: Document visit_type_any() issues with keyval input

    It's already documented in keyval.c (commit 0ee9ae7), but visitor.h
    can use a note, too.
    
    Signed-off-by: Markus Armbruster <armbru@redhat.com>
    Message-Id: <1495471335-23707-3-git-send-email-armbru@redhat.com>
    Reviewed-by: Eric Blake <eblake@redhat.com>
    Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Markus Armbruster committed May 31, 2017
    Copy the full SHA
    8339fa2 View commit details
    Browse the repository at this point in the history
  4. qobject-input-visitor: Reject non-finite numbers with keyval

    The QObject input visitor can produce only finite numbers when its
    input comes out of the JSON parser, because the the JSON parser
    implements RFC 7159, which provides no syntax for infinity and NaN.
    
    However, it can produce infinity and NaN when its input comes out of
    keyval_parse(), because we parse with strtod() then.
    
    The keyval variant should not be able to express things the JSON
    variant can't.  Rejecting non-finite numbers there is the conservative
    fix.  It's also minimally invasive.
    
    We could instead extend our JSON dialect to provide for infinity and
    NaN.  Not today.
    
    Note that the JSON formatter can emit non-finite numbers (marked FIXME
    in commit 6e8e5cb).
    
    Signed-off-by: Markus Armbruster <armbru@redhat.com>
    Message-Id: <1495471335-23707-2-git-send-email-armbru@redhat.com>
    Reviewed-by: Eric Blake <eblake@redhat.com>
    Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Markus Armbruster committed May 31, 2017
    Copy the full SHA
    5891c38 View commit details
    Browse the repository at this point in the history
  5. migration: use dirty_rate_high_cnt more aggressively

    The commit message from 070afca suggests that dirty_rate_high_cnt
    should be used more aggressively to start throttling after two
    iterations instead of four. The code, however, only changes the auto
    convergence behaviour to throttle after three iterations. This makes the
    behaviour more aggressive by kicking off throttling after two iterations
    as originally intended.
    
    Signed-off-by: Felipe Franciosi <felipe@nutanix.com>
    Reviewed-by: Peter Xu <peterx@redhat.com>
    Reviewed-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    franciozzy authored and juanquintela committed May 31, 2017
    Copy the full SHA
    b4a3c64 View commit details
    Browse the repository at this point in the history
  6. migration: set bytes_xfer_* outside of autoconverge logic

    The bytes_xfer_now/prev counters are only used by the auto convergence
    logic. However, they are used alongside the dirty_pages_rate counter,
    which is calculated (and required) outside of this logic. The problem
    with this approach is that if the auto convergence capability is changed
    while a migration is ongoing, the relationship of the counters will be
    broken.
    
    This moves the management of bytes_xfer_now/prev counters outside of the
    auto convergence logic to address this issue.
    
    Signed-off-by: Felipe Franciosi <felipe@nutanix.com>
    Reviewed-by: Peter Xu <peterx@redhat.com>
    Reviewed-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    franciozzy authored and juanquintela committed May 31, 2017
    Copy the full SHA
    d2a4d85 View commit details
    Browse the repository at this point in the history
  7. migration: set dirty_pages_rate before autoconverge logic

    Currently, a "period" in the RAM migration logic is at least a second
    long and accounts for what happened since the last period (or the
    beginning of the migration). The dirty_pages_rate counter is calculated
    at the end this logic.
    
    If the auto convergence capability is enabled from the start of the
    migration, it won't be able to use this counter the first time around.
    This calculates dirty_pages_rate as soon as a period is deemed over,
    which allows for it to be used immediately.
    
    Signed-off-by: Felipe Franciosi <felipe@nutanix.com>
    Reviewed-by: Peter Xu <peterx@redhat.com>
    Reviewed-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    franciozzy authored and juanquintela committed May 31, 2017
    Copy the full SHA
    d693c6f View commit details
    Browse the repository at this point in the history
  8. migration: keep bytes_xfer_prev init'd to zero

    The first time migration_bitmap_sync() is called, bytes_xfer_prev is set
    to ram_state.bytes_transferred which is, at this point, zero. The next
    time migration_bitmap_sync() is called, an iteration has happened and
    bytes_xfer_prev is set to 'x' bytes. Most likely, more than one second
    has passed, so the auto converge logic will be triggered and
    bytes_xfer_now will also be set to 'x' bytes.
    
    This condition is currently masked by dirty_rate_high_cnt, which will
    wait for a few iterations before throttling. It would otherwise always
    assume zero bytes have been copied and therefore throttle the guest
    (possibly) prematurely.
    
    Given bytes_xfer_prev is only used by the auto convergence logic, it
    makes sense to only set its value after a check has been made against
    bytes_xfer_now.
    
    Signed-off-by: Felipe Franciosi <felipe@nutanix.com>
    Reviewed-by: Peter Xu <peterx@redhat.com>
    Reviewed-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    franciozzy authored and juanquintela committed May 31, 2017
    Copy the full SHA
    9884db2 View commit details
    Browse the repository at this point in the history
  9. migration: Create savevm.h for functions exported from savevm.c

    This removes last trace of migration functions from sysemu/sysemu.h.
    
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    Reviewed-by: Laurent Vivier <lvivier@redhat.com>
    juanquintela committed May 31, 2017
    Copy the full SHA
    20a519a View commit details
    Browse the repository at this point in the history

Commits on May 30, 2017

  1. numa: Fix format string for "Invalid node" message

    Some compilers complain about the PRIu16 format string with the
    MAX(src, dst) and MAX_NODES arguments.  Example output from Apple LLVM
    version 7.3.0 (clang-703.0.31):
    
      numa.c:236:20: warning: format specifies type 'unsigned short' but the argument has type 'int' [-Wformat]
                         MAX(src, dst), MAX_NODES);
      ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
      include/qapi/error.h:163:35: note: expanded from macro 'error_setg'
                              (fmt), ## __VA_ARGS__)
                                        ^~~~~~~~~~~
      glib/2.52.2/include/glib-2.0/glib/gmacros.h:288:20: note: expanded from macro 'MAX'
      #define MAX(a, b)  (((a) > (b)) ? (a) : (b))
                         ^~~~~~~~~~~~~~~~~~~~~~~~~
      numa.c:236:35: warning: format specifies type 'unsigned short' but the argument has type 'int' [-Wformat]
                         MAX(src, dst), MAX_NODES);
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
      include/qapi/error.h:163:35: note: expanded from macro 'error_setg'
                              (fmt), ## __VA_ARGS__)
                                        ^~~~~~~~~~~
      include/sysemu/sysemu.h:165:19: note: expanded from macro 'MAX_NODES'
      #define MAX_NODES 128
                        ^~~
    MAX(src, dst) promotes the src and dst arguments to int, and MAX_NODES
    is an int.  Use %d to silence those warnings.
    
    Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
    Message-Id: <20170530184013.31044-1-ehabkost@redhat.com>
    Reviewed-by: Eric Blake <eblake@redhat.com>
    Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
    ehabkost committed May 30, 2017
    Copy the full SHA
    f892291 View commit details
    Browse the repository at this point in the history
  2. numa-test: fix query-cpus leaks

    Fix test leaks introduced in commit 2941020.
    
    (and small extra space removed)
    
    Spotted by ASAN.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Message-Id: <20170526110456.32004-1-marcandre.lureau@redhat.com>
    Reviewed-by: Eric Blake <eblake@redhat.com>
    Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
    elmarco authored and ehabkost committed May 30, 2017
    Copy the full SHA
    5e39d89 View commit details
    Browse the repository at this point in the history
  3. target/sh4: fix RTE instruction delay slot

    The ReTurn from Exception (RTE) instruction loads the system register
    (SR) with the saved system register (SSR). It has a delay slot, and
    behaves specially according to the SH4 manual:
    
      The SR value accessed by the instruction in the RTE delay slot is the
      value restored from SSR by the RTE instruction. The SR and MD values
      defined prior to RTE execution are used to fetch the instruction in
      the RTE delay slot.
    
    The instruction in the delay slot being often a NOP, it doesn't cause
    any issue most of the time except in some rare cases where the NOP is
    being splitted in a different TB (for example when the TCG op buffer
    is full). In that case the NOP is fetched with the user permissions
    and causes an instruction TLB protection violation exception.
    
    This patches fixes that by introducing a new delay slot flag for the
    RTE instruction. Given it's a privileged instruction, the RTE delay
    slot instruction is always fetched in privileged mode. It is therefore
    enough to to check for this flag in cpu_mmu_index.
    
    Reviewed-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
    aurel32 committed May 30, 2017
    Copy the full SHA
    be53081 View commit details
    Browse the repository at this point in the history
  4. target/sh4: ignore interrupts in a delay slot

    Delay slots are indivisible, therefore avoid scheduling an interrupt in
    the delay slot. However exceptions are possible.
    
    Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
    Reviewed-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
    aurel32 committed May 30, 2017
    Copy the full SHA
    5c6f3eb View commit details
    Browse the repository at this point in the history
  5. target/sh4: introduce DELAY_SLOT_MASK

    This will make easier the introduction of a new flag in the next
    patches.
    
    Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
    Reviewed-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
    aurel32 committed May 30, 2017
    Copy the full SHA
    9a562ae View commit details
    Browse the repository at this point in the history
Older