target: Add 64-bit target address support
Define a target_addr_t type to support 32-bit and 64-bit addresses at the same time. Also define matching TARGET_PRI*ADDR format macros as well as a convenient TARGET_ADDR_FMT. In targets that are 32-bit (avr32, nds32, arm7/9/11, fm4, xmc1000) be least invasive by leaving the formatting unchanged apart from the type; for generic code adopt TARGET_ADDR_FMT as unified address format. Don't silently change gdb formatting here, leave that to later. Add COMMAND_PARSE_ADDRESS() macro to abstract the address type. Implement it using its own parse_target_addr() function, in the hopes of catching pointer type mismatches better. Add '--disable-target64' configure option to revert to previous 32-bit target address behavior. Change-Id: I2e91d205862ceb14f94b3e72a7e99ee0373a85d5 Signed-off-by: Dongxue Zhang <elta.era@gmail.com> Signed-off-by: David Ung <david.ung.42@gmail.com> [AF: Default to enabling (Paul Fertser), rename macros, simplify] Signed-off-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Matthias Welwarsky <matthias.welwarsky@sysgo.com>
This commit is contained in:
committed by
Matthias Welwarsky
parent
0ecee83266
commit
47b8cf8420
12
configure.ac
12
configure.ac
@@ -339,6 +339,10 @@ AC_ARG_ENABLE([internal-libjaylink],
|
||||
[Disable building internal libjaylink]),
|
||||
[use_internal_libjaylink=$enableval], [use_internal_libjaylink=yes])
|
||||
|
||||
AC_ARG_ENABLE([target64],
|
||||
AS_HELP_STRING([--disable-target64], [Disable 64-bit target address]),
|
||||
[build_target64=$enableval], [build_target64=yes])
|
||||
|
||||
build_minidriver=no
|
||||
AC_MSG_CHECKING([whether to enable ZY1000 minidriver])
|
||||
AS_IF([test "x$build_zy1000" = "xyes"], [
|
||||
@@ -572,6 +576,13 @@ AS_IF([test "x$build_sysfsgpio" = "xyes"], [
|
||||
AC_DEFINE([BUILD_SYSFSGPIO], [0], [0 if you don't want SysfsGPIO driver.])
|
||||
])
|
||||
|
||||
AS_IF([test "x$build_target64" = "xyes"], [
|
||||
AC_DEFINE([BUILD_TARGET64], [1], [1 if you want 64-bit addresses.])
|
||||
], [
|
||||
AC_DEFINE([BUILD_TARGET64], [0], [0 if you don't want 64-bit addresses.])
|
||||
])
|
||||
|
||||
|
||||
PKG_CHECK_MODULES([LIBUSB1], [libusb-1.0], [
|
||||
use_libusb1=yes
|
||||
AC_DEFINE([HAVE_LIBUSB1], [1], [Define if you have libusb-1.x])
|
||||
@@ -689,6 +700,7 @@ AM_CONDITIONAL([BITQ], [test "x$build_bitq" = "xyes"])
|
||||
AM_CONDITIONAL([USE_LIBFTDI], [test "x$use_libftdi" = "xyes"])
|
||||
AM_CONDITIONAL([USE_HIDAPI], [test "x$use_hidapi" = "xyes"])
|
||||
AM_CONDITIONAL([USE_LIBJAYLINK], [test "x$use_libjaylink" = "xyes"])
|
||||
AM_CONDITIONAL([TARGET64], [test "x$build_target64" = "xyes"])
|
||||
|
||||
AM_CONDITIONAL([MINIDRIVER], [test "x$build_minidriver" = "xyes"])
|
||||
AM_CONDITIONAL([MINIDRIVER_DUMMY], [test "x$build_minidriver_dummy" = "xyes"])
|
||||
|
||||
Reference in New Issue
Block a user