[PATCH] Add riscv64 architecture to fwts

Colin King colin.king at canonical.com
Sat Jul 18 16:38:54 UTC 2020


From: Colin Ian King <colin.king at 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 at 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)
-- 
2.27.0




More information about the fwts-devel mailing list