]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC: r292943, r292960
authormarius <marius@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 13 Jan 2016 21:38:52 +0000 (21:38 +0000)
committermarius <marius@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 13 Jan 2016 21:38:52 +0000 (21:38 +0000)
commitce98eec5b604289675cce1088043ce57f295dbd2
tree6f73fff8eb0743d3f29e08906a430348608a3426
parent13ee1cc959cf475541b1f0de870b3455fa1e647e
MFC: r292943, r292960

- (Ab)use udivx for dividing the u_int pc_cpuid when implementing
  CPU_ISSET(), CPU_SET() etc. in sparc64 asm. This approach has the
  benefit of not clobbering %y, allowing to revert r222827 and
  partially r222828.
- In r222828, CATR() already was changed to use the equivalent of
  PCPU_GET(cpuid) instead of the MD module ID for KTR_MASK, so
  belatedly also catch up with KTR_CPU and the C side of ktr(9).
  Originally, in r203838 CATR() was moved away from directly reading
  the module ID or equivalent as that became impractical with other
  CPU types than USI/II supported. With r222828 in place, per-CPU
  data generally is set up soon enough, though, that employing
  PCPU things in ktr(9) also for use during early stages works.
- Unfortunately, an exception to the latter is the ktr(9) use
  in pmap_bootstrap(), which actually is run so early that even
  checking for bootverbose being set via the loader doesn't work.
  Consequently, replace the ktr(9) use in pmap_bootstrap() with
  OF_printf(9) and put it under #ifdef DIAGNOSTIC instead.

git-svn-id: svn://svn.freebsd.org/base/stable/10@293853 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/kern/kern_ktr.c
sys/sparc64/include/ktr.h
sys/sparc64/sparc64/exception.S
sys/sparc64/sparc64/mp_exception.S
sys/sparc64/sparc64/pmap.c
sys/sparc64/sparc64/swtch.S