<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test/sys/sparc64, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test/atom?h=main</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/'/>
<updated>2020-02-03T17:35:11Z</updated>
<entry>
<title>Remove sparc64 kernel support</title>
<updated>2020-02-03T17:35:11Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2020-02-03T17:35:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=58aa35d42975c298ca0adba705c042596303c9f5'/>
<id>urn:sha1:58aa35d42975c298ca0adba705c042596303c9f5</id>
<content type='text'>
Remove all sparc64 specific files
Remove all sparc64 ifdefs
Removee indireeect sparc64 ifdefs
</content>
</entry>
<entry>
<title>Reimplement stack capture of running threads on i386 and amd64.</title>
<updated>2020-01-31T15:43:33Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2020-01-31T15:43:33Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=1c29da02798d968eb874b86221333a56393a94c3'/>
<id>urn:sha1:1c29da02798d968eb874b86221333a56393a94c3</id>
<content type='text'>
After r355784 the td_oncpu field is no longer synchronized by the thread
lock, so the stack capture interrupt cannot be delievered precisely.
Fix this using a loop which drops the thread lock and restarts if the
wrong thread was sampled from the stack capture interrupt handler.

Change the implementation to use a regular interrupt instead of an NMI.
Now that we drop the thread lock, there is no advantage to the latter.

Simplify the KPIs.  Remove stack_save_td_running() and add a return
value to stack_save_td().  On platforms that do not support stack
capture of running threads, stack_save_td() returns EOPNOTSUPP.  If the
target thread is running in user mode, stack_save_td() returns EBUSY.

Reviewed by:	kib
Reported by:	mjg, pho
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D23355
</content>
</entry>
<entry>
<title>sparc64: Busy the TSB page before freeing it in pmap_release().</title>
<updated>2020-01-23T17:18:58Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2020-01-23T17:18:58Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=dec6f6358e7b1714c875d158ce0c79d8181ce534'/>
<id>urn:sha1:dec6f6358e7b1714c875d158ce0c79d8181ce534</id>
<content type='text'>
This is now required by vm_page_free().

PR:	243534
Reported and tested by:	Michael Reim &lt;kraileth@elderlinux.org&gt;
</content>
</entry>
<entry>
<title>Apply r355819 to sparc64 - fix assertion failure after r355784</title>
<updated>2020-01-23T14:11:02Z</updated>
<author>
<name>Ed Maste</name>
<email>emaste@FreeBSD.org</email>
</author>
<published>2020-01-23T14:11:02Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=f5afa0f9fb1866b874e1822c84ccdfd45a44980a'/>
<id>urn:sha1:f5afa0f9fb1866b874e1822c84ccdfd45a44980a</id>
<content type='text'>
From r355819:
Repeat the spinlock_enter/exit pattern from amd64 on other architectures
to fix an assert violation introduced in r355784.  Without this
spinlock_exit() may see owepreempt and switch before reducing the
spinlock count.  amd64 had been optimized to do a single critical
enter/exit regardless of the number of spinlocks which avoided the
problem and this optimization had not been applied elsewhere.

This is completely untested - I have no obsolete Sparc hardware - but
someone did try testing recent changes on sparc64 (PR 243534).

PR:		243534
</content>
</entry>
<entry>
<title>Add KERNEL_PANICKED macro for use in place of direct panicstr tests</title>
<updated>2020-01-12T06:07:54Z</updated>
<author>
<name>Mateusz Guzik</name>
<email>mjg@FreeBSD.org</email>
</author>
<published>2020-01-12T06:07:54Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=879e0604ee6ac0ded87f6754141e7af25f4b7d5a'/>
<id>urn:sha1:879e0604ee6ac0ded87f6754141e7af25f4b7d5a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>sc(4) md bits: stop setting sc-&gt;kbd entirely</title>
<updated>2019-12-30T02:07:55Z</updated>
<author>
<name>Kyle Evans</name>
<email>kevans@FreeBSD.org</email>
</author>
<published>2019-12-30T02:07:55Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=06b367b2b6e6d9ef8cb20e89358e4cc0661d1e62'/>
<id>urn:sha1:06b367b2b6e6d9ef8cb20e89358e4cc0661d1e62</id>
<content type='text'>
The machdep parts no longer need to touch keyboard parts after r356043;
sc-&gt;kbd will be 0-initialized and this works as expected.
</content>
</entry>
<entry>
<title>[PowerPC] Implement Secure-PLT jump table processing for ppc32.</title>
<updated>2019-12-24T15:56:24Z</updated>
<author>
<name>Brandon Bergren</name>
<email>bdragon@FreeBSD.org</email>
</author>
<published>2019-12-24T15:56:24Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=7821a820d008a254bbe53b96f413c2ecab5af964'/>
<id>urn:sha1:7821a820d008a254bbe53b96f413c2ecab5af964</id>
<content type='text'>
Due to clang and LLD's tendency to use a PLT for builtins, and as they
don't have full support for EABI, we sometimes have to deal with a PLT in
.ko files in a clang-built kernel.

