Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 14 Feb 2010 16:56:24 +0000 (UTC)
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/ia64/acpica madt.c src/sys/ia64/ia64 bus_machdep.c efi.c interrupt.c machdep.c mp_machdep.c pmap.c sapic.c src/sys/ia64/include bus.h intr.h md_var.h pmap.h vmparam.h
Message-ID:  <201002141656.o1EGuYtK057851@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
marcel      2010-02-14 16:56:24 UTC

  FreeBSD src repository

  Modified files:
    sys/ia64/acpica      madt.c 
    sys/ia64/ia64        bus_machdep.c efi.c interrupt.c machdep.c 
                         mp_machdep.c pmap.c sapic.c 
    sys/ia64/include     bus.h intr.h md_var.h pmap.h vmparam.h 
  Log:
  SVN rev 203883 on 2010-02-14 16:56:24Z by marcel
  
  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.
  
  Revision  Changes    Path
  1.22      +2 -4      src/sys/ia64/acpica/madt.c
  1.2       +21 -0     src/sys/ia64/ia64/bus_machdep.c
  1.9       +4 -2      src/sys/ia64/ia64/efi.c
  1.76      +1 -2      src/sys/ia64/ia64/interrupt.c
  1.256     +9 -1      src/sys/ia64/ia64/machdep.c
  1.79      +14 -12    src/sys/ia64/ia64/mp_machdep.c
  1.210     +5 -3      src/sys/ia64/ia64/pmap.c
  1.16      +4 -3      src/sys/ia64/ia64/sapic.c
  1.26      +6 -20     src/sys/ia64/include/bus.h
  1.6       +11 -13    src/sys/ia64/include/intr.h
  1.32      +8 -8      src/sys/ia64/include/md_var.h
  1.31      +1 -1      src/sys/ia64/include/pmap.h
  1.20      +0 -1      src/sys/ia64/include/vmparam.h



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201002141656.o1EGuYtK057851>