summaryrefslogtreecommitdiff
path: root/sys/arch/aviion
AgeCommit message (Collapse)Author
2012-06-26create new machine/_float.h which is namespace clean. create a newTheo de Raadt
MI float.h which pulls in and defines the values that are needed from there, and repair sys/limits.h so that it defines the values it needs as well (depending on POSIX version, XPG version, etc). guenther has a more exact selection of that coming for limits.h. this also fixes a few mistakes for the vax. reviewed by kettenis and guenther.
2011-11-19Make sure %cr17 points to a valid cpu_info struct before attempting to do theMiod Vallat
first few printfs (which happen before we have figured out which exact cpu we are running on). Found the hard way by aoyama@ on luna88k, and we probably have just been lucky on other platforms.
2011-11-08Garbage collect now unused MKDEP definitions. ok deraadt@Matthieu Herrb
2011-10-27Specify the TLS variant for each platform.Philip Guenthe
2011-10-09Pad the ECOFF output file to a 512 bytes boundary; older AViiON firmware willMiod Vallat
reject non-padded files with an irrelevant error message, and newer firmware won't mind the extra bytes.
2011-10-09Cope with the recent pmap changes to prevent them from accidentally unmapMiod Vallat
the VBR page (quick workaround until the VBR page is relocated as has been done on mvme88k)
2011-10-09Let BUS_DMA_COHERENT allocations return cache-inhibited pages.Miod Vallat
2011-10-09Rework secondary processor initialization. cmmu initialization is nowMiod Vallat
performed much earlier in the processor startup. No visible change, paves the way for the much important diff three commits from here.
2011-10-06ccd goes to the atticTheo de Raadt
discussed with jsing and millert
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-08When reading dos labels use DOS_LABELSECTOR and don't use LABELOFFSET. For ↵Kenneth R Westerback
all these arch's LABELSECTOR == DOS_LABELSECTOR == 1, and LABELOFFSET == 0. Thus, to quote bob, "This is a no-op". Makes the expression used when writing label the same as the one used in readdoslabel().
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-06On those archs that read their disk (vs iso/udf) disklabels exclusivelyKenneth R Westerback
via readdoslabel(), tweak writedisklabel() to write disklabels at the same place readdoslabel() reads them from. Irregardless of the physical disk sector size. As is done in i386/amd64 already. No change in behaviour for the 'normal' 512-byte sector case. ok deraadt@
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-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-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-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-02Kill pmap_table_t typedef.Miod Vallat
2011-01-02Fix dump to work with PMAP_DIRECT, as done on mvme88k.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-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-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-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-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@
2010-07-02Move common code for waking up writers on a tty into a function.Nicholas Marriott
ok deraadt matthew millert
2010-06-28Allow tty drivers to request larger buffers at attach time using aTheo de Raadt
max-baud-rate hint. Adjust TTYHOG (the nearly full logic) to this new situation. The larger buffers are required by the very high speed KDDI devices in Japan (CF com, or USB ucom) so those are the only two drivers which currently ask for a larger buffer size. ok yasuoka miod
2010-06-27Bunch of include adjustements to restore compilability.Miod Vallat
2010-06-27uvm constraints. Add two mandatory MD symbols, uvm_md_constraintsThordur I. Bjornsson
which contains the constraints for DMA/memory allocation for each architecture, and dma_constraints which contains the range of addresses that are dma accessable by the system. This is based on ariane@'s physcontig diff, with lots of bugfixes and additions the following additions by my self: Introduce a new function pool_set_constraints() which sets the address range for which we allocate pages for the pool from, this is now used for the mbuf/mbuf cluster pools to keep them dma accessible. The !direct archs no longer stuff pages into the kernel object in uvm_km_getpage_pla but rather do a pmap_extract() in uvm_km_putpages. Tested heavily by my self on i386, amd64 and sparc64. Some tests on alpha and SGI. "commit it" beck, art, oga, deraadt "i like the diff" deraadt
2010-06-26Don't #include <sys/user.h> into files that don't need the stuffPhilip Guenthe
it defines. In some cases, this means pulling in uvm.h or pcb.h instead, but most of the inclusions were just noise. Tested on alpha, amd64, armish, hppa, i386, macpcc, sgi, sparc64, and vax, mostly by krw and naddy. ok krw@