qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [5954] linux-user: Move abi_* typedefs into qemu-types.h
@ 2008-12-08 18:12 Aurelien Jarno
  2008-12-12 22:40 ` Stuart Brady
  0 siblings, 1 reply; 4+ messages in thread
From: Aurelien Jarno @ 2008-12-08 18:12 UTC (permalink / raw)
  To: qemu-devel

Revision: 5954
          http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=5954
Author:   aurel32
Date:     2008-12-08 18:12:04 +0000 (Mon, 08 Dec 2008)

Log Message:
-----------
linux-user: Move abi_* typedefs into qemu-types.h

Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

Modified Paths:
--------------
    trunk/bsd-user/qemu.h
    trunk/linux-user/qemu.h

Added Paths:
-----------
    trunk/bsd-user/qemu-types.h
    trunk/linux-user/qemu-types.h

Added: trunk/bsd-user/qemu-types.h
===================================================================
--- trunk/bsd-user/qemu-types.h	                        (rev 0)
+++ trunk/bsd-user/qemu-types.h	2008-12-08 18:12:04 UTC (rev 5954)
@@ -0,0 +1,24 @@
+#ifndef QEMU_TYPES_H
+#define QEMU_TYPES_H
+#include "cpu.h"
+
+#ifdef TARGET_ABI32
+typedef uint32_t abi_ulong;
+typedef int32_t abi_long;
+#define TARGET_ABI_FMT_lx "%08x"
+#define TARGET_ABI_FMT_ld "%d"
+#define TARGET_ABI_FMT_lu "%u"
+#define TARGET_ABI_BITS 32
+#else
+typedef target_ulong abi_ulong;
+typedef target_long abi_long;
+#define TARGET_ABI_FMT_lx TARGET_FMT_lx
+#define TARGET_ABI_FMT_ld TARGET_FMT_ld
+#define TARGET_ABI_FMT_lu TARGET_FMT_lu
+#define TARGET_ABI_BITS TARGET_LONG_BITS
+/* for consistency, define ABI32 too */
+#if TARGET_ABI_BITS == 32
+#define TARGET_ABI32 1
+#endif
+#endif
+#endif

Modified: trunk/bsd-user/qemu.h
===================================================================
--- trunk/bsd-user/qemu.h	2008-12-08 18:11:57 UTC (rev 5953)
+++ trunk/bsd-user/qemu.h	2008-12-08 18:12:04 UTC (rev 5954)
@@ -11,25 +11,7 @@
 #include <stdlib.h>
 #endif /* DEBUG_REMAP */
 
-#ifdef TARGET_ABI32
-typedef uint32_t abi_ulong;
-typedef int32_t abi_long;
-#define TARGET_ABI_FMT_lx "%08x"
-#define TARGET_ABI_FMT_ld "%d"
-#define TARGET_ABI_FMT_lu "%u"
-#define TARGET_ABI_BITS 32
-#else
-typedef target_ulong abi_ulong;
-typedef target_long abi_long;
-#define TARGET_ABI_FMT_lx TARGET_FMT_lx
-#define TARGET_ABI_FMT_ld TARGET_FMT_ld
-#define TARGET_ABI_FMT_lu TARGET_FMT_lu
-#define TARGET_ABI_BITS TARGET_LONG_BITS
-/* for consistency, define ABI32 too */
-#if TARGET_ABI_BITS == 32
-#define TARGET_ABI32 1
-#endif
-#endif
+#include "qemu-types.h"
 
 enum BSDType {
     target_freebsd,

Added: trunk/linux-user/qemu-types.h
===================================================================
--- trunk/linux-user/qemu-types.h	                        (rev 0)
+++ trunk/linux-user/qemu-types.h	2008-12-08 18:12:04 UTC (rev 5954)
@@ -0,0 +1,24 @@
+#ifndef QEMU_TYPES_H
+#define QEMU_TYPES_H
+#include "cpu.h"
+
+#ifdef TARGET_ABI32
+typedef uint32_t abi_ulong;
+typedef int32_t abi_long;
+#define TARGET_ABI_FMT_lx "%08x"
+#define TARGET_ABI_FMT_ld "%d"
+#define TARGET_ABI_FMT_lu "%u"
+#define TARGET_ABI_BITS 32
+#else
+typedef target_ulong abi_ulong;
+typedef target_long abi_long;
+#define TARGET_ABI_FMT_lx TARGET_FMT_lx
+#define TARGET_ABI_FMT_ld TARGET_FMT_ld
+#define TARGET_ABI_FMT_lu TARGET_FMT_lu
+#define TARGET_ABI_BITS TARGET_LONG_BITS
+/* for consistency, define ABI32 too */
+#if TARGET_ABI_BITS == 32
+#define TARGET_ABI32 1
+#endif
+#endif
+#endif

Modified: trunk/linux-user/qemu.h
===================================================================
--- trunk/linux-user/qemu.h	2008-12-08 18:11:57 UTC (rev 5953)
+++ trunk/linux-user/qemu.h	2008-12-08 18:12:04 UTC (rev 5954)
@@ -11,25 +11,7 @@
 #include <stdlib.h>
 #endif /* DEBUG_REMAP */
 
-#ifdef TARGET_ABI32
-typedef uint32_t abi_ulong;
-typedef int32_t abi_long;
-#define TARGET_ABI_FMT_lx "%08x"
-#define TARGET_ABI_FMT_ld "%d"
-#define TARGET_ABI_FMT_lu "%u"
-#define TARGET_ABI_BITS 32
-#else
-typedef target_ulong abi_ulong;
-typedef target_long abi_long;
-#define TARGET_ABI_FMT_lx TARGET_FMT_lx
-#define TARGET_ABI_FMT_ld TARGET_FMT_ld
-#define TARGET_ABI_FMT_lu TARGET_FMT_lu
-#define TARGET_ABI_BITS TARGET_LONG_BITS
-/* for consistency, define ABI32 too */
-#if TARGET_ABI_BITS == 32
-#define TARGET_ABI32 1
-#endif
-#endif
+#include "qemu-types.h"
 
 #include "thunk.h"
 #include "syscall_defs.h"

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

* Re: [Qemu-devel] [5954] linux-user: Move abi_* typedefs into qemu-types.h
  2008-12-08 18:12 [Qemu-devel] [5954] linux-user: Move abi_* typedefs into qemu-types.h Aurelien Jarno
@ 2008-12-12 22:40 ` Stuart Brady
  2008-12-12 22:57   ` Andreas Färber
  0 siblings, 1 reply; 4+ messages in thread
From: Stuart Brady @ 2008-12-12 22:40 UTC (permalink / raw)
  To: qemu-devel

On Mon, Dec 08, 2008 at 06:12:04PM +0000, Aurelien Jarno wrote:
> linux-user: Move abi_* typedefs into qemu-types.h

> Added Paths:
> -----------
>     trunk/bsd-user/qemu-types.h
>     trunk/linux-user/qemu-types.h

Sorry if I'm a little late with this comment, but might it be better
if bsd-user and linux-user emulation shared the same header, here?
(It seems likely that any changes would have to be made to both files,
and there might be the possibility of other user emulation targets
appearing in the future.)

BTW, it does seem strange to me that the types are named 'target_long'
and 'abi_long'.  The 'long' type would seem to me to be an ABI concept
by definition, so I would have expected target_long to match the target
ABI's long type, and something with a name similar to target_word to
refer to the target CPU's 'word size' (whatever that really means...)

I guess the approach that was taken was to replace target_longs with
abi_longs in the relatively small number of places where abi_longs were
needed, as the other approach would have been much more disruptive...

Cheers,
-- 
Stuart Brady

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

* Re: [Qemu-devel] [5954] linux-user: Move abi_* typedefs into qemu-types.h
  2008-12-12 22:40 ` Stuart Brady
