* Don't refer to VA 0, instead refer to a new variable: vector_page
* Delete the old zero_page_*() functions, replacing them with a new
one: vector_page_setprot().
* When manipulating vector page mappings in user pmaps, only do so if
the vector page is below KERNEL_BASE (if it's above KERNEL_BASE, the
vector page is mapped by the kernel pmap).
* Add a new function, arm32_vector_init(), which takes the virtual
address of the vector page (which MUST be valid when the function
is called) and a bitmask of vectors the kernel is going to take
over, and performs all vector page initialization, including setting
the V bit in the CPU Control register ("relocate vectors to high
address"), if necessary.
when the part being quiried was mapped with a section (!) giving weird
results and had become a mess of goto's.
Complete rewrite and cleaned up the `goto'-jungle entirely ... ripped all
goto's. The resulting code is much better to read and might even have a
small performance gain.
adding "alpha_" / "ALPHA_" prefix to items as appropriate. Rename
CHECKSUM_BOOT_BLOCK() -> ALPHA_BOOT_BLOCK_CKSUM(). Add cgd's copyright
from disklabel.h.
- Clean up a couple of comments.
* Put the code that runs with the MMU off in a separate section (.start).
* Use a linker script to set the VMA/LMA appropriately for each section.
* Fix kernel page table allocation and mapping of kernel text/data/bss.
...and now that kernel images > 2MB work:
* Add SYMTAB_SPACE to the GENERIC kernel so that we have DDB symbols.
* Use dbsym to load the kernel's DDB symbol area.
set via NFSV3SATTRTIME_TOSERVER and not NFSV3SATTRTIME_TOCLIENT,
add VA_UTIMES_NULL to the va_vflags. This reflects our policy
where we're much more liberal about who can set a & m times to 'now'
than we are about who can set them to a specific time.
Should close PR 15597 from Martin Husemann. Patch is based on the
one Matthias Drochner gave in the PR.
* fdesc_attr(): don't panic for 'unknown' descriptor types, rather use
(*fp->f_ops->fo_stat)() hook, as for DTYPE_SOCKET and DTYPE_PIPE
XXX perhaps use different vnode type than VBAD for these?
* fdesc_setattr(): just return 0 regardless of type, rather than paniccing
for 'unknown' descriptor types
the value fusubail in the pcb_onfault field of the wrong process if a
profiling timer interrupt happened to occur inside cpu_switch() at a
point where curproc had been updated to point to the new process but
curpcb still pointed to the old one. trap() would then fail to ignore
any page fault in fuswintr/suswintr and the system would lock up.
This bug only affected systems with kern_clock.c 1.72 or newer, as
earlier versions only call addupc_intr from interrupts that occur in
user mode. Fixed by assigning to curproc->p_addr->u_pcb.pcb_onfault
instead of curpcb->pcb_onfault, as the former is what trap() checks.
Set this to dv_xname for scsibus and atapibus.
Set the name of the kernel thread to chan_name instead of controller's
name:channel number (so that we can use this name for controller-specific
threads).
the QNX licence seems to be allow both non-commercial and commercial
use actually.
According to Darren, the H.323 proxy code is buggy ATM, but is imported
here for reference anyway.
npxprobe1(), set npxdna_func to new npxdna_empty(). This function just
returns 0 and thus fallbacks to a T_DNA trap (and math emulate, if present).
This fixes kern/15828 by Masaru Oki, tested on 386DX machine.
Reviewed by Jason Thorpe.
make npxdna_s87() and npxdna_xmm() static
g/c (npx_type == NPX_NONE) test from npxdna_s87(), it's no longer needed
- If VOP_ACCESS fails when updating mount, we will vrele() twice.
- The check for update-only flags in mp->mnt_flag when not updating
case is bogus. If we really want to check, we need to see flags in
ufs_args, but I'm not sure if it is really necessary.
- The credential passed to ffs_reload was credential of when looking
up mount point, but now it is credential of when looking up device
node. Anyway, it may be current process's credential.