vfs: check userland buffers before reading them.
[haiku.git] / src / add-ons / kernel / bus_managers / isa / arch / x86 / isa_controller.cpp
blobde5818d965c1892a081a45a4f79bcaa08bd79a8c
1 /*
2 * Copyright 2007 Haiku, Inc.
3 * Distributed under the terms of the MIT License.
5 * arch-specific config manager
7 * Authors (in chronological order):
8 * François Revol (revol@free.fr)
9 */
11 #include <KernelExport.h>
12 #include "ISA.h"
13 #include "arch_cpu.h"
14 #include "isa_arch.h"
16 //#define TRACE_ISA
17 #ifdef TRACE_ISA
18 # define TRACE(x) dprintf x
19 #else
20 # define TRACE(x) ;
21 #endif
24 uint8
25 arch_isa_read_io_8(int mapped_io_addr)
27 uint8 value = in8(mapped_io_addr);
29 TRACE(("isa_read8(%x->%x)\n", mapped_io_addr, value));
31 return value;
35 void
36 arch_isa_write_io_8(int mapped_io_addr, uint8 value)
38 TRACE(("isa_write8(%x->%x)\n", value, mapped_io_addr));
40 out8(value, mapped_io_addr);
44 uint16
45 arch_isa_read_io_16(int mapped_io_addr)
47 return in16(mapped_io_addr);
51 void
52 arch_isa_write_io_16(int mapped_io_addr, uint16 value)
54 out16(value, mapped_io_addr);
58 uint32
59 arch_isa_read_io_32(int mapped_io_addr)
61 return in32(mapped_io_addr);
65 void
66 arch_isa_write_io_32(int mapped_io_addr, uint32 value)
68 out32(value, mapped_io_addr);
72 phys_addr_t
73 arch_isa_ram_address(phys_addr_t physical_address_in_system_memory)
75 // this is what the BeOS kernel does
76 return physical_address_in_system_memory;
80 status_t
81 arch_isa_init(void)
83 return B_OK;