| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
own machine-dependent file. This makes alpha consistent with amd64, ia64,
and powerpc.
|
|
|
|
|
| |
We inherited this from the sparc32 port of BSD4.4-Lite1. We have neither
a sparc32 port nor a SunOS4.x compatibility desire these days.
|
|
|
|
| |
KERNBASE instead.
|
|
|
|
|
|
| |
Significantly reduce the number of preallocated pv entries in pmap_init().
Tested by: kensmith@
|
| |
|
|
|
|
|
|
| |
linesw[] directly to using the ttyld...() functions
The ttyld...() functions ar inline so there is no performance hit.
|
| |
|
|
|
|
|
|
|
| |
kern_wait() trips an assert that Giant is not held in thread_wait().
PR: 67538
Submitted by: Nikos Ntarmos ntarmos at ceid dot upatras dot gr
|
| |
|
|
|
|
| |
include in <sys/kernel.h>
|
|
|
|
|
|
|
| |
having to acquire sched_lock when manipulating it in lockmgr(), uiomove(),
and uiomove_fromphys().
Reviewed by: jhb
|
| |
|
| |
|
|
|
|
|
|
| |
to <sys/gmon.h>. Cleaned them up a little by not attempting to ifdef
for incomplete and out of date support for GUPROF in userland, as in
the sparc64 version.
|
|
|
|
|
|
|
|
| |
defined. Otherwise first including <wchar.h> and then <stdint.h> leads to no
WINT_M{AX,IN} at all.
PR: 64956
Approved by: das (mentor)
|
|
|
|
|
|
| |
elf_reloc() backends for two reasons. First, to support the possibility
of there being two elf linkers in the kernel (eg: amd64), and second, to
pass the relocbase explicitly (for relocating .o format kld files).
|
|
|
|
| |
Thanks to marcel for helping me test this.
|
|
|
|
|
|
|
| |
floating-point instruction in the kernel. The flags are
supposed to be cumulative.
Thanks to marcel for helping me test this.
|
|
|
|
| |
partitions on a single disk.
|
| |
|
|
|
|
|
|
|
| |
Alan noticed that alpha ignored PG_UNMANAGED when we were looking into
pmap_emulate_reference() panics. Perhaps this will help.
Reviewed by: alc
|
|
|
|
|
| |
that vm_page_grab(), unlike vm_page_alloc(), always returns a prezeroed
page if VM_ALLOC_ZERO is specified. So, checking is unnecessary.)
|
|
|
|
|
|
|
| |
environments.
PR: 63935
Submitted by: Stefan Farfeleder <stefan@fafoe.narf.at>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
caller to vm_page_grab(). Although this gives VM_ALLOC_ZERO a
different meaning for vm_page_grab() than for vm_page_alloc(), I feel
such change is necessary to accomplish other goals. Specifically, I
want to make the PG_ZERO flag immutable between the time it is
allocated by vm_page_alloc() and freed by vm_page_free() or
vm_page_free_zero() to avoid locking overheads. Once we gave up on
the ability to automatically recognize a zeroed page upon entry to
vm_page_free(), the ability to mutate the PG_ZERO flag became useless.
Instead, I would like to say that "Once a page becomes valid, its
PG_ZERO flag must be ignored."
|
|
|
|
|
| |
Simplify the sf_buf implementation. In short, make it a veneer
over the direct virtual-to-physical mapping.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
move its declaration to the machine-dependent header file on those
machines that use it. In principle, only i386 should have it.
Alpha and AMD64 should use their direct virtual-to-physical mapping.
- Remove pmap_kenter_temporary() from ia64. It is unused. Approved
by: marcel@
|
|
|
|
|
|
|
| |
license, per letter dated July 22, 1999 and email from Peter Wemm,
Alan Cox and Robert Watson.
Approved by: core, peter, alc, rwatson
|
|
|
|
| |
Approved by: core
|
|
|
|
| |
does anything with it beyond simple initialization.)
|
| |
|
| |
|
|
|
|
|
|
|
| |
should not. Add a new parameter so that the caller can specify which is
the case.
Reported by: dillon
|
|
|
|
|
|
|
|
|
|
| |
- ptrace_single_step() is no longer called with the proc lock held, so
don't try to unlock it and then relock it.
- Push Giant down into proc_rwmem() instead of forcing all the consumers
(including Alpha breakpoint support) to explicitly wrap calls to
proc_rwmem() with Giant.
Tested by: kensmith
|
|
|
|
|
|
| |
emulation, instead of treating it as an unimplemented syscall.
Requested by: marcel
|
|
|
|
|
|
|
|
|
|
| |
with a larger kernel stack. Remove inclusion of opt_kstack_pages.h now
that it's unused.
Note: If anyone's toes got stepped on by me doing this let me know
privately please.
Approved by: rwatson (mentor)
|
|
|
|
|
|
|
|
|
|
|
| |
caused hangs on SMP systems under load. My theory was that an interrupted
thread was migrating and returning to PAL on a different CPU and that that
caused the hangs. To prevent this, I used the recently added sched_pin()
API to pin the interrupted thread to the CPU that received the interrupt
across ithread_schedule() to prevent migration. This seems to have fixed
the hangs based on tests by several folks on the alpha@ list.
Tested by: wilko, tisco, several others on alpha@
|
|
|
|
|
| |
differ trivially from amd64.
- Correct a spelling error in a comment.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
level of abstraction for any and all CPU mask and CPU bitmap variables
so that platforms have the ability to break free from the hard limit
of 32 CPUs, simply because we don't have more bits in an u_int. Note
that the type is not supposed to solve massive parallelism, where
the number of CPUs can be larger than the width of the widest integral
type. As such, cpumask_t is not supposed to be a compound type. If
such would be necessary in the future, we can deal with the issues
then and there. For now, it can be assumed that the type is integral
and unsigned.
With this commit, all MD definitions start off as u_int. This allows
us to phase-in cpumask_t at our leasure without breaking anything.
Once cpumask_t is used consistently, platforms can switch to wider
(or smaller) types if such would be beneficial (or not; whatever :-)
Compile-tested on: i386
|
|
|
|
| |
old...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
options, status pointer and rusage pointer as arguments. It is up to
the caller to copyout the status and rusage to userland if needed. This
lets us axe the 'compat' argument and hide all that functionality in
owait(), by the way. This also cleans up some locking in kern_wait()
since it no longer has to drop locks around copyout() since all the
copyout()'s are deferred.
- Convert owait(), wait4(), and the various ABI compat wait() syscalls to
use kern_wait() rather than wait1() or wait4(). This removes a bit
more stackgap usage.
Tested on: i386
Compiled on: i386, alpha, amd64
|
|
|
|
|
|
|
|
|
|
| |
dependent function by the same name and a machine-independent function,
sf_buf_mext(). Aside from the virtue of making more of the code machine-
independent, this change also makes the interface more logical. Before,
sf_buf_free() did more than simply undo an sf_buf_alloc(); it also
unwired and if necessary freed the page. That is now the purpose of
sf_buf_mext(). Thus, sf_buf_alloc() and sf_buf_free() can now be used
as a general-purpose emphemeral map cache.
|
| |
|
|
|
|
|
|
| |
the kernel wait4() made these all panic() implementations otherwise.
- The i386 linux_ptrace() syscall is MP safe. Alpha was already marked
MP safe.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ever since alpha/alpha/pmap.c revision 1.81 introduced the list allpmaps,
there has been no reason for having this function on Alpha. Briefly,
when pmap_growkernel() relied upon the list of all processes to find and
update the various pmaps to reflect a growth in the kernel's valid
address space, pmap_init2() served to avoid a race between pmap
initialization and pmap_growkernel(). Specifically, pmap_pinit2() was
responsible for initializing the kernel portions of the pmap and
pmap_pinit2() was called after the process structure contained a pointer
to the new pmap for use by pmap_growkernel(). Thus, an update to the
kernel's address space might be applied to the new pmap unnecessarily,
but an update would never be lost.
|
|
|
|
| |
of vm/vm.h's struct kva_md_info.)
|
|
|
|
|
|
|
|
| |
files when using non-GNUC compilers.
PR: kern/58515
Submitted by: Stefan Farfeleder <stefan@fafoe.narf.at>
Approved by: grog (mentor), obrien
|