Use VM_MAXUSER_ADDRESS rather than VM_MAX_ADDRESS when we talk about

the bounds of user space. Redefine VM_MAX_ADDRESS as ~0UL, even though
it's not used anywhere in the source tree.
This commit is contained in:
Marcel Moolenaar 2011-03-18 15:36:28 +00:00
parent 54a03acb86
commit 45c0ab27b1
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=219741
6 changed files with 26 additions and 26 deletions

View File

@ -116,4 +116,4 @@ ASSYM(TDF_NEEDRESCHED, TDF_NEEDRESCHED);
ASSYM(UC_MCONTEXT, offsetof(ucontext_t, uc_mcontext));
ASSYM(VM_MAX_ADDRESS, VM_MAX_ADDRESS);
ASSYM(VM_MAXUSER_ADDRESS, VM_MAXUSER_ADDRESS);

View File

@ -601,12 +601,12 @@ map_gateway_page(void)
pte |= (uint64_t)ia64_gateway_page & PTE_PPN_MASK;
__asm __volatile("ptr.d %0,%1; ptr.i %0,%1" ::
"r"(VM_MAX_ADDRESS), "r"(PAGE_SHIFT << 2));
"r"(VM_MAXUSER_ADDRESS), "r"(PAGE_SHIFT << 2));
__asm __volatile("mov %0=psr" : "=r"(psr));
__asm __volatile("rsm psr.ic|psr.i");
ia64_srlz_i();
ia64_set_ifa(VM_MAX_ADDRESS);
ia64_set_ifa(VM_MAXUSER_ADDRESS);
ia64_set_itir(PAGE_SHIFT << 2);
ia64_srlz_d();
__asm __volatile("itr.d dtr[%0]=%1" :: "r"(3), "r"(pte));
@ -616,7 +616,7 @@ map_gateway_page(void)
ia64_srlz_i();
/* Expose the mapping to userland in ar.k5 */
ia64_set_k5(VM_MAX_ADDRESS);
ia64_set_k5(VM_MAXUSER_ADDRESS);
}
static u_int

View File

