ectool: Support OpenBSD
Adds checks for OpenBSD in all the places that were already checking for NetBSD. This fixes e.g.: ec.c:21:20: error: sys/io.h: No such file or directory which was caused by defaulting to Linux. Also, OpenBSD calls its amd64 iopl amd64_iopl instead of x86_64_iopl. This change just defines iopl appropriately depending on the OS and architecture. TEST=Build on OpenBSD 6.0 or -current from 2017-01-25. Change-Id: If6d92a9850c15cd9f8e287cc4f963d3ff881f72c Signed-off-by: Steven Dee <i@wholezero.org> Reviewed-on: https://review.coreboot.org/18260 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <pgeorgi@google.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
This commit is contained in:
committed by
Patrick Georgi
parent
092db95742
commit
3236f7be09
@ -18,14 +18,24 @@
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <getopt.h>
|
||||
#ifndef __NetBSD__
|
||||
#if !(defined __NetBSD__ || defined __OpenBSD__)
|
||||
#include <sys/io.h>
|
||||
#endif
|
||||
#include <ec.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#ifdef __NetBSD__
|
||||
#if defined __NetBSD__ || defined __OpenBSD__
|
||||
|
||||
#include <machine/sysarch.h>
|
||||
|
||||
# if defined __i386__
|
||||
# define iopl i386_iopl
|
||||
# elif defined __NetBSD__
|
||||
# define iopl x86_64_iopl
|
||||
# else
|
||||
# define iopl amd64_iopl
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@ -113,15 +123,7 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef __NetBSD__
|
||||
# ifdef __i386__
|
||||
if (i386_iopl(3)) {
|
||||
# else
|
||||
if (x86_64_iopl(3)) {
|
||||
# endif
|
||||
#else
|
||||
if (iopl(3)) {
|
||||
#endif
|
||||
printf("You need to be root.\n");
|
||||
exit(1);
|
||||
}
|
||||
|
Reference in New Issue
Block a user