Age | Commit message (Collapse) | Author |
|
* you can #include <sys/endian.h> instead of <machine/endian.h>,
and ditto <endian.h> (fixes code that pulls in <sys/endian.h> first)
* those will always export the symbols that POSIX specified for
<endian.h>, including the new {be,le}{16,32,64}toh() set. c.f.
http://austingroupbugs.net/view.php?id=162
if __BSD_VISIBLE then you also get the symbols that our <machine/endian.h>
currently exports (ntohs, NTOHS, dlg's bemtoh*, etc)
* when doing POSIX compiles (not __BSD_VISIBLE), then <netinet/in.h> and
<arpa/inet.h> will *stop* exporting the extra symbols like BYTE_ORDER
and betoh*
ok deraadt@
|
|
built-ins which aren't available on vax. (A similar diff for m88k is in the
pipeline as well)
|
|
The new CPU_BUSY_CYCLE() may be put in a busy loop body so that CPU can reduce
power consumption, as Linux's cpu_relax() and FreeBSD's cpu_spinwait(). To
start minimally, use PAUSE on i386/amd64 and empty on others. The name is
chosen following the existing cpu_idle_*() functions. Naming and API may be
polished later.
OK kettenis@
|
|
not sleep if the allocator cannot obtain a lock when BUS_DMA_NOWAIT is
specified.
idea and inputs from kettenis@, ok miod@
|
|
rebooting a machine, like it is done in the hibernate case.
At least some USB host controller drivers rely on this to busy way instead
of sleeping. Avoid a panic on macppc with an uhci(4) cardbus plugged in.
ok deraadt@, uebayashi@
|
|
Again remove slightly different comments to reduce diffs. These will be
re-added once boot() become MI and its specification is clearly re-defined.
OK miod@
|
|
RB_TIMEBAD is documented well enough that the comment is not needed. sparc64
does slightly different and its comment is left with XXX.
OK deraadt@ miod@
|
|
OK deraadt@
|
|
don't need to be married.
ok guenther miod beck jsing kettenis
|
|
checks, causing the rx ring pointer to stall as soon as an irrelevant
frame is received when the intergace is in bpf+promiscuous or `all multicast'
mode.
Problem spotted and tracked down to the use of bpf by sebastia@. Hair pulling
by me.
|
|
with softraid(4) disks.
softraid(4) is the last real consumer of the doshutdownhooks(9) API and it is
not trivial to convert its hook to a DVACT_POWERDOWN handler since the latter
does not allow to sleep.
|
|
rebooting a machine, like it is done in the hibernate case.
At least some USB host controller drivers rely on this to busy way instead
of sleeping. Avoid a panic on macppc with an uhci(4) cardbus plugged in.
ok deraadt@, uebayashi@
|
|
|
|
ok miod@
|
|
|
|
|
|
pointers.
|
|
This is temporary until vax grows code to compute a proper delay const
at runtime, but will help a bit, especially on KA46 where cd(4) end up
detected as sd(4) due to too short delays.
|
|
by the kernel.
|
|
to the process's vmspace and filedescs. struct proc continues to
keep copies of the pointers, copying them on fork, clearing them
on exit, and (for vmspace) refreshing on exec.
Also, make uvm_swapout_threads() thread aware, eliminating p_swtime
in kernel.
particular testing by ajacoutot@ and sebastia@
|
|
it needs to be done atomicly on some MP archs and we don't have
atomic_add_int() everywhere yet. Also, mi_ast() was meant to be inline.
noted by miod@
|
|
ok deraadt@
|
|
|
|
|
|
to avoid possible use-after-free references when swapping ids in threaded
processes. "Do I have the right creds?" checks are always made with the
threads creds.
Inspired by FreeBSD and NetBSD
"right time" deraadt@
|
|
struct ucred; struct process then directly links to the ucred
Based on a discussion at c2k10 or so before noting that FreeBSD and
NetBSD did this too.
ok matthew@
|
|
ok dlg@ mpi@ deraadt@
|
|
Tweak the handling of ktrace EMUL when changing ktracing: only
generate one per process (not one per thread) and pass the correct
proc pointer down to the VFS layer. Permit generating of NAMI and
CSW records inside ktrace(2) itself.
ok deraadt@ millert@
|
|
testing help mpi@
|
|
|
|
ok miod@
|
|
native size, so eliminate the #defines.
ok miod@
|
|
"mainbus" device. this breaks when mpath is enabled because it
attaches before mainbus and therefore takes the head position.
have autoconf provide device_mainbus() which looks up mainbus_cd,
and use that instead.
discussed with deraadt who just wants mpath stuff to move forward
despite there being many ways to shine this particular turd.
|
|
namespace, so stop changing behavior when it's #defined
ok beck@ krw@
|
|
|
|
the chip is always false, so remove this no-op. In fact this list
contains the link-layer address as soon as the device attachs.
ok miod@
|
|
sebastia@, this would only affect processes using more than 512KB of stack.
|
|
<machine/pmap.h> where it belongs, and compensate in <uvm/uvm_extern.h>
by including <uvm/uvm_pmap.h> before <uvm/uvm_page.h>. Tested on all
MACHINE_ARCH but amd64 and i386 (and hppa64).
|
|
kernels:
- keyboard drivers will now tell wskbd if the keyboard layout they ask
for is a default value, or a value they are 100% sure of (either
because your kernel has a XXXKBD_LAYOUT option, or because the
driver can tell the keyboard layout, e.g. by the country code on USB
keyboards which provide it, such as Sun's)
- when attaching a keyboard with a non-default layout, the layout will
become the default layout of the mux for new keyboard attachments if
the mux doesn't have a layout set already.
- when changing the keyboard layout of a particular keyboard with an
ioctl (i.e. using kbd(8) or wsconsctl(8)), the layout will become the
default layout of the mux for new keyboard attachments.
ok mpi@
|
|
|
|
fix ncr53c9x fallout.
|
|
|
|
|
|
"sure" deraadt@
|
|
entries to decide if the IFF_ALLMULTI flag should be set, check if there
is at least one real range between them.
This should not change the behavior of any driver but if you encounter
any problem, feel free to revert the offending chunk and ping me about
it.
ok naddy@, dlg@
|
|
changes.
|
|
Also double DFLDSIZ.
|
|
the largest possible page table for every pmap; from NetBSD. This allows the
kernel to use much less memory for page tables.
Significant differences against the NetBSD code are:
- allocation of page table pages is done with a pool instead of allocating
whole logical pages from uvm and managing the freelist within pmap, never
releasing allocated pages.
- try to use pt_entry_t * rather than int * whenever possible.
- growth of P0 and P1 regions is allowed to fail, if invoked from
pmap_enter with the PMAP_CANFAIL flag. This will stall processes until
memory for the page tables can be obtained, rather than panicing, in
most cases.
- keep management of mappings for managed pages using pv lists tied to the
vm_page (using __HAVE_VM_PAGE_MD), rather than a global pv_list head.
- bound check against Sysmap[] in pmap_extract() when asked for a kernel
address.
As a result of this, bsd.rd can now install a working system on a 12MB machine
without needing to enable swap.
|
|
Resource maps have been removed more than 10 years ago, it's about time to
update comments to better match reality.
No functional change.
|
|
go ahead miod@
|