All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL 0/2] tcg patch queue
@ 2019-02-21 19:02 Richard Henderson
  2019-02-21 19:02 ` [Qemu-devel] [PULL 1/2] tcg: Remove TODO file Richard Henderson
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Richard Henderson @ 2019-02-21 19:02 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell

The following changes since commit fc3dbb90f2eb069801bfb4cfe9cbc83cf9c5f4a9:

  Merge remote-tracking branch 'remotes/jnsnow/tags/bitmaps-pull-request' into staging (2019-02-21 13:09:33 +0000)

are available in the Git repository at:

  https://github.com/rth7680/qemu.git tags/pull-tcg-20190221

for you to fetch changes up to 8c6edfdd90522caa4fc429144d393aba5b99f584:

  include/exec/helper-head.h: support "const void *" in helper calls (2019-02-21 10:22:24 -0800)

----------------------------------------------------------------
Allow const void * as argument to helpers.
Remove obsolete TODO file.

----------------------------------------------------------------
David Hildenbrand (1):
      include/exec/helper-head.h: support "const void *" in helper calls

Richard Henderson (1):
      tcg: Remove TODO file

 include/exec/helper-head.h |  5 +++++
 tcg/TODO                   | 14 --------------
 2 files changed, 5 insertions(+), 14 deletions(-)
 delete mode 100644 tcg/TODO

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Qemu-devel] [PULL 1/2] tcg: Remove TODO file
  2019-02-21 19:02 [Qemu-devel] [PULL 0/2] tcg patch queue Richard Henderson
@ 2019-02-21 19:02 ` Richard Henderson
  2019-02-21 19:02 ` [Qemu-devel] [PULL 2/2] include/exec/helper-head.h: support "const void *" in helper calls Richard Henderson
  2019-02-22 13:53 ` [Qemu-devel] [PULL 0/2] tcg patch queue Peter Maydell
  2 siblings, 0 replies; 4+ messages in thread
From: Richard Henderson @ 2019-02-21 19:02 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell

The last update to this file was 9 years ago.  In the meantime,
4 of the 6 ideas have actually been completed.  The lat two do
not actually make sense anymore.

Suggested-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 tcg/TODO | 14 --------------
 1 file changed, 14 deletions(-)
 delete mode 100644 tcg/TODO

