summaryrefslogtreecommitdiff
path: root/sys/arch/vax/include
AgeCommit message (Collapse)Author
2009-11-04Get rid of __HAVE_GENERIC_SOFT_INTERRUPTS now that all our platforms support it.Mark Kettenis
ok jsing@, miod@
2009-08-19<machine/macros.h> would provide inline version of a few of the functionsMiod Vallat
traditionnaly found in libkern. However, the memcmp() flavour would behave as bcmp() with only two possible return values: zero and positive non-zero. This broke the name cache RB trees which now rely upon proper memcmp() semantics(negative value, zero, or positive value). Just give up on these macros and provide the same code as libc, in libkern. As a side effect, this no longer uses the cmpc3 instruction, which is not implemented and requires (slow) kernel emulation, on the original uVax.
2009-06-20Preserve more registers in sigcontext, and restore them in sigreturn. ThisMiod Vallat
makes the sigreturn regress test pass, as well as todd@'s ``run sh -c "trap exit 2 3;while :; do sleep 120; done", then press ^C'' test pass. Since userland setjmp uses sigcontext, the kernel will still support the old layout for a while (until libc is fixed and a reasonable grace period is over).
2009-06-20Remove unused struct ka410_cpu, long superseded by struct vs_cpu.Miod Vallat
2009-04-20Add a BUS_DMA_ZERO flag for bus_dmamem_alloc() to return zeroed memory.Owain Ainsworth
Saves every damned driver calling bzero(), and continues the M_ZERO, PR_ZERO symmetry.
2009-03-26Remove cpu_wait(). It's original use was to be called from the reaper soOwain Ainsworth
MD code would free resources that couldn't be freed until we were no longer running in that processor. However, it's is unused on all architectures since mikeb@'s tss changes on x86 earlier in the year. ok miod@
2009-03-20Switch vax to __HAVE_GENERIC_SOFT_INTERRUPTS.Miod Vallat
2009-03-15Introduce splsoftassert(), similar to splassert() but for soft interruptMiod Vallat
levels. This will allow for platforms where soft interrupt levels do not map to real hardware interrupt levels to have soft ipl values overlapping hard ipl values without breaking spl asserts.
2008-10-23Move the va_copy define to <sys/stdrag.h> making sure it is uniformalyMark Kettenis
protected by __ISO_C_VISIBLE > 1999. With a little help from miod@. ok miod@
2008-10-15make random(9) return per-cpu values (by saving the seed in the cpuinfo),Theo de Raadt
which are uniform for the profclock on each cpu in a SMP system (but using a different seed for each cpu). on all cpus, avoid seeding with a value out of the [0, 2^31-1] range (since that is not stable) ok kettenis drahn
2008-10-10Add empty cpu_unidle() macros for architectures that currently don't doArtur Grabowski
anything special to prod a cpu to leave the idle loop in signotify. powerpc, i386, amd64 and sparc64 will follow soon so that everyone has the same interface to wake an idling cpu.
2008-10-10Define MAXCPUS on all architectures.Artur Grabowski
For now, sparc64 is arbitrarily set to 256 (only architecture that didn't have a practical limit in the code on the number of cpus).
2008-10-09Implement CPU_INFO_UNIT for everyone, not just MP kernels.Artur Grabowski
ok miod@
2008-08-30replace TRUNC_PAGE by trunc_page and ROUND_PAGE by round_pageMartin Reindl
plus cast to vaddr_t where necassary from Miod's todo list ok miod@
2008-08-18Forgot to add this file, needing for KA60 support.Miod Vallat
2008-08-18Add support for the ``Firefox'' VAXstation 3520/3540/3820/3840 workstations,Miod Vallat
currently limited to serial console and a single processor working. All ``on-board'' devices, including the Q-bus adapter, but except for the frame buffer, are supported. The machine will boot over the network or from SCSI devices. Lots of thanks to Al Kossow for www.bitsavers.org, on which I found the technical documentation allowing me to complete this port (which was lacking at the time I got that machine...).
2008-08-18Preparing for KA60 support, crank IPL_TTY to level 0x16 (since it isMiod Vallat
hardwired this way on KA60...), and compensate in splassert_check() when serial device interrupts will remain at 0x14 or 0x15.
2008-08-18Move common CVAX defines and code (internal cache IPR, SSC layout, machineMiod Vallat
check frame format...) to a single place. Get rid of duplicated KAxx_FOO constants.
2008-08-18Make hardclock() a cpu_dep member. Most machines will use the genericMiod Vallat
hardclock() here, except for KA46 which needs to reset the diagnostic timer. This gives us working clock interrupt counters for vmstat -i in the process.
2008-08-15Move the vxt-specific clock functions frow clock.c to the cpu-specific supportMiod Vallat
file, fewer #ifdef this way.
2008-08-15Remove unused and incomplete vax_bus_t enum, and unused vaxbus_dma_get_tag()Miod Vallat
macro and related function pointers.
2008-08-15Rename the cpu_dep hook ``steal_pages'' to ``init'', as it serves as anMiod Vallat
early initialization routine (to enable caches, etc) while still running physical, and does not allocate memory anymore. (The irony in this is that forthcoming KA60 support actually steals pages in its init function...)
2008-08-14convert the last traces of btoc/ctob macrosMartin Reindl
ok miod@
2008-07-21vaxfp.h is VAX pendant of ieee.h. it defines VAX f fp, and VAX dMartynas Venckus
fp; from NetBSD ok millert@
2008-07-21- add proper double_t and float_t definitions for each archMartynas Venckus
- math.h shouldn't define FLT_EVAL_METHOD, but float.h should (per C99). remove from math.h, and add proper definitions in float.h ok millert@
2008-07-18Add a macro that clears the want_resched flag that need_resched sets.Artur Grabowski
Right now when mi_switch picks up the same proc, we didn't clear the flag which would mean that every time we service an AST we would attempt a context switch. For some architectures, amd64 being probably the most extreme, that meant attempting to context switch for every trap and interrupt. Now we clear_resched explicitly after every context switch, even if it didn't do anything. Which also allows us to remove some more code in cpu_switchto (not done yet). miod@ ok
2008-06-26First pass at removing clauses 3 and 4 from NetBSD licenses.Ray Lai
Not sure what's more surprising: how long it took for NetBSD to catch up to the rest of the BSDs (including UCB), or the amount of code that NetBSD has claimed for itself without attributing to the actual authors. OK deraadt@
2008-06-24On user/kernel shared page table machines, do not let processes map theirTheo de Raadt
own page 0, as discussed with miod (and many others previously, including art and toby). On sparc, make this __LDPGSZ because PAGE_SIZE is non-constant ok miod tedu
2008-05-21Make _PROF_PROLOGUE visible if PROF is defined; will be needed by libcMiod Vallat
shortly.
2008-03-30Switch bootloader code to loadfile, and enable a.out and ELF loaders within.Miod Vallat
Crank the second stage boot blocks version.
2008-03-30Let the kernel load forthcoming ELF binaries.Miod Vallat
2008-03-30Nuke common.Miod Vallat
2007-12-15Remove a lot of symbols from the namespace, otherwise sys/sysctl.h andTheo de Raadt
rpc/pmap_prot.h collide.. "struct pmap" from the kernel should not make it out to userland. ok miod
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-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-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-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-16splassert_ctl defaults to 1 now, so dont wrap the checks forThordur I. Bjornsson
splassert_ctl > 0 in __predict_false(). ok deraadt@
2007-05-16The world of __HAVEs and __HAVE_NOTs is reducing. All architecturesArtur Grabowski
have cpu_info now, so kill the option. eyeballed by jsg@ and grange@
2007-05-16Oops, forgot this file in the cpuinfo changes.Miod Vallat
2007-05-16Switch vax to __HAVE_CPUINFO, based on an incomplete diff from art.Miod Vallat
2007-05-15Remove the MI implementation of mutexes and remove the __HAVE_MUTEXArtur Grabowski
option. Every architecture implements mutexes now.
2007-05-15kill __HAVE_DEVICE_REGISTER by requiring all architectures to have aTheo de Raadt
device_register() function -- even if it does nothing. reduces the cpp-based blather different between architectures idea ok'd by miod; tested on all architectures (except a few miod will need to cleanup because he has them)
2007-05-01Provide <machine/lock.h> on all platforms, so that MI code may #include itMiod Vallat
unconditionnaly.
2007-04-22Switch the vax pmap to __HAVE_VM_PAGE_MD.Miod Vallat
pv_entry head of lists are no longer preallocated at boot, and will only be allocated for managed pages (instead of all physical memory pages, including those containing the kernel). pmap and pv_entry will now be allocated from a pool, instead of malloc for the former and a homegrown allocator which never relinquishes unused elements to the VM system for the latter. The net result is a slight decrease in memory usage, and better behaviour in low-memory conditions.
2007-04-12Remove __BUS_SPACE_ADDRESS_SANITY correctly, no cookie for me. Spotted byMiod Vallat
djm@
2007-04-10More typos from my list.Miod Vallat
2007-04-10Remove unused BUS_SPACE_ALIGNED_POINTER, __BUS_SPACE_ADDRESS_SANITY andMiod Vallat
__BUS_SPACE_ALIGNED_ADDRESS.
2007-04-05Wrap bit operations between splhigh()/splx() for atomicity wrt interrupts.Miod Vallat
Not enough for multiprocessor, but we're not there yet anyway.
2007-04-05Reuse symbolic values for splsoftXXX() inlines, instead of hardcoding them.Miod Vallat
No functional change.