summaryrefslogtreecommitdiff
path: root/sys/arch/hppa
AgeCommit message (Collapse)Author
2009-11-11add a icache flush which appears to make the machines even more stableTheo de Raadt
(no crashes in nearly forever) ok kettenis
2009-11-09Every selwakeup() should have a matching KNOTE() (even if kqueue isn'tNicholas Marriott
supported it doesn't do any harm), so put the KNOTE() in selwakeup() itself and remove it from any occurences where both are used, except one for kqueue itself and one in sys_pipe.c (where the selwakeup is under a PIPE_SEL flag). Based on a diff from tedu. ok deraadt
2009-11-04Get rid of __HAVE_GENERIC_SOFT_INTERRUPTS now that all our platforms support it.Mark Kettenis
ok jsing@, miod@
2009-10-31Use suser when possible. Suggested by miod@.Federico G. Schwindt
miod@ deraadt@ ok.
2009-10-31Add missing KNOTE() calls after selwakeup(), until we decide if the KNOTE()Theo de Raadt
calls can go directly into selwakeup() safely long discussion with nicm, murmers of consent from tedu and miod, noone else seems to care of kqueue is busted as long as it makes their sockets move data fast... pretty sad.
2009-10-29add isp(4), but disable it since on most machines the pci bus is earlierTheo de Raadt
than the root disk... annoying.
2009-10-28rcsid[] and sccsid[] and copyright[] are essentially unmaintained (andTheo de Raadt
unmaintainable). these days, people use source. these id's do not provide any benefit, and do hurt the small install media (the 33,000 line diff is essentially mechanical) ok with the idea millert, ok dms
2009-10-19Correct a target name so that we don't rebuild vers.o (and thenPhilip Guenthe
bsd) unless some other object has changed. Rebuild and reinstall in /usr/src/usr.sbin/config/ after updating! "I like it" deraadt@
2009-08-30When the `machine' commands part of the hppa bootloader were written, weMiod Vallat
were only running on the non-PCI models. Many years have passed since then... Update the bus walking code to support dino and elroy PCI bridges, in order to identify PCI graphics devices and USB controllers (in order to support USB keyboards). Also recognize com@ssio, so that high-class four digit B and C machines (and probably four digit J as well) can configure console from the boot blocks correctly. Of course, this is of questionable usefulness, since these console related routines were written with the 712 in mind, which has a castrated ROM preventing the user from configuring a serial console. Yet providing a consistent feature set never hurts. (three digit J series still need some love, due to the different way of walking the buses; to be addressed in a later commit, soon)
2009-08-22Constify the what/name parameter of pci_intr_establish().Michael Knudsen
Tested by myself, sthen, oga, kettenis, and jasper. Input from sthen and jasper. ok kettenis (Manpage follows shortly.)
2009-08-13In pmap_pte_flush flush the icache before the dcache, as is done elsewhere.Theo de Raadt
We cannot find gaurantees in the documents that any icache filling from the cache is terminated by a icache flush or idtlb invalidation, so this is probably safer, and unlikely to be unsafer. ok kettenis
2009-08-13Replace the error strings that were being passed around with much simplerTheo de Raadt
errnos. Note that the error strings are being ignored, since we long ago decided to not spam the console, and there is no other nice way to use the errors (without changing the ioctls to pass it back) The errno is now useful, since we can pass b_error from failing IO up, and the drive can decide how to use that ok miod
2009-08-13i forgot a commentDavid Gwynne
2009-08-13wire vscsi up to a cdevDavid Gwynne
for claudio@ ok deraadt@
2009-08-13A new(er) mtx_enter_try().Tobias Weingartner
Ok oga@, "the time is now" deraadt@.
2009-08-12Non-equivalent writable aliases (aka illegal aliases) are bad. Since PA-RISCMark Kettenis
doesn't have a usuable uncachable bit, whack all other mappings of a page if we are about to create a non-equivalent writable alias by entering a mapping for it. ok art@, miod@
2009-08-11Do not bother initializing bufpages in the md code if the computation isMiod Vallat
exactly the same the mi could will use if bufinit() is invoked with bufpages == 0.
2009-08-11With the SysV memory allocation changes, allocsys() doesn't do anythingMiod Vallat
anymore. Get rid of it completely.
2009-08-09Introduce option DDB_STRUCT. Kernels compiled with this option (except onMiod Vallat
a few arches where toolchain limitations apply) will embed some symbolic information about the various structs used within the kernel, and have new ddb commands allowing struct display and some useful information gathering. Kernel rodata increase varies accross platforms from ~150KB to ~300KB. This option is not enabled by default.
2009-08-09No need to clean genassym{.,o} during `make clean', genassym.sh does thisMiod Vallat
for us.
2009-08-09No options TIMEZONE and DST in GENERIC kernels.Miod Vallat
2009-08-09Unconditionally enable checks for writable non-uequivalent mappings. They'reMark Kettenis
evil so we should complain about them until we have a way to fix them.
2009-08-09Rototill system V message queues.Bret Lambert
No longer allocate a static amount of memory for messages in MD boot path; message queues, message metadata, and message data now all use dynamic memory, which means that runtime sysctls should now be trivial to implement. Since I'm going to be around all week to fix any breakage, this should probably just go in now.
2009-08-06reintroduce the uvm_tree commit.Owain Ainsworth
Now instead of the global object hashtable, we have a per object tree. Testing shows no performance difference and a slight code shrink. OTOH when locking is more fine grained this should be faster due to lock contention on uvm.hashlock. ok thib@, art@.
2009-08-02Dynamic buffer cache support - a re-commit of what was backed outBob Beck
after c2k9 allows buffer cache to be extended and grow/shrink dynamically tested by many, ok oga@, "why not just commit it" deraadt@
2009-07-30Make sure the BUS_SPACE_BARRIER_xxx constants are all non-zero and can beMiod Vallat
or'ed together, even on platforms where bus_space_barrier() ignores the barrier argument yet.
2009-07-30Disable interrupts when we enter cpu_intr() and enable them again when leavingMark Kettenis
that function. It seems this function was intended to be called with interrupts disabled but that is not (no longer?) the case. As a result there were some races accessing the list of interrupt handlers and we would leave the function with interrupts disabled if there were any interrupts pending. This could make us end up in the idle loop with interrupts disabled, which would "hang" the machine. Found with help from deraadt@
2009-07-29Fix bogus comment; requested by deraadt@Mark Kettenis
2009-07-29Get rid of non-equivalent aliases of the pcb by moving the fpu state outMark Kettenis
of the pcb and using the p_addr member of 'struct proc' to calculate the address of the kernel stack when switching to virtual mode after taking a trap. Remove the now unecessary cache flushes; they're actually harmful since they create non-equivalent aliases. This seems to fix the memory corruption we have been observing from time to time. This diff does not rename fpu_curpcb, which is now somewhat incorrectly named. I hope to change things back again as soon as we are able to map the pcb 1:1.
2009-07-28Enable ti(4), tested by myself OK deraadt@Claudio Jeker
2009-07-26Make sure all platforms understand the flags argument of bus_space_map() andMiod Vallat
bus_space_alloc() as a bitmask of flags, and not a boolean controlling cacheability; and make sure the three MI BUS_SPACE_MAP_xxx values documented in the manual page are defined on all platforms as well.
2009-07-26I'm not as smart as mickey, so replace:Mark Kettenis
batch = pdemask == sva && sva + ~PDE_MASK + 1 <= eva; with something that's a little bit easier to read.
2009-07-25Make sure that if a PDE isn't there, we skip to the start of the addressMark Kettenis
range covered by the next PDE and not somewhere in the middle. The old could have skipped over some valid PTE's causing them to stay behind in the pmap. Since we would not flush the cache for those pages either this could also cause memory corruption when dirty cache lines would be written back to memory at a later stage.
2009-07-24in pmap_kenter_pa(), flush the old pte before installing the new one.Theo de Raadt
ok kettenis
2009-07-21Change the rbus md_space_{map,unmap} signature to take a rbus_tag_t insteadMiod Vallat
of the bus_space_tag_t it contains; an upcoming implementation will need to know the rbus_tag_t for which it works at this point. All callers updated accordingly; no functional change intended.
2009-07-20Pass a pci_chipset_tag_t to pci_intr_line(), to eventually allow theMiod Vallat
logic to be chipset dependent; no functional change yet. ok kettenis@
2009-06-29enable isp(4)Theo de Raadt
2009-06-26Prefer fdcache() to pdcache() in cpu_fork(), as the MI uvm code has touchedMiod Vallat
p->p_stats earlier, and loss of information there can cause spurious SIGPROF or SIGVTALRM to be delivered. ok kettenis@
2009-06-24enable softraidTodd T. Fries
test built and booted by me ok marco@, deraadt@
2009-06-17Really avoid changing the start of the bounds if we found no LIFTheo de Raadt
a diff by kettenis but he is gone for a day or so
2009-06-16Backout all changes to uvm after pmemrange (which will be backed outOwain Ainsworth
separately). a change at or just before the hackathon has either exposed or added a very very nasty memory corruption bug that is giving us hell right now. So in the interest of kernel stability these diffs are being backed out until such a time as that corruption bug has been found and squashed, then the ones that are proven good may slowly return. a quick hitlist of the main commits this backs out: mine: uvm_objwire the lock change in uvm_swap.c using trees for uvm objects instead of the hash removing the pgo_releasepg callback. art@'s: putting pmap_page_protect(VM_PROT_NONE) in uvm_pagedeactivate() since all callers called that just prior anyway. ok beck@, ariane@. prompted by deraadt@.
2009-06-15Back out all the buffer cache changes I committed during c2k9. This reverts ↵Bob Beck
three commits: 1) The sysctl allowing bufcachepercent to be changed at boot time. 2) The change moving the buffer cache hash chains to a red-black tree 3) The dynamic buffer cache (Which depended on the earlier too). ok on the backout from marco and todd
2009-06-14Don't mess with the bounds in the lp if *partoffp is non-NULL, since thisTheo de Raadt
indicates that writedisklabel is trying to find the location for writing the label. If the lp is messed with, an invalid checksum is written. done with miod and kettenis, lots of moaning and gnashing of teeth, etc
2009-06-11Correctly flush direct mappings (cache/tlb). Uncovered by ariane's newMark Kettenis
allocator.
2009-06-04Recycle four ancient fields in the disklabel structure, replacing them withTheo de Raadt
bounds information, ie. the zone of the disk that OpenBSD can use. Have each pre-disklabel parser (MBR, DPME, or per-arch MD disklabel parsers) figure out this area and pass it up to userland. Then, delete all the same disk parsing code from disklabel(8) since the kernel passes it up. Lots and lots of - signs in the disklabel(8) code. Tested on as many platforms as possible, the fallout will be repaired as time goes on. To test, use disklabel -d <drive> and validate that the bounds do not overlap any boot blocks. This same information is used by disklabel -A... OK for the concept from krw, miod, and drahn
2009-06-03add kern.bufcachepercent sysctl to allow adjusting the buffer cacheBob Beck
size on a running system. ok art@, oga@
2009-06-03Arla client rename from xfs to nnpfs for later upgrades. Tested on various ↵Janne Johansson
arches. ok todd@ beck@
2009-06-02Instead of the global hash table with the terrible hashfunction and aOwain Ainsworth
global lock, switch the uvm object pages to being kept in a per-object RB_TREE. Right now this is approximately the same speed, but cleaner. When biglock usage is reduced this will improve concurrency due to lock contention.. ok beck@ art@. Thanks to jasper for the speed testing.
2009-06-01Enable zyd in more places now we know it is endian safe.Jonathan Gray
2009-05-31Remove BUS_DMAMEM_NOSYNC definition. Its name is not consistent withMiod Vallat
other BUS_DMA_xxx flag names, and nothing uses it. ok many@