As such, augment the in-kernel linker to support jump table processing.

As there is no particular reason to support lazy binding in kernel modules,
only implement Secure-PLT immediate binding.

As part of these changes, add elf_cpu_parse_dynamic() to the MD API of the
in-kernel linker (except on platforms that use raw object files.)

The new function will allow MD code to act on MD tags in _DYNAMIC.

Use this new function in the PowerPC MD code to ensure BSS-PLT modules using
PLT will be rejected during insertion, and to poison the runtime resolver to
ensure we get a clear panic reason if a call is made to the resolver.

Reviewed by:	jhibbits
Differential Revision:	https://reviews.freebsd.org/D22608
</content>
</entry>
<entry>
<title>Introduce the concept of busdma tag templates. A template can be allocated</title>
<updated>2019-12-24T14:48:46Z</updated>
<author>
<name>Scott Long</name>
<email>scottl@FreeBSD.org</email>
</author>
<published>2019-12-24T14:48:46Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=757d4fbaa75df6193ccd19e475f7b581081d5291'/>
<id>urn:sha1:757d4fbaa75df6193ccd19e475f7b581081d5291</id>
<content type='text'>
off the stack, initialized to default values, and then filled in with
driver-specific values, all without having to worry about the numerous
other fields in the tag. The resulting template is then passed into
busdma and the normal opaque tag object created.  See the man page for
details on how to initialize a template.

Templates do not support tag filters.  Filters have been broken for many
years, and only existed for an ancient make/model of hardware that had a
quirky DMA engine.  Instead of breaking the ABI/API and changing the
arugment signature of bus_dma_tag_create() to remove the filter arguments,
templates allow us to ignore them, and also significantly reduce the
complexity of creating and managing tags.

Reviewed by:	imp, kib
Differential Revision:	https://reviews.freebsd.org/D22906
</content>
</entry>
<entry>
<title>sc: fix arm/mips/sparc64 MD bits</title>
<updated>2019-12-23T21:41:04Z</updated>
<author>
<name>Kyle Evans</name>
<email>kevans@FreeBSD.org</email>
</author>
<published>2019-12-23T21:41:04Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=117deb3fc4b5a06bedc0315a75f03ff0428b431f'/>
<id>urn:sha1:117deb3fc4b5a06bedc0315a75f03ff0428b431f</id>
<content type='text'>
r356043 missed a couple of references in machdep parts... arguably, these
lines could probably be dropped as the softc is likely still zero'd at this
point.

Pointy hat:	kevans
</content>
</entry>
<entry>
<title>bitset: rename confusing macro NAND to ANDNOT</title>
<updated>2019-12-13T09:32:16Z</updated>
<author>
<name>Ryan Libby</name>
<email>rlibby@FreeBSD.org</email>
</author>
<published>2019-12-13T09:32:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=9825eadf2c5733993c61dbc106d4380ace6b1046'/>
<id>urn:sha1:9825eadf2c5733993c61dbc106d4380ace6b1046</id>
<content type='text'>
s/BIT_NAND/BIT_ANDNOT/, and for CPU and DOMAINSET too.  The actual
implementation is "and not" (or "but not"), i.e. A but not B.
Fortunately this does appear to be what all existing callers want.

Don't supply a NAND (not (A and B)) operation at this time.

Discussed with:	jeff
Reviewed by:	cem
Sponsored by:	Dell EMC Isilon
Differential Revision:	https://reviews.freebsd.org/D22791
</content>
</entry>
</feed>
