Age | Commit message (Collapse) | Author |
|
scsi?" rule, similar to how ethernet PHY drivers attach at mii.
Discussed on icb.
|
|
might need network (ie. nfs). Move the call to the MD boot() routines.
This cause for boot hangs diagnosed by kettenis.
|
|
As discussed on icb: remove the comment,
remove pmap_remove (uvm_km_free does that for us).
ok oga@, deraadt@
|
|
1) Allocating with M_WAITOK, checking for NULL, and calling panic() is
pointless (malloc() will panic if it can't allocate) so remove the check
and the call.
2) Allocating with M_WAITOK, checking for NULL, and then gracefully
handling failure to allocate is pointless. Instead also pass M_CANFAIL
so malloc() doesn't panic so we can actually handle it gracefully.
1) was done using Coccinelle.
Input from oga.
ok miod.
|
|
|
|
also print a meaningful message if the kernel load address conflicts with the
SRM memory areas, so that we can know which kernel load address to use.
Requires `make includes' before attempting to build bootblocks.
Tweaks mk@, `nice' deraadt@
|
|
for now; that is unlikely to hit some of the remaining starvation bugs.
Repair the bufpages calculation too; i386 was doing it ahead of time
(incorrectly) and then re-calculating it.
ok thib
|
|
The new world order of pmemrange makes this data completely redundant
(being dealt with by the pmemrange constraints instead). Remove all code
that messes with the freelist.
While touching every caller of uvm_page_physload() anyway, add the flags
argument to all callers (all but one is 0 and that one already used
PHYSLOAD_DEVICE) and remove the macro magic to allow callers to continue
without it.
Should shrink the code a bit, as well.
matthew@ pointed out some mistakes i'd made.
``freelist death, I like. Ok.' ariane@
`I agree with the general direction, go ahead and i'll fix any fallout
shortly'' miod@ (68k 88k and vax i could not check would build)
|
|
Doesn't matter much since C++ ABI used by GCC doesn't mangle variable
names; however technically is required by Section 7.5 of the C++ spec.
Discussed with/OK guenther@, matthew@.
|
|
ATAPI devices. atapiscsi(4) is only for handling ATAPI devices on an
ATA bus, so umass(4) shouldn't care about it.
ok krw@, dlg@; no objections from deraadt@
|
|
|
|
|
|
Delivering FPE with non-masked exceptions doesn't work on Alpha; I
suspect there's a bug in the kernel trap handler.
FE_INEXACT is intentionally left out of FE_ALL_EXCEPT; since the
inexact exception is not being maintained. Otherwise it will lead
to the bogus results.
|
|
so that the userland actually gets the proto.
OK kettenis@, miod@.
|
|
change. It seems to have unexpected side effects, especially on MP systems,
and drahn@ disagrees with the way this change has been done and think there
is a better way to solve the original problem of msleep() fiddling with
mutex internals.
|
|
until they're zombies and then send them signals (for intr mounts). Until
that is untangled, the sigacts change is unsafe. sthen@ was the victim
for this one
|
|
what the previous IO was. Less chance of copy and paste errors.
Suggested by miod@.
|
|
(interrupt was not for me), 1 (positive interrupt was for me), or -1
(i am not sure...). We have continued with this practice in as many
drivers as possible, throughout the tree.
This makes some of the architectures use that information in their
interrupt handler calling code -- if 1 is returned (and we know
this specific machine does not have edge-shared interrupts), we
finish servicing other possible handlers on the same pin. If the
interrupt pin remains asserted (from a different device), we will
end up back in the interrupt servicing code of course... but this is
cheaper than calling all the chained interrupts on a pin.
This does of course count on shared level interrupts being properly
sorted by IPL.
There have been some concerns about starvation of drivers which
incorrectly return 1. Those drivers should be hunted down so that
they return -1.
(other architectures will follow)
ok kettenis drahn dlg miod
|
|
are past. Use CLR() and SET() to modify necessary flags while leaving
the flags used by the buffer cache in peace.
Should make bufcache code much less confused about the state of the
bufs used in reading/writing disklabels. Other such flag abuses no
doubt await a visit.
Errors in original diff found by miod@.
ok beck@ deraadt@
|
|
be shared (p_sigignore, p_sigcatch, P_NOCLDSTOP, P_NOCLDWAIT) moves
to struct sigacts, wihle stuff that should be per rthread (ps_oldmask,
SAS_OLDMASK, ps_sigstk) moves to struct proc. Treat the coredumping
state bits (ps_sig, ps_code, ps_type, ps_sigval) as per-rthread
until our locking around coredumping is better.
Oh, and remove the old SunOS-compat ps_usertramp member.
"I like the sound of this" tedu@
|
|
using the -MD option to cc, with -MP, -MT, and -MF where needed, converting
"make depend" to a no-op. This increases parallelism for those using "make -j"
and keeps the dependencies up to date with each compilation automatically.
sparc and vax users will need to rebuild gcc with support for the
-M[PTF] options before config'ing with this diff.
|
|
some time, and return errnos instead. Fix or remove out-of-date comments
mentioning the error strings, and make their callers check the return value
against zero, not NULL.
|
|
always gaining anything, and msleep() implementation depends upon mtx_leave()
invoking splx().
|
|
a vforked child behave correctly. Have the parent in a vfork()
wait on a (different) flag in *its* process instead of the child
to prevent a possible use-after-free. When ktracing the child
return from a fork, call it rfork if an rthread was created.
ok blambert@
|
|
OK sthen@
|
|
Discussed and okay drahn@. Okay deraadt@.
|
|
do 32-bit block spanning. If later on we get some that can/should do
64-bit, that can be done now using daddr64_t (but of course, we are taking
this step to finalize the daddr_t 64-bit conversion).
ok miod krw
|
|
Okay guenther@, millert@.
|
|
|
|
after every disklabel read or write. This keeps the DUID cache more
in sync with the physical world. De-syncing noted by drahn@ while
zapping disklabels with dd.
ok jsing@ deraadt@
|
|
holding locks, this is not allowed, and nobody has stepped up to fix this,
so better not lure people into using bluetooth devices.
|
|
"doesn't hurt" deraadt@
|
|
in some grief. Split this out.
From Vladimir Kirillov
|
|
ok guenther
|
|
a physical address [more precisely, something suitable to pass to pmap_enter()'sphysical address argument].
This allows MI drivers to implement mmap() routines without having to know
about the pmap_phys_address() implementation and #ifdef obfuscation.
|
|
for it. This makes the netisr a real C function which will help further
development. No noticable performance change on i386 and amd64.
With input from kettenis@ and miod@ additional OKs mikeb@ and henning@
|
|
its better as a per arch MD define anyway. all default to MAXDSIZ as before.
|
|
tested on a GENERIC config from all arches.
ok deraadt@ miod@
|
|
no binary change
ok deraadt@
|
|
given pcitag_t configuration address space. Currently, all pci controllers
will return the usual 0x100 bytes of PCI configuration space, but this will
eventually change on PCIe-capable controlers.
ok kettenis@
|
|
early MD and late MI files must be split up so that vers.o can sneak
between. Issue spotted by bluhm, repair discussed with miod
|
|
having it linked last is bad (on at least i386 and amd64) because the lapic
is mapped over the start of the data segment -- savecore(8) then reads the
version string for a fixed buffer space, and reads into the lapic area
causing unintended side-effects (at least on Intel X5570 and X5680)
found by pedro, discussed with kettenis and mpf and miod
|
|
pmap_maxkvaddr, to mimic what other pmap_growkernel()-capable pmaps do,
and to reduce confusion with what virtual_end (used to) mean.
|
|
|
|
struct cfdriver' the bloody same struct.
|
|
implement them, and they are of questionable usefulness.
|
|
until possible removal, if indeed this causes no regression for scanner users.
|
|
because it is always PCKBC_KBD_SLOT
ok krw@, miod@
|
|
|
|
kernel, currently limited to low-hanging fruit: these variables were used
by bus_dma to specify the range in which to allocate memory, back when
uvm_pglistalloc() was stupid and would not walk the vm_physseg[].
Nowadays, except on some platforms for early initialization, these variables
are not used, or do not need to be global variables. Therefore:
- remove `extern' declarations of avail_start and avail_end (or close cousins,
such as arm physical_start and physical_end) from files which no longer need
to use them.
- make them local variables whenever possible.
- remove them when they are assigned to but no longer used.
|