Age | Commit message (Collapse) | Author |
|
new stuff asserting copyright is in order
|
|
not do fragment reassembly. discussed with dlg and ryan in basel.
ok ryan dlg sthen jdixon todd deraadt
|
|
discovered by deraadt@, fix tested by deraadt@
|
|
partitions in bsd_to_sun(), even if their offsets are nonsense.
Theo says if sparc64 compiles so will sparc. Fixes some useless
disklabel warning messages.
ok miod@ deraadt@
|
|
detypedef the buf_priv structure and do a little cleanup.
|
|
|
|
simplifying while I do it.
|
|
in both drivers.
|
|
|
|
anywhere. And hasn't been for a long time.
The ddx sets up the heap (so just always pass that call and do nothing),
but nothing that touches inteldrm actually uses the other ioctls. So
just kill them and have one lese thing to worry about. Still got sis and
radeon using the common code though.
|
|
keeping a per-bus extent containing the address space available to the bus.
Address space assigned to devices will be removed from these extents when
we attach a bus. And when we try to map a PCI BAR that hasn't had address
space assigned to it, we will allocate free space from this extent.
This won't do anything until the parent devices actually allocate and
initialize the extents.
ok oga@
|
|
now that it has been removed. uncommenting that would not even have
been the correct way to enable it.
ok miod@
|
|
fix 802.11a rate set for dual-band devices (spotted by Fukaumi Naoki).
+ usual cleanup
|
|
PHYS_TO_VM_PAGE inline again. This should stop function call overhead
killing the vax and other slow archs while keeping the benefit for the
faster platforms.
suggested by miod. ok miod@, toby@.
|
|
|
|
|
|
Compaq RAID controllers, but there are other applications too).
|
|
2) packet reassembly: only one method remains, full reassembly. crop
and drop-ovl are gone.
. set reassemble yes|no [no-df]
if no-df is given fragments (and only fragments!) with the df bit set
have it cleared before entering the fragment cache, and thus the
reassembled packet doesn't have df set either. it does NOT touch
non-fragmented packets.
3) regular rules can have scrub options.
. pass scrub(no-df, min-ttl 64, max-mss 1400, set-tos lowdelay)
. match scrub(reassemble tcp, random-id)
of course all options are optional. the individual options still do
what they used to do on scrub rules, but everything is stateful now.
4) match rules
"match" is a new action, just like pass and block are, and can be used
like they do. opposed to pass or block, they do NOT change the
pass/block state of a packet. i. e.
. pass
. match
passes the packet, and
. block
. match
blocks it.
Every time (!) a match rule matches, i. e. not only when it is the
last matching rule, the following actions are set:
-queue assignment. can be overwritten later, the last rule that set a
queue wins. note how this is different from the last matching rule
wins, if the last matching rule has no queue assignments and the
second last matching rule was a match rule with queue assignments,
these assignments are taken.
-rtable assignments. works the same as queue assignments.
-set-tos, min-ttl, max-mss, no-df, random-id, reassemble tcp, all work
like the above
-logging. every matching rule causes the packet to be logged. this
means a single packet can get logged more than once (think multiple log
interfaces with different receivers, like pflogd and spamlogd)
.
almost entirely hacked at n2k9 in basel, could not be committed close to
release. this really should have been multiple diffs, but splitting them
now is not feasible any more. input from mcbride and dlg, and frantzen
about the fragment handling.
speedup around 7% for the common case, the more the more scrub rules
were in use.
manpage not up to date, being worked on.
|
|
the simple lock with a real lock - a IPL_BIO mutex. While i'm here, make
the sleeping condition one hell of a lot simpler in the aio daemon.
some ideas from and ok art@.
|
|
|
|
|
|
|
|
|
|
code was the only that that needed them.
|
|
This driver is a very thin wrapper for doling out memory to userland,
everything else is handled by the userland drivers, therefore I really
want to rewrite this driver before even thinking about enabling it,
userland mapping graphics registers makes it hard for me to sleep at
night.
Anyway, remove a huge pile of scary code by switching the memory
allocation ioctls to user the drm_heap.c code instead of the very
complicated mess that it uses right now, probably saves some space, too.
Turns out linux made some similar (but far from identical) changes ages ago,
They did more, that may come later.
|
|
interface as drm_mem_release() and drm_mem_takedown() respectively.
While this interface's days are numbered, I'm about to make another
driver use it to remove even worse code.
Roll on memory management...
|
|
if we fail while assembling the dmamap due to the memory not fitting
into our constraints we'll return from the function with the iomap still
loaded, and more importantly with memory still allocated from the
extent(9). So in such a case, make sure we clean up after outselves.
In order to make this cleaner, remove an impossible condition check
(kettenis and myself are satisfied that it will never happen), and make
iomap_load_map void (it can't fail), so that we can only fail after both
the extent is allocated and the iomap is loaded, and not inbetween the
two.
I tested iommu, kettenis tested viommu.
ok kettenis@.
|
|
while there's io pending (async io makes that possible, but not often
hit), then we'll be waiting for the pgo_releasepg hook to free the
object when all of our pages disappear.
However, uvn_releasepg, while it does everything else that unreferencing
the object would do, it neglects to do the final vrele() on the vnode.
So in this rare situation we'd end up with the vnode waiting around
until it was forcibly recycled. Fix this by adding in the missing vrele().
ok thib@
|
|
the drm softc, we only have one pointer, with the rest in that struct. This is
so that vblank-less drivers (yes, they exist) don't need to waste space on
useless crud.
While i'm reworking most of this code anyway, accept that on openbsd all
of the #defined atomic functions are not atomic other than set and clear
bit. Also, realise that the vb_lock is held whenever we manipulate these
counts anyway. With those two facts in mind just remove the
atomic_blah() and just use ++ and --.
|
|
guarrantee that copyin won't pagefault and use a faster version in that
case.
Since we just use plain copyin, it's stupid.
|
|
provides, while keeping this behaviour for extent_print_all() which is
only called by ddb. Based on a diff from deraadt@.
|
|
t5120 and similar systems boot from our install CD-ROM.
|
|
breaking vblanks over suspend.
Firstly, when we turn off the irq, wait up anyone waiting on vblanks,
and prepare for the fact that interrupts are going off.
Secondly, only reduce the refcount for vblanks over modeset if they were
actually turned on.
Fixes gl apps running while you suspend an x40 (as in they still work
when it comes back).
|
|
SiS chipset that we'll never see on and amd64 machine.
ok oga@
|
|
deiline drm_core_findmap(), and merge drm_core_ioremap{,free}() into
drm_ioremap{,free}() instead of having an inline that just calls another
function.
|
|
|
|
loading the raw memory into.
similair to the change made to src/sys/arch/amd64/amd6/bus_dma.c 1.18
|
|
loading the raw memory into, particularly the segment size constraint.
written in june/july last year, but my studies held me back from handling
it.
|
|
affected by adjusting the clock.
|
|
|
|
|
|
theyve been used, in particular the mfi header flags which has a bit
that specifies if a command should be completed via the interrupt path.
if we use a ccb during boot we set that bit, but it isnt necessarily
cleared by things that use it later on. this means a ccb we expected to
complete via an interrupt never actually generates an interrupt or appears
in the reply queue. this obviously stalls the io.
|
|
- don't mix use of const and non-const pointers
problem noted by Jordi Beltran Creix on tech@
|
|
|
|
|
|
|
|
dying as soon as I can make it doesn't mean I shouldn't be able to look
at it in the meantime.
|
|
kill the compat define. Should have done this ages ago.
|
|
|
|
|