18b1a6a38SFrançois Tigeot /* 2f0bba3d1SFrançois Tigeot * Copyright (c) 2015-2018 François Tigeot <ftigeot@wolfpond.org> 38b1a6a38SFrançois Tigeot * All rights reserved. 48b1a6a38SFrançois Tigeot * 58b1a6a38SFrançois Tigeot * Redistribution and use in source and binary forms, with or without 68b1a6a38SFrançois Tigeot * modification, are permitted provided that the following conditions 78b1a6a38SFrançois Tigeot * are met: 88b1a6a38SFrançois Tigeot * 1. Redistributions of source code must retain the above copyright 98b1a6a38SFrançois Tigeot * notice unmodified, this list of conditions, and the following 108b1a6a38SFrançois Tigeot * disclaimer. 118b1a6a38SFrançois Tigeot * 2. Redistributions in binary form must reproduce the above copyright 128b1a6a38SFrançois Tigeot * notice, this list of conditions and the following disclaimer in the 138b1a6a38SFrançois Tigeot * documentation and/or other materials provided with the distribution. 148b1a6a38SFrançois Tigeot * 158b1a6a38SFrançois Tigeot * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 168b1a6a38SFrançois Tigeot * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 178b1a6a38SFrançois Tigeot * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 188b1a6a38SFrançois Tigeot * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 198b1a6a38SFrançois Tigeot * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 208b1a6a38SFrançois Tigeot * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 218b1a6a38SFrançois Tigeot * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 228b1a6a38SFrançois Tigeot * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 238b1a6a38SFrançois Tigeot * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 248b1a6a38SFrançois Tigeot * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 258b1a6a38SFrançois Tigeot */ 268b1a6a38SFrançois Tigeot 278b1a6a38SFrançois Tigeot #ifndef _ASM_PAGE_H_ 288b1a6a38SFrançois Tigeot #define _ASM_PAGE_H_ 298b1a6a38SFrançois Tigeot 30f0bba3d1SFrançois Tigeot struct page; 31f0bba3d1SFrançois Tigeot 32f0bba3d1SFrançois Tigeot static inline vm_paddr_t 33f0bba3d1SFrançois Tigeot page_to_phys(struct page *page) 34f0bba3d1SFrançois Tigeot { 35f0bba3d1SFrançois Tigeot struct vm_page *p = (struct vm_page *)page; 36f0bba3d1SFrançois Tigeot 37f0bba3d1SFrançois Tigeot return VM_PAGE_TO_PHYS(p); 38f0bba3d1SFrançois Tigeot } 398b1a6a38SFrançois Tigeot 40541aa16dSFrançois Tigeot #include <asm/memory_model.h> 41541aa16dSFrançois Tigeot 42*b3816793SFrançois Tigeot typedef unsigned long pgprot_t; 43*b3816793SFrançois Tigeot 448b1a6a38SFrançois Tigeot #endif /* _ASM_PAGE_H_ */ 45