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#include <KernelExport.h> 12#include "ISA.h" 13#include "arch_cpu.h" 14#include "isa_arch.h" 15 16//#define TRACE_ISA 17#ifdef TRACE_ISA 18# define TRACE(x) dprintf x 19#else 20# define TRACE(x) ; 21#endif 22 23 24uint8 25arch_isa_read_io_8(int mapped_io_addr) 26{ 27 uint8 value = in8(mapped_io_addr); 28 29 TRACE(("isa_read8(%x->%x)\n", mapped_io_addr, value)); 30 31 return value; 32} 33 34 35void 36arch_isa_write_io_8(int mapped_io_addr, uint8 value) 37{ 38 TRACE(("isa_write8(%x->%x)\n", value, mapped_io_addr)); 39 40 out8(value, mapped_io_addr); 41} 42 43 44uint16 45arch_isa_read_io_16(int mapped_io_addr) 46{ 47 return in16(mapped_io_addr); 48} 49 50 51void 52arch_isa_write_io_16(int mapped_io_addr, uint16 value) 53{ 54 out16(value, mapped_io_addr); 55} 56 57 58uint32 59arch_isa_read_io_32(int mapped_io_addr) 60{ 61 return in32(mapped_io_addr); 62} 63 64 65void 66arch_isa_write_io_32(int mapped_io_addr, uint32 value) 67{ 68 out32(value, mapped_io_addr); 69} 70 71 72phys_addr_t 73arch_isa_ram_address(phys_addr_t physical_address_in_system_memory) 74{ 75 // this is what the BeOS kernel does 76 return physical_address_in_system_memory; 77} 78 79 80status_t 81arch_isa_init(void) 82{ 83 return B_OK; 84} 85