Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Mar 2009 14:11:03 +0000 (UTC)
From:      Marius Strobl <marius@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/boot/sparc64/loader main.c src/sys/sparc64/include vmparam.h src/sys/sparc64/sparc64 exception.S mp_exception.S pmap.c support.S swtch.S tlb.c src/sys/sun4v/include vmparam.h
Message-ID:  <200903191414.n2JEEbtc067124@repoman.freebsd.org>

index | next in thread | raw e-mail

marius      2009-03-19 14:11:03 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_7)
    sys/boot/sparc64/loader main.c 
    sys/sparc64/include  vmparam.h 
    sys/sparc64/sparc64  exception.S mp_exception.S pmap.c 
                         support.S swtch.S tlb.c 
    sys/sun4v/include    vmparam.h 
  Log:
  SVN rev 190051 on 2009-03-19 14:11:03Z by marius
  
  MFC: r182877, r188455, r188477
  
  USIII and beyond CPUs have stricter requirements when it comes
  to synchronization needed after stores to internal ASIs in order
  to make side-effects visible. This mainly requires the MEMBAR #Sync
  after such stores to be replaced with a FLUSH. We use KERNBASE in
  the kernel and the newly introduced PROMBASE for the loader as the
  addresses to FLUSH as these are guaranteed to not trap. Actually,
  the USII synchronization rules also already require a FLUSH in
  pretty much all of the cases changed.
  We're also hitting an additional USIII synchronization rule which
  requires stores to AA_IMMU_SFSR to be immediately followed by a DONE,
  FLUSH or RETRY. Doing so triggers a RED state exception though so
  leave the MEMBAR #Sync. Linux apparently also has gotten away with
  doing the same for quite some time now, apart from the fact that
  it's not clear to me why we need to clear the valid bit from the
  SFSR in the first place.
  
  Reviewed by:    nwhitehorn
  
  Revision   Changes    Path
  1.32.2.5   +4 -3      src/sys/boot/sparc64/loader/main.c
  1.18.2.3   +1 -1      src/sys/sparc64/include/vmparam.h
  1.75.2.4   +12 -1     src/sys/sparc64/sparc64/exception.S
  1.13.2.2   +7 -5      src/sys/sparc64/sparc64/mp_exception.S
  1.166.2.7  +2 -2      src/sys/sparc64/sparc64/pmap.c
  1.32.2.2   +2 -1      src/sys/sparc64/sparc64/support.S
  1.34.2.2   +2 -1      src/sys/sparc64/sparc64/swtch.S
  1.8.20.3   +4 -3      src/sys/sparc64/sparc64/tlb.c
  1.5.2.2    +1 -1      src/sys/sun4v/include/vmparam.h


help

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