From owner-cvs-all@FreeBSD.ORG Sat Sep 27 15:28:15 2003 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 731E516A4B3; Sat, 27 Sep 2003 15:28:15 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F0D9443F3F; Sat, 27 Sep 2003 15:28:14 -0700 (PDT) (envelope-from marcel@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h8RMSEXJ076137; Sat, 27 Sep 2003 15:28:14 -0700 (PDT) (envelope-from marcel@repoman.freebsd.org) Received: (from marcel@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h8RMSEO6076136; Sat, 27 Sep 2003 15:28:14 -0700 (PDT) (envelope-from marcel) Message-Id: <200309272228.h8RMSEO6076136@repoman.freebsd.org> From: Marcel Moolenaar Date: Sat, 27 Sep 2003 15:28:14 -0700 (PDT) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/kern kern_exec.c src/sys/vm vm_map.c vm_map.h vm_mmap.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 27 Sep 2003 22:28:15 -0000 marcel 2003/09/27 15:28:14 PDT FreeBSD src repository Modified files: sys/kern kern_exec.c sys/vm vm_map.c vm_map.h vm_mmap.c Log: Part 2 of implementing rstacks: add the ability to create rstacks and use the ability on ia64 to map the register stack. The orientation of the stack (i.e. its grow direction) is passed to vm_map_stack() in the overloaded cow argument. Since the grow direction is represented by bits, it is possible and allowed to create bi-directional stacks. This is not an advertised feature, more of a side-effect. Fix a bug in vm_map_growstack() that's specific to rstacks and which we could only find by having the ability to create rstacks: when the mapped stack ends at the faulting address, we have not actually mapped the faulting address. we need to include or cover the faulting address. Note that at this time mmap(2) has not been extended to allow the creation of rstacks by processes. If such a need arises, this can be done. Tested on: alpha, i386, ia64, sparc64 Revision Changes Path 1.227 +9 -15 src/sys/kern/kern_exec.c 1.310 +56 -40 src/sys/vm/vm_map.c 1.103 +2 -0 src/sys/vm/vm_map.h 1.167 +2 -2 src/sys/vm/vm_mmap.c