freebsd-dev/sys/ia64
Marcel Moolenaar 26279767e4 Some code churn:
o   Eliminate IA64_PHYS_TO_RR6 and change all places where the macro is used
    by calling either bus_space_map() or pmap_mapdev().
o   Implement bus_space_map() in terms of pmap_mapdev() and implement
    bus_space_unmap() in terms of pmap_unmapdev().
o   Have ia64_pib hold the uncached virtual address of the processor interrupt
    block throughout the kernel's life and access the elements of the PIB
    through this structure pointer.

This is a non-functional change with the exception of using ia64_ld1() and
ia64_st8() to write to the PIB. We were still using assignments, for which
the compiler generates semaphore reads -- which cause undefined behaviour
for uncacheable memory. Note also that the memory barriers in ipi_send() are
critical for proper functioning.

With all the mapping of uncached memory done by pmap_mapdev(), we can keep
track of the translations and wire them in the CPU. This then eliminates
the need to reserve a whole region for uncached I/O and it eliminates
translation traps for device I/O accesses.
2010-02-14 16:56:24 +00:00
..
acpica Some code churn: 2010-02-14 16:56:24 +00:00
compile
conf Add the options DEADLKRES (introducing the deadlock resolver thread) in 2010-02-10 16:30:04 +00:00
disasm Fix disassembly of the invala, itc, itr and hint instructions 2007-10-16 02:49:40 +00:00
ia32 Add trivial implementation for the freebsd32_sysarch on ia64. 2009-04-01 19:23:07 +00:00
ia64 Some code churn: 2010-02-14 16:56:24 +00:00
include Some code churn: 2010-02-14 16:56:24 +00:00
isa Remove isa_irq_pending(). It's not used. 2009-04-24 03:43:20 +00:00
pci In pci_cfgregread() and pci_cfgregwrite(), validate the arguments and check 2010-01-28 04:50:09 +00:00