diff --git a/tcg/TODO b/tcg/TODO
deleted file mode 100644
index 074784778e..0000000000
--- a/tcg/TODO
+++ /dev/null
@@ -1,14 +0,0 @@
-- Add new instructions such as: clz, ctz, popcnt.
-
-- See if it is worth exporting mul2, mulu2, div2, divu2. 
-
-- Support of globals saved in fixed registers between TBs.
-
-Ideas:
-
-- Move the slow part of the qemu_ld/st ops after the end of the TB.
-
-- Change exception syntax to get closer to QOP system (exception
-  parameters given with a specific instruction).
-
-- Add float and vector support.
-- 
2.17.2

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Qemu-devel] [PULL 2/2] include/exec/helper-head.h: support "const void *" in helper calls
  2019-02-21 19:02 [Qemu-devel] [PULL 0/2] tcg patch queue Richard Henderson
  2019-02-21 19:02 ` [Qemu-devel] [PULL 1/2] tcg: Remove TODO file Richard Henderson
@ 2019-02-21 19:02 ` Richard Henderson
  2019-02-22 13:53 ` [Qemu-devel] [PULL 0/2] tcg patch queue Peter Maydell
  2 siblings, 0 replies; 4+ messages in thread
From: Richard Henderson @ 2019-02-21 19:02 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, David Hildenbrand

From: David Hildenbrand <david@redhat.com>

Especially when dealing with out-of-line gvec helpers, it is often
helpful to specify some vector pointers as constant. E.g. when
we have two inputs and one output, marking the two inputs as consts
pointers helps to avoid bugs.

Const pointers can be specified via "cptr", however behave in TCG just
like ordinary pointers. We can specify helpers like:

DEF_HELPER_FLAGS_4(gvec_vbperm, TCG_CALL_NO_RWG, void, ptr, cptr, cptr, i32)

void HELPER(gvec_vbperm)(void *v1, const void *v2, const void *v3,
                         uint32_t desc)

And make sure that here, only v1 will be written (as long as const is
not casted away, of course).

Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20190221093459.22547-1-david@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 include/exec/helper-head.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/include/exec/helper-head.h b/include/exec/helper-head.h
index ab4f8b6623..f2519c9741 100644
--- a/include/exec/helper-head.h
+++ b/include/exec/helper-head.h
@@ -30,6 +30,7 @@
 #define dh_alias_f32 i32
 #define dh_alias_f64 i64
 #define dh_alias_ptr ptr
+#define dh_alias_cptr ptr
 #define dh_alias_void void
 #define dh_alias_noreturn noreturn
 #define dh_alias(t) glue(dh_alias_, t)
@@ -43,6 +44,7 @@
 #define dh_ctype_f32 float32
 #define dh_ctype_f64 float64
 #define dh_ctype_ptr void *
+#define dh_ctype_cptr const void *
 #define dh_ctype_void void
 #define dh_ctype_noreturn void QEMU_NORETURN
 #define dh_ctype(t) dh_ctype_##t
@@ -88,6 +90,7 @@
 #define dh_is_64bit_i32 0
 #define dh_is_64bit_i64 1
 #define dh_is_64bit_ptr (sizeof(void *) == 8)
+#define dh_is_64bit_cptr dh_is_64bit_ptr
 #define dh_is_64bit(t) glue(dh_is_64bit_, dh_alias(t))
 
 #define dh_is_signed_void 0
@@ -105,6 +108,7 @@
    extension instructions that may be required, e.g. ia64's addp4.  But
    for now we don't support any 64-bit targets with 32-bit pointers.  */
 #define dh_is_signed_ptr 0
+#define dh_is_signed_cptr dh_is_signed_ptr
 #define dh_is_signed_env dh_is_signed_ptr
 #define dh_is_signed(t) dh_is_signed_##t
 
@@ -117,6 +121,7 @@
 #define dh_callflag_f32  0
 #define dh_callflag_f64  0
 #define dh_callflag_ptr  0
+#define dh_callflag_cptr dh_callflag_ptr
 #define dh_callflag_void 0
 #define dh_callflag_noreturn TCG_CALL_NO_RETURN
 #define dh_callflag(t) glue(dh_callflag_, dh_alias(t))
-- 
2.17.2

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [PULL 0/2] tcg patch queue
  2019-02-21 19:02 [Qemu-devel] [PULL 0/2] tcg patch queue Richard Henderson
  2019-02-21 19:02 ` [Qemu-devel] [PULL 1/2] tcg: Remove TODO file Richard Henderson
  2019-02-21 19:02 ` [Qemu-devel] [PULL 2/2] include/exec/helper-head.h: support "const void *" in helper calls Richard Henderson
@ 2019-02-22 13:53 ` Peter Maydell
  2 siblings, 0 replies; 4+ messages in thread
From: Peter Maydell @ 2019-02-22 13:53 UTC (permalink / raw)
  To: Richard Henderson; +Cc: QEMU Developers

On Thu, 21 Feb 2019 at 19:02, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> The following changes since commit fc3dbb90f2eb069801bfb4cfe9cbc83cf9c5f4a9:
>
>   Merge remote-tracking branch 'remotes/jnsnow/tags/bitmaps-pull-request' into staging (2019-02-21 13:09:33 +0000)
>
> are available in the Git repository at:
>
>   https://github.com/rth7680/qemu.git tags/pull-tcg-20190221
>
> for you to fetch changes up to 8c6edfdd90522caa4fc429144d393aba5b99f584:
>
>   include/exec/helper-head.h: support "const void *" in helper calls (2019-02-21 10:22:24 -0800)
>
> ----------------------------------------------------------------
> Allow const void * as argument to helpers.
> Remove obsolete TODO file.
>

Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/4.0
for any user-visible changes.

-- PMM

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-02-22 13:53 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-21 19:02 [Qemu-devel] [PULL 0/2] tcg patch queue Richard Henderson
2019-02-21 19:02 ` [Qemu-devel] [PULL 1/2] tcg: Remove TODO file Richard Henderson
2019-02-21 19:02 ` [Qemu-devel] [PULL 2/2] include/exec/helper-head.h: support "const void *" in helper calls Richard Henderson
2019-02-22 13:53 ` [Qemu-devel] [PULL 0/2] tcg patch queue Peter Maydell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.