Patchwork Fix compilation for DOS and non-x86 targets

login
register
about
Submitter Carl-Daniel Hailfinger
Date 2013-01-08 02:08:22
Message ID <50EB7F96.50105@gmx.net>
Download mbox | patch
Permalink /patch/3848/
State Accepted
Commit r1645
Headers show

Comments

Carl-Daniel Hailfinger - 2013-01-08 02:08:22
Fixup for r1638.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Carl-Daniel Hailfinger - 2013-01-08 22:54:56
Am 08.01.2013 03:08 schrieb Carl-Daniel Hailfinger:
> Fixup for r1638.
>
> Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

Thanks to Idwer Vollering for testing.

Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
and committed in r1645.

Regards,
Carl-Daniel

Patch

Index: flashrom-fix_compile_dos/hwaccess.c
===================================================================
--- flashrom-fix_compile_dos/hwaccess.c	(Revision 1644)
+++ flashrom-fix_compile_dos/hwaccess.c	(Arbeitskopie)
@@ -65,31 +65,25 @@ 
 #endif
 }
 
+#if IS_X86 && !(defined(__DJGPP__) || defined(__LIBPAYLOAD__))
 static int release_io_perms(void *p)
 {
-#if IS_X86
-#if defined(__DJGPP__) || defined(__LIBPAYLOAD__)
-	/* Nothing to release */
-#elif defined (__sun)
+#if defined (__sun)
 	sysi86(SI86V86, V86SC_IOPL, 0);
 #elif IS_BSD
 	close(io_fd);
 #elif IS_LINUX
 	iopl(0);
 #endif
-#else
-/* PCI port I/O support is unimplemented on PPC/MIPS and unavailable on ARM. */
-#endif
 	return 0;
 }
+#endif
 
 /* Get I/O permissions with automatic permission release on shutdown. */
 int rget_io_perms(void)
 {
-#if IS_X86
-#if defined(__DJGPP__) || defined(__LIBPAYLOAD__)
-	/* We have full permissions by default. */
-#elif defined (__sun)
+#if IS_X86 && !(defined(__DJGPP__) || defined(__LIBPAYLOAD__))
+#if defined (__sun)
 	if (sysi86(SI86V86, V86SC_IOPL, PS_IOPL) != 0) {
 #elif IS_BSD
 	if ((io_fd = open("/dev/io", O_RDWR)) < 0) {
@@ -107,7 +101,8 @@ 
 		register_shutdown(release_io_perms, NULL);
 	}
 #else
-/* PCI port I/O support is unimplemented on PPC/MIPS and unavailable on ARM. */
+	/* DJGPP and libpayload environments have full PCI port I/O permissions by default. */
+	/* PCI port I/O support is unimplemented on PPC/MIPS and unavailable on ARM. */
 #endif
 	return 0;
 }