xref: /haiku/src/add-ons/kernel/bus_managers/isa/isa_arch.h (revision 5f4f984a94d150153bcb00a2ed780d0437859543)
1 /*
2  * Copyright 2007 Haiku, Inc.
3  * Distributed under the terms of the MIT License.
4  *
5  * Authors:
6  * 	François Revol (revol@free.fr)
7  */
8 
9 /*
10 	ISA bus manager
11 
12 	arch-dependant functions
13 */
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
19 /* implemented in arch/<cpu>/ */
20 extern status_t arch_isa_init(void);
21 extern uint8 arch_isa_read_io_8(int mapped_io_addr);
22 extern void arch_isa_write_io_8(int mapped_io_addr, uint8 value);
23 extern uint16 arch_isa_read_io_16(int mapped_io_addr);
24 extern void arch_isa_write_io_16(int mapped_io_addr, uint16 value);
25 extern uint32 arch_isa_read_io_32(int mapped_io_addr);
26 extern void arch_isa_write_io_32(int mapped_io_addr, uint32 value);
27 extern phys_addr_t arch_isa_ram_address(phys_addr_t);
28 extern status_t arch_start_isa_dma(long channel, void *buf,
29 								   long transfer_count,
30 								   uchar mode, uchar e_mode);
31 
32 #ifdef __cplusplus
33 }
34 #endif
35