1191949Ssam/* 2191949Ssam * Copyright 2007 Haiku, Inc. 3191949Ssam * Distributed under the terms of the MIT License. 4191949Ssam * 5191949Ssam * arch-specific config manager 6191949Ssam * 7191949Ssam * Authors (in chronological order): 8191949Ssam * Fran��ois Revol (revol@free.fr) 9191949Ssam */ 10191949Ssam 11191949Ssam#include <KernelExport.h> 12191949Ssam#include "ISA.h" 13191949Ssam#include "arch_cpu.h" 14191949Ssam#include "isa_arch.h" 15191949Ssam 16191949Ssam//#define TRACE_ISA 17191949Ssam#ifdef TRACE_ISA 18191949Ssam# define TRACE(x) dprintf x 19191949Ssam#else 20191949Ssam# define TRACE(x) ; 21191949Ssam#endif 22191949Ssam 23191949Ssam 24191949Ssamuint8 25270842Sbruefferarch_isa_read_io_8(int mapped_io_addr) 26191949Ssam{ 27191949Ssam uint8 value = in8(mapped_io_addr); 28191949Ssam 29191949Ssam TRACE(("isa_read8(%x->%x)\n", mapped_io_addr, value)); 30191949Ssam 31191949Ssam return value; 32191949Ssam} 33191949Ssam 34191949Ssam 35191949Ssamvoid 36191949Ssamarch_isa_write_io_8(int mapped_io_addr, uint8 value) 37191949Ssam{ 38191949Ssam TRACE(("isa_write8(%x->%x)\n", value, mapped_io_addr)); 39269999Sgavin 40269999Sgavin out8(value, mapped_io_addr); 41269999Sgavin} 42198470Srpaulo 43198470Srpaulo 44198470Srpaulouint16 45261702Sbruefferarch_isa_read_io_16(int mapped_io_addr) 46270842Sbrueffer{ 47269999Sgavin return in16(mapped_io_addr); 48269999Sgavin} 49261702Sbrueffer 50261702Sbrueffer 51198470Srpaulovoid 52198470Srpauloarch_isa_write_io_16(int mapped_io_addr, uint16 value) 53203691Sbrucec{ 54203691Sbrucec out16(value, mapped_io_addr); 55220896Sbschmidt} 56220896Sbschmidt 57210289Sbschmidt 58198470Srpaulouint32 59198470Srpauloarch_isa_read_io_32(int mapped_io_addr) 60191949Ssam{ 61191949Ssam return in32(mapped_io_addr); 62191949Ssam} 63191949Ssam 64261702Sbrueffer 65270842Sbrueffervoid 66269999Sgavinarch_isa_write_io_32(int mapped_io_addr, uint32 value) 67269999Sgavin{ 68261702Sbrueffer out32(value, mapped_io_addr); 69261702Sbrueffer} 70198470Srpaulo 71198470Srpaulo 72203691Sbrucecphys_addr_t 73203691Sbrucecarch_isa_ram_address(phys_addr_t physical_address_in_system_memory) 74220896Sbschmidt{ 75220896Sbschmidt // this is what the BeOS kernel does 76210289Sbschmidt return physical_address_in_system_memory; 77191949Ssam} 78191949Ssam 79191949Ssam 80270842Sbruefferstatus_t 81203691Sbrucecarch_isa_init(void) 82191949Ssam{ 83191949Ssam return B_OK; 84191949Ssam} 85191949Ssam