diff mbox series

Add riscv64 architecture to fwts

Message ID 20200718163854.247629-1-colin.king@canonical.com
State Accepted
Headers show
Series Add riscv64 architecture to fwts | expand

Commit Message

Colin Ian King July 18, 2020, 4:38 p.m. UTC
From: Colin Ian King <colin.king@canonical.com>

Allow riscv64 builds. Enable all ACPI and UEFI options just in
case they can be used on future riscv64 systems.

Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 debian/control                               | 10 +++++-----
 src/acpica/source/include/platform/aclinux.h |  2 +-
 src/lib/include/fwts.h                       |  7 +++++++
 3 files changed, 13 insertions(+), 6 deletions(-)

Comments

Alex Hung July 21, 2020, 1:06 a.m. UTC | #1
On 2020-07-18 10:38 a.m., Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
> 
> Allow riscv64 builds. Enable all ACPI and UEFI options just in
> case they can be used on future riscv64 systems.
> 
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
> ---
>  debian/control                               | 10 +++++-----
>  src/acpica/source/include/platform/aclinux.h |  2 +-
>  src/lib/include/fwts.h                       |  7 +++++++
>  3 files changed, 13 insertions(+), 6 deletions(-)
> 
> diff --git a/debian/control b/debian/control
> index dcc7c190..dffe027c 100644
> --- a/debian/control
> +++ b/debian/control
> @@ -7,7 +7,7 @@ Standards-Version: 3.9.8
>  Build-Depends: debhelper (>= 7.0.50~), autoconf, automake, libtool, libjson0-dev | libjson-c-dev (>= 0.9), flex, bison, dh-autoreconf, dkms, libglib2.0-dev, pkg-config, libfdt-dev, libbsd-dev
>  
>  Package: fwts
> -Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x
> +Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x riscv64
>  Depends: libfwtsiasl1 (= ${binary:Version}), libfwtsacpica1 (= ${binary:Version}), libfwts1 (= ${binary:Version}), fwts-efi-runtime-dkms (= ${binary:Version}) [amd64] , ${shlibs:Depends}, ${misc:Depends}, pciutils, device-tree-compiler [ppc64el powerpc]
>  Suggests: dmidecode
>  Description: FirmWare Test Suite
> @@ -18,7 +18,7 @@ Description: FirmWare Test Suite
>   be a Linux-centric firmware troubleshooting tool.
>  
>  Package: libfwtsiasl1
> -Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x
> +Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x riscv64
>  Depends: ${shlibs:Depends}, ${misc:Depends}
>  Description: FirmWare Test Suite ACPICA core built for iasl functionality
>   The firmware test suite requires the ACPICA core engine to be built in
> @@ -28,7 +28,7 @@ Description: FirmWare Test Suite ACPICA core built for iasl functionality
>   interface with fwts.
>  
>  Package: libfwtsacpica1
> -Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x
> +Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x riscv64
>  Depends: ${shlibs:Depends}, ${misc:Depends}
>  Description: FirmWare Test Suite ACPICA core built for acpiexec functionality
>   The firmware test suite requires the ACPICA core engine to be built in
> @@ -37,7 +37,7 @@ Description: FirmWare Test Suite ACPICA core built for acpiexec functionality
>   contains this code with a thin fwts specific API to interface with fwts.
>  
>  Package: libfwts1
> -Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x
> +Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x riscv64
>  Depends: ${shlibs:Depends}, ${misc:Depends}
>  Description: FirmWare Test Suite core support library
>   This is the fwts core library. It contains a top level test framework
> @@ -45,7 +45,7 @@ Description: FirmWare Test Suite core support library
>   various fwts tests.
>  
>  Package: fwts-frontend
> -Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x
> +Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x riscv64
>  Priority: optional
>  Depends: ${misc:Depends}, dialog, fwts
>  Description: Firmware Test Suite frontend interface
> diff --git a/src/acpica/source/include/platform/aclinux.h b/src/acpica/source/include/platform/aclinux.h
> index 8c815482..aee2e85a 100644
> --- a/src/acpica/source/include/platform/aclinux.h
> +++ b/src/acpica/source/include/platform/aclinux.h
> @@ -324,7 +324,7 @@
>  
>  #if defined(__ia64__)    || (defined(__x86_64__) && !defined(__ILP32__)) ||\
>      defined(__aarch64__) || defined(__PPC64__) ||\
> -    defined(__s390x__)
> +    defined(__s390x__) || (defined(__riscv) && (__INTPTR_WIDTH__ == 64))
>  #define ACPI_MACHINE_WIDTH          64
>  #define COMPILER_DEPENDENT_INT64    long
>  #define COMPILER_DEPENDENT_UINT64   unsigned long
> diff --git a/src/lib/include/fwts.h b/src/lib/include/fwts.h
> index 7a05befc..1e0d5870 100644
> --- a/src/lib/include/fwts.h
> +++ b/src/lib/include/fwts.h
> @@ -118,6 +118,13 @@
>  #define FWTS_USE_DEVMEM 1
>  #endif
>  
> +#if defined(__riscv)
> +#define FWTS_ARCH_RISCV	1
> +#define FWTS_HAS_ACPI	1
> +#define FWTS_HAS_UEFI	1
> +#define FWTS_USE_DEVMEM 1
> +#endif
> +
>  /* verision 3-tuple into integer */
>  #define _VER_(major, minor, patchlevel)                 \
>  	((major * 10000) + (minor * 100) + patchlevel)
> 

