#
037946dc |
| 09-May-2024 |
Elliott Mitchell <ehem+freebsd@m5p.com> |
kern/rman: remove rman_reserve_resource_bound(), partially revert 13fb6657723
Not once has rman_reserve_resource_bound() ever been used. There are though several uses of RF_ALIGNMENT. In light of
kern/rman: remove rman_reserve_resource_bound(), partially revert 13fb6657723
Not once has rman_reserve_resource_bound() ever been used. There are though several uses of RF_ALIGNMENT. In light of this remove this extra and leave the actually used portion in place.
This partially reverts commit 13fb6657723c1e9cb47bbd286942b432a4306b96.
Reviewed by: imp,jhb Pull Request: https://github.com/freebsd/freebsd-src/pull/1224
show more ...
|
#
b30a80b6 |
| 13-Mar-2024 |
John Baldwin <jhb@FreeBSD.org> |
rman: Add rman_get/set_type
This permits associating a resource type (e.g. SYS_RES_MEMORY) with a struct resource.
I considered adding a new field to struct rman to store the type and only providin
rman: Add rman_get/set_type
This permits associating a resource type (e.g. SYS_RES_MEMORY) with a struct resource.
I considered adding a new field to struct rman to store the type and only providing rman_get_type as an accessor. However, changing 'struct rman' is an ABI breakage. I might revisit this in main, but the current approach is MFC'able.
Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44122
show more ...
|
Revision tags: release/13.3.0, release/14.0.0 |
|
#
fa9896e0 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: two-line nroff pattern
Remove /^\.\\"\n\.\\"\s*\$FreeBSD\$$\n/
|
Revision tags: release/13.2.0, release/12.4.0, release/13.1.0, release/12.3.0 |
|
#
a1581cd7 |
| 14-Aug-2021 |
Gordon Bergling <gbe@FreeBSD.org> |
Fix a common typo in source code comments
- s/aligment/alignment/
MFC after: 5 days
|
#
dfff3776 |
| 12-Apr-2021 |
Mark Johnston <markj@FreeBSD.org> |
Rename struct device to struct _device
types.h defines device_t as a typedef of struct device *. struct device is defined in subr_bus.c and almost all of the kernel uses device_t. The LinuxKPI also
Rename struct device to struct _device
types.h defines device_t as a typedef of struct device *. struct device is defined in subr_bus.c and almost all of the kernel uses device_t. The LinuxKPI also defines a struct device, so type confusion can occur.
This causes bugs and ambiguity for debugging tools. Rename the FreeBSD struct device to struct _device.
Reviewed by: gbe (man pages) Reviewed by: rpokala, imp, jhb MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D29676
show more ...
|
Revision tags: release/13.0.0, release/12.2.0, release/11.4.0, release/12.1.0, release/11.3.0, release/12.0.0, release/11.2.0, release/10.4.0, release/11.1.0 |
|
#
0ed76ec8 |
| 24-Nov-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r308870 through r309105.
|
#
c85d7166 |
| 23-Nov-2016 |
Christian Brueffer <brueffer@FreeBSD.org> |
Fix various mdoc issues reported by mandoc -Tlint.
|
Revision tags: release/11.0.1, release/11.0.0 |
|
#
cc981af2 |
| 20-May-2016 |
John Baldwin <jhb@FreeBSD.org> |
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
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
show more ...
|
#
886b793d |
| 20-May-2016 |
John Baldwin <jhb@FreeBSD.org> |
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
|
Revision tags: release/10.3.0 |
|
#
2414e864 |
| 03-Feb-2016 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
MfH @r295202
Expect to see panics in routing code at least now.
|
#
752d0060 |
| 27-Jan-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r294777 through r294960.
|
#
0e186c0a |
| 27-Jan-2016 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: The FreeBSD Foundation
|
#
2dd1bdf1 |
| 27-Jan-2016 |
Justin Hibbits <jhibbits@FreeBSD.org> |
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 on
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
show more ...
|
Revision tags: release/10.2.0, release/10.1.0 |
|
#
246e7a2b |
| 02-Sep-2014 |
Neel Natu <neel@FreeBSD.org> |
IFC @r269962
Submitted by: Anish Gupta (akgupt3@gmail.com)
|
#
ee7b0571 |
| 19-Aug-2014 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Merge head from 7/28
|
#
1b833d53 |
| 13-Aug-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Sync to HEAD@r269943.
|
#
d3a68794 |
| 17-Jul-2014 |
Don Lewis <truckman@FreeBSD.org> |
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 blo
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
show more ...
|
Revision tags: release/9.3.0 |
|
#
8a7314fc |
| 26-Jun-2014 |
Baptiste Daroussin <bapt@FreeBSD.org> |
use .Mt to mark up email addresses consistently (part6)
PR: 191174 Submitted by: Franco Fichtner <franco at lastsummer.de>
|
Revision tags: release/10.0.0, release/9.2.0, release/8.4.0, release/9.1.0, release/8.3.0_cvs, release/8.3.0, release/9.0.0 |
|
#
85ee63c9 |
| 29-Apr-2011 |
John Baldwin <jhb@FreeBSD.org> |
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 u
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.
show more ...
|
#
bb82622c |
| 29-Apr-2011 |
John Baldwin <jhb@FreeBSD.org> |
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 b
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().
show more ...
|
Revision tags: release/7.4.0_cvs, release/8.2.0_cvs, release/7.4.0, release/8.2.0 |
|
#
9f6985c4 |
| 10-Feb-2011 |
Warner Losh <imp@FreeBSD.org> |
Document requirement that sys/types.h be included before rman.h.
Submitted by: Raphael Kubo da Costa MFC after: 2 weeks
|
#
f6ac2391 |
| 06-Aug-2010 |
Joel Dahl <joel@FreeBSD.org> |
Fix typos and spelling mistakes.
|
Revision tags: release/8.1.0_cvs, release/8.1.0, release/7.3.0_cvs, release/7.3.0, release/8.0.0_cvs, release/8.0.0, release/7.2.0_cvs, release/7.2.0, release/7.1.0_cvs, release/7.1.0, release/6.4.0_cvs, release/6.4.0, release/7.0.0_cvs, release/7.0.0, release/6.3.0_cvs, release/6.3.0 |
|
#
bc956811 |
| 29-Apr-2007 |
John-Mark Gurney <jmg@FreeBSD.org> |
Document requirements to calling rman_init... (Hmmm, maybe we should make these areguments to rman_init?)
MFC after: 1 week
|
#
ebf750a9 |
| 28-Apr-2007 |
John-Mark Gurney <jmg@FreeBSD.org> |
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
|
Revision tags: release/6.2.0_cvs, release/6.2.0, release/5.5.0_cvs, release/5.5.0, release/6.1.0_cvs, release/6.1.0 |
|
#
fda40672 |
| 13-Feb-2006 |
Joel Dahl <joel@FreeBSD.org> |
.Pp before .Sh is redundant.
Reviewed by: ru
|