freebsd-skq/sys/ia64/ia64
marcel 33f49fd7d2 Revamp bus_space access functions:
o   Optimize for memory mapped I/O by making all I/O port acceses function
    calls and marking the test for the IA64_BUS_SPACE_IO tag with
    __predict_false(). Implement the I/O port access functions in a new
    file, called bus_machdep.c.
o   Change the bus_space_handle_t for memory mapped I/O to the virtual
    address rather than the physical address. This eliminates the PA->VA
    translation for every I/O access. The handle for I/O port access is
    still the port number.
o   Move inb(), outb(), inw(), outw(), inl(), outl(), and their string
    variants from cpufunc.h and define them in bus.h. On ia64 these are
    not CPU functions at all. In bus.h they are merely aliases for the
    new I/O port access functions defined in bus_machdep.h.
o   Handle the ACPI resource bug in nexus_set_resource(). There we can
    do it once so that we don't have to worry about it whenever we need
    to write to an I/O port that is really a memory mapped address.

The upshot of this change is that the KBI is better defined and that I/O
port access always involves a function call, allowing us to change the
actual implementation without breaking the KBI. For memory mapped I/O the
virtual address is abstracted, so that we can change the VA->PA mapping
in the kernel without causing an KBI breakage. The exception at this time
is for bus_space_map() and bus_space_unmap().

MFC after:	1 week.
2009-12-30 18:15:25 +00:00
..
autoconf.c
bus_machdep.c Revamp bus_space access functions: 2009-12-30 18:15:25 +00:00
busdma_machdep.c Restore bus DMA bounce pages to an offset of 0 when they are released by 2009-04-17 13:22:18 +00:00
clock.c Export the bus, cpu and itc frequencies under the hw.freq sysctl node. 2009-12-23 04:48:42 +00:00
context.S
db_machdep.c opt_* headers are included using the quoted form. 2009-11-19 01:27:22 +00:00
dump_machdep.c Place hostnames and similar information fully under the prison system. 2009-05-29 21:27:12 +00:00
efi.c
elf_machdep.c Make sure that the primary native brandinfo always gets added 2009-10-03 11:57:21 +00:00
emulate.c
exception.S In exception_save, write-back ar.rnat after switching the backing- 2009-12-08 00:44:23 +00:00
gdb_machdep.c
genassym.c Define struct pcpu_md as the only MD field of struct pcpu (pc_acpi_id 2009-12-07 06:41:27 +00:00
highfp.c Reimplement the lazy FP context switching: 2009-10-31 22:27:31 +00:00
in_cksum.c
interrupt.c Define struct pcpu_md as the only MD field of struct pcpu (pc_acpi_id 2009-12-07 06:41:27 +00:00
locore.S
machdep.c Revamp bus_space access functions: 2009-12-30 18:15:25 +00:00
mca.c
mem.c Update d_mmap() to accept vm_ooffset_t and vm_memattr_t. 2009-12-29 21:51:28 +00:00
mp_machdep.c Revamp bus_space access functions: 2009-12-30 18:15:25 +00:00
nexus.c Revamp bus_space access functions: 2009-12-30 18:15:25 +00:00
pal.S
pmap.c Define struct pcpu_md as the only MD field of struct pcpu (pc_acpi_id 2009-12-07 06:41:27 +00:00
ptrace_machdep.c
sal.c
sapic.c
setjmp.S
ssc.c Last minute TTY API change: remove mutex argument from tty_alloc(). 2009-05-29 06:41:23 +00:00
sscdisk.c (S)LIST_HEAD_INITIALIZER takes a (S)LIST_HEAD as an argument. 2009-12-28 22:56:30 +00:00
stack_machdep.c
support.S
sys_machdep.c Revamp bus_space access functions: 2009-12-30 18:15:25 +00:00
syscall.S
trap.c Simplify the invocation of vm_fault(). Specifically, eliminate the flag 2009-11-27 20:24:11 +00:00
uio_machdep.c
uma_machdep.c
unaligned.c
unwind.c
vm_machdep.c Extract the code that records syscall results in the frame into MD 2009-11-10 11:43:07 +00:00