Revision tags: 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, 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 |
|
#
42b6a681 |
| 29-Dec-2005 |
John Baldwin <jhb@FreeBSD.org> |
Increment kobj_lookup_misses on a miss rather than decrementing it. Otherwise, the miss count is actually -kobj_lookup_misses. Mostly a pedantic change as KOBJ_STATS isn't on by default.
|
Revision tags: release/6.0.0_cvs, release/6.0.0 |
|
#
e000e001 |
| 07-Aug-2005 |
Peter Grehan <grehan@FreeBSD.org> |
Export a routine, kobj_machdep_init(), that allows platforms to use the kobj subsystem as soon at mutex_init() has been called instead of having to wait for the SI_SUB_LOCK sysinit.
Reviewed by: dfr
|
Revision tags: release/5.4.0_cvs, release/5.4.0, release/4.11.0_cvs, release/4.11.0, release/5.3.0_cvs, release/5.3.0, release/4.10.0_cvs, release/4.10.0, release/5.2.1_cvs, release/5.2.1, release/5.2.0_cvs, release/5.2.0, release/4.9.0_cvs, release/4.9.0 |
|
#
46ba7a35 |
| 16-Oct-2003 |
Doug Rabson <dfr@FreeBSD.org> |
* Add multiple inheritance to kobj. Each class can have zero or more base classes and if a method is not found in a given class, its base classes are searched (in the order they were declared). T
* Add multiple inheritance to kobj. Each class can have zero or more base classes and if a method is not found in a given class, its base classes are searched (in the order they were declared). This search is recursive, i.e. a method may be define in a base class of a base class. * Change the kobj method lookup algorithm to one which is SMP-safe. This relies only on the constraint that an observer of a sequence of writes of pointer-sized values will see exactly one of those values, not a mixture of two or more values. This assumption holds for all processors which FreeBSD supports. * Add locking to kobj class initialisation. * Add a simpler form of 'inheritance' for devclasses. Each devclass can have a parent devclass. Searches for drivers continue up the chain of devclasses until either a matching driver is found or a devclass is reached which has no parent. This can allow, for instance, pci drivers to match cardbus devices (assuming that cardbus declares pci as its parent devclass). * Increment __FreeBSD_version.
This preserves the driver API entirely except for one minor feature used by the ISA compatibility shims. A workaround for ISA compatibility will be committed separately. The kobj and newbus ABI has changed - all modules must be recompiled.
show more ...
|
#
828447e0 |
| 14-Aug-2003 |
Cameron Grant <cg@FreeBSD.org> |
add a read-only sysctl to display the number of entries in the fixed size kobj global method table; also kassert that the table has not overflowed when defining a new method.
there are indications t
add a read-only sysctl to display the number of entries in the fixed size kobj global method table; also kassert that the table has not overflowed when defining a new method.
there are indications that the table is being overflowed in certain situations as we gain more kobj consumers- this will allow us to check whether kobj is at fault. symptoms would be incorrect methods being called.
show more ...
|
#
677b542e |
| 11-Jun-2003 |
David E. O'Brien <obrien@FreeBSD.org> |
Use __FBSDID().
|
Revision tags: release/5.1.0_cvs, release/5.1.0, release/4.8.0_cvs, release/4.8.0, release/5.0.0_cvs, release/5.0.0, release/4.7.0_cvs, release/4.6.2_cvs, release/4.6.2, release/4.6.1, release/4.6.0_cvs |
|
#
3316a80b |
| 11-Jun-2002 |
Kelly Yancey <kbyanc@FreeBSD.org> |
Convert hit and miss counters to unsigned values. Surely negative values for either does not make sense.
PR: (one small part of) 19720
|
Revision tags: release/4.5.0_cvs, release/4.4.0_cvs, release/4.3.0_cvs, release/4.3.0 |
|
#
7cc0979f |
| 08-Dec-2000 |
David Malone <dwmalone@FreeBSD.org> |
Convert more malloc+bzero to malloc+M_ZERO.
Submitted by: josh@zipperup.org Submitted by: Robert Drehmel <robd@gmx.net>
|
Revision tags: release/4.2.0, release/4.1.1_cvs |
|
#
f80e4547 |
| 28-Aug-2000 |
Doug Rabson <dfr@FreeBSD.org> |
Add kobj_class_compile_static() to allow classes to be initialised statically (i.e. without calling malloc). This allows kobj to be used very early in the boot sequence.
|
Revision tags: release/4.1.0, release/3.5.0_cvs |
|
#
4b4a49fd |
| 01-May-2000 |
Doug Rabson <dfr@FreeBSD.org> |
* Move the driver_t::refs field to kobj_t to replace kobj_t::instances. * Back out a couple of workarounds for the confusion between kobj_t::instances and driver_t::refs.
|
#
f7b77691 |
| 08-Apr-2000 |
Doug Rabson <dfr@FreeBSD.org> |
* Factor out the object system from new-bus so that it can be used by non-device code. * Re-implement the method dispatch to improve efficiency. The new system takes about 40ns for a method dispa
* Factor out the object system from new-bus so that it can be used by non-device code. * Re-implement the method dispatch to improve efficiency. The new system takes about 40ns for a method dispatch on a 300Mhz PII which is only 10ns slower than a direct function call on the same hardware.
This changes the new-bus ABI slightly so make sure you re-compile any driver modules which you use.
show more ...
|
Revision tags: release/7.2.0_cvs, release/7.2.0 |
|
#
1829d5da |
| 12-Mar-2009 |
Warner Losh <imp@FreeBSD.org> |
Update the projects tree to a newer FreeBSD current.
|
#
2c204a16 |
| 03-Feb-2009 |
Warner Losh <imp@FreeBSD.org> |
Use NULL in preference to 0 in pointer contexts.
|
Revision tags: release/7.1.0_cvs, release/7.1.0 |
|
#
41fe50f5 |
| 20-Dec-2008 |
Sam Leffler <sam@FreeBSD.org> |
MFH @ 186335
|
#
91416fb2 |
| 20-Dec-2008 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Modularize the Open Firmware client interface to allow run-time switching of OFW access semantics, in order to allow future support for real-mode OF access and flattened device frees. OF client inter
Modularize the Open Firmware client interface to allow run-time switching of OFW access semantics, in order to allow future support for real-mode OF access and flattened device frees. OF client interface modules are implemented using KOBJ, in a similar way to the PPC PMAP modules.
Because we need Open Firmware to be available before mutexes can be used on sparc64, changes are also included to allow KOBJ to be used very early in the boot process by only using the mutex once we know it has been initialized.
Reviewed by: marius, grehan
show more ...
|
Revision tags: 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, 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 |
|
#
42b6a681 |
| 29-Dec-2005 |
John Baldwin <jhb@FreeBSD.org> |
Increment kobj_lookup_misses on a miss rather than decrementing it. Otherwise, the miss count is actually -kobj_lookup_misses. Mostly a pedantic change as KOBJ_STATS isn't on by default.
|
Revision tags: release/6.0.0_cvs, release/6.0.0 |
|
#
e000e001 |
| 07-Aug-2005 |
Peter Grehan <grehan@FreeBSD.org> |
Export a routine, kobj_machdep_init(), that allows platforms to use the kobj subsystem as soon at mutex_init() has been called instead of having to wait for the SI_SUB_LOCK sysinit.
Reviewed by: dfr
|
Revision tags: release/5.4.0_cvs, release/5.4.0, release/4.11.0_cvs, release/4.11.0, release/5.3.0_cvs, release/5.3.0, release/4.10.0_cvs, release/4.10.0, release/5.2.1_cvs, release/5.2.1, release/5.2.0_cvs, release/5.2.0, release/4.9.0_cvs, release/4.9.0 |
|
#
46ba7a35 |
| 16-Oct-2003 |
Doug Rabson <dfr@FreeBSD.org> |
* Add multiple inheritance to kobj. Each class can have zero or more base classes and if a method is not found in a given class, its base classes are searched (in the order they were declared). T
* Add multiple inheritance to kobj. Each class can have zero or more base classes and if a method is not found in a given class, its base classes are searched (in the order they were declared). This search is recursive, i.e. a method may be define in a base class of a base class. * Change the kobj method lookup algorithm to one which is SMP-safe. This relies only on the constraint that an observer of a sequence of writes of pointer-sized values will see exactly one of those values, not a mixture of two or more values. This assumption holds for all processors which FreeBSD supports. * Add locking to kobj class initialisation. * Add a simpler form of 'inheritance' for devclasses. Each devclass can have a parent devclass. Searches for drivers continue up the chain of devclasses until either a matching driver is found or a devclass is reached which has no parent. This can allow, for instance, pci drivers to match cardbus devices (assuming that cardbus declares pci as its parent devclass). * Increment __FreeBSD_version.
This preserves the driver API entirely except for one minor feature used by the ISA compatibility shims. A workaround for ISA compatibility will be committed separately. The kobj and newbus ABI has changed - all modules must be recompiled.
show more ...
|
#
828447e0 |
| 14-Aug-2003 |
Cameron Grant <cg@FreeBSD.org> |
add a read-only sysctl to display the number of entries in the fixed size kobj global method table; also kassert that the table has not overflowed when defining a new method.
there are indications t
add a read-only sysctl to display the number of entries in the fixed size kobj global method table; also kassert that the table has not overflowed when defining a new method.
there are indications that the table is being overflowed in certain situations as we gain more kobj consumers- this will allow us to check whether kobj is at fault. symptoms would be incorrect methods being called.
show more ...
|
#
677b542e |
| 11-Jun-2003 |
David E. O'Brien <obrien@FreeBSD.org> |
Use __FBSDID().
|
Revision tags: release/5.1.0_cvs, release/5.1.0, release/4.8.0_cvs, release/4.8.0, release/5.0.0_cvs, release/5.0.0, release/4.7.0_cvs, release/4.6.2_cvs, release/4.6.2, release/4.6.1, release/4.6.0_cvs |
|
#
3316a80b |
| 11-Jun-2002 |
Kelly Yancey <kbyanc@FreeBSD.org> |
Convert hit and miss counters to unsigned values. Surely negative values for either does not make sense.
PR: (one small part of) 19720
|
Revision tags: release/4.5.0_cvs, release/4.4.0_cvs, release/4.3.0_cvs, release/4.3.0 |
|
#
7cc0979f |
| 08-Dec-2000 |
David Malone <dwmalone@FreeBSD.org> |
Convert more malloc+bzero to malloc+M_ZERO.
Submitted by: josh@zipperup.org Submitted by: Robert Drehmel <robd@gmx.net>
|
Revision tags: release/4.2.0, release/4.1.1_cvs |
|
#
f80e4547 |
| 28-Aug-2000 |
Doug Rabson <dfr@FreeBSD.org> |
Add kobj_class_compile_static() to allow classes to be initialised statically (i.e. without calling malloc). This allows kobj to be used very early in the boot sequence.
|
Revision tags: release/4.1.0, release/3.5.0_cvs |
|
#
4b4a49fd |
| 01-May-2000 |
Doug Rabson <dfr@FreeBSD.org> |
* Move the driver_t::refs field to kobj_t to replace kobj_t::instances. * Back out a couple of workarounds for the confusion between kobj_t::instances and driver_t::refs.
|
#
f7b77691 |
| 08-Apr-2000 |
Doug Rabson <dfr@FreeBSD.org> |
* Factor out the object system from new-bus so that it can be used by non-device code. * Re-implement the method dispatch to improve efficiency. The new system takes about 40ns for a method dispa
* Factor out the object system from new-bus so that it can be used by non-device code. * Re-implement the method dispatch to improve efficiency. The new system takes about 40ns for a method dispatch on a 300Mhz PII which is only 10ns slower than a direct function call on the same hardware.
This changes the new-bus ABI slightly so make sure you re-compile any driver modules which you use.
show more ...
|