From 889235fee41dc9b565407ce923e5af100c839b97 Mon Sep 17 00:00:00 2001
From: Tzafrir Cohen <nvidia@cohens.org.il>
Date: Fri, 5 Feb 2021 10:36:33 +0200
Subject: [PATCH] Allow building on riscv64

---
 common/compatibility.h         | 4 +++-
 mtcr_ul/packets_common.h       | 4 +++-
 tools_layouts/adb_to_c_utils.h | 4 +++-
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/common/compatibility.h b/common/compatibility.h
index f8bc817..d163478 100644
--- a/common/compatibility.h
+++ b/common/compatibility.h
@@ -63,6 +63,8 @@
 #       define ARCH_arm64
 #   elif defined(__arm__)
 #       define ARCH_arm6l
+#   elif defined(__riscv)
+#       define ARCH_riscv
 #   else
 #       error Unknown CPU architecture using the linux OS
 #   endif
@@ -109,7 +111,7 @@
 #       define U48H_FMT     "0x%012llx"
 #       define U64D_FMT_GEN "llu"
 #   endif
-#elif defined(ARCH_ia64) || defined(ARCH_x86_64) || defined(ARCH_ppc64) || defined(ARCH_arm64)
+#elif defined(ARCH_ia64) || defined(ARCH_x86_64) || defined(ARCH_ppc64) || defined(ARCH_arm64) || defined(ARCH_riscv)
 #    define U64D_FMT     "%lu"
 #    define U64H_FMT     "0x%016lx"
 #    define U48H_FMT     "0x%012lx"
diff --git a/mtcr_ul/packets_common.h b/mtcr_ul/packets_common.h
index 4df05ef..7f43b59 100644
--- a/mtcr_ul/packets_common.h
+++ b/mtcr_ul/packets_common.h
@@ -152,6 +152,8 @@
 #       define ARCH_arm64
 #   elif defined(__arm__)
 #       define ARCH_arm6l
+#   elif defined(__riscv)
+#       define ARCH_riscv
 #   else
 #       error Unknown CPU architecture using the linux OS
 #   endif
@@ -165,7 +167,7 @@
 /* define macros for print fields */
 //#if defined (ARCH_ia64) || defined(ARCH_x86_64) || defined(ARCH_ppc64) || defined(__MINGW64__)
 /*
- #if !defined(UEFI_BUILD) && (defined (ARCH_ia64) || defined(ARCH_x86_64) || defined(ARCH_ppc64) || defined(__MINGW64__))
+ #if !defined(UEFI_BUILD) && (defined (ARCH_ia64) || defined(ARCH_x86_64) || defined(ARCH_ppc64) || defined(__MINGW64__) || defined(ARCH_riscv))
  #   define U64H_FMT "0x%016lx"
  #   define U64D_FMT "%lu"
  #   define U32H_FMT "0x%08x"
diff --git a/tools_layouts/adb_to_c_utils.h b/tools_layouts/adb_to_c_utils.h
index 2e7a1ef..61af52f 100644
--- a/tools_layouts/adb_to_c_utils.h
+++ b/tools_layouts/adb_to_c_utils.h
@@ -140,6 +140,8 @@ extern "C" {
 #       define ARCH_arm64
 #   elif defined(__arm__)
 #       define ARCH_arm6l
+#   elif defined(__riscv)
+#       define ARCH_riscv
 #   else
 #       error Unknown CPU architecture using the linux OS
 #   endif
@@ -183,7 +185,7 @@ extern "C" {
 #       define U64H_FMT    "0x%016llx"
 #       define U48H_FMT    "0x%012llx"
 #   endif
-#elif defined (ARCH_ia64) || defined(ARCH_x86_64) || defined(ARCH_ppc64) || defined(ARCH_arm64)
+#elif defined (ARCH_ia64) || defined(ARCH_x86_64) || defined(ARCH_ppc64) || defined(ARCH_arm64) || defined(ARCH_riscv)
 #    define U64D_FMT    "%lu"
 #    define U64H_FMT    "0x%016lx"
 #	 define U48H_FMT	"0x%012lx" 
-- 
2.40.1

