diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 5fdf947..d625666 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -7,6 +7,7 @@ config ARM64
select ARCH_HAS_ALT_SYSCALL
select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
select ARCH_HAS_SG_CHAIN
+ select ARCH_HAS_KCOV
select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
select ARCH_USE_CMPXCHG_LOCKREF
select ARCH_SUPPORTS_ATOMIC_RMW
diff --git a/arch/arm64/kernel/Makefile b/arch/arm64/kernel/Makefile
index bedcbec..bbae5f1 100644
--- a/arch/arm64/kernel/Makefile
+++ b/arch/arm64/kernel/Makefile
@@ -7,6 +7,8 @@ AFLAGS_head.o := -DTEXT_OFFSET=$(TEXT_OFFSET)
CFLAGS_efi-stub.o := -DTEXT_OFFSET=$(TEXT_OFFSET)
CFLAGS_armv8_deprecated.o := -I$(src)
+KCOV_INSTRUMENT_efi-stub.o := n
+KCOV_INSTRUMENT_stacktrace.o := n
KASAN_SANITIZE_efi-stub.o := n
KASAN_SANITIZE_stacktrace.o := n
CFLAGS_REMOVE_ftrace.o = -pg
diff --git a/arch/arm64/lib/Makefile b/arch/arm64/lib/Makefile
index d98d3e3..a1759a7 100644
--- a/arch/arm64/lib/Makefile
+++ b/arch/arm64/lib/Makefile
@@ -1,3 +1,5 @@
+# Produces uninteresting flaky coverage.
+KCOV_INSTRUMENT_delay.o := n
lib-y := bitops.o clear_user.o delay.o copy_from_user.o \
copy_to_user.o copy_in_user.o copy_page.o \
clear_page.o memchr.o memcpy.o memmove.o memset.o \