summaryrefslogtreecommitdiff
path: root/util/flashrom/flashrom.c
diff options
context:
space:
mode:
Diffstat (limited to 'util/flashrom/flashrom.c')
-rw-r--r--util/flashrom/flashrom.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/util/flashrom/flashrom.c b/util/flashrom/flashrom.c
index 842d473a1e..e366f94e93 100644
--- a/util/flashrom/flashrom.c
+++ b/util/flashrom/flashrom.c
@@ -252,6 +252,9 @@ int main(int argc, char *argv[])
int option_index = 0;
int read_it = 0, write_it = 0, erase_it = 0, verify_it = 0;
int ret = 0, i;
+#ifdef __FreeBSD__
+ int io_fd;
+#endif
static struct option long_options[] = {
{"read", 0, 0, 'r'},
@@ -367,6 +370,8 @@ int main(int argc, char *argv[])
/* First get full io access */
#if defined (__sun) && (defined(__i386) || defined(__amd64))
if (sysi86(SI86V86, V86SC_IOPL, PS_IOPL) != 0) {
+#elif defined(__FreeBSD__)
+ if ((io_fd = open("/dev/io", O_RDWR)) < 0) {
#else
if (iopl(3) != 0) {
#endif
@@ -559,5 +564,8 @@ int main(int argc, char *argv[])
if (verify_it)
ret |= verify_flash(flash, buf);
+#ifdef __FreeBSD__
+ close(io_fd);
+#endif
return ret;
}