Age | Commit message (Collapse) | Author |
|
OK guenther@
|
|
|
|
It does not seem necessary to provide initial value for `sicode'.
When `signal' gets set, `sicode' is set as well.
OK deraadt@, kettenis@
|
|
architectures.
OK kettenis@, deraadt@
|
|
"fire away!" tedu
|
|
This reduces emulation time about 5%.
|
|
|
|
not to perform redundant work. There is no direct way to flush the
cache; rather, the kernel evicts unwanted bits from the cache by
executing a block of instructions, which is expensive.
With this diff, make build time decreases about 0.4%.
Diff from miod@
|
|
the number of IPIs required when removing mappings.
|
|
virtual addresses really should not have TLB hits. This reduces IPIs.
|
|
|
|
|
|
the whole TLB space even before this. However, TLB initialization on
boot and TLB flush on ASID wraparound have been incomplete. These have
caused crashes of processes.
|
|
|
|
ok deraadt@, kettenis@, jasper@
|
|
ok visa@, kettenis@
|
|
without a lock in smp_rendezvous_cpus().
|
|
might execute stale instructions. The cache is virtually tagged and does
not seem to pick up TLB alterations automatically.
|
|
pointer at the end to catch errors faster.
|
|
Note that rendezvous calls are no longer necessarily
serialized systemwide.
|
|
The caller does not have to do that.
|
|
on most systems, so this tweak should save an iota of CPU time.
|
|
derivatives. This lets the kernel utilize the CPUs' Standby Mode to
reduce the power consumption of an idle system.
Suggested by and input from miod@.
He also tested this patch on an RM7000 O2.
|
|
with the RS780E chipset.
OK kettenis@, jsg@
|
|
OK kettenis@
|
|
OK kettenis@
|
|
- keep setbits/clearbits inside _KERNEL
ok visa@
|
|
This ensures the IPI handler is in place before the first IPI is sent.
Drop the comment about xheart because it is somewhat misleading.
Discussed with miod@
|
|
|
|
Using a name with the 'db_' prefix makes it invisible from the dynamic
profiler.
ok deraadt@, kettenis@, visa@
|
|
|
|
This gives fast access to the address on systems that implement
the UserLocal register. TCB caching is still used when running
in the single-threaded mode in order not to penalize old systems.
The kernel counterpart of this change must be in place before
using this diff!
With guenther@
|
|
This lets programs get the address without a system call on OCTEON II
and later.
Add UserLocal load emulation for systems that do not implement
the RDHWR instruction or the UserLocal register.
OK guenther@
|
|
|
|
in struct mdproc. With that, all archs have those and the __HAVE_MD_TCB
macro can be unifdef'ed as always defined.
ok kettenis@ visa@ jsing@
|
|
The latter is not defined by clang.
OK guenther@, kettenis@
|
|
|
|
This lets an idle SoC run a bit cooler.
Tested on CN5020, CN6120 and CN7130.
|
|
machdep.lidaction=0 # do nothing
machdep.lidaction=1 # suspend
machdep.lidaction=2 # hibernate
lidsuspend is just an alias for lidaction, so if you change one, the
other one will have the same value. The plan is to remove
machdep.lidsuspend eventually when people have upgraded their
/ets/sysctl.conf.
discussed with deraadt, who came up with the new MIB name
no objections mlarkin
ok stsp halex jcs
|
|
|
|
- FORK_THREAD handling is a totally separate function, thread_fork(),
that is only used by sys___tfork() and which loses the flags, func,
arg, and newprocp parameters and gains tcb parameter to guarantee
the new thread's TCB is set before the creating thread returns
- fork1() loses its stack and tidptr parameters
Common bits factor out:
- struct proc allocation and initialization moves to thread_new()
- maxthread handling moves to fork_check_maxthread()
- setting the new thread running moves to fork_thread_start()
The MD cpu_fork() function swaps its unused stacksize parameter for
a tcb parameter.
luna88k testing by aoyama@, alpha testing by dlg@
ok mpi@
|
|
leaving out the size, so that
ELFNAME2(exec,makecmds)
becomes
exec_elf_makecmds
instead of
exec_elf{32,64}_makecmds
and then delete the ELFNAME2() and ELFNAMEEND() macros.
Move the prototypes for functions local to exec_elf.c to there from
exec_elf.h.
Simplify the SMALL_KERNEL conditionals around the ELF coredump code.
Change exec_conf.c to use the size-generic names and macros
Remove exec_elf{32,64}.c and just build exec_elf.c; delete the
_KERN_DO_ELF and _KERN_DO_ELF64 #defines.
ok jca@, encouragement from deraadt@ and tom@
|
|
OK deraadt@ phessler@ mpi@
|
|
struct proc to struct process.
ok deraadt@ kettenis@
|
|
has a proper pmap_collect() implementation, and the current
uvm_swapout_threads() code does not need other MD interfaces.
OK miod@
|
|
|
|
|
|
the page dirty. This lets the system avoid an extra TLB modify fault
because the TLB mapping now allows writes immediately.
Noticed by miod@
|
|
|
|
by adding another level to page directories. This improves ASLR and
complements W^X added earlier on some systems, giving a notable update
to the architecture's security. Besides, there is now more room for
running tasks that hog memory.
Testing help from deraadt@ and fcambus@.
Platforms tested: loongson, octeon, sgi/IP27 and sgi/IP30
(IP30 also with 4KB pages).
|