<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/kern/subr_intr.c, branch upstream/11.0.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=upstream%2F11.0.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=upstream%2F11.0.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2016-06-07T09:03:27Z</updated>
<entry>
<title>Remove temporary solution for storing interrupt mapping data as</title>
<updated>2016-06-07T09:03:27Z</updated>
<author>
<name>Svatopluk Kraus</name>
<email>skra@FreeBSD.org</email>
</author>
<published>2016-06-07T09:03:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c4263292fe74079a4dc0d983734e2868fa49180a'/>
<id>urn:sha1:c4263292fe74079a4dc0d983734e2868fa49180a</id>
<content type='text'>
it's not needed after r301451 and follow-ups r301453, r301539.

This makes INTRNG clean of all additions related to various buses.
</content>
</entry>
<entry>
<title>INTRNG: As follow up of r301451, implement mapping and configuration</title>
<updated>2016-06-07T05:08:24Z</updated>
<author>
<name>Michal Meloun</name>
<email>mmel@FreeBSD.org</email>
</author>
<published>2016-06-07T05:08:24Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=949883bd72f2d6f96c563466a05ec79eac761674'/>
<id>urn:sha1:949883bd72f2d6f96c563466a05ec79eac761674</id>
<content type='text'>
of gpio pin interrupts by new way.

Note: This removes last consumer of intr_ddata machinery and we remove it
in separate commit.
</content>
</entry>
<entry>
<title>INTRNG - change the way how an interrupt mapping data are provided</title>
<updated>2016-06-05T16:20:12Z</updated>
<author>
<name>Svatopluk Kraus</name>
<email>skra@FreeBSD.org</email>
</author>
<published>2016-06-05T16:20:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ad5244ece1eb60357d5fefa1b17632a25fcd116e'/>
<id>urn:sha1:ad5244ece1eb60357d5fefa1b17632a25fcd116e</id>
<content type='text'>
to the framework in OFW (FDT) case.

This is a follow-up to r301451.

Differential Revision:	https://reviews.freebsd.org/D6634
</content>
</entry>
<entry>
<title>(1) Add a new bus method to get a mapping data for an interrupt.</title>
<updated>2016-06-05T16:07:57Z</updated>
<author>
<name>Svatopluk Kraus</name>
<email>skra@FreeBSD.org</email>
</author>
<published>2016-06-05T16:07:57Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=0869297dd95ab9f013c21a078e8e53c68dd3cf9a'/>
<id>urn:sha1:0869297dd95ab9f013c21a078e8e53c68dd3cf9a</id>
<content type='text'>
BUS_MAP_INTR() is used to get an interrupt mapping data according
to provided hints. The hints could be modified afterwards, but only
if mapping data was allocated. This method is intended to be called
before BUS_ALLOC_RESOURCE().

An interrupt mapping data describes an interrupt - hardware number,
type, configuration, cpu binding, and whatever is needed to setup it.

(2) Introduce a method which allows storing of an additional data
in struct resource to be available for bus drivers. This method is
convenient in two ways:
 - there is no need to rework existing bus drivers as they can simply
   be extended to provide an additional data,
 - there is no need to modify any existing bus methods as struct
   resource is already passed to them as argument and thus stored data
   is simply accessible by other bus drivers.
For now, implement this method only for INTRNG.

This is motivated by needs of modern SOCs where hardware initialization
is not straightforward and resources descriptions are complex, opaque
for everyone but provider, and may vary from SOC to SOC. Typical
situation is that one bus driver can fetch a resource description for
its child device, but it's opaque for this driver. Another bus driver
knows a provider for this kind of resource and can pass this resource
description to it. In fact, something like device IVARS would be
perfect for that if implemented generally enough. Unfortunatelly, IVARS
are usable only by their owners now. Only owner knows its IVARS layout,
thus other bus drivers are not able to use them.

Differential Revision:	https://reviews.freebsd.org/D6632
</content>
</entry>
<entry>
<title>Add an interface to handle interrupt controllers that have a contiguous</title>
<updated>2016-06-03T10:13:18Z</updated>
<author>
<name>Andrew Turner</name>
<email>andrew@FreeBSD.org</email>
</author>
<published>2016-06-03T10:13:18Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d1605cda2b70cc0279bb01c01ee209e875b48b7b'/>
<id>urn:sha1:d1605cda2b70cc0279bb01c01ee209e875b48b7b</id>
<content type='text'>
range of interrupts they pass to a second controller driver to handle.
The parent driver is expected to detect when one of these interrupts has
been triggered and call intr_child_irq_handler to pass the interrupt to
a child. The children controllers are then expected to manage the range
by allocating interrupts as needed.

