On 18/04/24, Philippe Mathieu-Daudé wrote:
> Declare tlb_vaddr_to_host() in "exec/cputlb.h" with the CPU TLB
> API. Un-inline the user emulation definition to avoid including
> "exec/cpu_ldst.h" (which declares g2h) in "exec/cputlb.h".
>
> Signed-off-by: Philippe Mathieu-Daudé
> ---
> include/ex
Collin Walling writes:
> On 4/24/24 02:19, Markus Armbruster wrote:
>> Collin Walling writes:
>>
>>> This optional parameter for query-cpu-model-expansion enables CPU
>>> model features flagged as deprecated to appear in the resulting
>>> list of properties.
>>>
>>> This commit does not add sup
On Wed, 24 Apr 2024 at 13:31, Mark Cave-Ayland
wrote:
>
> On 23/04/2024 12:05, Philippe Mathieu-Daudé wrote:
>
> > On 23/4/24 11:18, Manos Pitsidianakis wrote:
> >> On Tue, 23 Apr 2024 at 11:47, Manos Pitsidianakis
> >> wrote:
> >>>
> >>> On Tue, 23 Apr 2024 at 00:11, Michael S. Tsirkin wrote:
>
On 18/04/24, Philippe Mathieu-Daudé wrote:
> On 18/4/24 21:25, Philippe Mathieu-Daudé wrote:
> > The CPUBreakpoint and CPUWatchpoint structures are declared
> > in "hw/core/cpu.h", which contains declarations related to
> > CPUState and CPUClass. Some source files only require the
> > BP/WP definit
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 interfaces.
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 rep
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 doing
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]:
https://lore.kernel.org/qemu-devel/6e7eff95-cfd3-46f9-9937-7597b2e4f...@redhat.com/
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
---
target/
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 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_sysemu.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/target/s390x/cpu_models_sysemu.c b/target/s390x/cpu_models
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 a0e4a
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 b/target/s39
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:
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: Brya
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 sen
* 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 insertions(+
* 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.
https://lore.kernel.org/all/2024
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 Xia
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 pack
* 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 (ma
* 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 changed,
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 95cee7046e..9e008
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 at
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 defa
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() return
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 +--
ui/
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
refer
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 h
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é
C
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 Hend
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 a/target/hppa/helpe
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 a/target/hppa/mem_h
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 a/tar
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 insertions(+
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
--- a/target/hpp
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 deletions
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 overhe
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 in
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
@@ -1804,11
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 cad33e7aa6..19
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 a/target/hppa/
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
+++ b/target/hppa/translate.
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 a072d0bb63..01dc
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 b/target/hppa/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 b82f32fd12..391
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(-)
d
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 +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 difference
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
--- a/targ
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 a/target/hppa/tra
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 b/target/
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 delet
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 delet
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 -> 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
@@ -3514,
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 no
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 a/t
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 | 6
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 b/target/
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 a/target/hppa/translate
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 43a74dafcf..6b3b29867
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 delet
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 the
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 a/targ
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
target/
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 b/target/alpha/translate
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
+++ b
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 delet
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
+++ b/i
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 +
disas/disa
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 | 7
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 a/include/e
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 fi
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 +2
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 a/target/cris/transl
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
07-accel-tcg-Record-when-translator_fake_ldb-i
1 - 100 of 435 matches
Mail list logo