Acked-by: Alex Hung <alex.hung@canonical.com>
Ivan Hu July 23, 2020, 2:10 a.m. UTC | #2
On 7/19/20 12:38 AM, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
> 
> Allow riscv64 builds. Enable all ACPI and UEFI options just in
> case they can be used on future riscv64 systems.
> 
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
> ---
>  debian/control                               | 10 +++++-----
>  src/acpica/source/include/platform/aclinux.h |  2 +-
>  src/lib/include/fwts.h                       |  7 +++++++
>  3 files changed, 13 insertions(+), 6 deletions(-)
> 
> diff --git a/debian/control b/debian/control
> index dcc7c190..dffe027c 100644
> --- a/debian/control
> +++ b/debian/control
> @@ -7,7 +7,7 @@ Standards-Version: 3.9.8
>  Build-Depends: debhelper (>= 7.0.50~), autoconf, automake, libtool, libjson0-dev | libjson-c-dev (>= 0.9), flex, bison, dh-autoreconf, dkms, libglib2.0-dev, pkg-config, libfdt-dev, libbsd-dev
>  
>  Package: fwts
> -Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x
> +Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x riscv64
>  Depends: libfwtsiasl1 (= ${binary:Version}), libfwtsacpica1 (= ${binary:Version}), libfwts1 (= ${binary:Version}), fwts-efi-runtime-dkms (= ${binary:Version}) [amd64] , ${shlibs:Depends}, ${misc:Depends}, pciutils, device-tree-compiler [ppc64el powerpc]
>  Suggests: dmidecode
>  Description: FirmWare Test Suite
> @@ -18,7 +18,7 @@ Description: FirmWare Test Suite
>   be a Linux-centric firmware troubleshooting tool.
>  
>  Package: libfwtsiasl1
> -Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x
> +Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x riscv64
>  Depends: ${shlibs:Depends}, ${misc:Depends}
>  Description: FirmWare Test Suite ACPICA core built for iasl functionality
>   The firmware test suite requires the ACPICA core engine to be built in
> @@ -28,7 +28,7 @@ Description: FirmWare Test Suite ACPICA core built for iasl functionality
>   interface with fwts.
>  
>  Package: libfwtsacpica1
> -Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x
> +Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x riscv64
>  Depends: ${shlibs:Depends}, ${misc:Depends}
>  Description: FirmWare Test Suite ACPICA core built for acpiexec functionality
>   The firmware test suite requires the ACPICA core engine to be built in
> @@ -37,7 +37,7 @@ Description: FirmWare Test Suite ACPICA core built for acpiexec functionality
>   contains this code with a thin fwts specific API to interface with fwts.
>  
>  Package: libfwts1
> -Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x
> +Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x riscv64
>  Depends: ${shlibs:Depends}, ${misc:Depends}
>  Description: FirmWare Test Suite core support library
>   This is the fwts core library. It contains a top level test framework
> @@ -45,7 +45,7 @@ Description: FirmWare Test Suite core support library
>   various fwts tests.
>  
>  Package: fwts-frontend
> -Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x
> +Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x riscv64
>  Priority: optional
>  Depends: ${misc:Depends}, dialog, fwts
>  Description: Firmware Test Suite frontend interface
> diff --git a/src/acpica/source/include/platform/aclinux.h b/src/acpica/source/include/platform/aclinux.h
> index 8c815482..aee2e85a 100644
> --- a/src/acpica/source/include/platform/aclinux.h
> +++ b/src/acpica/source/include/platform/aclinux.h
> @@ -324,7 +324,7 @@
>  
>  #if defined(__ia64__)    || (defined(__x86_64__) && !defined(__ILP32__)) ||\
>      defined(__aarch64__) || defined(__PPC64__) ||\
> -    defined(__s390x__)
> +    defined(__s390x__) || (defined(__riscv) && (__INTPTR_WIDTH__ == 64))
>  #define ACPI_MACHINE_WIDTH          64
>  #define COMPILER_DEPENDENT_INT64    long
>  #define COMPILER_DEPENDENT_UINT64   unsigned long
> diff --git a/src/lib/include/fwts.h b/src/lib/include/fwts.h
> index 7a05befc..1e0d5870 100644
> --- a/src/lib/include/fwts.h
> +++ b/src/lib/include/fwts.h
> @@ -118,6 +118,13 @@
>  #define FWTS_USE_DEVMEM 1
>  #endif
>  
> +#if defined(__riscv)
> +#define FWTS_ARCH_RISCV	1
> +#define FWTS_HAS_ACPI	1
> +#define FWTS_HAS_UEFI	1
> +#define FWTS_USE_DEVMEM 1
> +#endif
> +
>  /* verision 3-tuple into integer */
>  #define _VER_(major, minor, patchlevel)                 \
>  	((major * 10000) + (minor * 100) + patchlevel)
> 


