Age | Commit message (Collapse) | Author |
|
The macro PG_PALCODE in pte.h is supposed to be used when comparing
two ptes to see if we need a tlb flush. For that it uses the macro
ALPHA_PTE_PALCODE which in turn is defined to ~ALPHA_PTE_SOFTWARE.
Unfortunately ALPHA_PTE_SOFTWARE is small enough to fit in an int,
so ALPHA_PTE_PALCODE becomes an int to and the masking in PG_PALCODE
masks off the pfn in the pte and pmap_enter will then fail to flush
certain TLB entries when it needs to (this situation shouldn't
happen too often).
This might or might not be the solution for the memory corruption
bug I've been hunting for the last three months (the machine still
borks up, but in different ways now).
|
|
(which I will leave for Dale since it needs special handling).
From NetBSD (and same as sparc64). espie@ OK
|
|
|
|
and return a VM_PAGE. This is to allow sparc64 to cheaply record the
VAC color for those pages.
|
|
to allow access to VGA card's memory by mmapping /dev/xf86.
The macdep.allowaperture does also control /dev/pci access.
Ok miod@, deraadt@
|
|
The only OSes I've seen that use SIZE_T_MAX are 4.4BSD-derived whereas
SYSV things seem to use SIZE_MAX. It is also consistent with SSIZE_MAX
(which we already have). deraadt@ OK
|
|
Instead of using FOE for just emulating references, we also keep track
of a pages executability and don't remove the FOE bit if the page
is not executable.
This is implmented with horrible hacks. Maybe when I have time, I'll
reimplment the whole pmap to allow this without ugly hacks (read: probably
not this decade).
The stack on alpha is now non-exec.
|
|
|
|
We kept too much of the old code in trap handling.
This should fix floppies and bsd.rd on some machines.
|
|
|
|
- add support to print machdep.chipset mib on alpha
ok deraadt@
|
|
From NetBSD.
|
|
that's what they are supposed to do.
|
|
A few local changes and tweaks remain.
This bring DEC 3000 machines back in the game, but framebuffers are still
not supported at the moment.
Thanks to ericj@ and nate@ for supplying me a DEC 3000 for testing.
|
|
Currently as no-ops everywhere.
ok art@, deraadt@
|
|
FP_C (Floating Point Control Quadword).
From ross@NetBSD. Added a way to disable it with option NO_IEEE,
which appears on the ramdisks to save space. This affects only
programs compiled with -mieee, and what it essentially does is
enabling infinities and NaNs, instead of generating SIGFPE on
division by zero, overflow, etc.
ok art, deraadt
|
|
tested by miod, deraadt ok
|
|
type characteristics.
internal_types.h will contain only settings invisible from standard C, e.g.,
in the __* or _[A-Z]* namespace, and be reused by files like limits.h.
This allows us to shorten machine/limits.h greatly, as all the common defines
are now in sys/limits.h, plus a small stub in internal_types.h.
Tested on all arches as far as I know.
Approved after discussion with art, millert, deraadt, and others.
|
|
|
|
|
|
More or less directly from FreeBSD.
|
|
BUS_DMA_READ, BUS_DMA_WRITE, and BUS_DMA_STREAMING
|
|
The patch allows you to change the value of NMBCLUSTERS, BUFCACHEPERCENT
and NKMEMPAGES using the config command, instead of recompiling the kernel.
This is the kernel part of the patch. I have compiled it on i386, sparc64,
alpha and macppc. -moj ok art@ maja@
|
|
From NetBSD.
|
|
|
|
date: 2000/02/11 19:22:52; author: thorpej;
Add some very simple code to auto-size the kmem_map. We take the
amount of physical memory, divide it by 4, and then allow machine
dependent code to place upper and lower bounds on the size. Export
the computed value to userspace via the new "vm.nkmempages" sysctl.
NKMEMCLUSTERS is now deprecated and will generate an error if you
attempt to use it. The new option, should you choose to use it,
is called NKMEMPAGES, and two new options NKMEMPAGES_MIN and
NKMEMPAGES_MAX allow the user to configure the bounds in the kernel
config file.
|
|
|
|
|
|
|
|
pmap_update API (right now it's nop).
|
|
(Look ma, I might have broken the tree)
|
|
instead of doing fork1, cpu_set_kpc. This lets us retire cpu_set_kpc and
avoid a multiprocessor race.
This commit breaks vax because it doesn't look like any other arch, someone
working on vax might want to look at this and try to adapt the code to be
more like the rest of the world.
Idea and uvm parts from NetBSD.
|
|
Most work by Wilbern Cobb <vedge@csoft.org> with some fixes from me, mickey@
and drahn@.
|
|
CPU_CHIPSET_PORTS - address of the I/O ports.
CPU_CHIPSET_HAE_MASK - mask for the HAE register.
|
|
|
|
From NetBSD via jay@rootaction.net
|
|
|
|
kernel. From based on NetBSD patches.
|
|
clean up the arch specific #ifdef's in subr_autoconf.c; from NetBSD.
(tested by me on alpha/sparc64 and miod on hp300)
|
|
|
|
|
|
printf's "%lld" can be used with a quad_t or int64_t without a bogus cast.
|
|
|
|
|
|
|
|
The chipset support is not here yet, but the skeleton works.
|
|
definition as splimp().
art@ ok
|
|
|
|
Move it from cpu_startup() to main().
|
|
CLSIZE -> 1
CLBYTES -> PAGE_SIZE
OLOFSET -> PAGE_MASK
etc.
At the same time some archs needed some cleaning in vmparam.h so that
goes in at the same time.
|