qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 4d7dd4: dump: Pass DumpState to write_ functi


From: Alex Bennée
Subject: [Qemu-commits] [qemu/qemu] 4d7dd4: dump: Pass DumpState to write_ functions
Date: Sun, 05 Nov 2023 16:42:06 -0800

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 4d7dd4ed4f42e659a214e4f81c1a15ee991352df
      
https://github.com/qemu/qemu/commit/4d7dd4ed4f42e659a214e4f81c1a15ee991352df
  Author: Stephen Brennan <stephen.s.brennan@oracle.com>
  Date:   2023-11-02 (Thu, 02 Nov 2023)

  Changed paths:
    M dump/dump.c
    M include/sysemu/dump.h

  Log Message:
  -----------
  dump: Pass DumpState to write_ functions

For the next patch, we need a reference to DumpState when writing data.

Signed-off-by: Stephen Brennan <stephen.s.brennan@oracle.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230918233233.1431858-2-stephen.s.brennan@oracle.com>


  Commit: d43a01db285fd10f9c429476eb9c63fa5e00f3cc
      
https://github.com/qemu/qemu/commit/d43a01db285fd10f9c429476eb9c63fa5e00f3cc
  Author: Stephen Brennan <stephen.s.brennan@oracle.com>
  Date:   2023-11-02 (Thu, 02 Nov 2023)

  Changed paths:
    M dump/dump.c
    M include/sysemu/dump.h

  Log Message:
  -----------
  dump: Allow directly outputting raw kdump format

The flattened format (currently output by QEMU) is used by makedumpfile
only when it is outputting a vmcore to a file which is not seekable. The
flattened format functions essentially as a set of instructions of the
form "seek to the given offset, then write the given bytes out".

The flattened format can be reconstructed using makedumpfile -R, or
makedumpfile-R.pl, but it is a slow process because it requires copying
the entire vmcore. The flattened format can also be directly read by
crash, but still, it requires a lengthy reassembly phase.

To sum up, the flattened format is not an ideal one: it should only be
used on files which are actually not seekable. This is the exact
strategy which makedumpfile uses, as seen in the implementation of
"write_buffer()" in makedumpfile [1]. However, QEMU has always used the
flattened format. For compatibility it is best not to change the default
output format without warning. So, add a flag to DumpState which changes
the output to use the normal (i.e. raw) format. This flag will be added
to the QMP and HMP commands in the next change.

[1]: 
https://github.com/makedumpfile/makedumpfile/blob/f23bb943568188a2746dbf9b6692668f5a2ac3b6/makedumpfile.c#L5008-L5040

Signed-off-by: Stephen Brennan <stephen.s.brennan@oracle.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
[ Marc-André: replace loff_t with off_t ]
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230918233233.1431858-3-stephen.s.brennan@oracle.com>


  Commit: e6549197f7edf2c590894f51aaed2fa81991becc
      
https://github.com/qemu/qemu/commit/e6549197f7edf2c590894f51aaed2fa81991becc
  Author: Stephen Brennan <stephen.s.brennan@oracle.com>
  Date:   2023-11-02 (Thu, 02 Nov 2023)

  Changed paths:
    M dump/dump-hmp-cmds.c
    M dump/dump.c
    M hmp-commands.hx
    M qapi/dump.json

  Log Message:
  -----------
  dump: Add command interface for kdump-raw formats

The QMP dump API represents the dump format as an enumeration. Add three
new enumerators, one for each supported kdump compression, each named
"kdump-raw-*".

For the HMP command line, rather than adding a new flag corresponding to
each format, it seems more human-friendly to add a single flag "-R" to
switch the kdump formats to "raw" mode. The choice of "-R" also
correlates nicely to the "makedumpfile -R" option, which would serve to
reassemble a flattened vmcore.

Signed-off-by: Stephen Brennan <stephen.s.brennan@oracle.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
[ Marc-André: replace loff_t with off_t, indent fixes ]
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230918233233.1431858-4-stephen.s.brennan@oracle.com>


  Commit: 8beaeed73496395f75a3e65191d45e0e299fb25b
      
https://github.com/qemu/qemu/commit/8beaeed73496395f75a3e65191d45e0e299fb25b
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2023-11-02 (Thu, 02 Nov 2023)

  Changed paths:
    M dump/dump.c

  Log Message:
  -----------
  dump: Rename qmp_dump_guest_memory() parameter to match QAPI schema

The name of the second parameter differs between QAPI schema and C
implementation: it's @protocol in the former and @file in the latter.
Potentially confusing.  Change the C implementation to match the QAPI
schema.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20231031104531.3169721-2-armbru@redhat.com>


  Commit: 96afbc571c91b115ba51d9740352a0e45111edc9
      
https://github.com/qemu/qemu/commit/96afbc571c91b115ba51d9740352a0e45111edc9
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2023-11-02 (Thu, 02 Nov 2023)

  Changed paths:
    M dump/dump.c

  Log Message:
  -----------
  dump: Fix g_array_unref(NULL) in dump-guest-memory

When dump_init()'s check for non-zero @length fails, dump_cleanup()
passes null s->string_table_buf to g_array_unref(), which spews "GLib:
g_array_unref: assertion 'array' failed" to stderr.

Guard the g_array_unref().

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20231031104531.3169721-3-armbru@redhat.com>


  Commit: f8c49724cbe13fa30b5893eff33f9ccee7e4466a
      
https://github.com/qemu/qemu/commit/f8c49724cbe13fa30b5893eff33f9ccee7e4466a
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2023-11-02 (Thu, 02 Nov 2023)

  Changed paths:
    M dump/dump.c

  Log Message:
  -----------
  dump: Recognize "fd:" protocols on Windows hosts

A few QMP command can work with named file descriptors.

The only way to create a named file descriptor used to be QMP command
getfd, which only works on POSIX hosts.  Thus, named file descriptors
were actually usable only there.

They became usable on Windows hosts when we added QMP command
get-win32-socket (commit 4cda177c601 "qmp: add 'get-win32-socket'").

Except in dump-guest-memory, because qmp_dump_guest_memory() compiles
its named file descriptor code only #if !defined(WIN32).

Compile it unconditionally, like we do for the other commands
supporting them.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20231031104531.3169721-4-armbru@redhat.com>


  Commit: 28035bed1c565eace7db18971a7e960a8d1f7c44
      
https://github.com/qemu/qemu/commit/28035bed1c565eace7db18971a7e960a8d1f7c44
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2023-11-02 (Thu, 02 Nov 2023)

  Changed paths:
    M dump/dump.c

  Log Message:
  -----------
  dump: Improve some dump-guest-memory error messages

Zero @length is rejected with "Invalid parameter 'length'".  Improve
to "parameter 'length' expects a non-zero length".

qemu_open_old() is a wrapper around qemu_open_internal() that throws
away error information.  Switch to the wrapper that doesn't:
qemu_create().  Example improvement:

    (qemu) dump-guest-memory /dev/fdset/x 0 1
    Error: Could not open '/dev/fdset/x': Invalid argument

becomes

    Error: Could not parse fdset /dev/fdset/x

@protocol values not starting with "fd:" or "file:" are rejected with
"Invalid parameter 'protocol'".  Improve to "parameter 'protocol' must
start with 'file:' or 'fd:'".

While there, make the conditional checking @protocol a little more
obvious.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20231031104531.3169721-5-armbru@redhat.com>


  Commit: 4023839757b2c01e0350ce92902c6f74dce7d011
      
https://github.com/qemu/qemu/commit/4023839757b2c01e0350ce92902c6f74dce7d011
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2023-11-02 (Thu, 02 Nov 2023)

  Changed paths:
    M dump/dump.c

  Log Message:
  -----------
  dump: Drop redundant check for empty dump

