Age | Commit message (Collapse) | Author |
|
lint(1) about it
|
|
|
|
|
|
[1] check return value from malloc() for NULL before trying to bzero it.
[2] use "=" rather than "|=" when writing to CSR (otherwise you may
ACK something you don't mean to!).
|
|
for ipl is possible and also, why it is in <machine/conf.c> while
it (ipl) is in <net/*> ???
|
|
|
|
[prevents disk_unbusy panic when disk is loaded (if no
free IOPBs, xdstrategy() would queue the buffer for pickup
by xdcintr() but xdcintr() would never call disk_busy().
xdc_startbuf() is a better place since all bufs are routed
through here] problem detected by girish@dworkin.wustl.edu,
diagnosed and corrected by me.
- move disk_unbusy() call in xdc_remove_iorq() before the call to
XDC_FREE() [don't want to access a data structure that was just put
on a free list]
|
|
|
|
|
|
|
|
|
|
helping me find this bug. On execution of an atomic load/store instruction
the chip will only say that a read fault is happening, we then load up a
readonly translation to the accessed page, and we get the fault again still
showing a read-fault. We end up faulting in a loop forever and the process
appears to be completely stuck. The algorithm to fix this problem goes like
this. If we get a non-text fault, and the fault type is VM_PROT_READ, and
the SER_PROT bit is set in the syncronous fault error register, we take
a peek at the instruction at pc. If this instruction is indeed an ldstub
or a swap variant we or in VM_PROT_WRITE to the fault type.
|
|
zero since xdcmatch/xycmatch no longer sets it). [if you call
mapiodev() with a zero size it will reuse the KVA it returns, swiping
the device out from under you!]
- make xdc/xyc->iopbase point in the kernels DVMA space rather than at the
normal malloc'd KVA. this isn't compatable with sun4m [doesn't
have a kernel DVMA space] and will need to be changed later (XXX).
- move disk_attach() to before reading the disk label as per Jason.
otherwise we are reading into an unallocated buffer (oops!)
|
|
|
|
device address (bus_tmp, bus_map, and mapiodev now do this for us).
also, we handle all our mappings, so don't have obio.c do any for us
(i.e. don't set ra->ra_len in xycmatch).
nuke uneeded variable in match function.
|
|
and thus probed the wrong address on the 4/300 (but it worked because
it was probing the esp0 registers!).
now that bus_tmp() adds the offset in for us [as of obio 1.15] i
discoved that a byte access to the dma registers is not allowed.
so, i've change probeget to use a word access.
|
|
page boundaries:
- change bus_tmp() to include the offset from the start of page in the
returned KVA [rather than forcing each driver to add it back in
individually]
- changed bus_map() to include the offset from the start of page in the
the returned value if a mapping is found in the PROM's KVA area
- clarified a few comments
|
|
page in the virtual address it returns.
|
|
New generic disk framework. Highlights:
New metrics handling. Metrics are now kept in the new `struct disk'.
Busy time is now stored as a timeval, and transfer count in bytes.
Storage for disklabels is now dynamically allocated, so that the size
of the disk structure is not machine-dependent.
Several new functions for attaching and detaching disks, and handling
metrics calculation.
Old-style instrumentation is still supported in drivers that did it
before. However, old-style instrumentation is being deprecated, and
will go away once the userland utilities are updated for the new
framework.
For usage and architectural details, see the forthcoming disk(9)
manual page.
|
|
|
|
sure the store buffers on the chip are completely flushed to ensure
proper handler completion.
|
|
|
|
|
|
also with mrg: use B1200 instead of 1200.
|
|
|
|
pr#1784
|
|
|
|
|
|
|
|
Move the old-style disk instrumentation "structures" to a central
location (sys/kern/subr_disk.c) and note that they should/will be
deprecated.
|
|
|
|
Change splimp -> splnet in Ethernet, ARCnet, and FDDI drivers.
|
|
the sun4/600 later)
|
|
now rconsole works on all P4 frame buffers
|
|
|
|
|
|
base plus an offset
new dvma routines
|
|
|
|
|
|
|
|
|
|
Prevent possible race condition in ctx_alloc().
Remove some bogus casts
Make pmap_prefer() also return a preferred virtual address when there's no
associated physical page
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trick before returning from the trap.
|
|
|