Commit Graph

52302 Commits

Author SHA1 Message Date
dbj
9c182d4af3 defer attaching akbd as console until after it has
been initialized in akbdattach
2002-01-02 20:21:12 +00:00
ad
215ddc9ef7 Set sc_framesize to a reasonable value early on so that DEBUG code
doesn't choke before we discern the real value.
2002-01-02 19:04:17 +00:00
augustss
cee8ba6db9 Get rid of a few stray __P(). 2002-01-02 17:20:09 +00:00
augustss
b99cd0e9f5 More whitespace fixes from FreeBSD. 2002-01-02 16:20:14 +00:00
thorpej
9841593fe5 Fix a typo. 2002-01-02 14:48:09 +00:00
thorpej
db5e19a211 Need <sys/systm.h> for ffs() prototype (noticed by gcc 3.1). 2002-01-02 14:47:15 +00:00
uch
91fd1d80b7 VR41XX/TX3922 common kernel. 2002-01-02 13:13:18 +00:00
uch
58e763000e fix typo in comment. 2002-01-02 13:11:02 +00:00
uch
78e38d9e62 fix bootstrap stack violation. 2002-01-02 13:08:35 +00:00
uch
f96ef6a094 fix memory probe sequence.
fix bootstrap stack violation. (code are moved to machdep.c)
2002-01-02 13:08:05 +00:00
uch
474928fb8f when bootinfo has no framebuffer information, don't attach bicons. 2002-01-02 12:57:49 +00:00
uch
51c202eb5e s/TOOLDIR/EETOOLDIR/ 2002-01-02 12:49:43 +00:00
uch
71505e004a sync with uhidev change. 2002-01-02 12:49:10 +00:00
augustss
c41bbdcea2 Change the probe code. You cannot unmap bus space and then use it. 2002-01-02 12:42:23 +00:00
uch
b8467dcaa6 int128_t and u_int128_t are wrapped in defined(_KERNEL) && defined(MIPS3_5900) 2002-01-02 12:38:46 +00:00
uch
e4130f57f1 _intr_suspend and _intr_resume declarations are moved to intr.h. 2002-01-02 12:36:20 +00:00
uch
e71de3f668 R5900 short-loop bug. 2002-01-02 12:34:27 +00:00
augustss
c572876ecb Fix another descriptor parsing bug. Thanks to Tero Kivinen for
patiently supplying me with debug output.
2002-01-02 11:10:50 +00:00
takemura
bd59ae1f5c BUGFIX: sg2com isn't attached as a console device if it is a console. 2002-01-02 10:09:35 +00:00
mrg
e674bb7dc8 make this hostprog friendly. 2002-01-02 05:21:34 +00:00
mrg
dc34af64a7 - add a -i path-to-installboot option
- also recognise $INSTALLBOOT from the environment
- update Usage & share the option list with Help.
2002-01-02 04:13:42 +00:00
augustss
d7f7000641 Add missing newline. 2002-01-02 04:10:02 +00:00
augustss
53d829ae4c Use the right I/O addresses for the ISA radio cards. 2002-01-02 04:08:41 +00:00
augustss
71dd2d73a6 Fix typos. 2002-01-02 03:47:35 +00:00
augustss
1d26d9e5fd Move debug define.
Remove some cruft.
Update with some stuff from Warner Losh's driver.
2002-01-02 03:44:56 +00:00
augustss
e814956b5d Add udsbr. 2002-01-02 03:26:54 +00:00
augustss
323b1e432f Add (commented out) udsbr. 2002-01-02 03:23:07 +00:00
augustss
f63f2e4dfe Add udsbr(4), a D-Link DSB-R100 FM radio (untested). 2002-01-02 03:21:36 +00:00
augustss
040f1e8c05 Support detach. 2002-01-02 02:44:02 +00:00
chs
e9a82c88ce in uvm_fault_unwire_locked(), if we find that a pmap entry is missing,
just skip that page.  this situation can arise legitimately when a file
with a wired mapping is truncated so that a wired page is no longer
part of the file.
2002-01-02 01:10:36 +00:00
chs
9451559ef4 pmap_page_protect(VM_PROT_NONE) must remove all mappings in the PV list,
even if they are wired.  we need to be able to remove all mappings to
pages that are being freed due to (eg.) file truncation.
2002-01-02 00:51:33 +00:00
augustss
369f1d1c80 Add radio names. 2002-01-01 23:12:19 +00:00
chs
a70dcbb2fd merge in a bit from the MP branch to cut down on LOCKDEBUG spew:
Use optimistic locking in pmap_create() so that we don't lock against
ourself if allocating the page directory causes pmap_growkernel() to
be called.
2002-01-01 22:52:11 +00:00
chs
a7ec5b4144 redo part of the last commit. 2002-01-01 22:18:39 +00:00
augustss
18f7211eb9 Make mr pci attachment conform. 2002-01-01 22:15:43 +00:00
augustss
32d039b3bf Add (commented out) radio card support. From OpenBSD. 2002-01-01 21:54:21 +00:00
augustss
1c06f6a40f Add support for radio cards. Written by Maxim Tsyplakov and Vladimir Popov
for OpenBSD, from where it was imported.
2002-01-01 21:51:38 +00:00
augustss
cdf2a29382 Regen. 2002-01-01 21:47:34 +00:00
augustss
ec0a570a33 Add a radio card. 2002-01-01 21:47:08 +00:00
hpeyerl
19d2ddde8d Add entry for PC Weasel/PCI. 2002-01-01 16:52:23 +00:00
hpeyerl
739775cbbb Add stanza for PC Weasel/PCI. 2002-01-01 16:49:05 +00:00
hpeyerl
e59c0dedfb Watchdog back-end driver for PC Weasel/PCI serial console and remote
management board.  Written by hpeyerl@realweasel.com and
thorpej@wasabisystems.com.  Requires Weasel firmware v2.04 and later.
2002-01-01 16:48:34 +00:00
skrll
e25a471c87 Fix typo in comment. 2002-01-01 16:24:33 +00:00
augustss
371722006a Add a missing subclass definition. 2002-01-01 14:23:37 +00:00
perry
dc0e791802 Happy New Year! 2002-01-01 09:17:28 +00:00
perry
259130c9d4 boost up default times for when clocks are insane (as we do every few years.) 2002-01-01 09:14:14 +00:00
thorpej
d2453f69b1 Remove the call to abort(). We don't pull in a prototype for it,
and there's no sane way to do so.
2002-01-01 01:58:01 +00:00
chs
43973be0c5 introduce a new UVM fault type, VM_FAULT_WIREMAX. this is different
from VM_FAULT_WIRE in that when the pages being wired are faulted in,
the simulated fault is at the maximum protection allowed for the mapping
instead of the current protection.  use this in uvm_map_pageable{,_all}()
to fix the problem where writing via ptrace() to shared libraries that
are also mapped with wired mappings in another process causes a
diagnostic panic when the wired mapping is removed.

