svn commit: r241257 - stable/8/sys/boot/i386/loader

Andriy Gapon avg at FreeBSD.org
Sat Oct 6 18:42:40 UTC 2012


Author: avg
Date: Sat Oct  6 18:42:39 2012
New Revision: 241257
URL: http://svn.freebsd.org/changeset/base/241257

Log:
  MFC r240341,240637: loader/i386: replace ugly inb/outb
  re-implementations with cpufunc.h

Modified:
  stable/8/sys/boot/i386/loader/main.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/boot/   (props changed)

Modified: stable/8/sys/boot/i386/loader/main.c
==============================================================================
--- stable/8/sys/boot/i386/loader/main.c	Sat Oct  6 18:42:02 2012	(r241256)
+++ stable/8/sys/boot/i386/loader/main.c	Sat Oct  6 18:42:39 2012	(r241257)
@@ -36,6 +36,7 @@ __FBSDID("$FreeBSD$");
 #include <stddef.h>
 #include <string.h>
 #include <machine/bootinfo.h>
+#include <machine/cpufunc.h>
 #include <machine/psl.h>
 #include <sys/reboot.h>
 
@@ -321,34 +322,19 @@ command_heap(int argc, char *argv[])
     return(CMD_OK);
 }
 
-/* ISA bus access functions for PnP, derived from <machine/cpufunc.h> */
-static int		
+/* ISA bus access functions for PnP. */
+static int
 isa_inb(int port)
 {
-    u_char	data;
-    
-    if (__builtin_constant_p(port) && 
-	(((port) & 0xffff) < 0x100) && 
-	((port) < 0x10000)) {
-	__asm __volatile("inb %1,%0" : "=a" (data) : "id" ((u_short)(port)));
-    } else {
-	__asm __volatile("inb %%dx,%0" : "=a" (data) : "d" (port));
-    }
-    return(data);
+
+    return (inb(port));
 }
 
 static void
 isa_outb(int port, int value)
 {
-    u_char	al = value;
-    
-    if (__builtin_constant_p(port) && 
-	(((port) & 0xffff) < 0x100) && 
-	((port) < 0x10000)) {
-	__asm __volatile("outb %0,%1" : : "a" (al), "id" ((u_short)(port)));
-    } else {
-        __asm __volatile("outb %0,%%dx" : : "a" (al), "d" (port));
-    }
+
+    outb(port, value);
 }
 
 #ifdef LOADER_ZFS_SUPPORT


More information about the svn-src-stable-8 mailing list