OpenCores
URL https://opencores.org/ocsvn/or1k_old/or1k_old/trunk

Subversion Repositories or1k_old

[/] [or1k_old/] [trunk/] [linux/] [uClibc/] [libc/] [sysdeps/] [linux/] [alpha/] [sys/] [io.h] - Blame information for rev 1782

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1325 phoenix
/* Copyright (C) 1996, 1999 Free Software Foundation, Inc.
2
   This file is part of the GNU C Library.
3
 
4
   The GNU C Library is free software; you can redistribute it and/or
5
   modify it under the terms of the GNU Lesser General Public
6
   License as published by the Free Software Foundation; either
7
   version 2.1 of the License, or (at your option) any later version.
8
 
9
   The GNU C Library is distributed in the hope that it will be useful,
10
   but WITHOUT ANY WARRANTY; without even the implied warranty of
11
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12
   Lesser General Public License for more details.
13
 
14
   You should have received a copy of the GNU Lesser General Public
15
   License along with the GNU C Library; if not, write to the Free
16
   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
17
   02111-1307 USA.  */
18
 
19
#ifndef _SYS_IO_H
20
 
21
#define _SYS_IO_H       1
22
#include <features.h>
23
 
24
__BEGIN_DECLS
25
 
26
/* If TURN_ON is TRUE, request for permission to do direct i/o on the
27
   port numbers in the range [FROM,FROM+NUM-1].  Otherwise, turn I/O
28
   permission off for that range.  This call requires root privileges.
29
 
30
   Portability note: not all Linux platforms support this call.  Most
31
   platforms based on the PC I/O architecture probably will, however.
32
   E.g., Linux/Alpha for Alpha PCs supports this.  */
33
extern int ioperm (unsigned long int __from, unsigned long int __num,
34
                   int __turn_on) __THROW;
35
 
36
/* Set the I/O privilege level to LEVEL.  If LEVEL>3, permission to
37
   access any I/O port is granted.  This call requires root
38
   privileges. */
39
extern int iopl (int __level) __THROW;
40
 
41
/* Return the physical address of the DENSE I/O memory or NULL if none
42
   is available (e.g. on a jensen).  */
43
extern unsigned long int _bus_base (void) __THROW __attribute__ ((const));
44
extern unsigned long int bus_base (void) __THROW __attribute__ ((const));
45
 
46
/* Return the physical address of the SPARSE I/O memory.  */
47
extern unsigned long _bus_base_sparse (void) __THROW __attribute__ ((const));
48
extern unsigned long bus_base_sparse (void) __THROW __attribute__ ((const));
49
 
50
/* Return the HAE shift used by the SPARSE I/O memory.  */
51
extern int _hae_shift (void) __THROW __attribute__ ((const));
52
extern int hae_shift (void) __THROW __attribute__ ((const));
53
 
54
/* Previous three are deprecated in favour of the following, which
55
   knows about multiple PCI "hoses".  Provide the PCI bus and dfn
56
   numbers just as to pciconfig_read/write.  */
57
 
58
enum __pciconfig_iobase_which
59
{
60
  IOBASE_HOSE = 0,               /* Return hose index. */
61
  IOBASE_SPARSE_MEM = 1,        /* Return physical memory addresses.  */
62
  IOBASE_DENSE_MEM = 2,
63
  IOBASE_SPARSE_IO = 3,
64
  IOBASE_DENSE_IO = 4
65
};
66
 
67
extern long pciconfig_iobase(enum __pciconfig_iobase_which __which,
68
                             unsigned long int __bus,
69
                             unsigned long int __dfn)
70
     __THROW __attribute__ ((const));
71
 
72
/* Access PCI space protected from machine checks.  */
73
extern int pciconfig_read (unsigned long int __bus,
74
                           unsigned long int __dfn,
75
                           unsigned long int __off,
76
                           unsigned long int __len,
77
                           unsigned char *__buf) __THROW;
78
 
79
extern int pciconfig_write (unsigned long int __bus,
80
                            unsigned long int __dfn,
81
                            unsigned long int __off,
82
                            unsigned long int __len,
83
                            unsigned char *__buf) __THROW;
84
 
85
/* Userspace declarations.  */
86
extern unsigned int inb (unsigned long __port) __THROW;
87
extern unsigned int inw (unsigned long __port) __THROW;
88
extern unsigned int inl (unsigned long __port) __THROW;
89
extern void outb (unsigned char __b, unsigned long __port) __THROW;
90
extern void outw (unsigned short __w, unsigned long __port) __THROW;
91
extern void outl (unsigned int __l, unsigned long __port) __THROW;
92
 
93
__END_DECLS
94
 
95
#endif /* _SYS_IO_H */

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.