Annotation of embedaddon/pciutils/lib/i386-io-beos.h, revision 1.1
1.1 ! misho 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>