Age | Commit message (Collapse) | Author |
|
did, but less awkward). Also make sure that the code changing the K0SEG CCA
value has enough nops, before returning to cached space, to match the
recommended procedure in the RM52xx and RM7000 erratas.
|
|
namespace, so stop changing behavior when it's #defined
ok beck@ krw@
|
|
went anywhere.
ok miod@
|
|
page, the pte is created uncached.
Make sure pmap_enter_pv() honours the cache bits of the pte, instead of
assuming it will only get called for cached pages. Have it set PV_UNCACHED
in the pv flags for the page, if this is the first use of this page and the
mapping is not cached. Only check for a virtual aliasing cache condition if
the new mapping is cached.
|
|
|
|
size, the number of sets, and the total size (and the set size, for convenience)
per cache (I$, D$, L2, L3).
This allows cpu.c to print the number of ways (sets) of L2 and L3 caches from
the cache information, rather than hardcoding this from the processor type.
|
|
to a 16 byte boundary in csu (similar to what the other arches where
_STACKALIGNBYTES != _ALIGNBYTES do).
This is necessary for long double variables on the stack to be correctly
aligned.
|
|
PROM-compatible stack, with a sligthly different ARC_Call_Via_Pointer(),
which uses a global function pointer variable instead of computing the
address from the ARCBios parameter block; said variable being set in
bios_ident().
No functional change... yet. Tested on IP22(24), IP30 and IP32.
|
|
code), or 64 bits wide, if option MIPS_PTE64.
64-bit ptes allow for physical memory beyond 16GB (34 bits) to be addressable
by the pmap code.
|
|
<machine/pmap.h> where it belongs, and compensate in <uvm/uvm_extern.h>
by including <uvm/uvm_pmap.h> before <uvm/uvm_page.h>. Tested on all
MACHINE_ARCH but amd64 and i386 (and hppa64).
|
|
grovellers need to know it to be able to get the right size for struct
vm_page.
|
|
|
|
libkern srandom() API since it is not suitable for this use.
ok kettenis miod
|
|
pmap ptes. Found the hard way by tobiasu@.
|
|
Octeon-specific code paths. No functional change.
ok bcallah@ pirofti@
|
|
ok miod@
|
|
|
|
resurrection of the bad idiom in the tree.
sufficient review by miod, kettenis, tedu
|
|
ok miod kettenis
|
|
type definitions that are the same across all archs from
<machine/_types.h> to <sys/_types.h>
ok deraadt@ kettenis@ otto@
|
|
breakage lurking; ok kettenis@
|
|
the same across all archs from <machine/_types.h> to <sys/_types.h>
ok deraadt@
|
|
Interestingly enough, gcc did not warn about this because the register allocator
had optimized the uninitialized `eva' local into using the same register as the
initialized `va' local. Therefore it had been initialized. *facepalm*
|
|
ok matthew@ deraadt@
|
|
it's now atomic_lock to better reflect its usage, and librthread now
features a new spinlock that's really a ticket lock.
thrlseep can handle both types of lock via a flag in the clock arg.
(temp back compat hack)
remove some old stuff that's accumulated along the way and no longer used.
some feedback from dlg, who is concerned with all things ticket lock.
(you need to boot a new kernel before installing librthread)
|
|
Okay miod@.
|
|
part of the future we have planned. middling ok from a few
|
|
the hard way by tobiasu@
|
|
when the clock is bad and we switch to the filesystem time.
|
|
libm. While at it, remove now unused workarounds for lint.
Agreed by kettenis@, guenther@, matthew@.
|
|
another symbol without weak attribute. To be used in libc and libm
soon. Agreed by kettenis@, guenther@, matthew@.
|
|
|
|
|
|
|
|
to keep definitions our of user space. The MD files now follow a consistant
order -- all namespace intrusion is at the tail can be cleaned up
independently. locore, bootblocks, and libkvm still see enough visibility to
build. Checked on 90% of platforms...
|
|
kgmon(8) to deal with them, this time without public header changes.
Previously various CPUs were iterating over the same global buffer at
the same time to modify it and never ended.
This diff includes some ideas submited by Thor Simon to NetBSD via miod@.
ok deraadt@, mikeb@, haesbaert@
|
|
at this moment.
|
|
various CPUs were iterating over the same global buffer at the same
time to modify it and never ended.
This diff includes some ideas submited by Thor Simon to NetBSD via miod@.
ok mikeb@, haesbaert@
|
|
DB_ELFSIZE ought to be defined in <machine/db_machdep.h>, not <machine/exec.h>
|
|
on all Loongson2F systems yet; Gdium does not have a separate scheduling
clock yet and can't afford throttling until then.
|
|
throttling.
|
|
affects a.out binaries' core dumps.
|
|
The stat clock is implemented so that it also covers, at least
according to the tests I've done, Torek's paper on randomized sampling.
Most of the bits for randomizing the stat ticks were taken from sparc's
implementation and adapted to the companion chip's MFGPT frequencies.
Before this my lemote showed a 8% cpu usage for the cpuhog example from
Torek's paper even though openssl speed showed differences up to 27%
when ran with and without cpuhog. With the new stat clock it shows
cpuhog around 18-22%, which I think is the proper value.
Okay miod@.
|
|
CPU throttling was not possible due to the fact that the system clock
was the CPU clock. So slowing down the CPU would also slow down the
passing of time.
This commit adds a driver for the MFGPT1 clock from the AMD companion
chip found on lemote and hooks it up as the system clock.
It also changes the frequency value of hz from the default, which was
100, to 128. That's because the scaling on MFGPT clocks is represented
by powers of two.
Okay miod@.
|
|
ok guenther millert kettenis
|
|
ok miod
|
|
dynamically, by comparing the stack pointer against the altstack
base and size, so that you get the correct answer if you longjmp
out of the signal handler, as tested by regress/sys/kern/stackjmp/.
Also, fix alt stack handling on vax, where it was completely broken.
Testing and corrections by miod@, krw@, tobiasu@, pirofti@
|
|
|
|
|
|
list in loongson's <machine/autoconf.h> directly. <mips64/archtype.h> is
intended to be only used on ARCBios-like platforms.
|