fan writes:
> On Wed, Apr 24, 2024 at 03:09:52PM +0200, Markus Armbruster wrote:
>> nifan@gmail.com writes:
>>
>> > From: Fan Ni
>> >
>> > Since fabric manager emulation is not supported yet, the change implements
>> > the functions to add/release dynamic capacity extents as QMP
On 24/04/2024 18.21, Richard Henderson wrote:
On 4/24/24 00:57, Thomas Huth wrote:
The following changes since commit 13b1e9667737132440f4d500c31cb69320c6b15a:
Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into
staging (2024-04-23 17:35:57 -0700)
are available in the Git
On 24/04/2024 18.19, Richard Henderson wrote:
On 4/24/24 00:57, Thomas Huth wrote:
RHEL 9 (and thus also the derivatives) have been available since two
years now, so according to QEMU's support policy, we can drop the active
support for the previous major version 8 now.
Another reason for
Hi list,
This series is the followup of Thomas' suggestion in previous
ERRP_GUARD() cleanup[1]. And based on Thomas' thoughts, I tried to clean
up as many of the other related places (in s390x/cpu_models.c).
[1]:
As error.h suggested, the best practice for callee is to return
something to indicate success / failure.
So make kvm_s390_get_host_cpu_model() return boolean and check the
returned boolean in get_max_cpu_model() instead of accessing @err.
Signed-off-by: Zhao Liu
---
target/s390x/cpu_models.c |
As error.h suggested, the best practice for callee is to return
something to indicate success / failure.
So make kvm_s390_apply_cpu_model() return boolean and check the
returned boolean in apply_cpu_model() instead of accessing @err.
Signed-off-by: Zhao Liu
Reviewed-by: Thomas Huth
---
As error.h suggested, the best practice for callee is to return
something to indicate success / failure.
With returned boolean, there's no need to check @err.
Suggested-by: Thomas Huth
Signed-off-by: Zhao Liu
Reviewed-by: Thomas Huth
---
target/s390x/cpu_models.c | 14 +++---
1 file
Use @errp to fetch error information directly and drop the local
variable @err.
Signed-off-by: Zhao Liu
Reviewed-by: Thomas Huth
---
target/s390x/cpu_models_sysemu.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/target/s390x/cpu_models_sysemu.c
Use @errp to fetch error information directly and drop the local
variable @err.
Signed-off-by: Zhao Liu
Reviewed-by: Thomas Huth
---
target/s390x/cpu_models.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
index
Use @errp to fetch error information directly and drop the local
variable @err.
Suggested-by: Thomas Huth
Signed-off-by: Zhao Liu
Reviewed-by: Thomas Huth
---
target/s390x/cpu_models.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/target/s390x/cpu_models.c
From: Philippe Mathieu-Daudé
Since the calls are elided when KVM is not available,
we can remove the stubs (which are never compiled).
Inspired-by: Thomas Huth >
Signed-off-by: Philippe Mathieu-Daudé
Reviewed-by: Zhao Liu
Signed-off-by: Zhao Liu
---
target/s390x/cpu_models.h | 15
On 4/24/24 15:51, Richard Henderson wrote:
The following changes since commit 85b597413d4370cb168f711192eaef2eb70535ac:
Merge tag 'housekeeping-20240424' ofhttps://github.com/philmd/qemu into
staging (2024-04-24 11:49:57 -0700)
are available in the Git repository at:
https
1. Refactor multifd_send_thread function.
2. Introduce the batch task structure in MultiFDSendParams.
Signed-off-by: Hao Xiang
---
include/qemu/dsa.h | 51 +++--
migration/multifd.c | 5 +
migration/multifd.h | 2 ++
util/dsa.c | 51
* Add a DSA task completion callback.
* DSA completion thread will call the tasks's completion callback
on every task/batch task completion.
* DSA submission path to wait for completion.
* Implement CPU fallback if DSA is not able to complete the task.
Signed-off-by: Hao Xiang
Signed-off-by:
Multifd sender path gets an array of pages queued by the migration
thread. It performs zero page checking on every page in the array.
The pages are classfied as either a zero page or a normal page. This
change uses Intel DSA to offload the zero page checking from CPU to
the DSA accelerator. The
* Use a safe thread queue for DSA task enqueue/dequeue.
* Implement DSA task submission.
* Implement DSA batch task submission.
Signed-off-by: Hao Xiang
---
include/qemu/dsa.h | 28 +++
util/dsa.c | 201 +
2 files changed, 229
* DSA device open and close.
* DSA group contains multiple DSA devices.
* DSA group configure/start/stop/clean.
Signed-off-by: Hao Xiang
Signed-off-by: Bryan Zhang
---
include/qemu/dsa.h | 72 +++
util/dsa.c | 316 +
util/meson.build
v4
* Rebase on top of 85b597413d4370cb168f711192eaef2eb70535ac.
* A separate "multifd zero page checking" patchset was split from this
patchset's v3 and got merged into master. v4 re-applied the rest of all
commits on top of that patchset, re-factored and re-tested.
The current multifd packet size is 128 * 4kb. This change adds
an option to set the packet size. Both sender and receiver needs
to set the same packet size for things to work.
Signed-off-by: Hao Xiang
---
migration/options.c | 36
migration/options.h | 1 +
Idxd is the device driver for DSA (Intel Data Streaming
Accelerator). The driver is fully functioning since Linux
kernel 5.19. This change adds the driver's header file used
for userspace development.
Signed-off-by: Hao Xiang
---
linux-headers/linux/idxd.h | 356
Intel DSA offloading is an optional feature that turns on if
proper hardware and software stack is available. To turn on
DSA offloading in multifd live migration:
multifd-dsa-accel="[dsa_dev_path1] [dsa_dev_path2] ... [dsa_dev_pathX]"
This feature is turned off by default.
Signed-off-by: Hao
During live migration, if the latency between sender and receiver
is high and bandwidth is also high (a long and fat pipe), using a bigger
packet size can help reduce migration total time. In addition, Intel
DSA offloading performs better with a large batch task. Providing an
option to set the
* Add test case to start and complete multifd live migration with DSA
offloading enabled.
* Add test case to start and cancel multifd live migration with DSA
offloading enabled.
Signed-off-by: Bryan Zhang
Signed-off-by: Hao Xiang
---
tests/qtest/migration-test.c | 77
* Create a dedicated thread for DSA task completion.
* DSA completion thread runs a loop and poll for completed tasks.
* Start and stop DSA completion thread during DSA device start stop.
User space application can directly submit task to Intel DSA
accelerator by writing to DSA's device memory
* Test DSA start and stop path.
* Test DSA configure and cleanup path.
* Test DSA task submission and completion path.
Signed-off-by: Bryan Zhang
Signed-off-by: Hao Xiang
---
tests/unit/meson.build | 6 +
tests/unit/test-dsa.c | 499 +
2 files
Enable instruction set enqcmd in build.
Signed-off-by: Hao Xiang
---
meson.build | 14 ++
meson_options.txt | 2 ++
scripts/meson-buildoptions.sh | 3 +++
3 files changed, 19 insertions(+)
diff --git a/meson.build b/meson.build
index
Create DSA task with operation code DSA_OPCODE_COMPVAL.
Here we create two types of DSA tasks, a single DSA task and
a batch DSA task. Batch DSA task reduces task submission overhead
and hence should be the default option. However, due to the way DSA
hardware works, a DSA batch task must contain
From: Dongwon Kim
This commit updates all occurrences where these fields were
set directly have been updated to utilize helper functions.
v7: removed prefix, "dpy_gl_" from all helpers
v8: Introduction of helpers was removed as those were already added
by the previous commit
Suggested-by:
From: Dongwon Kim
New header and source files are added for containing QemuDmaBuf struct
definition and newly introduced helpers for creating/freeing the struct
and accessing its data.
v10: Change the license type for both dmabuf.h and dmabuf.c from MIT to
GPL to be in line with QEMU's
From: Dongwon Kim
This commit introduces utility functions for the creation and deallocation
of QemuDmaBuf instances. Additionally, it updates all relevant sections
of the codebase to utilize these new utility functions.
v7: remove prefix, "dpy_gl_" from all helpers
qemu_dmabuf_free()
From: Dongwon Kim
To complete privatizing process of QemuDmaBuf, QemuDmaBuf struct def
is moved to dmabuf.c
Suggested-by: Marc-André Lureau
Cc: Philippe Mathieu-Daudé
Cc: Daniel P. Berrangé
Cc: Vivek Kasireddy
Signed-off-by: Dongwon Kim
---
include/ui/dmabuf.h | 19 +--
From: Dongwon Kim
This series introduces privacy enhancements to the QemuDmaBuf struct
and its contained data to bolster security. it accomplishes this by
introducing of helper functions for allocating, deallocating, and
accessing individual fields within the struct and replacing all direct
From: Dongwon Kim
This commit updates all instances where fields within the QemuDmaBuf
struct are directly accessed, replacing them with calls to these new
helper functions.
v6: fix typos in helper names in ui/spice-display.c
v7: removed prefix, "dpy_gl_" from all helpers
v8: Introduction of
From: Dongwon Kim
'fence_fd' needs to be validated always before being referenced
And the passing condition should include '== 0' as 0 is a valid
value for the file descriptor.
Suggested-by: Marc-André Lureau
Reviewed-by: Daniel P. Berrangé
Cc: Philippe Mathieu-Daudé
Cc: Daniel P. Berrangé
Instead of two separate cpu_iaoq_entry calls, use one call to update
both IAQ_Front and IAQ_Back. Simplify with an argument combination
that automatically handles a simple increment from Front to Back.
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 64
PSW_X is cleared after every instruction, and only set by RFI.
PSW_B is cleared after every non-branch, or branch not taken,
and only set by taken branches. We can clear both bits with a
single store, at most once per TB. Taken branches set PSW_B,
at most once per TB.
Signed-off-by: Richard
Signed-off-by: Richard Henderson
---
target/hppa/helper.h | 1 -
target/hppa/int_helper.c | 2 +-
target/hppa/op_helper.c | 7 ---
target/hppa/translate.c | 41 ++--
4 files changed, 32 insertions(+), 19 deletions(-)
diff --git
Use PAGE_WRITE_INV to temporarily enable write permission
on for a given page, driven by PSW_X being set.
Signed-off-by: Richard Henderson
---
target/hppa/mem_helper.c | 46 +++-
1 file changed, 27 insertions(+), 19 deletions(-)
diff --git
Inverse of the logging on taking an interrupt.
Signed-off-by: Richard Henderson
---
target/hppa/sys_helper.c | 12
1 file changed, 12 insertions(+)
diff --git a/target/hppa/sys_helper.c b/target/hppa/sys_helper.c
index 22d6c89964..9b43b556fd 100644
--- a/target/hppa/sys_helper.c
Allow an exception to be emitted at the end of the TranslationBlock,
leaving only the conditional branch inline. Use it for simple
exception instructions like break, which happen to be nullified.
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 60
This allows unification of BE, BLR, BV, BVE with a common helper.
Since we can now track space with IAQ_Next, we can now let the
TranslationBlock continue across the delay slot with BE, BVE.
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 76
Simplify the function by not attempting a conditional move
on the branch destination -- just use nullify_over normally.
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 73 +++--
1 file changed, 20 insertions(+), 53 deletions(-)
diff --git
Generally, both of these bits are cleared at the end of each
instruction. By separating these, we will be able to clear
both with a single insn, instead of 2 or 3.
Signed-off-by: Richard Henderson
---
target/hppa/cpu.h| 3 ++-
target/hppa/helper.c | 6 +++---
2 files changed, 5
Signed-off-by: Richard Henderson
---
target/hppa/cpu.c | 4 +--
target/hppa/translate.c | 68 +
2 files changed, 64 insertions(+), 8 deletions(-)
diff --git a/target/hppa/cpu.c b/target/hppa/cpu.c
index 42c413211a..5adbe0fe9c 100644
---
Minimize the amount of code in hppa_tr_translate_insn advancing the
insn queue for the next insn. Move the goto_tb path to hppa_tr_tb_stop.
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 109 +---
1 file changed, 57 insertions(+), 52
Now that the groundwork has been laid, enabling CF_PCREL within the
translator proper is a simple matter of updating copy_iaoq_entry
and install_iaq_entries.
We also need to modify the unwind info, since we no longer have
absolute addresses to install.
As expected, this reduces the runtime
Pass a displacement instead of an absolute value.
In trans_be, remove the user-only do_dbranch case. The branch we are
attempting to optimize is to the zero page, which is perforce on a
different page than the code currently executing, which means that
we will *not* use a goto_tb. Use a plain
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 10 --
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/target/hppa/translate.c b/target/hppa/translate.c
index ac181180a6..6a73b1d409 100644
--- a/target/hppa/translate.c
+++ b/target/hppa/translate.c
@@
Add a common routine for writing the return address.
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 54 +++--
1 file changed, 31 insertions(+), 23 deletions(-)
diff --git a/target/hppa/translate.c b/target/hppa/translate.c
index
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/target/hppa/translate.c b/target/hppa/translate.c
index 2ddaefde21..7e01c21141 100644
--- a/target/hppa/translate.c
+++ b/target/hppa/translate.c
@@ -1980,7 +1980,7 @@
PSW_B causes B,GATE to trap as an illegal instruction, removing
the sequential execution test that was merely an approximation.
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 25 ++---
1 file changed, 6 insertions(+), 19 deletions(-)
diff --git
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 22 ++
1 file changed, 6 insertions(+), 16 deletions(-)
diff --git a/target/hppa/translate.c b/target/hppa/translate.c
index 4b9092b1cf..b1311e7688 100644
--- a/target/hppa/translate.c
+++
Define all of the context dependent field definitions.
Use FIELD_EX32 and FIELD_DP32 with named fields instead
of extract32 and deposit32 with raw constants.
Signed-off-by: Richard Henderson
---
target/hppa/cpu.h| 25 +
target/hppa/fpu_helper.c | 26
Signed-off-by: Richard Henderson
---
target/hppa/cpu.h | 43 ++-
target/hppa/cpu.c | 42 ++
2 files changed, 44 insertions(+), 41 deletions(-)
diff --git a/target/hppa/cpu.h b/target/hppa/cpu.h
index
Signed-off-by: Richard Henderson
---
target/hppa/helper.h | 1 -
target/hppa/int_helper.c | 2 +-
target/hppa/op_helper.c | 7 ---
target/hppa/translate.c | 21 +
4 files changed, 14 insertions(+), 17 deletions(-)
diff --git a/target/hppa/helper.h
This contains all of the information logged before, plus more.
Signed-off-by: Richard Henderson
---
target/hppa/int_helper.c | 27 ++-
1 file changed, 14 insertions(+), 13 deletions(-)
diff --git a/target/hppa/int_helper.c b/target/hppa/int_helper.c
index
PSW_T enables a trap on taken branches, at the very end of the
execution of the branch instruction.
Signed-off-by: Richard Henderson
---
target/hppa/cpu.c | 4 +--
target/hppa/translate.c | 55 +++--
2 files changed, 44 insertions(+), 15 deletions(-)
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/target/hppa/translate.c b/target/hppa/translate.c
index de510fddb1..38697ddfbd 100644
--- a/target/hppa/translate.c
+++ b/target/hppa/translate.c
@@ -1418,8
In preparation for CF_PCREL. store the iaoq_f in 3 parts: high
bits in cs_base, middle bits in pc, and low bits in priv.
For iaoq_b, set a bit for either of space or page differing,
else the page offset.
Install iaq entries before goto_tb. The change to not record
the full direct branch
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/target/hppa/translate.c b/target/hppa/translate.c
index 1e772bef4d..de510fddb1 100644
--- a/target/hppa/translate.c
+++ b/target/hppa/translate.c
@@ -1004,9 +1004,8
The generic tcg driver will have already checked for breakpoints.
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/target/hppa/translate.c b/target/hppa/translate.c
index ceba7a98e5..dfdcb3e23c 100644
---
Do not compile in the priv change based on the first
translation; look up the PTE at execution time.
Signed-off-by: Richard Henderson
---
target/hppa/cpu.h| 1 -
target/hppa/helper.h | 1 +
target/hppa/mem_helper.c | 34 +++---
target/hppa/translate.c
This is a first step in enabling CF_PCREL, but for now
we regenerate the absolute address before writeback.
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 43 ++---
1 file changed, 23 insertions(+), 20 deletions(-)
diff --git
As with loads and stores, code offsets are kept intact until the
full gva is formed. In qemu, this is in cpu_get_tb_cpu_state.
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 7 +--
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/target/hppa/translate.c
We can directly test bits of a 32-bit comparison without
zero or sign-extending an intermediate result.
We can directly test bit 0 for odd/even.
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 78 ++---
1 file changed, 27 insertions(+), 51
Print both raw IAQ_Front and IAQ_Back as well as the GVAs.
Print control registers in system mode.
Print floating point register if CPU_DUMP_FPU.
Signed-off-by: Richard Henderson
---
target/hppa/helper.c | 60 +++-
1 file changed, 54 insertions(+), 6
Use 'v' for a variable that needs copying, 't' for a temp that
doesn't need copying, and 'i' for an immediate, and use this
naming for both arguments of the comparison. So:
cond_make_tmp -> cond_make_tt
cond_make_0_tmp -> cond_make_ti
cond_make_0 -> cond_make_vi
cond_make ->
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 12 +++-
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/target/hppa/translate.c b/target/hppa/translate.c
index 38697ddfbd..c996eb9823 100644
--- a/target/hppa/translate.c
+++ b/target/hppa/translate.c
@@
Now that we do not need to free tcg temporaries, the only
thing cond_free does is reset the condition to never.
Instead, simply write a new condition over the old, which
may be simply cond_make_f() for the never condition.
The do_*_cond functions do the right thing with c or cf == 0,
so there's
The return-by-reference is never used.
Signed-off-by: Richard Henderson
---
target/hppa/cpu.h| 3 +--
target/hppa/int_helper.c | 2 +-
target/hppa/mem_helper.c | 19 ---
target/hppa/op_helper.c | 3 +--
4 files changed, 7 insertions(+), 20 deletions(-)
diff --git
The kernel does this along the return path to user mode.
Signed-off-by: Richard Henderson
---
linux-user/hppa/target_cpu.h | 4 ++--
target/hppa/cpu.h| 3 +++
linux-user/elfload.c | 4 ++--
linux-user/hppa/cpu_loop.c | 14 +++---
linux-user/hppa/signal.c |
Add variable to track space changes to IAQ. So far, no such changes
are introduced, but the new checks vs ctx->iasq_b may eliminate an
unnecessary copy to cpu_iasq_f with e.g. BLR.
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 39 ++-
1 file
We no longer have to allocate a temp and perform an
addition before translation of the rest of the insn.
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 26 ++
1 file changed, 10 insertions(+), 16 deletions(-)
diff --git a/target/hppa/translate.c
Wrap offset and space together in one structure, ensuring
that they're copied together as required.
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 378 +---
1 file changed, 198 insertions(+), 180 deletions(-)
diff --git
Share this check between gen_goto_tb and hppa_tr_translate_insn.
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 20 ++--
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/target/hppa/translate.c b/target/hppa/translate.c
index 42fa480950..cb874e1c1e
Move space assighments to a central location.
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 58 +++--
1 file changed, 27 insertions(+), 31 deletions(-)
diff --git a/target/hppa/translate.c b/target/hppa/translate.c
index
We can directly test bits of a 32-bit comparison without
zero or sign-extending an intermediate result.
We can directly test bit 0 for odd/even.
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 64 ++---
1 file changed, 28 insertions(+), 36
Most of the patches lead up to implementing CF_PCREL.
Along the way there is a grab bag of code updates (TCG_COND_TST*),
bug fixes (space changes during branch-in-branch-delay-slot),
and implementation of features (PSW bits B, X, T, H, L).
Sven reported that PSW L tripped up HP/UX, so possibly
This simplifies callers, which might otherwise have
to make another copy.
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 7 +++
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/target/hppa/translate.c b/target/hppa/translate.c
index 7e01c21141..dd5193cb6a 100644
This function is for log_pc(), which needs to produce a
similar result to cpu_get_tb_cpu_state().
Signed-off-by: Richard Henderson
---
target/hppa/cpu.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/target/hppa/cpu.c b/target/hppa/cpu.c
index 1d5f5086bf..7315567910
Signed-off-by: Richard Henderson
---
target/alpha/translate.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/target/alpha/translate.c b/target/alpha/translate.c
index a97cd54f0c..52c2e6248b 100644
--- a/target/alpha/translate.c
+++ b/target/alpha/translate.c
@@ -432,7
ALPHA_CPU has a dynamic object type assert, which is
unnecessary considering that these are all class hooks.
Signed-off-by: Richard Henderson
---
target/alpha/cpu.c| 15 ++-
target/alpha/helper.c | 8
2 files changed, 10 insertions(+), 13 deletions(-)
diff --git
Implement pc-relative tcg code generation.
r~
Richard Henderson (5):
target/alpha: Use cpu_env in preference to ALPHA_CPU
target/alpha: Hoist branch shift to initial decode
target/alpha: Split out gen_goto_tb
target/alpha: Split out gen_pc_disp
target/alpha: Implement CF_PCREL
Signed-off-by: Richard Henderson
---
target/alpha/cpu.c | 23 ++-
target/alpha/translate.c | 29 +
2 files changed, 47 insertions(+), 5 deletions(-)
diff --git a/target/alpha/cpu.c b/target/alpha/cpu.c
index f98d022671..0e2fbcb397 100644
---
Prepare for pcrel by not modifying cpu_pc before use,
in the case of JSR.
Signed-off-by: Richard Henderson
---
target/alpha/translate.c | 41 ++--
1 file changed, 23 insertions(+), 18 deletions(-)
diff --git a/target/alpha/translate.c
Signed-off-by: Richard Henderson
---
target/alpha/translate.c | 61 ++--
1 file changed, 21 insertions(+), 40 deletions(-)
diff --git a/target/alpha/translate.c b/target/alpha/translate.c
index 52c2e6248b..c1a55e5153 100644
--- a/target/alpha/translate.c
+++
We can delay the computation of haddr until the plugin
actually requests it.
Signed-off-by: Richard Henderson
---
include/qemu/plugin.h | 4
accel/tcg/plugin-gen.c | 20
plugins/api.c | 25 -
3 files changed, 24 insertions(+), 25
Signed-off-by: Richard Henderson
---
include/exec/translator.h | 3 ++-
accel/tcg/translator.c| 2 ++
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/include/exec/translator.h b/include/exec/translator.h
index 974cc4f9c4..e92dfba035 100644
--- a/include/exec/translator.h
+++
The routines in disas-common.c are also used from disas-mon.c.
Otherwise the rest of disassembly is only used from tcg.
While we're at it, put host and target code into separate files.
Signed-off-by: Richard Henderson
---
disas/disas-internal.h | 4 +
include/disas/disas.h | 4 +
While there are other methods that could be used to replace
TARGET_PAGE_MASK, the function is not really required outside
the context of target-specific translation.
This makes the header usable by target independent code.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
Use the bytes that we record for the entire TB, rather than
a per-insn GByteArray. Record the length of the insn in
plugin_gen_insn_end rather than infering from the length
of the array.
Signed-off-by: Richard Henderson
---
include/qemu/plugin.h | 14 +-
accel/tcg/plugin-gen.c |
This will be able to replace plugin_insn_append, and will
be usable for disassembly.
Signed-off-by: Richard Henderson
---
include/exec/translator.h | 12
accel/tcg/translator.c| 41 +++
2 files changed, 53 insertions(+)
diff --git
Instead of returning a host pointer, copy the data into
storage provided by the caller.
Signed-off-by: Richard Henderson
---
include/qemu/qemu-plugin.h | 15 +++
contrib/plugins/execlog.c | 5 +++--
contrib/plugins/howvec.c | 4 ++--
plugins/api.c | 7 +--
4
Signed-off-by: Richard Henderson
---
target/riscv/translate.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/target/riscv/translate.c b/target/riscv/translate.c
index c999e942e1..2c27fd4ce1 100644
--- a/target/riscv/translate.c
+++ b/target/riscv/translate.c
@@ -20,7
Reviewed-by: Edgar E. Iglesias
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
target/cris/translate.c | 1 -
target/cris/translate_v10.c.inc | 30 +-
2 files changed, 9 insertions(+), 22 deletions(-)
diff --git
Based-on: 20240424230224.941028-1-richard.hender...@linaro.org
("[PATCH v3 00/20] Rewrite plugin code generation")
Rebase only.
Reviews required for:
04-accel-tcg-Reorg-translator_ld.patch
06-accel-tcg-Record-mmio-bytes-during-translation.patch
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
target/xtensa/translate.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/target/xtensa/translate.c b/target/xtensa/translate.c
index 42109d33ad..75b7bfda4c 100644
--- a/target/xtensa/translate.c
+++
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
include/exec/translator.h| 5 +++--
accel/tcg/translator.c | 2 +-
target/s390x/tcg/translate.c | 2 +-
3 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/include/exec/translator.h
We have eliminated most uses of this hook. Reduce
further by allowing the hook to handle only the
special cases, returning false for normal processing.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
include/exec/translator.h| 2 +-
accel/tcg/translator.c |
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
include/exec/translator.h | 18 +-
accel/tcg/translator.c| 15 ---
target/hexagon/translate.c| 1 +
target/microblaze/translate.c | 1 +
4 files changed, 19 insertions(+), 16
1 - 100 of 433 matches
Mail list logo