This will initially be used by the ARM GICv3 driver, but is is expected to
be useful for other driver where this type of allocation applies.

Obtained from:	ABT Systems Ltd
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D6436
</content>
</entry>
<entry>
<title>Limit calling pmc_hook to when the interrupt comes while running userspace.</title>
<updated>2016-05-24T12:06:56Z</updated>
<author>
<name>Andrew Turner</name>
<email>andrew@FreeBSD.org</email>
</author>
<published>2016-05-24T12:06:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=974692e3bfcf71bf3e23dd73ca177d3c4d289b95'/>
<id>urn:sha1:974692e3bfcf71bf3e23dd73ca177d3c4d289b95</id>
<content type='text'>
We may enable interrupts from within the callback, e.g. in a data abort
during copyin. If we receive an interrupt at that time pmc_hook will be
called again and, as it is handling userspace stack tracing, will hit a
KASSERT as it checks if the trapframe is from userland.

With this I can run hwpmc with intrng on a ThunderX and have it trace all
CPUs.

Obtained from:	ABT Systems Ltd
Sponsored by:	The FreeBSD Foundation
</content>
</entry>
<entry>
<title>Add the needed hwpmc hooks to subr_intr.c. This is needed for the correct</title>
<updated>2016-05-23T15:26:35Z</updated>
<author>
<name>Andrew Turner</name>
<email>andrew@FreeBSD.org</email>
</author>
<published>2016-05-23T15:26:35Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=df7a2251ccf99f2fa7e1f4b978da34ee3f2a0553'/>
<id>urn:sha1:df7a2251ccf99f2fa7e1f4b978da34ee3f2a0553</id>
<content type='text'>
operation of hwpmc on, for example, arm64 with intrng.

Obtained from:	ABT Systems Ltd
Sponsored by:	The FreeBSD Foundation
</content>
</entry>
<entry>
<title>Return the struct intr_pic pointer from intr_pic_register. This will be</title>
<updated>2016-05-18T15:05:44Z</updated>
<author>
<name>Andrew Turner</name>
<email>andrew@FreeBSD.org</email>
</author>
<published>2016-05-18T15:05:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9346e9130d7ae72b1a6fadb36de85c835074b883'/>
<id>urn:sha1:9346e9130d7ae72b1a6fadb36de85c835074b883</id>
<content type='text'>
needed in later changes where we may not be able to lock the pic list lock
to perform a lookup, e.g. from within interrupt context.

Obtained from:	ABT Systems Ltd
Sponsored by:	The FreeBSD Foundation
</content>
</entry>
<entry>
<title>Introduce MSI and MSI-X support to intrng. This adds a new msi device</title>
<updated>2016-05-16T09:11:40Z</updated>
<author>
<name>Andrew Turner</name>
<email>andrew@FreeBSD.org</email>
</author>
<published>2016-05-16T09:11:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3fc155dc64bd967aebcde25b51c4210d870718b9'/>
<id>urn:sha1:3fc155dc64bd967aebcde25b51c4210d870718b9</id>
<content type='text'>
interface with 5 methods to mirror the 5 MSI/MSI-X methods in the pcib
interface. The pcib driver will need to perform a device specific lookup
to find the MSI controller and pass this to intrng as the xref. Intrng
will finally find the controller and have it handle the requested operation.

Obtained from:	ABT Systems Ltd
MFH:		yes
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D5985
</content>
</entry>
<entry>
<title>Check malloc succeeded in pic_create, with M_NOWAIT it may return NULL.</title>
<updated>2016-05-09T12:24:39Z</updated>
<author>
<name>Andrew Turner</name>
<email>andrew@FreeBSD.org</email>
</author>
<published>2016-05-09T12:24:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b48c608386bc54ce249eb1b031894edcf08d79b3'/>
<id>urn:sha1:b48c608386bc54ce249eb1b031894edcf08d79b3</id>
<content type='text'>
Obtained from:	ABT Systems Ltd
Sponsored by:	The FreeBSD Foundation
</content>
</entry>
</feed>
