summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Czapiga <czapiga@google.com>2024-06-19 10:27:03 +0200
committerAnastasia Klimchuk <aklm@chromium.org>2024-06-27 00:42:14 +0000
commit30d1b5a1070f400b7591c724b8c3fe5fd00c0999 (patch)
tree3dc5ce6c71002018706464388ded7644225b0c4c
parenteeb9b5dcf055ca4fc8e17cc5c4278f8e4c10bb23 (diff)
downloadflashrom-30d1b5a1070f400b7591c724b8c3fe5fd00c0999.tar.gz
flashrom-30d1b5a1070f400b7591c724b8c3fe5fd00c0999.tar.bz2
flashrom-30d1b5a1070f400b7591c724b8c3fe5fd00c0999.zip
hwaccess_x86_io: Fix Android compilation with bionic libc
Recently Android Bionic LibC got sys/io.h. Use this header to access ioperm(). Use Assembly for I/O, as Bionic does not have inb(), outb(), etc. Tested on Android 14 by adding flashrom and pciutils as external repositories, adding Android.bp blueprints (Android specialized build system - Soong), building, running and accessing (read, erase, write) SPI flash on x86 device. Change-Id: Id80b83c2718679c925ed6ddfe33cbe837eea0429 Signed-off-by: Jakub Czapiga <czapiga@google.com> Reviewed-on: https://review.coreboot.org/c/flashrom/+/83133 Reviewed-by: Peter Marheine <pmarheine@chromium.org> Reviewed-by: Hsuan-ting Chen <roccochen@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Anastasia Klimchuk <aklm@chromium.org>
-rw-r--r--hwaccess_x86_io.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/hwaccess_x86_io.c b/hwaccess_x86_io.c
index 93d29d82d..70b743959 100644
--- a/hwaccess_x86_io.c
+++ b/hwaccess_x86_io.c
@@ -58,10 +58,11 @@
#define USE_IOPERM 9
#if defined(__ANDROID__)
-#include <sys/glibc-syscalls.h>
+#include <sys/io.h>
+#include <unistd.h>
-#define IO_PORT_PERMISSION USE_IOPL
-#define IO_PORT_FUNCTION USE_LIBC_TARGET_LAST
+#define IO_PORT_PERMISSION USE_IOPERM
+#define IO_PORT_FUNCTION USE_ASM
#endif
#if defined(__linux__) && !defined(__ANDROID__)