summaryrefslogtreecommitdiff
path: root/sys
AgeCommit message (Collapse)Author
2002-01-02if pm_adb_op times out waiting for an interrupt, attempt to takedbj
an interrupt anyway, just in case. Otherwise, report the timout condition. This works around a problem in my ibook if a key is pressed after boot and before adb is configured, such as when booting with -d.
2002-01-02defer attaching akbd as console until after it hasdbj
been initialized in akbdattach
2002-01-02Set sc_framesize to a reasonable value early on so that DEBUG codead
doesn't choke before we discern the real value.
2002-01-02Get rid of a few stray __P().augustss
2002-01-02More whitespace fixes from FreeBSD.augustss
2002-01-02Fix a typo.thorpej
2002-01-02Need <sys/systm.h> for ffs() prototype (noticed by gcc 3.1).thorpej
2002-01-02VR41XX/TX3922 common kernel.uch
2002-01-02fix typo in comment.uch
2002-01-02fix bootstrap stack violation.uch
2002-01-02fix memory probe sequence.uch
fix bootstrap stack violation. (code are moved to machdep.c)
2002-01-02when bootinfo has no framebuffer information, don't attach bicons.uch
2002-01-02s/TOOLDIR/EETOOLDIR/uch
2002-01-02sync with uhidev change.uch
2002-01-02Change the probe code. You cannot unmap bus space and then use it.augustss
2002-01-02int128_t and u_int128_t are wrapped in defined(_KERNEL) && defined(MIPS3_5900)uch
2002-01-02_intr_suspend and _intr_resume declarations are moved to intr.h.uch
2002-01-02R5900 short-loop bug.uch
2002-01-02Fix another descriptor parsing bug. Thanks to Tero Kivinen foraugustss
patiently supplying me with debug output.
2002-01-02BUGFIX: sg2com isn't attached as a console device if it is a console.takemura
2002-01-02make this hostprog friendly.mrg
2002-01-02- add a -i path-to-installboot optionmrg
- also recognise $INSTALLBOOT from the environment - update Usage & share the option list with Help.
2002-01-02Add missing newline.augustss
2002-01-02Use the right I/O addresses for the ISA radio cards.augustss
2002-01-02Fix typos.augustss
2002-01-02Move debug define.augustss
Remove some cruft. Update with some stuff from Warner Losh's driver.
2002-01-02Add udsbr.augustss
2002-01-02Add (commented out) udsbr.augustss
2002-01-02Add udsbr(4), a D-Link DSB-R100 FM radio (untested).augustss
2002-01-02Support detach.augustss
2002-01-02in uvm_fault_unwire_locked(), if we find that a pmap entry is missing,chs
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-02pmap_page_protect(VM_PROT_NONE) must remove all mappings in the PV list,chs
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-01Add radio names.augustss
2002-01-01merge in a bit from the MP branch to cut down on LOCKDEBUG spew:chs
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-01redo part of the last commit.chs
2002-01-01Make mr pci attachment conform.augustss
2002-01-01Add (commented out) radio card support. From OpenBSD.augustss
2002-01-01Add support for radio cards. Written by Maxim Tsyplakov and Vladimir Popovaugustss
for OpenBSD, from where it was imported.
2002-01-01Regen.augustss
2002-01-01Add a radio card.augustss
2002-01-01Add entry for PC Weasel/PCI.hpeyerl
2002-01-01Add stanza for PC Weasel/PCI.hpeyerl
2002-01-01Watchdog back-end driver for PC Weasel/PCI serial console and remotehpeyerl
management board. Written by hpeyerl@realweasel.com and thorpej@wasabisystems.com. Requires Weasel firmware v2.04 and later.
2002-01-01Fix typo in comment.skrll
2002-01-01Add a missing subclass definition.augustss
2002-01-01Happy New Year!perry
2002-01-01boost up default times for when clocks are insane (as we do every few years.)perry
2002-01-01Remove the call to abort(). We don't pull in a prototype for it,thorpej
and there's no sane way to do so.
2001-12-31introduce a new UVM fault type, VM_FAULT_WIREMAX. this is differentchs
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-31Labels must be followed by statements.thorpej