summaryrefslogtreecommitdiff
path: root/sys/arch/mips64
AgeCommit message (Collapse)Author
2007-09-10Introduce a md pmap hook, pmap_remove_holes(), which is supposed to markMiod Vallat
the holes a MMU may have from a given vm_map. This will be automagically invoked for newly created vmspaces. On platforms with MMU holes (e.g. sun4, sun4c and vax), this prevents mmap(2) hints which would end up being in the hole to be accepted as valid, causing unexpected signals when the process tries to access the hole (since pmap can not fill the hole anyway). Unfortunately, the logic mmap() uses to pick a valid address for anonymous mappings needs work, as it will only try to find an address higher than the hint, which causes all mmap() with a hint in the hole to fail on vax. This will be improved later.
2007-09-03call savectx() in cpu_fork(), so that the new process can take signalsMiod Vallat
correctly in child_return()'s userret(); makes the sys/kern/signal/earlysig regression test pass. From a 2.5 years old diff I should have commited much earlier.
2007-09-03Typos from miod. 'requiered' -> 'required' in some comments.Kenneth R Westerback
2007-07-18Prefer ``hit'' cache operations when flushing kernel memory.Miod Vallat
2007-07-18bus_dmamem_map() maps with a single segment in directly-translated XKPHYSMiod Vallat
space, either cache coherent for regular mappings and uncached for BUS_DMA_COHERENT mappings, as done on all other platforms with direct mappings.
2007-07-16Replace bunches of nops with the ITLBNOPFIX macro, which generates fewerMiod Vallat
nops unless we compile for early RM7000 flavours, which we usually don't do.
2007-07-16On exit from switch_exit(), do not bother saving context and immediatelyMiod Vallat
jump into the scheduler loop.
2007-07-16Do not reenabled interrupts when processing a ddb trap, for bad things mayMiod Vallat
happen; from NetBSD
2007-07-16Change idle_mask to be made of the cop0 SR bits unshifted and the cop0 IC bitsMiod Vallat
shifted, instead of the other way around; this shaves a few instructions.
2007-07-05Compute the correct address and try and print a matching symbol for j andMiod Vallat
jal instructions.
2007-07-01In cpu_switch(), store the saved cpl in the pcb as a 64 bit store, so thatMiod Vallat
the high order bits are not undefined when invoking hw_setintrmask() on return.
2007-06-21Extent sgi bus_dma to cope with different views of memory: non-contiguousMiod Vallat
for the cpu, contiguous from different bases for devices. This allows memory above 256MB to be used with bus_dma (and we had really been lucky with the first few large-memory builds). Information about memory accesses taken from Linux.
2007-06-20Do not hardcode imask[] size when intializing it.Miod Vallat
2007-06-20In vunmapbuf(), explicitely remove mappings before invoking uvm_km_free().Miod Vallat
Even if the latter would end up removing the mappings by itself, it would do so using pmap_remove() because phys_map is not intrsafe; but some platforms use pmap_kenter_pa() in vmapbuf(). By removing the mappings ourselves, we can ensure the remove function used matches the enter function which has been used. Discussed and theoretical ok art@
2007-06-20Protect pool operations with splvm.Miod Vallat
2007-06-20Make sure IPL_CLOCK blocks device interrupts.Miod Vallat
2007-06-18this is the sgi disklabel, mips64 is not the sameTheo de Raadt
2007-06-18this is the sgi disksubr, not some mythical "all mips64 architectures can ↵Theo de Raadt
use it" balony
2007-06-18Use a shorter form to load XKPHYS constants in .S code, shaves a few textMiod Vallat
bytes, no functional change.
2007-06-18Disable instruction reordering around cpl assignments.Miod Vallat
2007-06-18simplify error return case from writedisklabel()Theo de Raadt
2007-06-17Eliminate a few straggling 'labelsector' field declarations fromKenneth R Westerback
cpu_disklabel's. 'labelsector' is not used anywhere according to grep. 'go for it' deraadt@
2007-06-17Coerce this into compiling.Miod Vallat
2007-06-17significantly simplified disklabel infrastructure. MBR handling becomes MITheo de Raadt
to support hotplug media on most architectures. disklabel setup and verification done using new helper functions. Disklabels must *always* have a correct checksum now. Same code paths are used to learn on-disk location disklabels, to avoid new errors sneaking in. Tested on almost all cases, testing help from todd, kettenis, krw, otto, dlg, robert, gwk, drahn
2007-06-14Fix label name in writedisklabel().Miod Vallat
2007-06-14some spaces in the wayTheo de Raadt
2007-06-14excessive blank lines making the versions differentTheo de Raadt
2007-06-14set the prototype disklabel to version 1Theo de Raadt
2007-06-14do not depend on previous loop variable, use a constant insteadTheo de Raadt
2007-06-12all disksubr.c did their b_flags manipulation differently (and wrong).Theo de Raadt
correct and unify; ok thib miod
2007-06-09The differences in the last non-homogeneous bounds_check_with_label()Kenneth R Westerback
routines (alpha, vax) prove to be not worth keeping. Move bounds_check_with_label() into the MI world. Eliminate unreliable and almost certainly useless checks for overwriting a disklabel. After discussion with deraadt@
2007-06-09unify DOSPTYP_FAT* code (some architectures missed a filesystem type or two)Theo de Raadt
2007-06-09by hand i carefully found that all the differences in setdisklabel()Theo de Raadt
implimentations were simply either missing code, or spacing and such. setdisklabel() can become MI now.
2007-06-09annoying spacing glitch which makes the diffs biggerTheo de Raadt
2007-06-07Fix typo introduced during ANSI-fication. Found by Rainer Giedat. MIPSKenneth R Westerback
kernel compiles again.
2007-06-07GET should have been SETOtto Moerbeek
2007-06-07Eliminate unnecessary duplicate defines *_LABELSECTOR andKenneth R Westerback
*_LABELOFFSET. Don't use osdep->labelsector since it will always be LABELSECTOR, since we don't support extended DOS partitions holding the OpenBSD disk label. No functional change. Now only Alpha and Vax bounds_check_with_label differ by more than comments.
2007-06-07More bounds_check_with_label homogenization. Fix a couple of typos whileKenneth R Westerback
there. 'so go to it!' deraadt@
2007-06-06now that all partition size/offsets are potentially 64-bit, change theTheo de Raadt
type of all variables to daddr64_t. this includes the APIs for XXsize() and XXdump(), all range checks inside bio drivers, internal variables for disklabel handling, and even uvm's swap offsets. re-read numerous times by otto, miod, krw, thib to look for errors
2007-06-06a fair sprinking of knf, code movement, and sometimes character-by-characterTheo de Raadt
accuracy so that the variious disksubr.c's can be compared easier. setdisklabel() starts taking an int for openmask. ok krw, and read by quite a few other people
2007-06-05use six new macros to access & store the 48-bit disklabel fields relatedTheo de Raadt
to size. tested on almost all machines, double checked by miod and krw next comes the type handling surrounding these values
2007-06-02Rename cvtdisklabelv1 -> disklabeltokernlabel. It does more than justKenneth R Westerback
convert version 0 to version 1 disklabels. Suggested by deraadt@. ok deraadt@ otto@
2007-05-31KNF, whitespace and comment rectification to make allKenneth R Westerback
bounds_check_with_label() routines as identical as possible without changing any code. Code nits and adjustments to come.
2007-05-31Standardize on -1 as the error return value forKenneth R Westerback
bounds_check_with_label. All callers check for <= 0, so no functional change. Feedback from miod@. ok weingart@
2007-05-30Q: How did _dmamap_sync() work before?Miod Vallat
A: It didn't.
2007-05-29Use atomic operations to operate on netisr, instead of clearing it at splhigh.Miod Vallat
This changes nothing on legacy architectures, but is a bit faster (and simpler) on the interesting ones.
2007-05-29Updated disklabel format to support larger disks and partitions. WeOtto Moerbeek
free room in struct partition by packing fragment size and fragments/block more tighlty and use the resulting space to make offset and size 48 bits. For the disk part we use spare fields in struct disklabel. Kernel converts in-mem copy of the on-disk label if needed, disklabel(8) writes new version. We are careful to only change fields not used by bootloaders. Conception of basic scheme by deraadt. ok deraadt@ krw@
2007-05-29Refactor readdisklabel() to ensure there is a single point of return, inKenneth R Westerback
preparation for translating all disk labels visible to the kernel to the soon to arrive V1 format. ok otto@ deraadt@
2007-05-28Move the MSIZE, MCLSHIFT, MCLBYTES and the MCLOFSETThordur I. Bjornsson
mbuf constants from MD param.h to MI param.h. Besides being the same on every arch, things will most probly break if any arch has different values then the others. The NMBCLUSTERS constants needs to be MD though; ok miod@,krw@,claudio@
2007-05-27pagemove() is no longer used.Miod Vallat