#
f6b1c44d |
| 01-Jul-2003 |
Scott Long <scottl@FreeBSD.org> |
Mega busdma API commit.
Add two new arguments to bus_dma_tag_create(): lockfunc and lockfuncarg. Lockfunc allows a driver to provide a function for managing its locking semantics while using busdma.
Mega busdma API commit.
Add two new arguments to bus_dma_tag_create(): lockfunc and lockfuncarg. Lockfunc allows a driver to provide a function for managing its locking semantics while using busdma. At the moment, this is used for the asynchronous busdma_swi and callback mechanism. Two lockfunc implementations are provided: busdma_lock_mutex() performs standard mutex operations on the mutex that is specified from lockfuncarg. dftl_lock() is a panic implementation and is defaulted to when NULL, NULL are passed to bus_dma_tag_create(). The only time that NULL, NULL should ever be used is when the driver ensures that bus_dmamap_load() will not be deferred. Drivers that do not provide their own locking can pass busdma_lock_mutex,&Giant args in order to preserve the former behaviour.
sparc64 and powerpc do not provide real busdma_swi functions, so this is largely a noop on those platforms. The busdma_swi on is64 is not properly locked yet, so warnings will be emitted on this platform when busdma callback deferrals happen.
If anyone gets panics or warnings from dflt_lock() being called, please let me know right away.
Reviewed by: tmm, gibbs
show more ...
|
Revision tags: release/5.1.0_cvs, release/5.1.0 |
|
#
7e71df93 |
| 27-May-2003 |
Scott Long <scottl@FreeBSD.org> |
Bring back bus_dmasync_op_t. It is now a typedef to an int, though the BUS_DMASYNC_ definitions remain as before. The does not change the ABI, and reverts the API to be a bit more compatible and fl
Bring back bus_dmasync_op_t. It is now a typedef to an int, though the BUS_DMASYNC_ definitions remain as before. The does not change the ABI, and reverts the API to be a bit more compatible and flexible. This has survived a full 'make universe'.
Approved by: re (bmah)
show more ...
|
#
7a648f56 |
| 11-Apr-2003 |
Maxime Henrion <mux@FreeBSD.org> |
I deserve a big pointy hat for having missed all those references to bus_dmasync_op_t in my last commit.
|
Revision tags: release/4.8.0_cvs, release/4.8.0 |
|
#
891619a6 |
| 01-Apr-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Use bioq_flush() to drain a bio queue with a specific error code. Retain the mistake of not updating the devstat API for now.
Spell bioq_disksort() consistently with the remaining bioq_*().
#includ
Use bioq_flush() to drain a bio queue with a specific error code. Retain the mistake of not updating the devstat API for now.
Spell bioq_disksort() consistently with the remaining bioq_*().
#include <geom/geom_disk.h> where this is more appropriate.
show more ...
|
#
b4b138c2 |
| 18-Mar-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Including <sys/stdint.h> is (almost?) universally only to be able to use %j in printfs, so put a newsted include in <sys/systm.h> where the printf prototype lives and save everybody else the trouble.
|
#
60794e04 |
| 08-Mar-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Centralize the devstat handling for all GEOM disk device drivers in geom_disk.c.
As a side effect this makes a lot of #include <sys/devicestat.h> lines not needed and some biofinish() calls can be r
Centralize the devstat handling for all GEOM disk device drivers in geom_disk.c.
As a side effect this makes a lot of #include <sys/devicestat.h> lines not needed and some biofinish() calls can be reduced to biodone() again.
show more ...
|
#
521f364b |
| 02-Mar-2003 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
More low-hanging fruit: kill caddr_t in calls to wakeup(9) / [mt]sleep(9).
|
#
e5dc8339 |
| 23-Feb-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
NO_GEOM cleanup:
Move ida driver to "struct disk *" centric api.
Retire major number 109.
|
Revision tags: release/5.0.0_cvs, release/5.0.0 |
|
#
482a5259 |
| 07-Nov-2002 |
John Baldwin <jhb@FreeBSD.org> |
Use [u]intmax_t and %j instead of long long and %ll to better fix warnings I fixed earlier.
Requested by: mux, jake
|
#
b1e014fc |
| 06-Nov-2002 |
John Baldwin <jhb@FreeBSD.org> |
Cast a bus_addr_t to a long long to make printf happy.
|
Revision tags: release/4.7.0_cvs, release/4.6.2_cvs, release/4.6.2, release/4.6.1, release/4.6.0_cvs |
|
#
c38b6719 |
| 20-Mar-2002 |
Warner Losh <imp@FreeBSD.org> |
No need to conditionalize on pci being in the kernel for this
|
Revision tags: release/4.5.0_cvs, release/4.4.0_cvs, release/4.3.0_cvs, release/4.3.0 |
|
#
55d782fc |
| 26-Feb-2001 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Add crashdump support.
Tested by: ps
|
#
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 |
|
#
db7e3af1 |
| 15-Oct-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove unneeded #include <machine/clock.h>
|
Revision tags: release/4.1.1_cvs |
|
#
1277c3ba |
| 28-Jul-2000 |
Jonathan Lemon <jlemon@FreeBSD.org> |
The DEC version of the Smart controller has its configuration information stored at a different location in the PCI space, so adjust accordingly.
Also, when using more than two smart controllers in
The DEC version of the Smart controller has its configuration information stored at a different location in the PCI space, so adjust accordingly.
Also, when using more than two smart controllers in one machine, the disks were assigned the wrong drive number; fix this as well.
show more ...
|
Revision tags: release/4.1.0, release/3.5.0_cvs |
|
#
9626b608 |
| 05-May-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Separate the struct bio related stuff out of <sys/buf.h> into <sys/bio.h>.
<sys/bio.h> is now a prerequisite for <sys/buf.h> but it shall not be made a nested include according to bdes teachings on
Separate the struct bio related stuff out of <sys/buf.h> into <sys/bio.h>.
<sys/bio.h> is now a prerequisite for <sys/buf.h> but it shall not be made a nested include according to bdes teachings on the subject of nested includes.
Diskdrivers and similar stuff below specfs::strategy() should no longer need to include <sys/buf.> unless they need caching of data.
Still a few bogus uses of struct buf to track down.
Repocopy by: peter
show more ...
|
#
eb95c536 |
| 29-Apr-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove unneeded #include <sys/kernel.h>
|
#
81530866 |
| 22-Apr-2000 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
- Fix a problem with the cdevsw struct that prevented the kernel from booting on a RAID volume. - Change 'id_foo' and 'idfoo' to 'idad_foo' and 'idadfoo'. This makes names more consistent with t
- Fix a problem with the cdevsw struct that prevented the kernel from booting on a RAID volume. - Change 'id_foo' and 'idfoo' to 'idad_foo' and 'idadfoo'. This makes names more consistent with the devices that the code belongs to (more in line with the style used in the amr/mlx driver.)
Reviewed by: jlemon
show more ...
|
#
8177437d |
| 15-Apr-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Complete the bio/buf divorce for all code below devfs::strategy
Exceptions: Vinum untouched. This means that it cannot be compiled. Greg Lehey is on the case.
CCD not conve
Complete the bio/buf divorce for all code below devfs::strategy
Exceptions: Vinum untouched. This means that it cannot be compiled. Greg Lehey is on the case.
CCD not converted yet, casts to struct buf (still safe)
atapi-cd casts to struct buf to examine B_PHYS
show more ...
|
#
c244d2de |
| 02-Apr-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Move B_ERROR flag to b_ioflags and call it BIO_ERROR.
(Much of this done by script)
Move B_ORDERED flag to b_ioflags and call it BIO_ORDERED.
Move b_pblkno and b_iodone_chain to struct bio while w
Move B_ERROR flag to b_ioflags and call it BIO_ERROR.
(Much of this done by script)
Move B_ORDERED flag to b_ioflags and call it BIO_ORDERED.
Move b_pblkno and b_iodone_chain to struct bio while we transition, they will be obsoleted once bio structs chain/stack.
Add bio_queue field for struct bio aware disksort.
Address a lot of stylistic issues brought up by bde.
show more ...
|
#
21144e3b |
| 20-Mar-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove B_READ, B_WRITE and B_FREEBUF and replace them with a new field in struct buf: b_iocmd. The b_iocmd is enforced to have exactly one bit set.
B_WRITE was bogusly defined as zero giving rise t
Remove B_READ, B_WRITE and B_FREEBUF and replace them with a new field in struct buf: b_iocmd. The b_iocmd is enforced to have exactly one bit set.
B_WRITE was bogusly defined as zero giving rise to obvious coding mistakes.
Also eliminate the redundant struct buf flag B_CALL, it can just as efficiently be done by comparing b_iodone to NULL.
Should you get a panic or drop into the debugger, complaining about "b_iocmd", don't continue. It is likely to write on your disk where it should have been reading.
This change is a step in the direction towards a stackable BIO capability.
A lot of this patch were machine generated (Thanks to style(9) compliance!)
Vinum users: Greg has not had time to test this yet, be careful.
show more ...
|
Revision tags: release/4.0.0_cvs |
|
#
ee7eb00e |
| 08-Mar-2000 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Add support for older EISA compaq cards and newer Smart 4200 cards. Change disk names to `idad' to avoid naming conflicts with the controller, and enable the new disk code to pick up the drives.
Tes
Add support for older EISA compaq cards and newer Smart 4200 cards. Change disk names to `idad' to avoid naming conflicts with the controller, and enable the new disk code to pick up the drives.
Tested by: david.w.james@bt.com (existing compaq support) Reviewed by: msmith Approved by: jordan
show more ...
|
Revision tags: release/3.4.0_cvs |
|
#
fe0d4089 |
| 03-Dec-1999 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Remove the 'ivars' arguement to device_add_child() and device_add_child_ordered(). 'ivars' may now be set using the device_set_ivars() function.
This makes it easier for us to change how arbitrary
Remove the 'ivars' arguement to device_add_child() and device_add_child_ordered(). 'ivars' may now be set using the device_set_ivars() function.
This makes it easier for us to change how arbitrary data structures are associated with a device_t. Eventually we won't be modifying device_t to add additional pointers for ivars, softc data etc.
Despite my best efforts I've probably forgotten something so let me know if this breaks anything. I've been running with this change for months and its been quite involved actually isolating all the changes from the rest of the local changes in my tree.
Reviewed by: peter, dfr
show more ...
|
#
3e2c6ca3 |
| 05-Oct-1999 |
Nick Hibma <n_hibma@FreeBSD.org> |
Removal of sys/device.h
- Move intrhook stuff into kernel.h - Remove all occurrences of #device <device.h> - Add kernel.h were necessary (nowhere) - delete device.h
This file contained the structur
Removal of sys/device.h
- Move intrhook stuff into kernel.h - Remove all occurrences of #device <device.h> - Add kernel.h were necessary (nowhere) - delete device.h
This file contained the structures for cfdata (old style config) and is no longer used. It was included by most drivers.
It confuses the remote debugger as the definition of 'struct device' in device.h is found before the one in bus_private.h.
show more ...
|
Revision tags: release/3.3.0_cvs |
|
#
94db13fe |
| 28-Aug-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Fix various trivial warnings from LINT
|