Acked-by: Ivan Hu <ivan.hu@canonical.com>
Leif Lindholm July 29, 2020, 11:59 a.m. UTC | #3
Hi Colin,

I'll confess to not following this list very closely, so apologies for
missing this when it was relevant, but:

On Sat, Jul 18, 2020 at 17:38:54 +0100, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
> 
> Allow riscv64 builds. Enable all ACPI and UEFI options just in
> case they can be used on future riscv64 systems.
> 
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
> ---
>  debian/control                               | 10 +++++-----
>  src/acpica/source/include/platform/aclinux.h |  2 +-
>  src/lib/include/fwts.h                       |  7 +++++++
>  3 files changed, 13 insertions(+), 6 deletions(-)
>

> diff --git a/src/lib/include/fwts.h b/src/lib/include/fwts.h
> index 7a05befc..1e0d5870 100644
> --- a/src/lib/include/fwts.h
> +++ b/src/lib/include/fwts.h
> @@ -118,6 +118,13 @@
>  #define FWTS_USE_DEVMEM 1
>  #endif
>  
> +#if defined(__riscv)
> +#define FWTS_ARCH_RISCV	1
> +#define FWTS_HAS_ACPI	1
> +#define FWTS_HAS_UEFI	1
> +#define FWTS_USE_DEVMEM 1

Why use DEVMEM?
It's at least as dangerous on RISC-V as is is on ARM*, and we already
provide alternative access interfaces because we needed them on ARM*.

Regards,

Leif

> +#endif
> +
>  /* verision 3-tuple into integer */
>  #define _VER_(major, minor, patchlevel)                 \
>  	((major * 10000) + (minor * 100) + patchlevel)
> -- 
> 2.27.0
> 
> 
> -- 
> fwts-devel mailing list
> fwts-devel@lists.ubuntu.com
> Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/fwts-devel
diff mbox series

