r1101 - trunk/glibc-2.3-head/sysdeps/kfreebsd

2006-01-25 Thread Aurelien Jarno
Author: aurel32
Date: 2006-01-25 12:49:41 + (Wed, 25 Jan 2006)
New Revision: 1101

Modified:
   trunk/glibc-2.3-head/sysdeps/kfreebsd/uname.c
Log:
Revert patch r1091

Modified: trunk/glibc-2.3-head/sysdeps/kfreebsd/uname.c
===
--- trunk/glibc-2.3-head/sysdeps/kfreebsd/uname.c   2006-01-23 16:18:58 UTC 
(rev 1100)
+++ trunk/glibc-2.3-head/sysdeps/kfreebsd/uname.c   2006-01-25 12:49:41 UTC 
(rev 1101)
@@ -21,7 +21,6 @@
 #include 
 #include 
 #include 
-#include /* For getdomainname() */
 
 #define SYSNAME"GNU/kFreeBSD"
 #define SYSNAME_LEN13
@@ -95,13 +94,6 @@
 name->machine[len] = '\0';
 }
 
-  /* Fill domainname.  Use getdomainname(). */
-  if (getdomainname(name->domainname, sizeof(name->domainname)) == -1)
-{
-  if (errno != EINVAL)
-strncpy (name->domainname, UNAME_DOMAINNAME, sizeof 
(name->domainname));
-}
-  
   return 0;
 }
 libc_hidden_def (__uname)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



r1102 - trunk/glibc-2.3-head/sysdeps/kfreebsd/bits

2006-01-25 Thread Robert Millan
Author: rmh
Date: 2006-01-25 18:14:25 + (Wed, 25 Jan 2006)
New Revision: 1102

Modified:
   trunk/glibc-2.3-head/sysdeps/kfreebsd/bits/ioctls.h
Log:
bits/ioctls.h: #define TAB3 XTABS, as per termios(3).

Modified: trunk/glibc-2.3-head/sysdeps/kfreebsd/bits/ioctls.h
===
--- trunk/glibc-2.3-head/sysdeps/kfreebsd/bits/ioctls.h 2006-01-25 12:49:41 UTC 
(rev 1101)
+++ trunk/glibc-2.3-head/sysdeps/kfreebsd/bits/ioctls.h 2006-01-25 18:14:25 UTC 
(rev 1102)
@@ -276,7 +276,8 @@
 #defineTAB00x
 #defineTAB10x0400  /* tty 37 */
 #defineTAB20x0800
-#defineXTABS   0x0c00  /* expand tabs on 
output */
+#defineTAB30x0c00
+#defineXTABS   TAB3/* expand tabs on 
output */
 #defineCRDELAY 0x3000  /* \r delay */
 #defineCR0 0x
 #defineCR1 0x1000  /* tn 300 */


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



r1103 - trunk/glibc-2.3-head/sysdeps/kfreebsd/bits

2006-01-25 Thread Robert Millan
Author: rmh
Date: 2006-01-25 18:20:37 + (Wed, 25 Jan 2006)
New Revision: 1103

Modified:
   trunk/glibc-2.3-head/sysdeps/kfreebsd/bits/signum.h
Log:
bits/signum.h: #define SIGPOLL SIGIO, as per glibc manual.

Modified: trunk/glibc-2.3-head/sysdeps/kfreebsd/bits/signum.h
===
--- trunk/glibc-2.3-head/sysdeps/kfreebsd/bits/signum.h 2006-01-25 18:14:25 UTC 
(rev 1102)
+++ trunk/glibc-2.3-head/sysdeps/kfreebsd/bits/signum.h 2006-01-25 18:20:37 UTC 
(rev 1103)
@@ -54,6 +54,7 @@
 #defineSIGTTIN 21  /* Background read from tty (POSIX).  */
 #defineSIGTTOU 22  /* Background write to tty (POSIX).  */
 #defineSIGIO   23  /* I/O now possible (4.2 BSD).  */
+#defineSIGPOLL SIGIO   /* Pollable event occurred (System V).  
*/
 #defineSIGXCPU 24  /* CPU limit exceeded (4.2 BSD).  */
 #defineSIGXFSZ 25  /* File size limit exceeded (4.2 BSD).  
*/
 #defineSIGVTALRM   26  /* Virtual alarm clock (4.2 BSD).  */


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: r1103 - trunk/glibc-2.3-head/sysdeps/kfreebsd/bits

2006-01-25 Thread Robert Millan

Unless someone objects (to this and the previous commit), I'd like to request
the procps maintainer to drop the part of the patch that worked around the
missing macros.

(I mean the debian procps maintainer, the upstream one refused to apply)

On Wed, Jan 25, 2006 at 06:20:38PM +, Robert Millan wrote:
> Author: rmh
> Date: 2006-01-25 18:20:37 + (Wed, 25 Jan 2006)
> New Revision: 1103
> 
> Modified:
>trunk/glibc-2.3-head/sysdeps/kfreebsd/bits/signum.h
> Log:
> bits/signum.h: #define SIGPOLL SIGIO, as per glibc manual.
> 
> Modified: trunk/glibc-2.3-head/sysdeps/kfreebsd/bits/signum.h
> ===
> --- trunk/glibc-2.3-head/sysdeps/kfreebsd/bits/signum.h   2006-01-25 
> 18:14:25 UTC (rev 1102)
> +++ trunk/glibc-2.3-head/sysdeps/kfreebsd/bits/signum.h   2006-01-25 
> 18:20:37 UTC (rev 1103)
> @@ -54,6 +54,7 @@
>  #define  SIGTTIN 21  /* Background read from tty (POSIX).  */
>  #define  SIGTTOU 22  /* Background write to tty (POSIX).  */
>  #define  SIGIO   23  /* I/O now possible (4.2 BSD).  */
> +#define  SIGPOLL SIGIO   /* Pollable event occurred (System V).  
> */
>  #define  SIGXCPU 24  /* CPU limit exceeded (4.2 BSD).  */
>  #define  SIGXFSZ 25  /* File size limit exceeded (4.2 BSD).  
> */
>  #define  SIGVTALRM   26  /* Virtual alarm clock (4.2 BSD).  */

-- 
Robert Millan


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



r1104 - trunk/web/patches/upstream-only

2006-01-25 Thread Robert Millan
Author: rmh
Date: 2006-01-25 19:01:14 + (Wed, 25 Jan 2006)
New Revision: 1104

Modified:
   trunk/web/patches/upstream-only/procps.diff
Log:
Remove obsolete parts.

Modified: trunk/web/patches/upstream-only/procps.diff
===
--- trunk/web/patches/upstream-only/procps.diff 2006-01-25 18:20:37 UTC (rev 
1103)
+++ trunk/web/patches/upstream-only/procps.diff 2006-01-25 19:01:14 UTC (rev 
1104)
@@ -1,6 +1,7 @@
 
 Author: rmh
-Status: same as debian patch, plus minimal.c
+Status: minimal.c is normaly not compiled.
+  As for version.c I'm not sure it really affects anything.
 
 diff -ur procps-3.2.5.old/minimal.c procps-3.2.5/minimal.c
 --- procps-3.2.5.old/minimal.c 2004-05-05 02:26:14.0 +0200
@@ -28,20 +29,6 @@
  #endif
  
  
-diff -ur procps-3.2.5.old/proc/sig.c procps-3.2.5/proc/sig.c
 procps-3.2.5.old/proc/sig.c2003-03-19 01:52:39.0 +0100
-+++ procps-3.2.5/proc/sig.c2005-10-10 18:13:46.0 +0200
-@@ -50,6 +50,10 @@
- #  define SIGPWR 29
- #endif
- 
-+#ifndef SIGPOLL
-+#define SIGPOLL SIGIO
-+#endif
-+
- typedef struct mapstruct {
-   const char *name;
-   int num;
 diff -ur procps-3.2.5.old/proc/version.c procps-3.2.5/proc/version.c
 --- procps-3.2.5.old/proc/version.c2003-01-29 02:11:43.0 +0100
 +++ procps-3.2.5/proc/version.c2005-10-10 18:13:46.0 +0200
@@ -62,34 +49,3 @@
 +#endif
  linux_version_code = LINUX_VERSION(x, y, z);
  }
-diff -ur procps-3.2.5.old/ps/common.h procps-3.2.5/ps/common.h
 procps-3.2.5.old/ps/common.h   2004-10-09 05:55:50.0 +0200
-+++ procps-3.2.5/ps/common.h   2005-10-10 18:13:53.0 +0200
-@@ -14,7 +14,13 @@
- 
- #include "../proc/procps.h"
- #include "../proc/readproc.h"
--#include   /* looks safe for glibc, we need PAGE_SIZE */
-+
-+/* looks safe for glibc, we need PAGE_SIZE */
-+#if defined(__linux__)
-+# include 
-+#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
-+# include 
-+#endif
- 
- #if 0
- #define trace(args...) printf(## args)
-diff -ur procps-3.2.5.old/top.c procps-3.2.5/top.c
 procps-3.2.5.old/top.c 2005-01-26 06:15:18.0 +0100
-+++ procps-3.2.5/top.c 2005-10-10 18:13:46.0 +0200
-@@ -1869,6 +1869,9 @@
-   std_err("failed tty get");
-newtty = Savedtty;
-newtty.c_lflag &= ~(ICANON | ECHO);
-+#ifndef TAB3
-+#define TAB3 XTABS
-+#endif
-newtty.c_oflag &= ~(TAB3);
-newtty.c_cc[VMIN] = 1;
-newtty.c_cc[VTIME] = 0;


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



r1105 - trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/sys

2006-01-25 Thread Robert Millan
Author: rmh
Date: 2006-01-25 19:22:16 + (Wed, 25 Jan 2006)
New Revision: 1105

Modified:
   trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/sys/io.h
Log:
Nuke io.h, just include the Linux one instead.  (see 
http://sources.redhat.com/ml/libc-alpha/2002-09/msg00095.html)

Modified: trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/sys/io.h
===
--- trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/sys/io.h 2006-01-25 19:01:14 UTC 
(rev 1104)
+++ trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/sys/io.h 2006-01-25 19:22:16 UTC 
(rev 1105)
@@ -1,180 +1,2 @@
-/* Copyright (C) 1996, 2000, 2002, 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef_SYS_IO_H
-#define_SYS_IO_H   1
-
-#include 
-
-__BEGIN_DECLS
-
-/* If TURN_ON is TRUE, request for permission to do direct i/o on the
-   port numbers in the range [FROM,FROM+NUM-1].  Otherwise, turn I/O
-   permission off for that range.  This call requires root privileges.
-
-   Portability note: not all kFreeBSD platforms support this call.  Most
-   platforms based on the PC I/O architecture probably will, however. */
-extern int ioperm (unsigned int __from, unsigned int __num, int __turn_on)
- __THROW;
-
-/* Set the I/O privilege level to LEVEL.  If LEVEL>3, permission to
-   access any I/O port is granted.  This call requires root
-   privileges. */
-extern int iopl (int __level) __THROW;
-
-#if defined __GNUC__ && __GNUC__ >= 2
-
-static __inline unsigned char
-inb (unsigned short int port)
-{
-  unsigned char _v;
-
-  __asm__ __volatile__ ("inb %w1,%0":"=a" (_v):"Nd" (port));
-  return _v;
-}
-
-static __inline unsigned char
-inb_p (unsigned short int port)
-{
-  unsigned char _v;
-
-  __asm__ __volatile__ ("inb %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (port));
-  return _v;
-}
-
-static __inline unsigned short int
-inw (unsigned short int port)
-{
-  unsigned short _v;
-
-  __asm__ __volatile__ ("inw %w1,%0":"=a" (_v):"Nd" (port));
-  return _v;
-}
-
-static __inline unsigned short int
-inw_p (unsigned short int port)
-{
-  unsigned short int _v;
-
-  __asm__ __volatile__ ("inw %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (port));
-  return _v;
-}
-
-static __inline unsigned int
-inl (unsigned short int port)
-{
-  unsigned int _v;
-
-  __asm__ __volatile__ ("inl %w1,%0":"=a" (_v):"Nd" (port));
-  return _v;
-}
-
-static __inline unsigned int
-inl_p (unsigned short int port)
-{
-  unsigned int _v;
-  __asm__ __volatile__ ("inl %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (port));
-  return _v;
-}
-
-static __inline void
-outb (unsigned char value, unsigned short int port)
-{
-  __asm__ __volatile__ ("outb %b0,%w1": :"a" (value), "Nd" (port));
-}
-
-static __inline void
-outb_p (unsigned char value, unsigned short int port)
-{
-  __asm__ __volatile__ ("outb %b0,%w1\noutb %%al,$0x80": :"a" (value),
-   "Nd" (port));
-}
-
-static __inline void
-outw (unsigned short int value, unsigned short int port)
-{
-  __asm__ __volatile__ ("outw %w0,%w1": :"a" (value), "Nd" (port));
-
-}
-
-static __inline void
-outw_p (unsigned short int value, unsigned short int port)
-{
-  __asm__ __volatile__ ("outw %w0,%w1\noutb %%al,$0x80": :"a" (value),
-   "Nd" (port));
-}
-
-static __inline void
-outl (unsigned int value, unsigned short int port)
-{
-  __asm__ __volatile__ ("outl %0,%w1": :"a" (value), "Nd" (port));
-}
-
-static __inline void
-outl_p (unsigned int value, unsigned short int port)
-{
-  __asm__ __volatile__ ("outl %0,%w1\noutb %%al,$0x80": :"a" (value),
-   "Nd" (port));
-}
-
-static __inline void
-insb (unsigned short int port, void *addr, unsigned long int count)
-{
-  __asm__ __volatile__ ("cld ; rep ; insb":"=D" (addr),
-   "=c" (count):"d" (port), "0" (addr), "1" (count));
-}
-
-static __inline void
-insw (unsigned short int port, void *addr, unsigned long int count)
-{
-  __asm__ __volatile__ ("cld ; rep ; insw":"=D" (addr),
-   "=c" (count):"d" (port), "0" (addr), "1" (count));
-}
-
-static __inline void
-insl (unsigned short int port, void *addr, unsigned long int count)
-{
-  __asm__ __volatile__ ("cld ; rep ; insl"

r1106 - trunk/glibc-2.3-head/patches/fixes

2006-01-25 Thread Robert Millan
Author: rmh
Date: 2006-01-25 19:31:23 + (Wed, 25 Jan 2006)
New Revision: 1106

Modified:
   trunk/glibc-2.3-head/patches/fixes/sys_queue_h.patch
Log:
Add comments wrt sys/queue.h upstream status.

Modified: trunk/glibc-2.3-head/patches/fixes/sys_queue_h.patch
===
--- trunk/glibc-2.3-head/patches/fixes/sys_queue_h.patch2006-01-25 
19:22:16 UTC (rev 1105)
+++ trunk/glibc-2.3-head/patches/fixes/sys_queue_h.patch2006-01-25 
19:31:23 UTC (rev 1106)
@@ -1,3 +1,28 @@
+Roland McGrath wrote:
+> Bruno Haible wrote:
+> > Other than that, FreeBSD has a  with some more macros than
+> > glibc's. It seems that glibc's  is simply an older version
+> > of the same thing. How about upgrading it?
+> 
+> Ok. I notice that the NetBSD and FreeBSD versions of this file differ,
+> though both claim to be the "8.5 (Berkeley)" version.  I don't even know
+> off hand that we need this file in libc or if anything ever used it,
+> but since we have had it we should make sure we don't break compatibility.
+> If there is a later version of this file from UCB, that is probably what
+> we should use.  Despite the lack of additional copyright notices, if the
+> FreeBSD and NetBSD versions of this file have had additions made by people
+> other than UCB, there may be a copyright issue with using those versions.
+
+(extract from discussion between Bruno and Roland, see
+http://sources.redhat.com/ml/libc-alpha/2002-09/msg00153.html)
+
+I (rmh) don't think there's a copyright issue, but it's a picky decision for
+upstream wether taking the improvements from NetBSD or FreeBSD, since they're
+allegedly very different.
+
+Also, since it's a big change, it could break something.  I would suggest
+waiting untill it's been applied in debian for some time, just in case.
+
 --- misc/sys/queue.h.orig  1999-06-08 23:03:17.0 +0200
 +++ misc/sys/queue.h   2005-04-28 22:29:17.0 +0200
 @@ -26,50 +26,296 @@


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



r1107 - trunk/glibc-2.3-head/sysdeps/kfreebsd/i386

2006-01-25 Thread Robert Millan
Author: rmh
Date: 2006-01-25 19:36:46 + (Wed, 25 Jan 2006)
New Revision: 1107

Modified:
   trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/Makefile
Log:
Makefile: Fix sys/io.h install path.

Modified: trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/Makefile
===
--- trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/Makefile 2006-01-25 19:31:23 UTC 
(rev 1106)
+++ trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/Makefile 2006-01-25 19:36:46 UTC 
(rev 1107)
@@ -2,7 +2,7 @@
 
 ifeq ($(subdir),misc)
 sysdep_headers += \
- sys/io.h \
+ ../../../../sysv/linux/i386/sys/io.h \
  sys/perm.h \
  sys/vm86.h
 endif


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



r1108 - in trunk/glibc-2.3-head/sysdeps/kfreebsd/i386: . sys

2006-01-25 Thread Robert Millan
Author: rmh
Date: 2006-01-26 07:06:46 + (Thu, 26 Jan 2006)
New Revision: 1108

Modified:
   trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/Makefile
   trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/sys/io.h
Log:
Revert r1105 and r1107.  I'll try moving to sysdeps/i386 instead.

Modified: trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/Makefile
===
--- trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/Makefile 2006-01-25 19:36:46 UTC 
(rev 1107)
+++ trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/Makefile 2006-01-26 07:06:46 UTC 
(rev 1108)
@@ -2,7 +2,7 @@
 
 ifeq ($(subdir),misc)
 sysdep_headers += \
- ../../../../sysv/linux/i386/sys/io.h \
+ sys/io.h \
  sys/perm.h \
  sys/vm86.h
 endif

Modified: trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/sys/io.h
===
--- trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/sys/io.h 2006-01-25 19:36:46 UTC 
(rev 1107)
+++ trunk/glibc-2.3-head/sysdeps/kfreebsd/i386/sys/io.h 2006-01-26 07:06:46 UTC 
(rev 1108)
@@ -1,2 +1,180 @@
-/* We support everything in that header, including ("emulated") iopl */
-#include 
+/* Copyright (C) 1996, 2000, 2002, 2004 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#ifndef_SYS_IO_H
+#define_SYS_IO_H   1
+
+#include 
+
+__BEGIN_DECLS
+
+/* If TURN_ON is TRUE, request for permission to do direct i/o on the
+   port numbers in the range [FROM,FROM+NUM-1].  Otherwise, turn I/O
+   permission off for that range.  This call requires root privileges.
+
+   Portability note: not all kFreeBSD platforms support this call.  Most
+   platforms based on the PC I/O architecture probably will, however. */
+extern int ioperm (unsigned int __from, unsigned int __num, int __turn_on)
+ __THROW;
+
+/* Set the I/O privilege level to LEVEL.  If LEVEL>3, permission to
+   access any I/O port is granted.  This call requires root
+   privileges. */
+extern int iopl (int __level) __THROW;
+
+#if defined __GNUC__ && __GNUC__ >= 2
+
+static __inline unsigned char
+inb (unsigned short int port)
+{
+  unsigned char _v;
+
+  __asm__ __volatile__ ("inb %w1,%0":"=a" (_v):"Nd" (port));
+  return _v;
+}
+
+static __inline unsigned char
+inb_p (unsigned short int port)
+{
+  unsigned char _v;
+
+  __asm__ __volatile__ ("inb %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (port));
+  return _v;
+}
+
+static __inline unsigned short int
+inw (unsigned short int port)
+{
+  unsigned short _v;
+
+  __asm__ __volatile__ ("inw %w1,%0":"=a" (_v):"Nd" (port));
+  return _v;
+}
+
+static __inline unsigned short int
+inw_p (unsigned short int port)
+{
+  unsigned short int _v;
+
+  __asm__ __volatile__ ("inw %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (port));
+  return _v;
+}
+
+static __inline unsigned int
+inl (unsigned short int port)
+{
+  unsigned int _v;
+
+  __asm__ __volatile__ ("inl %w1,%0":"=a" (_v):"Nd" (port));
+  return _v;
+}
+
+static __inline unsigned int
+inl_p (unsigned short int port)
+{
+  unsigned int _v;
+  __asm__ __volatile__ ("inl %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (port));
+  return _v;
+}
+
+static __inline void
+outb (unsigned char value, unsigned short int port)
+{
+  __asm__ __volatile__ ("outb %b0,%w1": :"a" (value), "Nd" (port));
+}
+
+static __inline void
+outb_p (unsigned char value, unsigned short int port)
+{
+  __asm__ __volatile__ ("outb %b0,%w1\noutb %%al,$0x80": :"a" (value),
+   "Nd" (port));
+}
+
+static __inline void
+outw (unsigned short int value, unsigned short int port)
+{
+  __asm__ __volatile__ ("outw %w0,%w1": :"a" (value), "Nd" (port));
+
+}
+
+static __inline void
+outw_p (unsigned short int value, unsigned short int port)
+{
+  __asm__ __volatile__ ("outw %w0,%w1\noutb %%al,$0x80": :"a" (value),
+   "Nd" (port));
+}
+
+static __inline void
+outl (unsigned int value, unsigned short int port)
+{
+  __asm__ __volatile__ ("outl %0,%w1": :"a" (value), "Nd" (port));
+}
+
+static __inline void
+outl_p (unsigned int value, unsigned short int port)
+{
+  __asm__ __volatile__ ("outl %0,%w1\noutb %%al,$0x80": :"a" (value),
+   "Nd" (port));
+}
+
+static __inline void
+insb (unsigned short i