@ 2008-12-12 22:57   ` Andreas Färber
  2008-12-12 23:18     ` Stuart Brady
  0 siblings, 1 reply; 4+ messages in thread
From: Andreas Färber @ 2008-12-12 22:57 UTC (permalink / raw)
  To: qemu-devel


Am 12.12.2008 um 23:40 schrieb Stuart Brady:

> On Mon, Dec 08, 2008 at 06:12:04PM +0000, Aurelien Jarno wrote:
>> linux-user: Move abi_* typedefs into qemu-types.h
>
>> Added Paths:
>> -----------
>>    trunk/bsd-user/qemu-types.h
>>    trunk/linux-user/qemu-types.h
>
> Sorry if I'm a little late with this comment, but might it be better
> if bsd-user and linux-user emulation shared the same header, here?

Fabrice was said to be against sharing code between the various user  
emulators.

Andreas

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

* Re: [Qemu-devel] [5954] linux-user: Move abi_* typedefs into qemu-types.h
  2008-12-12 22:57   ` Andreas Färber
@ 2008-12-12 23:18     ` Stuart Brady
  0 siblings, 0 replies; 4+ messages in thread
From: Stuart Brady @ 2008-12-12 23:18 UTC (permalink / raw)
  To: qemu-devel

On Fri, Dec 12, 2008 at 11:57:02PM +0100, Andreas Färber wrote:
> Am 12.12.2008 um 23:40 schrieb Stuart Brady:
> >Sorry if I'm a little late with this comment, but might it be better
> >if bsd-user and linux-user emulation shared the same header, here?
> 
> Fabrice was said to be against sharing code between the various user  
> emulators.

Hmm, good point -- but these definitions seem so fundamental that I
wonder whether that still applies.  I.e. should each user emulator have
its own definitions of target_long, etc. too?  (Well, obviously not...)
-- 
Stuart Brady

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

end of thread, other threads:[~2008-12-12 23:16 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-08 18:12 [Qemu-devel] [5954] linux-user: Move abi_* typedefs into qemu-types.h Aurelien Jarno
2008-12-12 22:40 ` Stuart Brady
2008-12-12 22:57   ` Andreas Färber
2008-12-12 23:18     ` Stuart Brady

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).