#
321229 |
|
19-Jul-2017 |
ngie |
MFC note: cnv(9) diff ignored since API/manpage not present on ^/stable/11.
MFC r309066:
r309066 (by brueffer):
Fix various mdoc issues reported by mandoc -Tlint.
|
#
302408 |
|
07-Jul-2016 |
gjb |
Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle. Prune svn:mergeinfo from the new branch, as nothing has been merged here.
Additional commits post-branch will follow.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
300317 |
|
20-May-2016 |
jhb |
Add new bus methods for mapping resources.
Add a pair of bus methods that can be used to "map" resources for direct CPU access using bus_space(9). bus_map_resource() creates a mapping and bus_unmap_resource() releases a previously created mapping. Mappings are described by 'struct resource_map' object. Pointers to these objects can be passed as the first argument to the bus_space wrapper API used for bus resources.
Drivers that wish to map all of a resource using default settings (for example, using uncacheable memory attributes) do not need to change. However, drivers that wish to use non-default settings can now do so without jumping through hoops.
First, an RF_UNMAPPED flag is added to request that a resource is not implicitly mapped with the default settings when it is activated. This permits other activation steps (such as enabling I/O or memory decoding in a device's PCI command register) to be taken without creating a mapping. Right now the AGP drivers don't set RF_ACTIVE to avoid using up a large amount of KVA to map the AGP aperture on 32-bit platforms. Once RF_UNMAPPED is supported on all platforms that support AGP this can be changed to using RF_UNMAPPED with RF_ACTIVE instead.
Second, bus_map_resource accepts an optional structure that defines additional settings for a given mapping.
For example, a driver can now request to map only a subset of a resource instead of the entire range. The AGP driver could also use this to only map the first page of the aperture (IIRC, it calls pmap_mapdev() directly to map the first page currently). I will also eventually change the PCI-PCI bridge driver to request mappings of the subset of the I/O window resource on its parent side to create mappings for child devices rather than passing child resources directly up to nexus to be mapped. This also permits bridges that do address translation to request suitable mappings from a resource on the "upper" side of the bus when mapping resources on the "lower" side of the bus.
Another attribute that can be specified is an alternate memory attribute for memory-mapped resources. This can be used to request a Write-Combining mapping of a PCI BAR in an MI fashion. (Currently the drivers that do this call pmap_change_attr() directly for x86 only.)
Note that this commit only adds the MI framework. Each platform needs to add support for handling RF_UNMAPPED and thew new bus_map/unmap_resource methods. Generally speaking, any drivers that are calling rman_set_bustag() and rman_set_bushandle() need to be updated.
Discussed on: arch Reviewed by: cem Differential Revision: https://reviews.freebsd.org/D5237
|
#
300253 |
|
19-May-2016 |
jhb |
Remove dangling references to rman_await_resource().
This function was removed when RF_TIMESHARE was removed a couple of years ago.
MFC after: 3 days
|
#
294883 |
|
27-Jan-2016 |
jhibbits |
Convert rman to use rman_res_t instead of u_long
Summary: Migrate to using the semi-opaque type rman_res_t to specify rman resources. For now, this is still compatible with u_long.
This is step one in migrating rman to use uintmax_t for resources instead of u_long.
Going forward, this could feasibly be used to specify architecture-specific definitions of resource ranges, rather than baking a specific integer type into the API.
This change has been broken out to facilitate MFC'ing drivers back to 10 without breaking ABI.
Reviewed By: jhb Sponsored by: Alex Perez/Inertial Computing Differential Revision: https://reviews.freebsd.org/D5075
|
#
268780 |
|
16-Jul-2014 |
truckman |
Nuke the never-used RF_TIMESHARE feature, reducing the complexity of the code. The consensus on arch@ is that this feature might have been useful in the distant past, but is now just unnecessary bloat.
The int_rman_activate_resource() and int_rman_deactivate_resource() functions become trivial, so manually inline them.
The special deferred handling of RF_ACTIVE is no longer needed in reserve_resource_bound(), so eliminate the associated code at the end of the function.
These changes reduce the object file size by more than 500 bytes on i386.
Update the rman.9 man page to reflect the removal of the RF_TIMESHARE feature.
MFC after: 2 weeks
|
#
267936 |
|
26-Jun-2014 |
bapt |
use .Mt to mark up email addresses consistently (part6)
PR: 191174 Submitted by: Franco Fichtner <franco at lastsummer.de>
|
#
221231 |
|
29-Apr-2011 |
jhb |
Add a new bus method, BUS_ADJUST_RESOURCE() that is intended to be a wrapper around rman_adjust_resource(). Include a generic implementation, bus_generic_adjust_resource() which passes the request up to the parent bus. There is currently no default implementation. A bus_adjust_resource() wrapper is provided for use in drivers.
|
#
221220 |
|
29-Apr-2011 |
jhb |
Extend the rman(9) API to support altering an existing resource. Specifically, these changes allow a resource to back a relocatable and resizable resource such as the I/O window decoders in PCI-PCI bridges. - rman_adjust_resource() can adjust the start and end address of an existing resource. It only succeeds if the newly requested address space is already free. It also supports shrinking a resource in which case the freed space will be marked unallocated in the rman. - rman_first_free_region() and rman_last_free_region() return the start and end addresses for the first or last unallocated region in an rman, respectively. This can be used to determine by how much the resource backing an rman must be adjusted to accomodate an allocation request that does not fit into the existing rman.
While here, document the rm_start and rm_end fields in struct rman, rman_is_region_manager(), the bound argument to rman_reserve_resource_bound(), and rman_init_from_resource().
|
#
218506 |
|
10-Feb-2011 |
imp |
Document requirement that sys/types.h be included before rman.h.
Submitted by: Raphael Kubo da Costa MFC after: 2 weeks
|
#
210933 |
|
06-Aug-2010 |
joel |
Fix typos and spelling mistakes.
|
#
169101 |
|
29-Apr-2007 |
jmg |
Document requirements to calling rman_init... (Hmmm, maybe we should make these areguments to rman_init?)
MFC after: 1 week
|
#
169075 |
|
28-Apr-2007 |
jmg |
Complete removal of restriction about overlaps to rman_manage_region: remove comment and man page verbage...
Document return values for rman_init and rman_manage_region..
MFC after: 1 week
|
#
155619 |
|
13-Feb-2006 |
joel |
.Pp before .Sh is redundant.
Reviewed by: ru
|
#
147647 |
|
28-Jun-2005 |
hmp |
Use 'manual page' instead of 'man page' for consistency.
Approved by: re (hrs)
|
#
147398 |
|
15-Jun-2005 |
ru |
Assorted markup fixes and minor wordsmithing.
Approved by: re
|
#
143670 |
|
15-Mar-2005 |
imp |
Clarify that the end argument meaning for rman_reserve_resource_bound is the highest acceptable value for the ending of the resource being allocated. One could also believe that it is the highest starting value of the resource. The code definitely expects the former, but I could find no documentation of this apart from TFSC.
|
#
129365 |
|
17-May-2004 |
hmp |
Add rman_get_device(9) to SYNOPSIS, .Nm and MLINK it to rman(9).
|
#
115418 |
|
30-May-2003 |
ru |
Assorted mdoc(7) fixes.
|
#
115075 |
|
16-May-2003 |
hmp |
Document the ``resource management'' routines in rman(9).
Submitted by: Bruce M. Simpson <bms@spc.org> Reviewed by: mdodd
Approved by: des (mentor), re (scottl)
|