1/* 2 * Copyright 2007 Haiku, Inc. 3 * Distributed under the terms of the MIT License. 4 * 5 * arch-specific config manager 6 * 7 * Authors (in chronological order): 8 * Fran��ois Revol (revol@free.fr) 9 */ 10 11 12#include <KernelExport.h> 13#include "ISA.h" 14#include "arch_cpu.h" 15#include "isa_arch.h" 16 17//#define TRACE_ISA 18#ifdef TRACE_ISA 19# define TRACE(x) dprintf x 20#else 21# define TRACE(x) ; 22#endif 23 24 25uint8 26arch_isa_read_io_8(int mapped_io_addr) 27{ 28 uint8 value = in8(mapped_io_addr); 29 30 TRACE(("isa_read8(%x->%x)\n", mapped_io_addr, value)); 31 32 return value; 33} 34 35 36void 37arch_isa_write_io_8(int mapped_io_addr, uint8 value) 38{ 39 TRACE(("isa_write8(%x->%x)\n", value, mapped_io_addr)); 40 41 out8(value, mapped_io_addr); 42} 43 44 45uint16 46arch_isa_read_io_16(int mapped_io_addr) 47{ 48 return in16(mapped_io_addr); 49} 50 51 52void 53arch_isa_write_io_16(int mapped_io_addr, uint16 value) 54{ 55 out16(value, mapped_io_addr); 56} 57 58 59uint32 60arch_isa_read_io_32(int mapped_io_addr) 61{ 62 return in32(mapped_io_addr); 63} 64 65 66void 67arch_isa_write_io_32(int mapped_io_addr, uint32 value) 68{ 69 out32(value, mapped_io_addr); 70} 71 72 73phys_addr_t 74arch_isa_ram_address(phys_addr_t physical_address_in_system_memory) 75{ 76 // this is what the BeOS kernel does 77 return physical_address_in_system_memory; 78} 79 80 81status_t 82arch_isa_init(void) 83{ 84 return B_OK; 85} 86