Don't simulate a pseudo address-space beyond VM_MAXUSER_ADDRESS that

maps onto the upages.  We used to use this extensively, particularly
for ps and gdb.  Both of these have been "fixed".  ps gets the p_stats
via eproc along with all the other stats, and gdb uses the regs, fpregs
etc files.

Once apon a time the UPAGES were mapped here, but that changed back
in January '96.  This essentially kills my revisions 1.16 and 1.17.
The 2-page "hole" above the stack can be reclaimed now.
This commit is contained in:
Peter Wemm 1999-12-11 10:21:34 +00:00
parent 1c61bdc8eb
commit 99b30c79b0
2 changed files with 0 additions and 80 deletions

View File

@ -128,46 +128,6 @@ procfs_rwmem(curp, p, uio)
*/
len = min(PAGE_SIZE - page_offset, uio->uio_resid);
if (uva >= VM_MAXUSER_ADDRESS) {
vm_offset_t tkva;
if (writing ||
uva >= VM_MAXUSER_ADDRESS + UPAGES * PAGE_SIZE ||
(ptrace_read_u_check(p,
uva - (vm_offset_t) VM_MAXUSER_ADDRESS,
(size_t) len) &&
!procfs_kmemaccess(curp))) {
error = 0;
break;
}
/* we are reading the "U area", force it into core */
PHOLD(p);
/* sanity check */
if (!(p->p_flag & P_INMEM)) {
/* aiee! */
PRELE(p);
error = EFAULT;
break;
}
/* populate the ptrace/procfs area */
p->p_addr->u_kproc.kp_proc = *p;
fill_eproc (p, &p->p_addr->u_kproc.kp_eproc);
/* locate the in-core address */
tkva = (uintptr_t)p->p_addr + uva - VM_MAXUSER_ADDRESS;
/* transfer it */
error = uiomove((caddr_t)tkva, len, uio);
/* let the pages go */
PRELE(p);
continue;
}
/*
* Fault the page on behalf of the process
*/

View File

@ -128,46 +128,6 @@ procfs_rwmem(curp, p, uio)
*/
len = min(PAGE_SIZE - page_offset, uio->uio_resid);
if (uva >= VM_MAXUSER_ADDRESS) {
vm_offset_t tkva;
if (writing ||
uva >= VM_MAXUSER_ADDRESS + UPAGES * PAGE_SIZE ||
(ptrace_read_u_check(p,
uva - (vm_offset_t) VM_MAXUSER_ADDRESS,
(size_t) len) &&
!procfs_kmemaccess(curp))) {
error = 0;
break;
}
/* we are reading the "U area", force it into core */
PHOLD(p);
/* sanity check */
if (!(p->p_flag & P_INMEM)) {
/* aiee! */
PRELE(p);
error = EFAULT;
break;
}
/* populate the ptrace/procfs area */
p->p_addr->u_kproc.kp_proc = *p;
fill_eproc (p, &p->p_addr->u_kproc.kp_eproc);
/* locate the in-core address */
tkva = (uintptr_t)p->p_addr + uva - VM_MAXUSER_ADDRESS;
/* transfer it */
error = uiomove((caddr_t)tkva, len, uio);
/* let the pages go */
PRELE(p);
continue;
}
/*
* Fault the page on behalf of the process
*/