* [Qemu-devel] [PATCH 0/2] cpu_ldst.h: Minor cleanups in ld/st macros
@ 2015-01-13 18:31 Peter Maydell
2015-01-13 18:32 ` [Qemu-devel] [PATCH 1/2] cpu_ldst.h: Remove unused ldul_ macros Peter Maydell
2015-01-13 18:32 ` [Qemu-devel] [PATCH 2/2] cpu_ldst.h: Collapse laddr() and saddr() into ldst_get_host_addr() Peter Maydell
0 siblings, 2 replies; 5+ messages in thread
From: Peter Maydell @ 2015-01-13 18:31 UTC (permalink / raw)
To: qemu-devel; +Cc: Paolo Bonzini, Richard Henderson, patches
These two patches make some minor cleanups to cpu_ldst.h which I
noticed while I was trying to get my head around our confusing
mess of load and store related functions.
Peter Maydell (2):
cpu_ldst.h: Remove unused ldul_ macros
cpu_ldst.h: Collapse laddr() and saddr() into ldst_get_host_addr()
include/exec/cpu_ldst.h | 46 +++++++++++++++++++---------------------------
1 file changed, 19 insertions(+), 27 deletions(-)
--
1.9.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Qemu-devel] [PATCH 1/2] cpu_ldst.h: Remove unused ldul_ macros
2015-01-13 18:31 [Qemu-devel] [PATCH 0/2] cpu_ldst.h: Minor cleanups in ld/st macros Peter Maydell
@ 2015-01-13 18:32 ` Peter Maydell
2015-01-13 19:50 ` Paolo Bonzini
2015-01-13 18:32 ` [Qemu-devel] [PATCH 2/2] cpu_ldst.h: Collapse laddr() and saddr() into ldst_get_host_addr() Peter Maydell
1 sibling, 1 reply; 5+ messages in thread
From: Peter Maydell @ 2015-01-13 18:32 UTC (permalink / raw)
To: qemu-devel; +Cc: Paolo Bonzini, Richard Henderson, patches
The five ldul_ macros are not used anywhere and are marked up with an XXX
comment. "ldul" is a non-standard prefix for our family of load instructions:
we don't mark 32-bit accesses for signedness because they return a 32 bit
quantity. So just delete them.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
include/exec/cpu_ldst.h | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/include/exec/cpu_ldst.h b/include/exec/cpu_ldst.h
index e5550e7..4700831 100644
--- a/include/exec/cpu_ldst.h
+++ b/include/exec/cpu_ldst.h
@@ -151,15 +151,6 @@
#else
-/* XXX: find something cleaner.
- * Furthermore, this is false for 64 bits targets
- */
-#define ldul_user ldl_user
-#define ldul_kernel ldl_kernel
-#define ldul_hypv ldl_hypv
-#define ldul_executive ldl_executive
-#define ldul_supervisor ldl_supervisor
-
/* The memory helpers for tcg-generated code need tcg_target_long etc. */
#include "tcg.h"
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Qemu-devel] [PATCH 2/2] cpu_ldst.h: Collapse laddr() and saddr() into ldst_get_host_addr()
2015-01-13 18:31 [Qemu-devel] [PATCH 0/2] cpu_ldst.h: Minor cleanups in ld/st macros Peter Maydell
2015-01-13 18:32 ` [Qemu-devel] [PATCH 1/2] cpu_ldst.h: Remove unused ldul_ macros Peter Maydell
@ 2015-01-13 18:32 ` Peter Maydell
2015-01-13 19:15 ` Peter Maydell
1 sibling, 1 reply; 5+ messages in thread
From: Peter Maydell @ 2015-01-13 18:32 UTC (permalink / raw)
To: qemu-devel; +Cc: Paolo Bonzini, Richard Henderson, patches
The macros laddr() and saddr() are always defined to be identical
to each other. Replace them with a single macro, and give it a
longer name so it's easier to grep the codebase and confirm that
it's only used in this one place: ldst_get_host_addr().
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
include/exec/cpu_ldst.h | 37 +++++++++++++++++++------------------
1 file changed, 19 insertions(+), 18 deletions(-)
diff --git a/include/exec/cpu_ldst.h b/include/exec/cpu_ldst.h
index 4700831..0aae9e4 100644
--- a/include/exec/cpu_ldst.h
+++ b/include/exec/cpu_ldst.h
@@ -53,30 +53,31 @@
h2g_nocheck(x); \
})
-#define saddr(x) g2h(x)
-#define laddr(x) g2h(x)
+#define ldst_get_host_addr(x) g2h(x)
#else /* !CONFIG_USER_ONLY */
/* NOTE: we use double casts if pointers and target_ulong have
different sizes */
-#define saddr(x) (uint8_t *)(intptr_t)(x)
-#define laddr(x) (uint8_t *)(intptr_t)(x)
+#define ldst_get_host_addr(x) (uint8_t *)(intptr_t)(x)
#endif
-#define ldub_raw(p) ldub_p(laddr((p)))
-#define ldsb_raw(p) ldsb_p(laddr((p)))
-#define lduw_raw(p) lduw_p(laddr((p)))
-#define ldsw_raw(p) ldsw_p(laddr((p)))
-#define ldl_raw(p) ldl_p(laddr((p)))
-#define ldq_raw(p) ldq_p(laddr((p)))
-#define ldfl_raw(p) ldfl_p(laddr((p)))
-#define ldfq_raw(p) ldfq_p(laddr((p)))
-#define stb_raw(p, v) stb_p(saddr((p)), v)
-#define stw_raw(p, v) stw_p(saddr((p)), v)
-#define stl_raw(p, v) stl_p(saddr((p)), v)
-#define stq_raw(p, v) stq_p(saddr((p)), v)
-#define stfl_raw(p, v) stfl_p(saddr((p)), v)
-#define stfq_raw(p, v) stfq_p(saddr((p)), v)
+/* Note that ldst_get_host_addr() should not be used anywhere outside
+ * these macros
+ */
+#define ldub_raw(p) ldub_p(ldst_get_host_addr(p))
+#define ldsb_raw(p) ldsb_p(ldst_get_host_addr(p))
+#define lduw_raw(p) lduw_p(ldst_get_host_addr(p))
+#define ldsw_raw(p) ldsw_p(ldst_get_host_addr(p))
+#define ldl_raw(p) ldl_p(ldst_get_host_addr(p))
+#define ldq_raw(p) ldq_p(ldst_get_host_addr(p))
+#define ldfl_raw(p) ldfl_p(ldst_get_host_addr(p))
+#define ldfq_raw(p) ldfq_p(ldst_get_host_addr(p))
+#define stb_raw(p, v) stb_p(ldst_get_host_addr(p), v)
+#define stw_raw(p, v) stw_p(ldst_get_host_addr(p), v)
+#define stl_raw(p, v) stl_p(ldst_get_host_addr(p), v)
+#define stq_raw(p, v) stq_p(ldst_get_host_addr(p), v)
+#define stfl_raw(p, v) stfl_p(ldst_get_host_addr(p), v)
+#define stfq_raw(p, v) stfq_p(ldst_get_host_addr(p), v)
#if defined(CONFIG_USER_ONLY)
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] cpu_ldst.h: Collapse laddr() and saddr() into ldst_get_host_addr()
2015-01-13 18:32 ` [Qemu-devel] [PATCH 2/2] cpu_ldst.h: Collapse laddr() and saddr() into ldst_get_host_addr() Peter Maydell
@ 2015-01-13 19:15 ` Peter Maydell
0 siblings, 0 replies; 5+ messages in thread
From: Peter Maydell @ 2015-01-13 19:15 UTC (permalink / raw)
To: QEMU Developers; +Cc: Paolo Bonzini, Patch Tracking, Richard Henderson
On 13 January 2015 at 18:32, Peter Maydell <peter.maydell@linaro.org> wrote:
> The macros laddr() and saddr() are always defined to be identical
> to each other. Replace them with a single macro, and give it a
> longer name so it's easier to grep the codebase and confirm that
> it's only used in this one place: ldst_get_host_addr().
Hmm. Actually I think we should be able to drop the _raw() accessors
entirely -- they're kind of nonsensical on softmmu and four unnecessary
extra characters on linux-user. (The only place we use them in softmmu
is in monitor.c where it should be using the ld*_p functions instead.)
I'll put together a patchset...
-- PMM
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] cpu_ldst.h: Remove unused ldul_ macros
2015-01-13 18:32 ` [Qemu-devel] [PATCH 1/2] cpu_ldst.h: Remove unused ldul_ macros Peter Maydell
@ 2015-01-13 19:50 ` Paolo Bonzini
0 siblings, 0 replies; 5+ messages in thread
From: Paolo Bonzini @ 2015-01-13 19:50 UTC (permalink / raw)
To: Peter Maydell, qemu-devel; +Cc: patches, Richard Henderson
On 13/01/2015 19:32, Peter Maydell wrote:
> The five ldul_ macros are not used anywhere and are marked up with an XXX
> comment. "ldul" is a non-standard prefix for our family of load instructions:
> we don't mark 32-bit accesses for signedness because they return a 32 bit
> quantity. So just delete them.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> include/exec/cpu_ldst.h | 9 ---------
> 1 file changed, 9 deletions(-)
>
> diff --git a/include/exec/cpu_ldst.h b/include/exec/cpu_ldst.h
> index e5550e7..4700831 100644
> --- a/include/exec/cpu_ldst.h
> +++ b/include/exec/cpu_ldst.h
> @@ -151,15 +151,6 @@
>
> #else
>
> -/* XXX: find something cleaner.
> - * Furthermore, this is false for 64 bits targets
> - */
> -#define ldul_user ldl_user
> -#define ldul_kernel ldl_kernel
> -#define ldul_hypv ldl_hypv
> -#define ldul_executive ldl_executive
> -#define ldul_supervisor ldl_supervisor
> -
> /* The memory helpers for tcg-generated code need tcg_target_long etc. */
> #include "tcg.h"
>
>
Trivial, even.
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-01-13 19:50 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-13 18:31 [Qemu-devel] [PATCH 0/2] cpu_ldst.h: Minor cleanups in ld/st macros Peter Maydell
2015-01-13 18:32 ` [Qemu-devel] [PATCH 1/2] cpu_ldst.h: Remove unused ldul_ macros Peter Maydell
2015-01-13 19:50 ` Paolo Bonzini
2015-01-13 18:32 ` [Qemu-devel] [PATCH 2/2] cpu_ldst.h: Collapse laddr() and saddr() into ldst_get_host_addr() Peter Maydell
2015-01-13 19:15 ` Peter Maydell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).