this is a really obscure problem so it deserves some more explanation.
ptrace() writing to another process ends up down in uvm_map_extract(),
which for MAP_PRIVATE mappings (such as shared libraries) will cause
the amap to be copied or created.  then the amap is made shared
(ie. the AMAP_SHARED flag is set) between the kernel and the ptrace()d
process so that the kernel can modify pages in the amap and have the
ptrace()d process see the changes.  then when the page being modified
is actually faulted on, the object pages (from the shared library vnode)
is copied to a new anon page and inserted into the shared amap.
to make all the processes sharing the amap actually see the new anon
page instead of the vnode page that was there before, we need to
invalidate all the pmap-level mappings of the vnode page in the pmaps
of the processes sharing the amap, but we don't have a good way of
doing this.  the amap doesn't keep track of the vm_maps which map it.
so all we can do at this point is to remove all the mappings of the
page with pmap_page_protect(), but this has the unfortunate side-effect
of removing wired mappings as well.  removing wired mappings with
pmap_page_protect() is a legitimate operation, it can happen when a file
with a wired mapping is truncated.  so the pmap has no way of knowing
whether a request to remove a wired mapping is normal or when it's due to
this weird situation.  so the pmap has to remove the weird mapping.
the process being ptrace()d goes away and life continues.  then,
much later when we go to unwire or remove the wired vm_map mapping,
we discover that the pmap mapping has been removed when it should
still be there, and we panic.

so where did we go wrong?  the problem is that we don't have any way
to update just the pmap mappings that need to be updated in this
scenario.  we could invent a mechanism to do this, but that is much
more complicated than this change and it doesn't seem like the right
way to go in the long run either.

the real underlying problem here is that wired pmap mappings just
aren't a good concept.  one of the original properties of the pmap
design was supposed to be that all the information in the pmap could
be thrown away at any time and the VM system could regenerate it all
through fault processing, but wired pmap mappings don't allow that.
a better design for UVM would not require wired pmap mappings,
and Chuck C. and I are talking about this, but it won't be done
anytime soon, so this change will do for now.

this change has the effect of causing MAP_PRIVATE mappings to be
copied to anonymous memory when they are mlock()d, so that uvm_fault()
doesn't need to copy these pages later when called from ptrace(), thus
avoiding the call to pmap_page_protect() and the panic that results
from this when the mlock()d region is unlocked or freed.  note that
this change doesn't help the case where the wired mapping is MAP_SHARED.

discussed at great length with Chuck Cranor.
fixes PRs 10363, 12554, 12604, 13041, 13487, 14580 and 14853.
2001-12-31 22:34:39 +00:00
thorpej
6ca57419d1 Labels must be followed by statements. 2001-12-31 22:07:58 +00:00
thorpej
f9df4d877e Avoid an "unmamed fields" warning (gcc 3.1). 2001-12-31 22:06:47 +00:00