From owner-svn-src-projects@FreeBSD.ORG Sat Aug 7 02:08:33 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5818D106566B; Sat, 7 Aug 2010 02:08:33 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4742B8FC12; Sat, 7 Aug 2010 02:08:33 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7728Xuc099252; Sat, 7 Aug 2010 02:08:33 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7728XCn099249; Sat, 7 Aug 2010 02:08:33 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201008070208.o7728XCn099249@svn.freebsd.org> From: Jeff Roberson Date: Sat, 7 Aug 2010 02:08:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r210988 - projects/ofed/head/sys/ofed/include/linux X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Aug 2010 02:08:33 -0000 Author: jeff Date: Sat Aug 7 02:08:33 2010 New Revision: 210988 URL: http://svn.freebsd.org/changeset/base/210988 Log: - Implement enough of vm_area_struct to support mmap. - Define a few page protection types. Sponsored by: Isilon Systems, iX Systems, and Panasas. Modified: projects/ofed/head/sys/ofed/include/linux/mm.h projects/ofed/head/sys/ofed/include/linux/page.h Modified: projects/ofed/head/sys/ofed/include/linux/mm.h ============================================================================== --- projects/ofed/head/sys/ofed/include/linux/mm.h Sat Aug 7 02:07:40 2010 (r210987) +++ projects/ofed/head/sys/ofed/include/linux/mm.h Sat Aug 7 02:08:33 2010 (r210988) @@ -35,6 +35,11 @@ #define PAGE_ALIGN(x) ALIGN(x, PAGE_SIZE) struct vm_area_struct { + vm_offset_t vm_start; + vm_offset_t vm_end; + vm_offset_t vm_pgoff; + vm_paddr_t vm_pfn; /* PFN For mmap. */ + vm_memattr_t vm_page_prot; }; /* @@ -62,4 +67,18 @@ lowmem_page_address(struct page *page) return page_address(page); } +/* + * This only works via mmap ops. + */ +static inline int +io_remap_pfn_range(struct vm_area_struct *vma, + unsigned long addr, unsigned long pfn, unsigned long size, + vm_memattr_t prot) +{ + vma->vm_page_prot = prot; + vma->vm_pfn = pfn; + + return (0); +} + #endif /* _LINUX_MM_H_ */ Modified: projects/ofed/head/sys/ofed/include/linux/page.h ============================================================================== --- projects/ofed/head/sys/ofed/include/linux/page.h Sat Aug 7 02:07:40 2010 (r210987) +++ projects/ofed/head/sys/ofed/include/linux/page.h Sat Aug 7 02:08:33 2010 (r210988) @@ -40,6 +40,8 @@ #define virt_to_page(x) PHYS_TO_VM_PAGE(vtophys((x))) #define clear_page(page) memset((page), 0, PAGE_SIZE) +#define pgprot_noncached(prot) VM_MEMATTR_UNCACHED +#define pgprot_wc(prot) VM_MEMATTR_WRITE_COMBINING #undef PAGE_MASK #define PAGE_MASK (~(PAGE_SIZE-1))