Skip to content

Commit

Permalink
Include sys/glibc-syscalls.h instead of inexistent sys/io.h on Android.
Browse files Browse the repository at this point in the history
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.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

git-svn-id: svn://flashrom.org/flashrom/trunk@1932 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
  • Loading branch information
stefanct committed Feb 20, 2016
1 parent 241ed6a commit 9eb8a7d
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions hwaccess.h
Original file line number Diff line number Diff line change
Expand Up @@ -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>
#endif

Expand Down

0 comments on commit 9eb8a7d

Please sign in to comment.