summaryrefslogtreecommitdiff
path: root/sys/arch/mvme88k
AgeCommit message (Collapse)Author
2011-09-27Make bus_addr_t and bus_size_t u_long types, instead of either uint32_t orMiod Vallat
uint64_t, depending upon the platform; this makes the declaration of these types consistent accross all our supported platform, and we do not intend to support a platform where bus_addr_t could be larger than the size of the cpu register. Requested by deraadt@ during s2k11
2011-07-17Backout a bunch of my SCSI commits from c2k11. At least one of theseMatthew Dempsky
is causing problems when trying to boot sparc64 from an isp(4). Verified to fix the sparc64/isp(4) regression by krw@; ok deraadt@
2011-07-08First batch of converting SCSI HBAs from setting saa_targets andMatthew Dempsky
saa_luns instead of adapter_buswidth and luns in the prototype link. ok dlg@, miod@
2011-07-07The drahn memorial bad kernel build fix: prevent blood pressurePhilip Guenthe
spikes in other developers by making it so that removal of a .d file without removing the corresponding object will result in the latter being treated as out of date. ok beck@ art@ drahn@
2011-07-06make clean should clean .d files, so as to leave a fresh canvas.Ted Unangst
ok beck deraadt
2011-06-29Replace all instances of "scsibus* at hba?" with a single "scsibus* atMatthew Dempsky
scsi?" rule, similar to how ethernet PHY drivers attach at mii. Discussed on icb.
2011-06-26if_downall() cannot be done MI in sys_reboot() because vfs_shutdown()Theo de Raadt
might need network (ie. nfs). Move the call to the MD boot() routines. This cause for boot hangs diagnosed by kettenis.
2011-06-23Fix the error path in bus_dmamem_map.Ariane van der Steldt
As discussed on icb: remove the comment, remove pmap_remove (uvm_km_free does that for us). ok oga@, deraadt@
2011-06-05Move the bufcachepercent setting code to MI locations -- set it to 42%Theo de Raadt
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
2011-05-30Remove the freelist member from vm_physsegOwain Ainsworth
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)
2011-04-28- enable fenvMartynas Venckus
- add nearbyint, nearbyintf and nearbyintl implemented using fenv
2011-04-19Disable the 88110 branch prediction logic unconditionnaly on all 88110Miod Vallat
revisions; despite what the ``official'' (yet unpublished, confidential proprietary, will cause a tree to fall on your house if you quote it, etc) errata says, disabling data decoupling is not enough to workaround its malfunction in processor revisions 5.x. Enough missing-SFU instructions (each causing a `disabled SFU' trap) in a tight loop will eventually (but quickly) trigger the (unrecoverable, not even by NMI) processor hang. Of course, most such instructions are not privileged, and can be easily issued by an evil userland process; crashme happens to be a good example of this, when invoked with the proper settings (which are left as an exercise to the reader). Now, can I have my hair back? Come on! Please... pretty please... with sugar on top... people are looking at my head, you know.
2011-04-16Use 'CLR(<buf>->b_flags, B_READ | B_WRITE | B_DONE)' regardless ofKenneth R Westerback
what the previous IO was. Less chance of copy and paste errors. Suggested by miod@.
2011-04-15In days of yore one could arbitrarily whack buffer flags. Those daysKenneth R Westerback
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@
2011-04-15Convert the kernel Makefiles to autogenerate dependencies during compilationPhilip Guenthe
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.
2011-04-12A few, hopefully last, NULL-as-an-integer misuses.Miod Vallat
2011-04-07Do not use NULL in integer comparisons. No functional change.Miod Vallat
ok matthew@ tedu@, also eyeballed by at least krw@ oga@ kettenis@ jsg@
2011-04-06The various read*label() have stopped returning error strings for quiteMiod Vallat
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.
2011-03-23Normalize sentinel. Use _MACHINE_*_H_ and _<ARCH>_*_H_ properly and consitently.Paul Irofti
Discussed and okay drahn@. Okay deraadt@.
2011-03-13Change daddr_t to daddr32_t. The bootblocks on our architectures onlyTheo de Raadt
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
2011-02-26Force the DUID cache used to generate hw.disknames to be updatedKenneth R Westerback
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@
2011-01-14- use nitems()Jasper Lievisse Adriaanse
"doesn't hurt" deraadt@
2011-01-05Pass pmap_bootstrap() the memory range used by the PROM/BUG/firmware/whatever,Miod Vallat
instead of assuming it is ``everything below the kernel image''.
2011-01-05Make copypage() and zeropage() per-cpu function pointers, and use aMiod Vallat
different version on 88110, which does load allocate of to-be-completely-overwritten cache lines.
2011-01-05Now that pmap_copy_page() no longer needs to flush a couple contiguous tlbMiod Vallat
entries, drop the count parameter to cmmu_tlb_inv(), and introduce cmmu_tlb_inv_all() to drop all user tlb entries (to be used during context switches).
2011-01-02Figure out how much L2 cache is available on 88410-blessed designs, andMiod Vallat
report it in dmesg.
2011-01-02Kill pmap_table_t typedef.Miod Vallat
2011-01-01Now that we __HAVE_PMAP_DIRECT, it gets easy to simply save partial cacheMiod Vallat
lines and restore them after invalidating rounded-to-cacheline-boundary ranges.
2011-01-01Better errata #17 handling logic. Only concerns MULTIPROCESSOR kernels.Miod Vallat
2010-12-31Massive overhauling of the m88k pmap, though I can't pretend it's a new pmapMiod Vallat
since a large part of the structures and logic remains. Since m88k has separate supervisor/user spaces, we can map physical memory 1:1 in supervisor space, and have the kernel virtual address space start from the end of physical memory. This allows us to switch to __HAVE_PMAP_DIRECT. And to get rid of the double mapped sdt, since now their virtual and physical addresses will always match. The upper bound of the kernel virtual memory space is now platform dependent, until the code which relies upon some hardware devices being mapped 1:1 in supervisor mode is updated to no longer require this (this is mainly a PITA on luna88k, where onboard devices start at 0x40000000, leaving only 1GB of KVA at the moment - still much better than the previous 512MB). Tested on mvme88k only (187, 188, 197LE, 197DP). Other platforms ought to work, aviion will be checked shortly and fixed if necessary. No known OpenBSD/luna88k system in working condition at the moment.
2010-12-31Yet another rework of the cache flushing routines. Fixes some bugs, probablyMiod Vallat
introduces new ones as well. Main highlights are: - 88200 lines which got marked as unusable by the BUG selftests will not be reenabled at CMMU initialization time. - better granularity in the 88110/88410 routines, to operate on ranges closer to the actual requested area, errata permitting.
2010-12-31Introduce a new cmmu routine, for page writebacks without invalidate. Will beMiod Vallat
used two commits from now.
2010-12-31Standardize cache handling functions and defines to use wb/wbinv/inv insteadMiod Vallat
of flush/sync/inval. No functional change.
2010-12-30If genassym fails, sort on the pipeline will indicate no error resultingTheo de Raadt
in some grief. Split this out. From Vladimir Kirillov
2010-12-26Kill pmap_phys_address(), and force every driver's mmap() routine to returnMiod Vallat
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.
2010-12-23Better malloc the right size, overruns are so 200x... Pass the brown paperMiod Vallat
bag, please.
2010-12-23The exception vector page on m88k systems has always been the same page asMiod Vallat
the one used by the firmware, which (at least on mvme88k) is at address zero. This is unfortunate, since this means that NULL pointer dereferences in the kernel are not caught, and writes cause havoc. This behaviour was necessary to be able to use the PROM system call interface during early bootstrap, without having to disassemble the VBR page and update branches - which use pc-relative displacement - if we were to use a different VBR address. On mvme88k, change this and actually set up two VBR pages: one, over the PROM page (except for the system call vectors), and another one in the kernel image (which will be mapped read-only). We'll run with the PROM page until the end of autoconf, and then switch to the kernel one, and unmap all the PROM below it. As a bonus, the final kernel page can use optimized data access fault handlers, which do not have to check for faults caused by badaddr(), since badaddr() is only used during device probe on buses which do not support hotplug. There are a few infrastructure collateral damage on aviion and luna88k, but these ports do not change their behaviour yet.
2010-12-07Make this compile again.Miod Vallat
2010-12-06- use consistent 'include' rules without a full relative path.Jasper Lievisse Adriaanse
tested on a GENERIC config from all arches. ok deraadt@ miod@
2010-12-02After the most recent change, make it possible to make -j again. TheTheo de Raadt
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
2010-12-02move vers.o to before the other objects, so that it is not linked last.Theo de Raadt
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
2010-11-22Remove old comment about constab[] being eventually generated by config(8).Miod Vallat
This has never happened and this wouldn't make much sense on anything but hp300, if at all, nowadays.
2010-11-20some more installboot cleanup from gapz@dud-t.orgTheo de Raadt
2010-11-19gapz@dud-t . org noted that sparc64 installboot crashes if the bootblock isTheo de Raadt
zero-sized. Apply similar fixes to installboot for other architectures.
2010-11-18Do not #include <sys/dkstat.h> if you don't need anything from it.Miod Vallat
ok krw@ deraadt@
2010-11-12Push all potential (as in, all system MI not utilized by the bootblocks)Theo de Raadt
.h files into the ctags run as well to bring #define's and structs and such into scope. Problem reported by thib
2010-11-03no need to specify the -t flag to ctagsTheo de Raadt
2010-09-23Add pppx(4) to the cdevs of the remaining archs.Claudio Jeker
OK dlg@
2010-09-20Get rid of evcount's support for arranging counters in a treeMatthew Dempsky
hierarchy. Everything attached to a single root node anyway, so at best we had a bush. "i think it is good" deraadt@
2010-07-03No more ss(4) or usscanner(4). Unused, unloved and unmaintained.Kenneth R Westerback
General huzzahs. "go for it" deraadt@