7 MEM_RW, /* read/write */
8 MEM_RO, /* read only */
9 MEM_WO, /* write only */
14 MEM_WIDTH_UNSPECIFIED,
15 MEM_WIDTH_8, /* 8 bit accesses */
16 MEM_WIDTH_16, /* 16 " " */
17 MEM_WIDTH_32, /* 32 " " */
18 MEM_WIDTH_64 /* 64 " " */
21 /* The set of all attributes that can be set for a memory region.
23 This structure was created so that memory attributes can be passed
24 to target_ functions without exposing the details of memory region
25 list, which would be necessary if these fields were simply added to
26 the mem_region structure.
28 FIXME: It would be useful if there was a mechanism for targets to
29 add their own attributes. For example, the number of wait states. */
33 /* read/write, read-only, or write-only */
34 enum mem_access_mode mode;
36 enum mem_access_width width;
38 /* enables hardware breakpoints */
41 /* enables host-side caching of memory region data */
44 /* enables memory verification. after a write, memory is re-read
45 to verify that the write was successful. */
51 /* FIXME: memory regions are stored in an unsorted singly-linked
52 list. This probably won't scale to handle hundreds of memory
53 regions --- that many could be needed to describe the allowed
54 access modes for memory mapped i/o device registers. */
55 struct mem_region *next;
60 /* Item number of this memory region. */
63 /* Status of this memory region (enabled or disabled) */
66 /* Attributes for this region */
67 struct mem_attrib attrib;
70 extern struct mem_region *lookup_mem_region(CORE_ADDR);
72 #endif /* MEMATTR_H */