summaryrefslogtreecommitdiff
path: root/sys/arch/vax
AgeCommit message (Collapse)Author
2007-10-13Do not splhigh() before invoking sched_exit(), sched_exit() will do it better.Miod Vallat
2007-10-10Make context switching much more MI:Artur Grabowski
- Move the functionality of choosing a process from cpu_switch into a much simpler function: cpu_switchto. Instead of having the locore code walk the run queues, let the MI code choose the process we want to run and only implement the context switching itself in MD code. - Let MD context switching run without worrying about spls or locks. - Instead of having the idle loop implemented with special contexts in MD code, implement one idle proc for each cpu. make the idle loop MI with MD hooks. - Change the proc lists from the old style vax queues to TAILQs. - Change the sleep queue from vax queues to TAILQs. This makes wakeup() go from O(n^2) to O(n) there will be some MD fallout, but it will be fixed shortly. There's also a few cleanups to be done after this. deraadt@, kettenis@ ok
2007-10-08A few trailing bzero/memset -> M_ZERO occurrences, cast removal andKenneth R Westerback
size(*p) usage.
2007-10-02Apply (with slight variants) this elimination of bzero() with M_ZERO:Kenneth R Westerback
- if ((mapstore = malloc(mapsize, M_DEVBUF, - (flags & BUS_DMA_NOWAIT) ? M_NOWAIT : M_WAITOK)) == NULL) + if ((mapstore = malloc(mapsize, M_DEVBUF, (flags & BUS_DMA_NOWAIT) ? + (M_NOWAIT | M_ZERO) : (M_WAITOK | M_ZERO))) == NULL) return (ENOMEM); - bzero(mapstore, mapsize);
2007-10-01More easy bzero() -> M_ZERO. Use 'p = malloc(sizeof(*p) ...' whereKenneth R Westerback
obvious.
2007-09-22M_ZERO -> bzero.Kenneth R Westerback
ok art@
2007-09-17Only the most obvious bzero() -> M_ZERO changes. No cast changes, noKenneth R Westerback
MALLOC/FREE, etc. Just adding M_ZERO to malloc() and deleting an immediately adjacent bzero().
2007-09-15[fF]uther -> [fF]urther in comments and man page. First one spotted onKenneth R Westerback
tech@ by Jung.
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-03Typos from miod. 'functin' -> 'functin' in some comments.Kenneth R Westerback
2007-09-01Do not include <machine/rpb.h> unless necessary.Miod Vallat
2007-08-01Figure out the host SCSI controller ID on KA48 (VLC) and KA49 (VS4k/9x) fromMiod Vallat
the nvram settings, as already done on KA46 (VS4k/6x); from Hans Rosenfeld on port-vax@netbsd.
2007-07-30Shuffle the order in which we look for header files, when doingThordur I. Bjornsson
kernel builds locally this doesnt change much but over NFS this cuts about 12% of the build time on my setup (i386). OK miod@, deraadt@.
2007-07-13Do not compile disk_reallymapin() unless it is really needed.Miod Vallat
2007-06-20These drivers were abusing b_cylinder to store device-specific informationMiod Vallat
in strategy(), and were reusing it in start(). I first considered introducing a b_rawblkno field in struct buf, as has been done in NetBSD, to stop this abuse. However, it does not cost more to simply move the device-specific ``was-b_cylinder'' computation to the start() routine. Plus we get type fixes (daddr64_t) for free, although this does not really matter for these pedro-sized devices. Thus we do not need to grow struct buf for these devices which really ought to live in your Attic (and my machineroom, of course). hp300 HP-IB tested, vax mfm not, but the logic is the same.
2007-06-20b_cylinder does not need to be set on the callpath down into drivers.Theo de Raadt
cpu_disklabel can go away, since nothing anymore needs to use it; ok miod
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-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-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-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-09typoTheo de Raadt
2007-06-08all disklabels read from the kernel now always contain a total sectorTheo de Raadt
size which is the REAL DISK SIZE. always. if a driver fails to set this right, please fix it. agreed with otto and krw
2007-06-08all disklabels read from the kernel now always contain a total sectorTheo de Raadt
size which is the REAL DISK SIZE. always. if a driver fails to set this right, please fix it. agreed with otto and krw
2007-06-07more XXsize() functions not fixedTheo de Raadt
2007-06-07best if this compilesTheo de Raadt
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-05bounds_check_with_label() checks for i/o outside of the partition andKenneth R Westerback
for overwriting the disklabel. Reorder some checks so all copies of bounds_check_with_label do the checks in the same order. Order picked by using the currently most popular one. Should be no functional change. "If it's boring, commit it" deraadt@
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-06-01Replace comment in Swedish. -mojMats O Jansson
2007-06-01some architectures called setroot() from cpu_configure(), *way* before someTheo de Raadt
subsystems were enabled. others used a *md_diskconf -> diskconf() method to make sure init_main could "do late setroot". Change all architectures to have diskconf(), use it directly & late. tested by todd and myself on most architectures, ok miod too
2007-06-01Fix cd block major numberMiod Vallat
2007-05-31RAW_PART is defined to be 2 in vax (like elsewhere) so use it ratherKenneth R Westerback
than 2.
2007-05-31Minor bounds_check_with_label nits.Kenneth R Westerback
1) Use local variable 'labelsector' not 'labelsect' to be consistant (hp300, mac68k, mvme68k, mvme88k, vax). 2) Having checked for sz == 0, the next check needs only be sz < 0, not <= 0. (mac68k, mvme68k, mvme88k) 3) Use lp->d_partitions + DISKPART(dev), rather than lp->d_partitions[DISKPART(dev)] (hp300). Assuming no typos there should be no functional change.
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-29start of dumpconf() unification, which one day we can pray will be MITheo de Raadt
(and part of setroot); ok miod
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-28bio for all archs, ok krw@ kettenis@ sounds good marco@ go for it deraadt@Todd T. Fries
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
2007-05-27Make sure the minaddr hint for uvm_km_suballoc() calls is always initialized.Miod Vallat
ok pedro@
2007-05-27back out bio, breaks dlg's sparc64 v215Todd T. Fries
prompted by/ok dlg@ deraadt@
2007-05-26Dynamic buffer cache. Initial diff from mickey@, okay art@ beck@ toby@Pedro Martelletto
deraadt@ dlg@.