Commit 2c57bbee authored by Stefan Tauner's avatar Stefan Tauner

Include sys/glibc-syscalls.h instead of inexistent sys/io.h on Android

This won't make raw I/O work magically but at least it would provide iopl()
if some driver requires it and there is no better alternative currently.

Corresponding to flashrom svn r1932.
Signed-off-by: default avatarStefan Tauner <>
Acked-by: default avatarCarl-Daniel Hailfinger <>
parent 45207061
......@@ -201,8 +201,14 @@ cpu_to_be(64)
/* sys/io.h provides iopl(2) and x86 I/O port access functions (inb, outb etc).
* It is included in glibc (thus available also on debian/kFreeBSD) but also in other libcs that mimic glibc,
* e.g. musl and uclibc. */
#if defined(__linux__) || defined(__GLIBC__)
* e.g. musl and uclibc. Because we cannot detect the libc or existence of the header or of the instructions
* themselves safely in here we use some heuristic below:
* On Android we don't have the header file and no way for I/O port access at all. However, sys/glibc-syscalls.h
* refers to an iopl implementation and we therefore include at least that one for now. On non-Android we assume
* that a Linux system's libc has a suitable sys/io.h or (on non-Linux) we depend on glibc to offer it. */
#if defined(__ANDROID__)
#include <sys/glibc-syscalls.h>
#elif defined(__linux__) || defined(__GLIBC__)
#include <sys/io.h>
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment