From: H.J. Lu Date: Mon, 4 Jun 2012 19:29:49 +0000 (-0700) Subject: Use x86_64 bits/{io,perm}.h for i386 and x86_64 X-Git-Tag: glibc-2.16-tps~67 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=f3d1f93cfbbe9a0ffcab4d72e6cd8def0ca59ada;p=glibc.git Use x86_64 bits/{io,perm}.h for i386 and x86_64 --- diff --git a/ChangeLog b/ChangeLog index 2355970f3c..8e3e699d56 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2012-06-04 H.J. Lu + + [BZ #14117] + * sysdeps/unix/sysv/linux/i386/sys/io.h: Removed. + * sysdeps/unix/sysv/linux/x86_64/sys/io.h: Renamed to ... + * sysdeps/unix/sysv/linux/x86/sys/io.h: This. + * sysdeps/unix/sysv/linux/i386/sys/perm.h: Removed. + * sysdeps/unix/sysv/linux/x86_64/sys/perm.h: Renamed to ... + * sysdeps/unix/sysv/linux/x86/sys/perm.h: This. + 2012-06-04 Tulio Magno Quites Machado Filho [BZ #13743] diff --git a/sysdeps/unix/sysv/linux/i386/sys/io.h b/sysdeps/unix/sysv/linux/i386/sys/io.h deleted file mode 100644 index 3ddcee7b45..0000000000 --- a/sysdeps/unix/sysv/linux/i386/sys/io.h +++ /dev/null @@ -1,184 +0,0 @@ -/* Copyright (C) 1996, 2000, 2009 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, see - . */ - -#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 Linux platforms support this call. Most - platforms based on the PC I/O architecture probably will, however. - E.g., Linux/Alpha for Alpha PCs supports this. */ -extern int ioperm (unsigned long int __from, unsigned long 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":"=D" (__addr), "=c" (__count) - :"d" (__port), "0" (__addr), "1" (__count)); -} - -static __inline void -outsb (unsigned short int __port, const void *__addr, - unsigned long int __count) -{ - __asm__ __volatile__ ("cld ; rep ; outsb":"=S" (__addr), "=c" (__count) - :"d" (__port), "0" (__addr), "1" (__count)); -} - -static __inline void -outsw (unsigned short int __port, const void *__addr, - unsigned long int __count) -{ - __asm__ __volatile__ ("cld ; rep ; outsw":"=S" (__addr), "=c" (__count) - :"d" (__port), "0" (__addr), "1" (__count)); -} - -static __inline void -outsl (unsigned short int __port, const void *__addr, - unsigned long int __count) -{ - __asm__ __volatile__ ("cld ; rep ; outsl":"=S" (__addr), "=c" (__count) - :"d" (__port), "0" (__addr), "1" (__count)); -} - -#endif /* GNU C */ - -__END_DECLS -#endif /* _SYS_IO_H */ diff --git a/sysdeps/unix/sysv/linux/i386/sys/perm.h b/sysdeps/unix/sysv/linux/i386/sys/perm.h deleted file mode 100644 index c268681146..0000000000 --- a/sysdeps/unix/sysv/linux/i386/sys/perm.h +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (C) 1996, 1999 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, see - . */ - -#ifndef _SYS_PERM_H - -#define _SYS_PERM_H 1 -#include - -__BEGIN_DECLS - -/* Set port input/output permissions. */ -extern int ioperm (unsigned long int __from, unsigned long int __num, - int __turn_on) __THROW; - - -/* Change I/O privilege level. */ -extern int iopl (int __level) __THROW; - -__END_DECLS - -#endif /* _SYS_PERM_H */ diff --git a/sysdeps/unix/sysv/linux/x86_64/sys/io.h b/sysdeps/unix/sysv/linux/x86/sys/io.h similarity index 100% rename from sysdeps/unix/sysv/linux/x86_64/sys/io.h rename to sysdeps/unix/sysv/linux/x86/sys/io.h diff --git a/sysdeps/unix/sysv/linux/x86_64/sys/perm.h b/sysdeps/unix/sysv/linux/x86/sys/perm.h similarity index 100% rename from sysdeps/unix/sysv/linux/x86_64/sys/perm.h rename to sysdeps/unix/sysv/linux/x86/sys/perm.h