2010-05-05 13:35:04 +02:00
|
|
|
#ifndef PHYS_REGION_H
|
|
|
|
#define PHYS_REGION_H 1
|
|
|
|
|
|
|
|
#include <stddef.h>
|
|
|
|
|
2012-10-11 15:15:49 +02:00
|
|
|
#include "memtype.h"
|
|
|
|
|
2010-05-05 13:35:04 +02:00
|
|
|
typedef struct phys_region {
|
|
|
|
struct phys_block *ph;
|
|
|
|
struct vir_region *parent; /* vir_region or NULL if yielded */
|
|
|
|
vir_bytes offset; /* offset from start of vir region */
|
|
|
|
#if SANITYCHECKS
|
|
|
|
int written; /* written to pagetable */
|
|
|
|
#endif
|
|
|
|
|
2012-10-11 15:15:49 +02:00
|
|
|
mem_type_t *memtype;
|
|
|
|
|
2010-05-05 13:35:04 +02:00
|
|
|
/* list of phys_regions that reference the same phys_block */
|
|
|
|
struct phys_region *next_ph_list;
|
|
|
|
|
|
|
|
/* AVL fields */
|
|
|
|
struct phys_region *less, *greater;
|
|
|
|
int factor;
|
|
|
|
} phys_region_t;
|
|
|
|
|
|
|
|
#endif
|