From 30d1b5a1070f400b7591c724b8c3fe5fd00c0999 Mon Sep 17 00:00:00 2001 From: Jakub Czapiga Date: Wed, 19 Jun 2024 10:27:03 +0200 Subject: [PATCH] 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 Reviewed-on: https://review.coreboot.org/c/flashrom/+/83133 Reviewed-by: Peter Marheine Reviewed-by: Hsuan-ting Chen Tested-by: build bot (Jenkins) Reviewed-by: Anastasia Klimchuk --- hwaccess_x86_io.c | 7 ++++--- 1 file 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 +#include +#include -#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__)