diff -Nur a/build/_aux/config.guess b/build/_aux/config.guess
--- a/build/_aux/config.guess	2023-10-10 04:36:24.000000000 +0800
+++ b/build/_aux/config.guess	2023-10-26 15:56:04.249689094 +0800
@@ -978,6 +978,9 @@
     aarch64:Linux:*:*)
 	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
 	;;
+    riscv64:Linux:*:*)
+	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+	;;
     aarch64_be:Linux:*:*)
 	UNAME_MACHINE=aarch64_be
 	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
diff -Nur a/include/tscore/ink_queue.h b/include/tscore/ink_queue.h
--- a/include/tscore/ink_queue.h	2023-10-10 04:36:24.000000000 +0800
+++ b/include/tscore/ink_queue.h	2023-10-26 16:00:51.693855882 +0800
@@ -139,7 +139,7 @@
 #define SET_FREELIST_POINTER_VERSION(_x, _p, _v) \
   (_x).s.pointer = _p;                           \
   (_x).s.version = _v
-#elif defined(__x86_64__) || defined(__ia64__) || defined(__powerpc64__) || defined(__mips64)
+#elif defined(__x86_64__) || defined(__ia64__) || defined(__powerpc64__) || defined(__mips64) || defined(__riscv)
 /* Layout of FREELIST_POINTER
  *
  *  0 ~ 47 bits : 48 bits, Virtual Address
diff --git a/iocore/eventsystem/UnixEventProcessor.cc b/iocore/eventsystem/UnixEventProcessor.cc
index 7980f08..1f9f30d 100644
--- a/iocore/eventsystem/UnixEventProcessor.cc
+++ b/iocore/eventsystem/UnixEventProcessor.cc
@@ -141,7 +141,7 @@ void
 ThreadAffinityInitializer::setup_stack_guard(void *stack, int stackguard_pages)
 {
 #if !(defined(__i386__) || defined(__x86_64__) || defined(__arm__) || defined(__arm64__) || defined(__aarch64__) || \
-      defined(__mips__) || defined(__powerpc64__))
+      defined(__mips__) || defined(__powerpc64__) || defined(__riscv))
 #error Unknown stack growth direction.  Determine the stack growth direction of your platform.
 // If your stack grows upwards, you need to change this function and the calculation of stack_begin in do_alloc_stack.
 #endif
