1 /* 2 * Copyright (c) 2011 The Chromium OS Authors. 3 * 4 * See file CREDITS for list of people who contributed to this 5 * project. 6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License as 9 * published by the Free Software Foundation; either version 2 of 10 * the License, or (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 20 * MA 02111-1307 USA 21 */ 22 23 #ifndef __SANDBOX_ASM_IO_H 24 #define __SANDBOX_ASM_IO_H 25 26 /* 27 * Given a physical address and a length, return a virtual address 28 * that can be used to access the memory range with the caching 29 * properties specified by "flags". 30 */ 31 #define MAP_NOCACHE (0) 32 #define MAP_WRCOMBINE (0) 33 #define MAP_WRBACK (0) 34 #define MAP_WRTHROUGH (0) 35 36 void *map_physmem(phys_addr_t paddr, unsigned long len, unsigned long flags); 37 38 /* 39 * Take down a mapping set up by map_physmem(). 40 */ 41 static inline void unmap_physmem(void *vaddr, unsigned long flags) 42 { 43 44 } 45 46 /* For sandbox, we want addresses to point into our RAM buffer */ 47 static inline void *map_sysmem(phys_addr_t paddr, unsigned long len) 48 { 49 return map_physmem(paddr, len, MAP_WRBACK); 50 } 51 52 static inline void unmap_sysmem(const void *vaddr) 53 { 54 } 55 56 /* Map from a pointer to our RAM buffer */ 57 phys_addr_t map_to_sysmem(void *ptr); 58 59 #endif 60