dump_init() first computes the size of the dump, taking the filter
area into account, and fails if its zero.  It then looks for memory in
the filter area, and fails if there is none.

This is redundant: if the size of the dump is zero, there is no
memory, and vice versa.  Delete this check.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20231031104531.3169721-6-armbru@redhat.com>


  Commit: d6f077321ae3f9508d3e066455ae1278ab3213e5
      
https://github.com/qemu/qemu/commit/d6f077321ae3f9508d3e066455ae1278ab3213e5
  Author: Song Gao <gaosong@loongson.cn>
  Date:   2023-11-03 (Fri, 03 Nov 2023)

  Changed paths:
    M target/loongarch/cpu.c

  Log Message:
  -----------
  target/loongarch: Add cpu model 'max'

We use cpu la464 for the 'max' cpu.

Signed-off-by: Song Gao <gaosong@loongson.cn>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20231020084925.3457084-2-gaosong@loongson.cn>


  Commit: 464136ceb65ddebbd60fecd486628cc82fd722ab
      
https://github.com/qemu/qemu/commit/464136ceb65ddebbd60fecd486628cc82fd722ab
  Author: Song Gao <gaosong@loongson.cn>
  Date:   2023-11-03 (Fri, 03 Nov 2023)

  Changed paths:
    M target/loongarch/cpu.c
    M target/loongarch/cpu.h

  Log Message:
  -----------
  target/loongarch: Allow user enable/disable LSX/LASX features

Some users may not need LSX/LASX, this patch allows the user
enable/disable LSX/LASX features.

 e.g
 '-cpu max,lsx=on,lasx=on'   (default);
 '-cpu max,lsx=on,lasx=off'  (enabled LSX);
 '-cpu max,lsx=off,lasx=on'  (enabled LASX, LSX);
 '-cpu max,lsx=off'          (disable LSX and LASX).

Signed-off-by: Song Gao <gaosong@loongson.cn>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20231020084925.3457084-3-gaosong@loongson.cn>


  Commit: 31f694b91188d2077c5d85a5064b54b127635718
      
https://github.com/qemu/qemu/commit/31f694b91188d2077c5d85a5064b54b127635718
  Author: Song Gao <gaosong@loongson.cn>
  Date:   2023-11-03 (Fri, 03 Nov 2023)

  Changed paths:
    M qapi/machine-target.json
    M target/loongarch/loongarch-qmp-cmds.c

  Log Message:
  -----------
  target/loongarch: Implement query-cpu-model-expansion

