]> mj.ucw.cz Git - pciutils.git/blob - lib/i386-io-beos.h
lspci: Decode PCIe DevCtl2 ID-Based Ordering Enables
[pciutils.git] / lib / i386-io-beos.h
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 v2+
7  *
8  *      SPDX-License-Identifier: GPL-2.0-or-later
9  */
10
11 /* those are private syscalls */
12 extern int read_isa_io(int pci_bus, void *addr, int size);
13 extern int write_isa_io(int pci_bus, void *addr, int size, u32 value);
14
15 static int
16 intel_setup_io(struct pci_access *a UNUSED)
17 {
18   return 1;
19 }
20
21 static inline void
22 intel_cleanup_io(struct pci_access *a UNUSED)
23 {
24 }
25
26 static inline u8
27 inb (u16 port)
28 {
29   return (u8)read_isa_io(0, (void *)(u32)port, sizeof(u8));
30 }
31
32 static inline u16
33 inw (u16 port)
34 {
35   return (u16)read_isa_io(0, (void *)(u32)port, sizeof(u16));
36 }
37
38 static inline u32
39 inl (u16 port)
40 {
41   return (u32)read_isa_io(0, (void *)(u32)port, sizeof(u32));
42 }
43
44 static inline void
45 outb (u8 value, u16 port)
46 {
47   write_isa_io(0, (void *)(u32)port, sizeof(value), value);
48 }
49
50 static inline void
51 outw (u16 value, u16 port)
52 {
53   write_isa_io(0, (void *)(u32)port, sizeof(value), value);
54 }
55
56 static inline void
57 outl (u32 value, u16 port)
58 {
59   write_isa_io(0, (void *)(u32)port, sizeof(value), value);
60 }
61
62 static inline void intel_io_lock(void)
63 {
64 }
65
66 static inline void intel_io_unlock(void)
67 {
68 }