@ -199,7 +199,7 @@ END(fusufault)
ENTRY(casuword, 3)
{ .mlx
add r15=PC_CURTHREAD,r13
movl r14=VM_MAX_ADDRESS
movl r14=VM_MAXUSER_ADDRESS
;;
}
{ .mib
@ -249,7 +249,7 @@ END(casuword)
ENTRY(casuword32, 3)
{ .mlx
add r15=PC_CURTHREAD,r13
movl r14=VM_MAX_ADDRESS
movl r14=VM_MAXUSER_ADDRESS
;;
}
{ .mib
@ -303,7 +303,7 @@ END(casuword32)
ENTRY(subyte, 2)
{ .mlx
add r15=PC_CURTHREAD,r13
movl r14=VM_MAX_ADDRESS
movl r14=VM_MAXUSER_ADDRESS
;;
}
{ .mib
@ -349,7 +349,7 @@ END(subyte)
ENTRY(suword16, 2)
{ .mlx
add r15=PC_CURTHREAD,r13
movl r14=VM_MAX_ADDRESS
movl r14=VM_MAXUSER_ADDRESS
;;
}
{ .mib
@ -395,7 +395,7 @@ END(suword16)
ENTRY(suword32, 2)
{ .mlx
add r15=PC_CURTHREAD,r13
movl r14=VM_MAX_ADDRESS
movl r14=VM_MAXUSER_ADDRESS
;;
}
{ .mib
@ -442,7 +442,7 @@ ENTRY(suword64, 2)
XENTRY(suword)
{ .mlx
add r15=PC_CURTHREAD,r13
movl r14=VM_MAX_ADDRESS
movl r14=VM_MAXUSER_ADDRESS
;;
}
{ .mib
@ -496,7 +496,7 @@ END(suword64)
ENTRY(fubyte, 1)
{ .mlx
add r15=PC_CURTHREAD,r13
movl r14=VM_MAX_ADDRESS
movl r14=VM_MAXUSER_ADDRESS
;;
}
{ .mib
@ -542,7 +542,7 @@ END(fubyte)
ENTRY(fuword16, 2)
{ .mlx
add r15=PC_CURTHREAD,r13
movl r14=VM_MAX_ADDRESS
movl r14=VM_MAXUSER_ADDRESS
;;
}
{ .mib
@ -588,7 +588,7 @@ END(fuword16)
ENTRY(fuword32, 2)
{ .mlx
add r15=PC_CURTHREAD,r13
movl r14=VM_MAX_ADDRESS
movl r14=VM_MAXUSER_ADDRESS
;;
}
{ .mib
@ -635,7 +635,7 @@ ENTRY(fuword64, 2)
XENTRY(fuword)
{ .mlx
add r15=PC_CURTHREAD,r13
movl r14=VM_MAX_ADDRESS
movl r14=VM_MAXUSER_ADDRESS
;;
}
{ .mib
@ -750,7 +750,7 @@ ENTRY(copyinstr, 4)
mov loc1=rp
.body
movl loc2=VM_MAX_ADDRESS // make sure that src addr
movl loc2=VM_MAXUSER_ADDRESS // make sure that src addr
;;
cmp.geu p6,p0=in0,loc2 // is in user space.
;;
@ -863,7 +863,7 @@ ENTRY(copyin, 3)
mov loc1=rp
.body
movl loc2=VM_MAX_ADDRESS // make sure that src addr
movl loc2=VM_MAXUSER_ADDRESS // make sure that src addr
;;
cmp.geu p6,p0=in0,loc2 // is in user space.
;;
@ -901,7 +901,7 @@ ENTRY(copyout, 3)
mov loc1=rp
.body
movl loc2=VM_MAX_ADDRESS // make sure that dest addr
movl loc2=VM_MAXUSER_ADDRESS // make sure that dest addr
;;
cmp.geu p6,p0=in1,loc2 // is in user space.
;;

View File

@ -532,7 +532,7 @@ trap(int vector, struct trapframe *tf)
rv = 0;
va = trunc_page(tf->tf_special.ifa);
if (va >= VM_MAX_ADDRESS) {
if (va >= VM_MAXUSER_ADDRESS) {
/*
* Don't allow user-mode faults for kernel virtual
* addresses, including the gateway page.
@ -809,7 +809,7 @@ trap(int vector, struct trapframe *tf)
* iip and enable single stepping only when it's an user
* address.
*/
if (tf->tf_special.iip >= VM_MAX_ADDRESS)
if (tf->tf_special.iip >= VM_MAXUSER_ADDRESS)
return;
tf->tf_special.psr &= ~IA64_PSR_TB;
tf->tf_special.psr |= IA64_PSR_SS;

View File

@ -109,7 +109,7 @@ greg_ptr(mcontext_t *mc, int gr)
static uint64_t
rdreg(uint64_t *addr)
{
if ((uintptr_t)addr < VM_MAX_ADDRESS)
if ((uintptr_t)addr < VM_MAXUSER_ADDRESS)
return (fuword(addr));
return (*addr);
}
@ -117,7 +117,7 @@ rdreg(uint64_t *addr)
static void
wrreg(uint64_t *addr, uint64_t val)
{
if ((uintptr_t)addr < VM_MAX_ADDRESS)
if ((uintptr_t)addr < VM_MAXUSER_ADDRESS)
suword(addr, val);
else
*addr = val;

View File

@ -45,7 +45,7 @@
* USRSTACK is the top (end) of the user stack. Immediately above the user
* stack resides the syscall gateway page.
*/
#define USRSTACK VM_MAX_ADDRESS
#define USRSTACK VM_MAXUSER_ADDRESS
/*
* Virtual memory related constants, all in bytes
@ -195,13 +195,13 @@
/* user/kernel map constants */
#define VM_MIN_ADDRESS 0
#define VM_MAX_ADDRESS IA64_RR_BASE(5)
#define VM_MAXUSER_ADDRESS IA64_RR_BASE(5)
#define VM_GATEWAY_SIZE PAGE_SIZE
#define VM_MAXUSER_ADDRESS (VM_MAX_ADDRESS + VM_GATEWAY_SIZE)
#define VM_MIN_KERNEL_ADDRESS VM_MAXUSER_ADDRESS
#define VM_MIN_KERNEL_ADDRESS (VM_MAXUSER_ADDRESS + VM_GATEWAY_SIZE)
#define VM_MAX_KERNEL_ADDRESS (IA64_RR_BASE(6) - 1)
#define VM_MAX_ADDRESS ~0UL
#define KERNBASE VM_MAX_ADDRESS
#define KERNBASE VM_MAXUSER_ADDRESS
/* virtual sizes (bytes) for various kernel submaps */
#ifndef VM_KMEM_SIZE