mirror of
https://github.com/fail0verflow/switch-coreboot.git
synced 2025-05-04 01:39:18 -04:00
UPSTREAM: 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: I71f8793f5145bd8b8f58c765e91a31913ee143ac
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 3236f7be09
Original-Change-Id: If6d92a9850c15cd9f8e287cc4f963d3ff881f72c
Original-Signed-off-by: Steven Dee <i@wholezero.org>
Original-Reviewed-on: https://review.coreboot.org/18260
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Original-Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-on: https://chromium-review.googlesource.com/435812
This commit is contained in:
parent
c570a088d4
commit
3f05b0ec99
3 changed files with 15 additions and 13 deletions
|
@ -25,7 +25,7 @@ ifeq ($(shell uname -o 2>/dev/null), Cygwin)
|
||||||
LDFLAGS = -lioperm
|
LDFLAGS = -lioperm
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(OS_ARCH), NetBSD)
|
ifeq ($(OS_ARCH), $(filter $(OS_ARCH), NetBSD OpenBSD))
|
||||||
LDFLAGS = -l$(shell uname -p)
|
LDFLAGS = -l$(shell uname -p)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
|
@ -17,12 +17,12 @@
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#ifndef __NetBSD__
|
#if !(defined __NetBSD__ || defined __OpenBSD__)
|
||||||
#include <sys/io.h>
|
#include <sys/io.h>
|
||||||
#endif
|
#endif
|
||||||
#include "ec.h"
|
#include "ec.h"
|
||||||
|
|
||||||
#ifdef __NetBSD__
|
#if defined __NetBSD__ || defined __OpenBSD__
|
||||||
#include <machine/sysarch.h>
|
#include <machine/sysarch.h>
|
||||||
static uint8_t inb(unsigned port)
|
static uint8_t inb(unsigned port)
|
||||||
{
|
{
|
||||||
|
|
|
@ -18,14 +18,24 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <getopt.h>
|
#include <getopt.h>
|
||||||
#ifndef __NetBSD__
|
#if !(defined __NetBSD__ || defined __OpenBSD__)
|
||||||
#include <sys/io.h>
|
#include <sys/io.h>
|
||||||
#endif
|
#endif
|
||||||
#include <ec.h>
|
#include <ec.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#ifdef __NetBSD__
|
#if defined __NetBSD__ || defined __OpenBSD__
|
||||||
|
|
||||||
#include <machine/sysarch.h>
|
#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
|
#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)) {
|
if (iopl(3)) {
|
||||||
#endif
|
|
||||||
printf("You need to be root.\n");
|
printf("You need to be root.\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue