File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / pciutils / lib / i386-io-beos.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Fri Feb 17 15:18:43 2012 UTC (13 years, 1 month ago) by misho
Branches: pciutils, MAIN
CVS tags: v3_1_9, HEAD
pciutils

    1: /*
    2:  *	The PCI Library -- Access to i386 I/O ports on BeOS
    3:  *
    4:  *	Copyright (c) 2009 Francois Revol <revol@free.fr>
    5:  *
    6:  *	Can be freely distributed and used under the terms of the GNU GPL.
    7:  */
    8: 
    9: /* those are private syscalls */
   10: extern int read_isa_io(int pci_bus, void *addr, int size);
   11: extern int write_isa_io(int pci_bus, void *addr, int size, u32 value);
   12: 
   13: static int
   14: intel_setup_io(struct pci_access *a UNUSED)
   15: {
   16:   return 1;
   17: }
   18: 
   19: static inline int
   20: intel_cleanup_io(struct pci_access *a UNUSED)
   21: {
   22:   return 1;
   23: }
   24: 
   25: static inline u8
   26: inb (u16 port)
   27: {
   28:   return (u8)read_isa_io(0, (void *)(u32)port, sizeof(u8));
   29: }
   30: 
   31: static inline u16
   32: inw (u16 port)
   33: {
   34:   return (u16)read_isa_io(0, (void *)(u32)port, sizeof(u16));
   35: }
   36: 
   37: static inline u32
   38: inl (u16 port)
   39: {
   40:   return (u32)read_isa_io(0, (void *)(u32)port, sizeof(u32));
   41: }
   42: 
   43: static inline void
   44: outb (u8 value, u16 port)
   45: {
   46:   write_isa_io(0, (void *)(u32)port, sizeof(value), value);
   47: }
   48: 
   49: static inline void
   50: outw (u16 value, u16 port)
   51: {
   52:   write_isa_io(0, (void *)(u32)port, sizeof(value), value);
   53: }
   54: 
   55: static inline void
   56: outl (u32 value, u16 port)
   57: {
   58:   write_isa_io(0, (void *)(u32)port, sizeof(value), value);
   59: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>