Age | Commit message (Collapse) | Author |
|
don't set the current cpu's bit in pmap_activate() unless we actually
set %cr3, and add a DIAGNOSTIC printf to pmap_destroy() to catch if we
ever stop tracking them accurately again. Also, GC the unused pm_flags
member.
ok deraadt@, oga@
|
|
instead of doing work in the biodone callback for swapping
to file I/O, schedule the work to be done by the system
workq as it will call VOP_STRATEGY() in which we must be
allowed to sleep.
Thanks to Gabriel Kihlman for testing and spotting a bug in
the first version of this diff!
OK beck@, oga@
|
|
|
|
|
|
instead of powerhooks.
|
|
*sigh* Remove one assertion before you commit, then build fails with an
unused variable warning.
That'll teach me.
|
|
where stuff was bound for a software fallback while we were vt switched,
so we couldn't assume that the aperture was clear.
Turns out that the 855 at least does not like this (the !stolen bits of
the bar at least are write-only), and this caused a gpu lockup on any
suspend that used that activate handler.
So this diff fixes it in a more complete way:
Firstly revert 1.67 of agp_i810.c, secondly add a DVACT_QUIESCE handler
to inteldrm, and in it we do three things:
1) set a flag that causes any ioctl or pagefault to sleep until the flag
is cleared so that we don't end up with something doing the following
(for example:)
- bind object
- do another blocking operation in the same ioctl/fault
< suspend happens here, followed by resume>
- wake up assuming that the object is still bound and continue along our
merry way
2) Wait for all current entrypoints to finish (so that 1) is actually
effective we need to first quiesce our callers before we continue).
3) unbind everything that is in the gtt
On resume we clear the quiet flag, and everything can continue as
expected.
Behaves as expected for me on: 855 (x40 in acpi mode), gm965 (x61s) and
arrandale (x201) over multiple suspend cycles. Also tested by several on
tech.
|
|
ok miod@
|
|
free. Mapping those with BUS_SPACE_MAP_PREFETCHABLE can have disastrous
effects, like the NMIs observed by jsg@ with certain Intel 10Gb Ethernet
devices. So stop trusting the devices and instead require drivers to
explicitly pass the BUS_SPACE_MAP_PREFECTHABLE flag to pci_mapreg_map().
The pci_mapreg_info() call will continue to return BUS_SPACE_MAP_PREFECTHABLE
flags for prefetchable BARs as an easy way to figure out whether a BAR is
prefetchable. Since the vga_pci.c code uses this interface, all consumers
of VGA BARs will still use the BUS_SPACE_MAP_PREFETCHABLE flag when
appropriate.
ok oga@, jsg@
|
|
so we can drop -traditional-cpp
ok miod@
|
|
the size of those BARs. Make pcidump use this new ioctl to print the size
of PCI BARs.
ok deraadt@, miod@
|
|
ok miod@
|
|
ok miod@
|
|
done to sparc64 a couple of months ago.
ok miod@
|
|
change.
|
|
|
|
|
|
|
|
trying to roll our inline version of it and fail. Fixes `checksum error'
warnings on all the cards with checksum tuples I could find (admittedly not
many), and probably fixes all of them since this code has never been correct
in the first place.
|
|
|
|
FreeBSD.
|
|
|
|
that hands them over to the hardware. This prevents the hardware from seeing
stale contents if the compiler decides to re-order stores or if the hardware
does store-reordering.
There are sme doubts whether the i386/amd64 bus_dmamap_sync() implementation
will be able to convince future compilers that do even more insanely stupid
optimizations from re-ordering stores. That will be addressed in a seperate
patch.
ok matthew@, sthen@, oga@
|
|
power AR9220 adapters.
this should fix at least Ubiquiti SR71-12 and Winstron DMNA92 adapters.
problem reported by Giuseppe Scalzi and Alex Dervish
fix tested by Giuseppe Scalzi with a Winstron DMNA92
|
|
|
|
|
|
ok krw@ marco@ matthew@
|
|
ok claudio@
|
|
bufq_impls. Also, make bufq_impls const.
ok dlg@
|
|
inside st_interpret_sense() and then exit without making sure it's
set back to <= xs->datalen.
Fixes 'done < 0; strategy broken' panics when un-tar'ing /cvs from
my ahci DAT tape drive.
ok dlg@ more-or-less-ok matthew@
|
|
column and and clear VTFL_LASTCHAR if so.
This fixes the case where an escape sequence (originally noticed with
DECSTBM) moves the cursor and doesn't reset the flag - if it was set,
there would be a spurious line feed on the next input.
ok miod
|
|
root off), return NULL instead.
|
|
process of quiescing I/O.
ok dlg@
|
|
comment.
|
|
|
|
|
|
after config_found() returns; check for this and do not invoke pcmcia_ccr_read()
on a disabled function in the following DPRINTF. No change for kernels
without option PCMCIADEBUG.
|
|
|
|
|
|
|
|
rather than it being a pointer to something that needs to be allocated
at attach. since all these devices need a bufq to operate, it makes
sense to have it allocated as part of the softc and get bufq_init
to just initialise all its fields. it also gets rid of the possibility
that you wont be able to allocate the bufq struct during attach,
which is something you dont want to happen.
secondly, it consistently implements a split between wrapper functions
and the per discipline implementation of the bufq handlers. it
consistently does the locking in the wrappers rather than doing
half in the wrappers and the other half in the implementations.
it also consistently handles the outstanding bufq bq pointer in the
wrappers.
this hides most of the implementation inside kern_bufq.c. the only
stuff left in buf.h is for the bits each implementation needs to
put inside struct buf.
tested by thib@ krw@ and me
ok thib@ matthew@
no objection from krw@
|
|
|
|
|
|
no binary change.
|
|
does not truly work yet many machines because it does not do enough; it is
a total fluke if it works for you. (kettenis is, I think, working on
improving it)
ok kettenis
|
|
Reminded by oga@, okay deraadt@.
|
|
|
|
DVACT_SUSPEND, therefore DVACT_QUIECE can do standard sleeping operations
to get ready.
Discussed quite a while back with kettenis and jakemsr, oga suddenly needed
it as well and wrote half of it, so it was time to finish it.
proofread by miod.
(missed file)
|
|
DVACT_SUSPEND, therefore DVACT_QUIECE can do standard sleeping operations
to get ready.
Discussed quite a while back with kettenis and jakemsr, oga suddenly needed
it as well and wrote half of it, so it was time to finish it.
proofread by miod.
|
|
(I stronly hope that cardbus needs no bus-specific wrappers!)
|