use the -newos toolchain even if -elf is present.
[newos.git] / include / kernel / bus / isa / isa.h
blobb5e08a64b5fa46c2c5315572fa9cec6fdfb1a3bc
1 /*
2 ** Copyright 2002, Thomas Kurschel. All rights reserved.
3 ** Distributed under the terms of the NewOS License.
4 */
6 // this is not to be taken seriously - it's just a simple module
8 #ifndef __ISA_H__
9 #define __ISA_H__
11 #define ISA_MODULE_NAME "bus_managers/isa/v1"
13 typedef struct {
14 uint8 (*read_io_8) (int mapped_io_addr);
15 void (*write_io_8) (int mapped_io_addr, uint8 value);
16 uint16 (*read_io_16) (int mapped_io_addr);
17 void (*write_io_16) (int mapped_io_addr, uint16 value);
18 uint32 (*read_io_32) (int mapped_io_addr);
19 void (*write_io_32) (int mapped_io_addr, uint32 value);
21 int (*allocate_iomem) ( addr_t base, size_t len );
22 int (*release_iomem) ( addr_t base, size_t len );
24 int (*allocate_ioports) ( uint16 ioport_base, size_t len );
25 int (*release_ioports) ( uint16 ioport_base, size_t len );
27 int (*get_dma_buffer) ( void **vaddr, void **paddr );
28 int (*start_floppy_dma) ( void *paddr, size_t size, bool write ); // XXX make this more generic
29 } isa_bus_manager;
31 #endif