Add support for the query-cpu-model-expansion QMP command to LoongArch.
We support query the cpu features.

  e.g
    la464 and max cpu support LSX/LASX, default enable,
    la132 not support LSX/LASX.

    1. start with '-cpu max,lasx=off'

    (QEMU) query-cpu-model-expansion type=static  model={"name":"max"}
    {"return": {"model": {"name": "max", "props": {"lasx": false, "lsx": 
true}}}}

    2. start with '-cpu la464,lasx=off'
    (QEMU) query-cpu-model-expansion type=static  model={"name":"la464"}
    {"return": {"model": {"name": "max", "props": {"lasx": false, "lsx": true}}}

    3. start with '-cpu la132,lasx=off'
    qemu-system-loongarch64: can't apply global la132-loongarch-cpu.lasx=off: 
Property 'la132-loongarch-cpu.lasx' not found

    4. start with '-cpu max,lasx=off' or start with '-cpu la464,lasx=off' query 
cpu model la132
    (QEMU) query-cpu-model-expansion type=static  model={"name":"la132"}
    {"return": {"model": {"name": "la132"}}}

Acked-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Song Gao <gaosong@loongson.cn>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20231020084925.3457084-4-gaosong@loongson.cn>


  Commit: 1d832c19db1e895b7d8015c3b33fc6311e20a69c
      
https://github.com/qemu/qemu/commit/1d832c19db1e895b7d8015c3b33fc6311e20a69c
  Author: Song Gao <gaosong@loongson.cn>
  Date:   2023-11-03 (Fri, 03 Nov 2023)

  Changed paths:
    M target/loongarch/cpu-param.h
    M target/loongarch/tlb_helper.c

  Log Message:
  -----------
  target/loongarch: Support 4K page size

The LoongArch kernel supports 4K page size.
Change TARGET_PAGE_BITS to 12.

Signed-off-by: Song Gao <gaosong@loongson.cn>
Message-Id: <20231023024059.3858349-1-gaosong@loongson.cn>


  Commit: 91ffd93be614da080a6dd8826d999e3e4761f78b
      
https://github.com/qemu/qemu/commit/91ffd93be614da080a6dd8826d999e3e4761f78b
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-11-03 (Fri, 03 Nov 2023)

  Changed paths:
    M linux-user/loongarch64/cpu_loop.c
    M target/loongarch/insn_trans/trans_vec.c.inc

  Log Message:
  -----------
  linux-user/loongarch64: Use traps to track LSX/LASX usage

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20231101030816.2353416-2-gaosong@loongson.cn>
Signed-off-by: Song Gao <gaosong@loongson.cn>


  Commit: 420756c2dd1413cdd06e8c86b4bf80fba08f009f
      
https://github.com/qemu/qemu/commit/420756c2dd1413cdd06e8c86b4bf80fba08f009f
  Author: Song Gao <gaosong@loongson.cn>
  Date:   2023-11-03 (Fri, 03 Nov 2023)

  Changed paths:
    M linux-user/loongarch64/signal.c

  Log Message:
  -----------
  linux-user/loongarch64: Fix setup_extcontext alloc wrong fpu_context size

See:
 https://github.com/torvalds/linux/blob/master/arch/loongarch/kernel/signal.c

The alloc size is sizeof(struct target_fpu_context).

Signed-off-by: Song Gao <gaosong@loongson.cn>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20231101030816.2353416-3-gaosong@loongson.cn>


  Commit: 01714edafd6a89066d827867e4d6671a68c2f546
      
https://github.com/qemu/qemu/commit/01714edafd6a89066d827867e4d6671a68c2f546
  Author: Song Gao <gaosong@loongson.cn>
  Date:   2023-11-03 (Fri, 03 Nov 2023)

  Changed paths:
    M linux-user/loongarch64/signal.c

  Log Message:
  -----------
  linux-user/loongarch64: setup_sigframe() set 'end' context size 0

See:
  https://github.com/torvalds/linux/blob/master/arch/loongarch/kernel/signal.c

The kernel setup_sigcontext() set end context size 0.

Signed-off-by: Song Gao <gaosong@loongson.cn>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20231101030816.2353416-4-gaosong@loongson.cn>


  Commit: 7c0ea81ce6042150f180701acc826cc41592cac8
      
https://github.com/qemu/qemu/commit/7c0ea81ce6042150f180701acc826cc41592cac8
  Author: Song Gao <gaosong@loongson.cn>
  Date:   2023-11-03 (Fri, 03 Nov 2023)

  Changed paths:
    M linux-user/loongarch64/signal.c

  Log Message:
  -----------
  linux-user/loongarch64: Use abi_{ulong,uint} types

Signed-off-by: Song Gao <gaosong@loongson.cn>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20231101030816.2353416-5-gaosong@loongson.cn>


  Commit: 90ea967d149b2b3420f41ecbd0909be1f902bd2b
      
https://github.com/qemu/qemu/commit/90ea967d149b2b3420f41ecbd0909be1f902bd2b
  Author: Song Gao <gaosong@loongson.cn>
  Date:   2023-11-03 (Fri, 03 Nov 2023)

  Changed paths:
    M linux-user/loongarch64/signal.c

  Log Message:
  -----------
  linux-user/loongarch64: Add LSX sigcontext save/restore

Signed-off-by: Song Gao <gaosong@loongson.cn>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20231101030816.2353416-6-gaosong@loongson.cn>


  Commit: f7077737531b40aa879d4644837aeda0f7fc6aa8
      
https://github.com/qemu/qemu/commit/f7077737531b40aa879d4644837aeda0f7fc6aa8
  Author: Song Gao <gaosong@loongson.cn>
  Date:   2023-11-03 (Fri, 03 Nov 2023)

  Changed paths:
    M linux-user/loongarch64/signal.c

  Log Message:
  -----------
  linux-user/loongarch64: Add LASX sigcontext save/restore

Signed-off-by: Song Gao <gaosong@loongson.cn>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20231101030816.2353416-7-gaosong@loongson.cn>


  Commit: cce10a1f0c827653c00e81b6d7865cf974275994
      
https://github.com/qemu/qemu/commit/cce10a1f0c827653c00e81b6d7865cf974275994
  Author: Hyman Huang <yong.huang@smartx.com>
  Date:   2023-11-03 (Fri, 03 Nov 2023)

  Changed paths:
    M system/dirtylimit.c

  Log Message:
  -----------
  system/dirtylimit: Fix a race situation

Fix a race situation for global variable dirtylimit_state.

Also, replace usleep by g_usleep to increase platform
accessibility to the sleep function.

Signed-off-by: Hyman Huang <yong.huang@smartx.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: 
<27c86239e21eda03d11ce5a3d07da3c229f562e3.1698847223.git.yong.huang@smartx.com>


  Commit: 78a7ef15804c0c0a886fcf9f12e5464f8eddd20c
      
https://github.com/qemu/qemu/commit/78a7ef15804c0c0a886fcf9f12e5464f8eddd20c
  Author: Hyman Huang <yong.huang@smartx.com>
  Date:   2023-11-03 (Fri, 03 Nov 2023)

  Changed paths:
    M system/dirtylimit.c

  Log Message:
  -----------
  system/dirtylimit: Drop the reduplicative check

Checking if dirty limit is in service is done by the
dirtylimit_query_all function, drop the reduplicative
check in the qmp_query_vcpu_dirty_limit function.

Signed-off-by: Hyman Huang <yong.huang@smartx.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: 
<df9c3514933ff6750ef88068af18d3054bedf746.1698847223.git.yong.huang@smartx.com>


  Commit: 17257b90be4f51dd3040ca2e472201407b2327c4
      
https://github.com/qemu/qemu/commit/17257b90be4f51dd3040ca2e472201407b2327c4
  Author: Hyman Huang <yong.huang@smartx.com>
  Date:   2023-11-03 (Fri, 03 Nov 2023)

  Changed paths:
    M tests/qtest/migration-test.c

  Log Message:
  -----------
  tests: Add migration dirty-limit capability test

Add migration dirty-limit capability test if kernel support
dirty ring.

Migration dirty-limit capability introduce dirty limit
capability, two parameters: x-vcpu-dirty-limit-period and
vcpu-dirty-limit are introduced to implement the live
migration with dirty limit.

The test case does the following things:
1. start src, dst vm and enable dirty-limit capability
2. start migrate and set cancel it to check if dirty limit
   stop working.
3. restart dst vm
4. start migrate and enable dirty-limit capability
5. check if migration satisfy the convergence condition
   during pre-switchover phase.

Note that this test case involves many passes, so it runs
in slow mode only.

Signed-off-by: Hyman Huang <yong.huang@smartx.com>
Acked-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: 
<e55a302df9da7dbc00ad825f47f57c1a756d303e.1698847223.git.yong.huang@smartx.com>


  Commit: 4cc563d460b6e8a29d18b27381dab8ca0621f2da
      
https://github.com/qemu/qemu/commit/4cc563d460b6e8a29d18b27381dab8ca0621f2da
  Author: Hyman Huang <yong.huang@smartx.com>
  Date:   2023-11-03 (Fri, 03 Nov 2023)

  Changed paths:
    M tests/migration/guestperf/engine.py
    M tests/migration/guestperf/hardware.py
    M tests/migration/guestperf/shell.py

  Log Message:
  -----------
  tests/migration: Introduce dirty-ring-size option into guestperf

Dirty ring size configuration is not supported by guestperf tool.

Introduce dirty-ring-size (ranges in [1024, 65536]) option so
developers can play with dirty-ring and dirty-limit feature easier.

To set dirty ring size with 4096 during migration test:
$ ./tests/migration/guestperf.py --dirty-ring-size 4096 xxx

Signed-off-by: Hyman Huang <yong.huang@smartx.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: 
<8a388cec5c1f73a34d42515bbc43837e97ee3839.1698847223.git.yong.huang@smartx.com>


  Commit: 22b7cb2c79d2df0946ec1cf88dfc1c6973e6008d
      
https://github.com/qemu/qemu/commit/22b7cb2c79d2df0946ec1cf88dfc1c6973e6008d
  Author: Hyman Huang <yong.huang@smartx.com>
  Date:   2023-11-03 (Fri, 03 Nov 2023)

  Changed paths:
    M tests/migration/guestperf/comparison.py
    M tests/migration/guestperf/engine.py
    M tests/migration/guestperf/progress.py
    M tests/migration/guestperf/scenario.py
    M tests/migration/guestperf/shell.py

  Log Message:
  -----------
  tests/migration: Introduce dirty-limit into guestperf

Currently, guestperf does not cover the dirty-limit
migration, support this feature.

Note that dirty-limit requires 'dirty-ring-size' set.

To enable dirty-limit, setting x-vcpu-dirty-limit-period
as 500ms and x-vcpu-dirty-limit as 10MB/s:
$ ./tests/migration/guestperf.py \
    --dirty-ring-size 4096 \
    --dirty-limit --x-vcpu-dirty-limit-period 500 \
    --vcpu-dirty-limit 10 --output output.json \

To run the entire standardized set of dirty-limit-enabled
comparisons, with unix migration:
$ ./tests/migration/guestperf-batch.py \
    --dirty-ring-size 4096 \
    --dst-host localhost --transport unix \
    --filter compr-dirty-limit* --output outputdir

Signed-off-by: Hyman Huang <yong.huang@smartx.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Message-Id: 
<516e7a55dfc6e33d33510be37eb24223de5dc072.1697815117.git.yong.huang@smartx.com>
Message-ID: 
<e1283565b00b34b0377bbd27bee4bb8fc7c255a8.1698847223.git.yong.huang@smartx.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>


  Commit: ceddc48278a006e3f13b8a1881676cfb3a1ca99a
      
https://github.com/qemu/qemu/commit/ceddc48278a006e3f13b8a1881676cfb3a1ca99a
  Author: Hyman Huang <yong.huang@smartx.com>
  Date:   2023-11-03 (Fri, 03 Nov 2023)

  Changed paths:
    M docs/devel/migration.rst

  Log Message:
  -----------
  docs/migration: Add the dirty limit section

The dirty limit feature has been introduced since the 8.1
QEMU release but has not reflected in the document, add a
section for that.

Signed-off-by: Hyman Huang <yong.huang@smartx.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: 
<0f2b2c63fec22ea23e4926cdeb567b7a0ebd8152.1698847223.git.yong.huang@smartx.com>


  Commit: 0983125b405c479a6e7eb49b81cfdae969e28cee
      
https://github.com/qemu/qemu/commit/0983125b405c479a6e7eb49b81cfdae969e28cee
  Author: Juan Quintela <quintela@redhat.com>
  Date:   2023-11-03 (Fri, 03 Nov 2023)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  migration: Unlock mutex in error case

We were not unlocking bitmap mutex on the error case.  To fix it
forever change to enclose the code with WITH_QEMU_LOCK_GUARD().
Coverity CID 1523750.

Fixes: a2326705e5 ("migration: Stop migration immediately in RDMA error paths")
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231103074245.55166-1-quintela@redhat.com>


  Commit: 6c1b28e9e405da8cfb7296b9efa2b85650086784
      
https://github.com/qemu/qemu/commit/6c1b28e9e405da8cfb7296b9efa2b85650086784
  Author: David Hildenbrand <david@redhat.com>
  Date:   2023-11-03 (Fri, 03 Nov 2023)

  Changed paths:
    M hw/mem/memory-device.c
    M include/hw/mem/memory-device.h

  Log Message:
  -----------
  memory-device: Support empty memory devices

Let's support empty memory devices -- memory devices that don't have a
memory device region in the current configuration. hv-balloon with an
optional memdev is the primary use case.

Signed-off-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>


  Commit: de225d7dd84535692d87bab9cf6cb2e819823b82
      
https://github.com/qemu/qemu/commit/de225d7dd84535692d87bab9cf6cb2e819823b82
  Author: David Hildenbrand <david@redhat.com>
  Date:   2023-11-03 (Fri, 03 Nov 2023)

  Changed paths:
    M hw/mem/memory-device.c

  Log Message:
  -----------
  memory-device: Drop size alignment check

There is no strong requirement that the size has to be multiples of the
requested alignment, let's drop it. This is a preparation for hv-baloon.

Signed-off-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>


  Commit: 6246dfb12b9a0a7d3273c9418fb122621534929c
      
https://github.com/qemu/qemu/commit/6246dfb12b9a0a7d3273c9418fb122621534929c
  Author: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
  Date:   2023-11-03 (Fri, 03 Nov 2023)

  Changed paths:
    A include/hw/hyperv/dynmem-proto.h

  Log Message:
  -----------
  Add Hyper-V Dynamic Memory Protocol definitions

This commit adds Hyper-V Dynamic Memory Protocol definitions, taken
from hv_balloon Linux kernel driver, adapted to the QEMU coding style and
definitions.

Acked-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>


  Commit: 5b80efd0d0af4571e415ffb6262afc2053440e90
      
https://github.com/qemu/qemu/commit/5b80efd0d0af4571e415ffb6262afc2053440e90
  Author: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
  Date:   2023-11-03 (Fri, 03 Nov 2023)

  Changed paths:
    M Kconfig.host
    M hw/hyperv/Kconfig
    A hw/hyperv/hv-balloon-internal.h
    A hw/hyperv/hv-balloon-page_range_tree.c
    A hw/hyperv/hv-balloon-page_range_tree.h
    A hw/hyperv/hv-balloon.c
    M hw/hyperv/meson.build
    M hw/hyperv/trace-events
    A include/hw/hyperv/hv-balloon.h
    M meson.build
    M meson_options.txt
    M scripts/meson-buildoptions.sh

  Log Message:
  -----------
  Add Hyper-V Dynamic Memory Protocol driver (hv-balloon) base

This driver is like virtio-balloon on steroids: it allows both changing the
guest memory allocation via ballooning and (in the next patch) inserting
pieces of extra RAM into it on demand from a provided memory backend.

The actual resizing is done via ballooning interface (for example, via
the "balloon" HMP command).
This includes resizing the guest past its boot size - that is, hot-adding
additional memory in granularity limited only by the guest alignment
requirements, as provided by the next patch.

In contrast with ACPI DIMM hotplug where one can only request to unplug a
whole DIMM stick this driver allows removing memory from guest in single
page (4k) units via ballooning.

After a VM reboot the guest is back to its original (boot) size.

In the future, the guest boot memory size might be changed on reboot
instead, taking into account the effective size that VM had before that
reboot (much like Hyper-V does).

For performance reasons, the guest-released memory is tracked in a few
range trees, as a series of (start, count) ranges.
Each time a new page range is inserted into such tree its neighbors are
checked as candidates for possible merging with it.

Besides performance reasons, the Dynamic Memory protocol itself uses page
ranges as the data structure in its messages, so relevant pages need to be
merged into such ranges anyway.

One has to be careful when tracking the guest-released pages, since the
guest can maliciously report returning pages outside its current address
space, which later clash with the address range of newly added memory.
Similarly, the guest can report freeing the same page twice.

The above design results in much better ballooning performance than when
using virtio-balloon with the same guest: 230 GB / minute with this driver
versus 70 GB / minute with virtio-balloon.

During a ballooning operation most of time is spent waiting for the guest
to come up with newly freed page ranges, processing the received ranges on
the host side (in QEMU and KVM) is nearly instantaneous.

The unballoon operation is also pretty much instantaneous:
thanks to the merging of the ballooned out page ranges 200 GB of memory can
be returned to the guest in about 1 second.
With virtio-balloon this operation takes about 2.5 minutes.

These tests were done against a Windows Server 2019 guest running on a
Xeon E5-2699, after dirtying the whole memory inside guest before each
balloon operation.

Using a range tree instead of a bitmap to track the removed memory also
means that the solution scales well with the guest size: even a 1 TB range
takes just a few bytes of such metadata.

Since the required GTree operations aren't present in every Glib version
a check for them was added to the meson build script, together with new
"--enable-hv-balloon" and "--disable-hv-balloon" configure arguments.
If these GTree operations are missing in the system's Glib version this
driver will be skipped during QEMU build.

An optional "status-report=on" device parameter requests memory status
events from the guest (typically sent every second), which allow the host
to learn both the guest memory available and the guest memory in use
counts.

Following commits will add support for their external emission as
"HV_BALLOON_STATUS_REPORT" QMP events.

The driver is named hv-balloon since the Linux kernel client driver for
the Dynamic Memory Protocol is named as such and to follow the naming
pattern established by the virtio-balloon driver.
The whole protocol runs over Hyper-V VMBus.

The driver was tested against Windows Server 2012 R2, Windows Server 2016
and Windows Server 2019 guests and obeys the guest alignment requirements
reported to the host via DM_CAPABILITIES_REPORT message.

Acked-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>


  Commit: d5253ef7ddc4f21dc448eb65c0b0ca150de42cec
      
https://github.com/qemu/qemu/commit/d5253ef7ddc4f21dc448eb65c0b0ca150de42cec
  Author: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
  Date:   2023-11-03 (Fri, 03 Nov 2023)

  Changed paths:
    A hw/hyperv/hv-balloon-our_range_memslots.c
    A hw/hyperv/hv-balloon-our_range_memslots.h
    M hw/hyperv/hv-balloon.c
    M hw/hyperv/meson.build
    M hw/hyperv/trace-events

  Log Message:
  -----------
  Add Hyper-V Dynamic Memory Protocol driver (hv-balloon) hot-add support

One of advantages of using this protocol over ACPI-based PC DIMM hotplug is
that it allows hot-adding memory in much smaller granularity because the
ACPI DIMM slot limit does not apply.

In order to enable this functionality a new memory backend needs to be
created and provided to the driver via the "memdev" parameter.

This can be achieved by, for example, adding
"-object memory-backend-ram,id=mem1,size=32G" to the QEMU command line and
then instantiating the driver with "memdev=mem1" parameter.

The device will try to use multiple memslots to cover the memory backend in
order to reduce the size of metadata for the not-yet-hot-added part of the
memory backend.

Co-developed-by: David Hildenbrand <david@redhat.com>
Acked-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>


  Commit: 09c8d68234bfd32b2f1760400b0b6fea0085af07
      
https://github.com/qemu/qemu/commit/09c8d68234bfd32b2f1760400b0b6fea0085af07
  Author: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
  Date:   2023-11-03 (Fri, 03 Nov 2023)

  Changed paths:
    M hw/core/machine-hmp-cmds.c
    M hw/hyperv/hv-balloon.c
    M qapi/machine.json

  Log Message:
  -----------
  qapi: Add query-memory-devices support to hv-balloon

Used by the driver to report its provided memory state information.

Co-developed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>


  Commit: 73c1706e3d4be8f4a39ead876297839d389b0699
      
https://github.com/qemu/qemu/commit/73c1706e3d4be8f4a39ead876297839d389b0699
  Author: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
  Date:   2023-11-03 (Fri, 03 Nov 2023)

  Changed paths:
    M hw/hyperv/hv-balloon.c
    M monitor/monitor.c
    M qapi/machine.json

  Log Message:
  -----------
  qapi: Add HV_BALLOON_STATUS_REPORT event and its QMP query command

Used by the hv-balloon driver for (optional) guest memory status reports.

Acked-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>


  Commit: 4aa918607331990603479a9912d3c4d32504a0d0
      
https://github.com/qemu/qemu/commit/4aa918607331990603479a9912d3c4d32504a0d0
  Author: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
  Date:   2023-11-03 (Fri, 03 Nov 2023)

  Changed paths:
    M hw/i386/Kconfig
    M hw/i386/pc.c

  Log Message:
  -----------
  hw/i386/pc: Support hv-balloon

Add the necessary plumbing for the hv-balloon driver to the PC machine.

Co-developed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>


  Commit: 2b49ecabc6bf15efa6aa05f20a7c319ff65c4e11
      
https://github.com/qemu/qemu/commit/2b49ecabc6bf15efa6aa05f20a7c319ff65c4e11
  Author: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
  Date:   2023-11-03 (Fri, 03 Nov 2023)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Add an entry for Hyper-V Dynamic Memory Protocol

Acked-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>


  Commit: b1fa27fcc88428f79de772825ab50cfca14bfc5f
      
https://github.com/qemu/qemu/commit/b1fa27fcc88428f79de772825ab50cfca14bfc5f
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-11-05 (Sun, 05 Nov 2023)

  Changed paths:
    M linux-user/sparc/signal.c
    M target/sparc/cpu.h
    M target/sparc/win_helper.c

  Log Message:
  -----------
  target/sparc: Introduce cpu_put_psr_icc

Isolate linux-user from changes to icc representation.

Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 2a1905c79e1009600e96e7d1d0c592d573e94dbd
      
https://github.com/qemu/qemu/commit/2a1905c79e1009600e96e7d1d0c592d573e94dbd
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-11-05 (Sun, 05 Nov 2023)

  Changed paths:
    M linux-user/sparc/cpu_loop.c
    M linux-user/sparc/target_cpu.h
    M target/sparc/cc_helper.c
    M target/sparc/cpu.h
    M target/sparc/machine.c
    M target/sparc/translate.c
    M target/sparc/win_helper.c

  Log Message:
  -----------
  target/sparc: Split psr and xcc into components

Step in removing CC_OP: change the representation of CC_OP_FLAGS.
The 8 bits are distributed between 6 variables, which should make
it easy to keep up to date.

The code within cc_helper.c is quite ugly but is only temporary.

Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 2a45b73658c383012a661cbfb89462c778c1ce45
      
https://github.com/qemu/qemu/commit/2a45b73658c383012a661cbfb89462c778c1ce45
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-11-05 (Sun, 05 Nov 2023)

  Changed paths:
    M target/sparc/cc_helper.c
    M target/sparc/cpu.h
    M target/sparc/translate.c

  Log Message:
  -----------
  target/sparc: Remove CC_OP_LOGIC

Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 1326010322d6690a953722d8aee6465826ce7175
      
https://github.com/qemu/qemu/commit/1326010322d6690a953722d8aee6465826ce7175
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-11-05 (Sun, 05 Nov 2023)

  Changed paths:
    M target/sparc/cc_helper.c
    M target/sparc/cpu.h
    M target/sparc/helper.c
    M target/sparc/helper.h
    M target/sparc/translate.c

  Log Message:
  -----------
  target/sparc: Remove CC_OP_DIV

Return both result and overflow from helper_[us]div.
Compute all flags explicitly in gen_op_[us]divcc.

Marginally improve the INT64_MIN special case in helper_sdiv.

Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: b989ce736e8b6bd8706bb3c93812b3fc12e97277
      
https://github.com/qemu/qemu/commit/b989ce736e8b6bd8706bb3c93812b3fc12e97277
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-11-05 (Sun, 05 Nov 2023)

  Changed paths:
    M target/sparc/cc_helper.c
    M target/sparc/cpu.h
    M target/sparc/translate.c

  Log Message:
  -----------
  target/sparc: Remove CC_OP_ADD, CC_OP_ADDX, CC_OP_TADD

These are all related and implementable with common code.

Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: f828df744376609907f8d054219233227efb3a34
      
https://github.com/qemu/qemu/commit/f828df744376609907f8d054219233227efb3a34
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-11-05 (Sun, 05 Nov 2023)

  Changed paths:
    M target/sparc/cc_helper.c
    M target/sparc/cpu.h
    M target/sparc/translate.c

  Log Message:
  -----------
  target/sparc: Remove CC_OP_SUB, CC_OP_SUBX, CC_OP_TSUB

These are all related and implementable with common code.

Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 68524e83f8fbe23dca37dc5b847fb558d75c8fab
      
https://github.com/qemu/qemu/commit/68524e83f8fbe23dca37dc5b847fb558d75c8fab
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-11-05 (Sun, 05 Nov 2023)

  Changed paths:
    M target/sparc/cc_helper.c
    M target/sparc/cpu.h
    M target/sparc/helper.c
    M target/sparc/translate.c

  Log Message:
  -----------
  target/sparc: Remove CC_OP_TADDTV, CC_OP_TSUBTV

Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: b597eedcce0de84ff573a6be2cd6a89c7fa0fd8e
      
https://github.com/qemu/qemu/commit/b597eedcce0de84ff573a6be2cd6a89c7fa0fd8e
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-11-05 (Sun, 05 Nov 2023)

  Changed paths:
    M linux-user/sparc/cpu_loop.c
    R target/sparc/cc_helper.c
    M target/sparc/cpu.c
    M target/sparc/cpu.h
    M target/sparc/helper.h
    M target/sparc/int32_helper.c
    M target/sparc/int64_helper.c
    M target/sparc/meson.build
    M target/sparc/translate.c
    M target/sparc/win_helper.c

  Log Message:
  -----------
  target/sparc: Remove CC_OP leftovers

All instructions have been converted to generate
full condition codes explicitly.

Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: dd7dbfcc00dc4cc349fc8f4588cecc88dd149ca5
      
https://github.com/qemu/qemu/commit/dd7dbfcc00dc4cc349fc8f4588cecc88dd149ca5
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-11-05 (Sun, 05 Nov 2023)

  Changed paths:
    M target/sparc/translate.c

  Log Message:
  -----------
  target/sparc: Remove DisasCompare.is_bool

Since we're going to feed cpu_cond to another comparison, we don't
reqire a boolean value -- anything non-zero is sufficient.

Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: c8507ebf74fc5991cd822a5a34c8d653a6225a9b
      
https://github.com/qemu/qemu/commit/c8507ebf74fc5991cd822a5a34c8d653a6225a9b
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-11-05 (Sun, 05 Nov 2023)

  Changed paths:
    M target/sparc/translate.c

  Log Message:
  -----------
  target/sparc: Change DisasCompare.c2 to int

We don't require c2 to be variable, so emphasize that.
We don't currently require c2 to be non-zero, but that will change.

Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 816f89b7d4830b8df30ad252a6f30a0e80d70d76
      
https://github.com/qemu/qemu/commit/816f89b7d4830b8df30ad252a6f30a0e80d70d76
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-11-05 (Sun, 05 Nov 2023)

  Changed paths:
    M target/sparc/translate.c

  Log Message:
  -----------
  target/sparc: Always copy conditions into a new temporary

This will allow the condition to live across changes to
the global cc variables.

Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: c76c804509e75ab0307f878282bc73b7852d5360
      
https://github.com/qemu/qemu/commit/c76c804509e75ab0307f878282bc73b7852d5360
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-11-05 (Sun, 05 Nov 2023)

  Changed paths:
    M target/sparc/translate.c

  Log Message:
  -----------
  target/sparc: Do flush_cond in advance_jump_cond

Do this here instead of in each caller.

Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 4a8d145d7177f42b7e7199175d1754fc55bc932f
      
https://github.com/qemu/qemu/commit/4a8d145d7177f42b7e7199175d1754fc55bc932f
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-11-05 (Sun, 05 Nov 2023)

  Changed paths:
    M target/sparc/translate.c

  Log Message:
  -----------
  target/sparc: Merge gen_branch2 into advance_pc

The function had only one caller.  Canonicalize the cpu_cond
test to TCG_COND_NE, the "natural" sense of its value.

Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 2d9bb2371d97aedd3d07eb4bccca9586cf88cf69
      
https://github.com/qemu/qemu/commit/2d9bb2371d97aedd3d07eb4bccca9586cf88cf69
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-11-05 (Sun, 05 Nov 2023)

  Changed paths:
    M target/sparc/translate.c

  Log Message:
  -----------
  target/sparc: Merge advance_jump_uncond_{never,always} into advance_jump_cond

Handle these via TCG_COND_{ALWAYS,NEVER}.
Allow dc->npc to be variable, using gen_mov_pc_npc.

Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 3951b7a87d7dfc6533e367562890b557bfb51bdc
      
https://github.com/qemu/qemu/commit/3951b7a87d7dfc6533e367562890b557bfb51bdc
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-11-05 (Sun, 05 Nov 2023)

  Changed paths:
    M target/sparc/translate.c

  Log Message:
  -----------
  target/sparc: Pass displacement to advance_jump_cond

Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 444d8b300a7e8eb9b6f8bc52032155cd42df7844
      
https://github.com/qemu/qemu/commit/444d8b300a7e8eb9b6f8bc52032155cd42df7844
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-11-05 (Sun, 05 Nov 2023)

  Changed paths:
    M target/sparc/translate.c

  Log Message:
  -----------
  target/sparc: Merge gen_op_next_insn into only caller

Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 533f042f1460e4f369b72ed05e8b4b773a1868c0
      
https://github.com/qemu/qemu/commit/533f042f1460e4f369b72ed05e8b4b773a1868c0
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-11-05 (Sun, 05 Nov 2023)

  Changed paths:
    M target/sparc/translate.c

  Log Message:
  -----------
  target/sparc: Record entire jump condition in DisasContext

Use the original condition instead of consuming cpu_cond,
which will now only be live along exception paths.

Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 89527e3a75c714e12fa054efa6a80e5111d89354
      
https://github.com/qemu/qemu/commit/89527e3a75c714e12fa054efa6a80e5111d89354
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-11-05 (Sun, 05 Nov 2023)

  Changed paths:
    M target/sparc/translate.c

  Log Message:
  -----------
  target/sparc: Discard cpu_cond at the end of each insn

If the insn raises no exceptions, there will be no path in which
cpu_cond is used, and so the computation may be optimized away.

Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: f3141174dd990672e28db0d952e13ae19f08e825
      
https://github.com/qemu/qemu/commit/f3141174dd990672e28db0d952e13ae19f08e825
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-11-05 (Sun, 05 Nov 2023)

  Changed paths:
    M target/sparc/helper.c
    M target/sparc/helper.h
    M target/sparc/insns.decode
    M target/sparc/translate.c

  Log Message:
  -----------
  target/sparc: Implement UDIVX and SDIVX inline

Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 3a6b8de3e2b5b7e37e0a71fd01a4e5f58d635573
      
https://github.com/qemu/qemu/commit/3a6b8de3e2b5b7e37e0a71fd01a4e5f58d635573
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-11-05 (Sun, 05 Nov 2023)

  Changed paths:
    M target/sparc/insns.decode
    M target/sparc/translate.c

  Log Message:
  -----------
  target/sparc: Implement UDIV inline

Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 2c4f56c9aa7e1e8a34428c4efe17788be11fb73f
      
https://github.com/qemu/qemu/commit/2c4f56c9aa7e1e8a34428c4efe17788be11fb73f
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-11-05 (Sun, 05 Nov 2023)

  Changed paths:
    M target/sparc/translate.c

  Log Message:
  -----------
  target/sparc: Check for invalid cond in gen_compare_reg

Consolidate the test here; drop the "inverted logic".
Fix MOVr and FMOVR, which were missing the invalid test.

Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 9477a89c14b867f3d73e92f8861571ce1fa9763e
      
https://github.com/qemu/qemu/commit/9477a89c14b867f3d73e92f8861571ce1fa9763e
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2023-11-06 (Mon, 06 Nov 2023)

  Changed paths:
    M linux-user/loongarch64/cpu_loop.c
    M linux-user/loongarch64/signal.c
    M qapi/machine-target.json
    M target/loongarch/cpu-param.h
    M target/loongarch/cpu.c
    M target/loongarch/cpu.h
    M target/loongarch/insn_trans/trans_vec.c.inc
    M target/loongarch/loongarch-qmp-cmds.c
    M target/loongarch/tlb_helper.c

  Log Message:
  -----------
  Merge tag 'pull-loongarch-20231103' of https://gitlab.com/gaosong/qemu into 
staging

pull-loongarch-20231103

# -----BEGIN PGP SIGNATURE-----
#
# iLMEAAEKAB0WIQS4/x2g0v3LLaCcbCxAov/yOSY+3wUCZUSQIgAKCRBAov/yOSY+
# 31aIBADj5FzdUxyFB813SouAiEiyMdI4bN98AunomAk3Kt8PF1XPoP8kPzcjxcMI
# kCW4eoHb12MVs9OclkqFY3VyaxtSD3YSG/h8W9YxaDyU+L/q89RS+J4r6CAZ8ylg
# J4uxs3Lv8nwPEvRb4zITAt8JQllLey1100j/uu4fU0Rx7vUcMA==
# =9RMx
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 03 Nov 2023 14:16:02 HKT
# gpg:                using RSA key B8FF1DA0D2FDCB2DA09C6C2C40A2FFF239263EDF
# gpg: Good signature from "Song Gao <m17746591750@163.com>" [unknown]
# 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: B8FF 1DA0 D2FD CB2D A09C  6C2C 40A2 FFF2 3926 3EDF

* tag 'pull-loongarch-20231103' of https://gitlab.com/gaosong/qemu:
  linux-user/loongarch64: Add LASX sigcontext save/restore
  linux-user/loongarch64: Add LSX sigcontext save/restore
  linux-user/loongarch64: Use abi_{ulong,uint} types
  linux-user/loongarch64: setup_sigframe() set 'end' context size 0
  linux-user/loongarch64: Fix setup_extcontext alloc wrong fpu_context size
  linux-user/loongarch64: Use traps to track LSX/LASX usage
  target/loongarch: Support 4K page size
  target/loongarch: Implement query-cpu-model-expansion
  target/loongarch: Allow user enable/disable LSX/LASX features
  target/loongarch: Add cpu model 'max'

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 1d6e13c1c7624244865bd3aa715b83e764085e3f
      
https://github.com/qemu/qemu/commit/1d6e13c1c7624244865bd3aa715b83e764085e3f
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2023-11-06 (Mon, 06 Nov 2023)

  Changed paths:
    M dump/dump-hmp-cmds.c
    M dump/dump.c
    M hmp-commands.hx
    M include/sysemu/dump.h
    M qapi/dump.json

  Log Message:
  -----------
  Merge tag 'dump-pull-request' of https://gitlab.com/marcandre.lureau/qemu 
into staging

dump queue

Hi

The "dump" queue, with:
- [PATCH v3 qemu 0/3] Allow dump-guest-memory to output standard kdump format
- [PATCH v2 0/5] dump: Minor fixes & improvements

# -----BEGIN PGP SIGNATURE-----
#
# iQJQBAABCAA6FiEEh6m9kz+HxgbSdvYt2ujhCXWWnOUFAmVEmsEcHG1hcmNhbmRy
# ZS5sdXJlYXVAcmVkaGF0LmNvbQAKCRDa6OEJdZac5YNkD/sFnz+I75mn6+DIdC3x
# aSVUU87JxAvWkt+G3KYGS+de2+g2YkRkPwwrIsIceiX7mlL4Es350AVcTl7+fXpu
# Jl9k9I32QI+U3pNXo9BStIqjKUMBxmmKs4aLCh9OHJ6oliTCG+aJTUmSl/dABIuw
# fAcW9vjhyR4ogAp8x7WhR6PKEAAb6OE/9k0w/z0GV2K09N/R0pPAvObQ36VQJ/Cl
# 6DN8tRRytl0IQmC/mZZ+MQPQ5cvamK78X3DmnYCGtyN9HTQERfUFMSSgD/sHLvNi
# rMKuwhXiGQfDs/xQ9Z6Vh2AL7JfAwbIQwUstepb78M/5GBLaZfwFYG4+eCohJE82
# s0GOQ45Yks+AOTGj6lNyOfJ8PIf0SocCTbnLWZicpdHIfoEkSmmL0VZ5w+w0EpDO
# WOZJRpANJGTLhKNb//X3A3OJ05LoavN3/criokhC19DW/yE/VEGd3dXlP6yvFOku
# vGUINGivg1bw7yO0S/rzXNw4+cHCPgBCXbKCNuMI6B+dxL5pUR5Zr4OqcYgwejqE
# RWMdqsHA4ohpzc3AfbuHLFilXJNAgLR3jAEiVUXyrz9U1FiYEiq/8RNuupe9Uveq
# pO1PDZ9fher0Zda4y28bHl/e5M9hVeCFqElcVk0FQGt97T5olVvSaL/hFUPf65ls
# 8A3lN6WaAT9dvM33pkeswZvGxg==
# =eSbp
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 03 Nov 2023 15:01:21 HKT
# gpg:                using RSA key 87A9BD933F87C606D276F62DDAE8E10975969CE5
# gpg:                issuer "marcandre.lureau@redhat.com"
# gpg: Good signature from "Marc-André Lureau <marcandre.lureau@redhat.com>" 
[full]
# gpg:                 aka "Marc-André Lureau <marcandre.lureau@gmail.com>" 
[full]
# Primary key fingerprint: 87A9 BD93 3F87 C606 D276  F62D DAE8 E109 7596 9CE5

* tag 'dump-pull-request' of https://gitlab.com/marcandre.lureau/qemu:
  dump: Drop redundant check for empty dump
  dump: Improve some dump-guest-memory error messages
  dump: Recognize "fd:" protocols on Windows hosts
  dump: Fix g_array_unref(NULL) in dump-guest-memory
  dump: Rename qmp_dump_guest_memory() parameter to match QAPI schema
  dump: Add command interface for kdump-raw formats
  dump: Allow directly outputting raw kdump format
  dump: Pass DumpState to write_ functions

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: f3604191e296da90feb1b0bb24e986bc016809a8
      
https://github.com/qemu/qemu/commit/f3604191e296da90feb1b0bb24e986bc016809a8
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2023-11-06 (Mon, 06 Nov 2023)

  Changed paths:
    M docs/devel/migration.rst
    M migration/ram.c
    M system/dirtylimit.c
    M tests/migration/guestperf/comparison.py
    M tests/migration/guestperf/engine.py
    M tests/migration/guestperf/hardware.py
    M tests/migration/guestperf/progress.py
    M tests/migration/guestperf/scenario.py
    M tests/migration/guestperf/shell.py
    M tests/qtest/migration-test.c

  Log Message:
  -----------
  Merge tag 'migration-20231103-pull-request' of 
https://gitlab.com/juan.quintela/qemu into staging

Migration Pull request (20231103)

Hi

In this PULL:
- dirty limit fixes (hyman)
- coverity issues (juan)

Please apply.

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCAAdFiEEGJn/jt6/WMzuA0uC9IfvGFhy1yMFAmVE4dgACgkQ9IfvGFhy
# 1yPBgxAAvrsCHwU6/m9y+XGokyHTKKKIVysLip/14jAjDL+viLYgxdVyOGQKQGBa
# +yV+XHTaEyKdihKG4Z5nWuC0yM+sdZQpWXQAcHJLPaPs5wDGICICpdAFY2LbAWSK
# jtX9uq7crywIL4mVKiX+HOjRUPCAYUx/2TcqJf2+0+MKDEVC33ikxNbcx8ZELY+Q
# +hGyOws3mkHSQjyaNUVgnnQtGzikYqcNO2efa+zVPdXYd+TUWW2e9I++Qf48r0Hv
# OqeZAB7bSAb39PNRuj0I1gt4d3WTHzHt7BSpX1OuFqQnzLw8vS5iDQH943WAyGkY
# NblZVb8pyzSg1Jy18H/SmrJDXeufRwqFwD+1NHyxGjsF89KOuVUqGrGpRXhMBtmA
# DSzdgn5jqW5lI1po9FqGdlPTFlhstpMH3DSfPQWurvJh42oM38gmSEHLBNpc4tXo
# 8udMYI09H/kHUoNMTZNGjnZO9LfarGsag6eOJP1bMMublhRlKCaL9RIyV9oOHycE
# IeOeQFeBP/BmYFLWbVPeZej7uiqsEc7VPDJK2QXns210UYanaWmggkmpdAr0I0EV
# pEKHSfVv1qlIlFH4d7MhcJzP2/rY62EC5tYQjT0UaBnCRcDInKrNWa3kbDL0akwr
# 0aJgpbT5ipknVChtwnMWJlbqpeW/VUF5g0jVpYQ3jbe/Zf+OtmU=
# =Pv8z
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 03 Nov 2023 20:04:40 HKT
# gpg:                using RSA key 1899FF8EDEBF58CCEE034B82F487EF185872D723
# gpg: Good signature from "Juan Quintela <quintela@redhat.com>" [full]
# gpg:                 aka "Juan Quintela <quintela@trasno.org>" [full]
# Primary key fingerprint: 1899 FF8E DEBF 58CC EE03  4B82 F487 EF18 5872 D723

* tag 'migration-20231103-pull-request' of 
https://gitlab.com/juan.quintela/qemu:
  migration: Unlock mutex in error case
  docs/migration: Add the dirty limit section
  tests/migration: Introduce dirty-limit into guestperf
  tests/migration: Introduce dirty-ring-size option into guestperf
  tests: Add migration dirty-limit capability test
  system/dirtylimit: Drop the reduplicative check
  system/dirtylimit: Fix a race situation

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 750a35c8a61417263155aa3235bdc26801d82459
      
https://github.com/qemu/qemu/commit/750a35c8a61417263155aa3235bdc26801d82459
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2023-11-06 (Mon, 06 Nov 2023)

  Changed paths:
    M Kconfig.host
    M MAINTAINERS
    M hw/core/machine-hmp-cmds.c
    M hw/hyperv/Kconfig
    A hw/hyperv/hv-balloon-internal.h
    A hw/hyperv/hv-balloon-our_range_memslots.c
    A hw/hyperv/hv-balloon-our_range_memslots.h
    A hw/hyperv/hv-balloon-page_range_tree.c
    A hw/hyperv/hv-balloon-page_range_tree.h
    A hw/hyperv/hv-balloon.c
    M hw/hyperv/meson.build
    M hw/hyperv/trace-events
    M hw/i386/Kconfig
    M hw/i386/pc.c
    M hw/mem/memory-device.c
    A include/hw/hyperv/dynmem-proto.h
    A include/hw/hyperv/hv-balloon.h
    M include/hw/mem/memory-device.h
    M meson.build
    M meson_options.txt
    M monitor/monitor.c
    M qapi/machine.json
    M scripts/meson-buildoptions.sh

  Log Message:
  -----------
  Merge tag 'pull-hv-balloon-20231105' of 
https://github.com/maciejsszmigiero/qemu into staging

Hyper-V Dynamic Memory protocol driver.

This driver is like virtio-balloon on steroids for Windows guests:
it allows both changing the guest memory allocation via ballooning and
inserting pieces of extra RAM into it on demand from a provided memory
backend via Windows-native Hyper-V Dynamic Memory protocol.

* Protocol definitions.

* Hyper-V DM protocol driver (hv-balloon) base (ballooning only).

* Hyper-V DM protocol driver (hv-balloon) hot-add support.

* qapi query-memory-devices support for the driver.

* qapi HV_BALLOON_STATUS_REPORT event.

* The relevant PC machine plumbing.

* New MAINTAINERS entry for the above.

# -----BEGIN PGP SIGNATURE-----
#
# iQGzBAABCAAdFiEE4ndqq6COJv9aG0oJUrHW6VHQzgcFAmVHfVgACgkQUrHW6VHQ
# zgcAVQv+IVppDZ4BAgeZSCQ5T2h1Cx0cIRu5TI5bct+HTEnRZoKrlNmodOnrfigf
# Ca03nMGOa097TQNXDLEJVJ9v3XDb2SojnDmWFuovUItF10ETUT8ABqmL4yPQWEpD
# VEvjE4zB5j4mVutCy6oLN0y1OXbtI4DW1X2X9jyvt/497n916guG7YjeoAPEGxq1
# yIzZy7xNwlU/4HaH2p9+mK99QzWmv93srcOt8U6L+79j6DrJzGZw1qvsYbHkP7BP
# nGRvsF1wBzkjev9PxJ51+Qxre4l+KFHueH6PybtvghRLEMsIjUVXakpRfgSd+Wt3
# SvTCbTYyTZ+IS+aI7VEGFgU7kA5nbRirEmhxP8fbMsBRIU9nWYTVDqFQT9G0H345
# krZtd632bYbpU+c79+V205s0rT4UJAR83psvJ2jaiKVkPJMwP1pv+RzxRHvwVMC/
# MgWfUO+EgWQoaWdZeT6cktDzyc0LlRUCqVSvN4Bs6lpRTi/P/07zDB0md+JOOhd5
# 3K6KsUsC
# =39BU
# -----END PGP SIGNATURE-----
# gpg: Signature made Sun 05 Nov 2023 19:32:40 HKT
# gpg:                using RSA key E2776AABA08E26FF5A1B4A0952B1D6E951D0CE07
# gpg: Good signature from "Maciej S. Szmigiero <mail@maciej.szmigiero.name>" 
[unknown]
# 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: 727A 0D4D DB9E D9F6 039B  ECEF 847F 5E37 90CE 0977
#      Subkey fingerprint: E277 6AAB A08E 26FF 5A1B  4A09 52B1 D6E9 51D0 CE07

* tag 'pull-hv-balloon-20231105' of https://github.com/maciejsszmigiero/qemu:
  MAINTAINERS: Add an entry for Hyper-V Dynamic Memory Protocol
  hw/i386/pc: Support hv-balloon
  qapi: Add HV_BALLOON_STATUS_REPORT event and its QMP query command
  qapi: Add query-memory-devices support to hv-balloon
  Add Hyper-V Dynamic Memory Protocol driver (hv-balloon) hot-add support
  Add Hyper-V Dynamic Memory Protocol driver (hv-balloon) base
  Add Hyper-V Dynamic Memory Protocol definitions
  memory-device: Drop size alignment check
  memory-device: Support empty memory devices

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 7e93fd72d5f92e988a18736768e9e71389caac98
      
https://github.com/qemu/qemu/commit/7e93fd72d5f92e988a18736768e9e71389caac98
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2023-11-06 (Mon, 06 Nov 2023)

  Changed paths:
    M linux-user/sparc/cpu_loop.c
    M linux-user/sparc/signal.c
    M linux-user/sparc/target_cpu.h
    R target/sparc/cc_helper.c
    M target/sparc/cpu.c
    M target/sparc/cpu.h
    M target/sparc/helper.c
    M target/sparc/helper.h
    M target/sparc/insns.decode
    M target/sparc/int32_helper.c
    M target/sparc/int64_helper.c
    M target/sparc/machine.c
    M target/sparc/meson.build
    M target/sparc/translate.c
    M target/sparc/win_helper.c

  Log Message:
  -----------
  Merge tag 'pull-sp-20231105' of https://gitlab.com/rth7680/qemu into staging

target/sparc: Explicitly compute condition codes

# -----BEGIN PGP SIGNATURE-----
#
# iQFRBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmVH9oodHHJpY2hhcmQu
# aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV/M8QgAgPTp/wFLVnSRFLaN
# fBoelVhM4WTWMQ+SUwZMtCvqcMHaBxIMu+hyk5MI11hFOUi9N+vWvRb+NZ6JbK+1
# sqWcx0NdYfNdOeoi1dgzGgcCkFA8u9zW/K7Ih0W8WuU20uiJ4Zw/qmnEELIl/mZR
# 5Ft1mhLMhQSYsH0KSypugLWBxR9SFNH1cV3C1SG2q+6snm/mhKk9NN18zJGFdmmY
# 4CQThx159P/DaPUONZbSAMN94opu6K8FSymELPDUZBYwJRq7fyGKYuDUGRvN1kxx
# I8p/MF1V5Vcth9lvGyBYulFWjo9BDMpkIdmWzXZLOWfzZVAed8PcglxoQqgMbU5u
# eyY/Cw==
# =Tv1h
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 06 Nov 2023 04:09:46 HKT
# gpg:                using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg:                issuer "richard.henderson@linaro.org"
# gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" 
[full]
# Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F

* tag 'pull-sp-20231105' of https://gitlab.com/rth7680/qemu: (21 commits)
  target/sparc: Check for invalid cond in gen_compare_reg
  target/sparc: Implement UDIV inline
  target/sparc: Implement UDIVX and SDIVX inline
  target/sparc: Discard cpu_cond at the end of each insn
  target/sparc: Record entire jump condition in DisasContext
  target/sparc: Merge gen_op_next_insn into only caller
  target/sparc: Pass displacement to advance_jump_cond
  target/sparc: Merge advance_jump_uncond_{never,always} into advance_jump_cond
  target/sparc: Merge gen_branch2 into advance_pc
  target/sparc: Do flush_cond in advance_jump_cond
  target/sparc: Always copy conditions into a new temporary
  target/sparc: Change DisasCompare.c2 to int
  target/sparc: Remove DisasCompare.is_bool
  target/sparc: Remove CC_OP leftovers
  target/sparc: Remove CC_OP_TADDTV, CC_OP_TSUBTV
  target/sparc: Remove CC_OP_SUB, CC_OP_SUBX, CC_OP_TSUB
  target/sparc: Remove CC_OP_ADD, CC_OP_ADDX, CC_OP_TADD
  target/sparc: Remove CC_OP_DIV
  target/sparc: Remove CC_OP_LOGIC
  target/sparc: Split psr and xcc into components
  ...

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


Compare: https://github.com/qemu/qemu/compare/d762bf97931b...7e93fd72d5f9



reply via email to

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