1 /* memregion.h 2 * 3 * Copyright (C) 2010 - 2013 UNISYS CORPORATION 4 * All rights reserved. 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or (at 9 * your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, but 12 * WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or 14 * NON INFRINGEMENT. See the GNU General Public License for more 15 * details. 16 */ 17 18 #ifndef __MEMREGION_H__ 19 #define __MEMREGION_H__ 20 21 #include "timskmod.h" 22 23 /* MEMREGION is an opaque structure to users. 24 * Fields are declared only in the implementation .c files. 25 */ 26 typedef struct MEMREGION_Tag MEMREGION; 27 28 MEMREGION *visor_memregion_create(HOSTADDRESS physaddr, ulong nbytes); 29 MEMREGION *visor_memregion_create_overlapped(MEMREGION *parent, 30 ulong offset, ulong nbytes); 31 int visor_memregion_resize(MEMREGION *memregion, ulong newsize); 32 int visor_memregion_read(MEMREGION *memregion, 33 ulong offset, void *dest, ulong nbytes); 34 int visor_memregion_write(MEMREGION *memregion, 35 ulong offset, void *src, ulong nbytes); 36 void visor_memregion_destroy(MEMREGION *memregion); 37 HOSTADDRESS visor_memregion_get_physaddr(MEMREGION *memregion); 38 ulong visor_memregion_get_nbytes(MEMREGION *memregion); 39 void memregion_dump(MEMREGION *memregion, char *s, 40 ulong off, ulong len, struct seq_file *seq); 41 void __iomem *visor_memregion_get_pointer(MEMREGION *memregion); 42 43 #endif 44