Patch

diff --git a/debian/control b/debian/control
index dcc7c190..dffe027c 100644
--- a/debian/control
+++ b/debian/control
@@ -7,7 +7,7 @@  Standards-Version: 3.9.8
 Build-Depends: debhelper (>= 7.0.50~), autoconf, automake, libtool, libjson0-dev | libjson-c-dev (>= 0.9), flex, bison, dh-autoreconf, dkms, libglib2.0-dev, pkg-config, libfdt-dev, libbsd-dev
 
 Package: fwts
-Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x
+Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x riscv64
 Depends: libfwtsiasl1 (= ${binary:Version}), libfwtsacpica1 (= ${binary:Version}), libfwts1 (= ${binary:Version}), fwts-efi-runtime-dkms (= ${binary:Version}) [amd64] , ${shlibs:Depends}, ${misc:Depends}, pciutils, device-tree-compiler [ppc64el powerpc]
 Suggests: dmidecode
 Description: FirmWare Test Suite
@@ -18,7 +18,7 @@  Description: FirmWare Test Suite
  be a Linux-centric firmware troubleshooting tool.
 
 Package: libfwtsiasl1
-Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x
+Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x riscv64
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Description: FirmWare Test Suite ACPICA core built for iasl functionality
  The firmware test suite requires the ACPICA core engine to be built in
@@ -28,7 +28,7 @@  Description: FirmWare Test Suite ACPICA core built for iasl functionality
  interface with fwts.
 
 Package: libfwtsacpica1
-Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x
+Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x riscv64
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Description: FirmWare Test Suite ACPICA core built for acpiexec functionality
  The firmware test suite requires the ACPICA core engine to be built in
@@ -37,7 +37,7 @@  Description: FirmWare Test Suite ACPICA core built for acpiexec functionality
  contains this code with a thin fwts specific API to interface with fwts.
 
 Package: libfwts1
-Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x
+Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x riscv64
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Description: FirmWare Test Suite core support library
  This is the fwts core library. It contains a top level test framework
@@ -45,7 +45,7 @@  Description: FirmWare Test Suite core support library
  various fwts tests.
 
 Package: fwts-frontend
-Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x
+Architecture: i386 amd64 armel armhf arm64 ppc64 ppc64el s390x riscv64
 Priority: optional
 Depends: ${misc:Depends}, dialog, fwts
 Description: Firmware Test Suite frontend interface
diff --git a/src/acpica/source/include/platform/aclinux.h b/src/acpica/source/include/platform/aclinux.h
index 8c815482..aee2e85a 100644
--- a/src/acpica/source/include/platform/aclinux.h
+++ b/src/acpica/source/include/platform/aclinux.h
@@ -324,7 +324,7 @@ 
 
 #if defined(__ia64__)    || (defined(__x86_64__) && !defined(__ILP32__)) ||\
     defined(__aarch64__) || defined(__PPC64__) ||\
-    defined(__s390x__)
+    defined(__s390x__) || (defined(__riscv) && (__INTPTR_WIDTH__ == 64))
 #define ACPI_MACHINE_WIDTH          64
 #define COMPILER_DEPENDENT_INT64    long
 #define COMPILER_DEPENDENT_UINT64   unsigned long
diff --git a/src/lib/include/fwts.h b/src/lib/include/fwts.h
index 7a05befc..1e0d5870 100644
--- a/src/lib/include/fwts.h
+++ b/src/lib/include/fwts.h
@@ -118,6 +118,13 @@ 
 #define FWTS_USE_DEVMEM 1
 #endif
 
+#if defined(__riscv)
+#define FWTS_ARCH_RISCV	1
+#define FWTS_HAS_ACPI	1
+#define FWTS_HAS_UEFI	1
+#define FWTS_USE_DEVMEM 1
+#endif
+
 /* verision 3-tuple into integer */
 #define _VER_(major, minor, patchlevel)                 \
 	((major * 10000) + (minor * 100) + patchlevel)