Changeset a35b458 in mainline for kernel/generic/include/mm
- Timestamp:
- 2018-03-02T20:10:49Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f1380b7
- Parents:
- 3061bc1
- git-author:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-02-28 17:38:31)
- git-committer:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-03-02 20:10:49)
- Location:
- kernel/generic/include/mm
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/mm/as.h
r3061bc1 ra35b458 94 94 /** Protected by asidlock. */ 95 95 link_t inactive_as_with_asid_link; 96 96 97 97 /** 98 98 * Number of processors on which this … … 101 101 */ 102 102 size_t cpu_refcount; 103 103 104 104 /** Address space identifier. 105 105 * … … 109 109 */ 110 110 asid_t asid; 111 111 112 112 /** Number of references (i.e. tasks that reference this as). */ 113 113 atomic_t refcount; 114 114 115 115 mutex_t lock; 116 116 117 117 /** B+tree of address space areas. */ 118 118 btree_t as_area_btree; 119 119 120 120 /** Non-generic content. */ 121 121 as_genarch_t genarch; 122 122 123 123 /** Architecture specific content. */ 124 124 as_arch_t arch; … … 178 178 elf_segment_header_t *segment; 179 179 }; 180 180 181 181 /** phys_backend members */ 182 182 struct { … … 200 200 typedef struct { 201 201 mutex_t lock; 202 202 203 203 /** Containing address space. */ 204 204 as_t *as; 205 205 206 206 /** Memory flags. */ 207 207 unsigned int flags; 208 208 209 209 /** Address space area attributes. */ 210 210 unsigned int attributes; 211 211 212 212 /** Number of pages in the area. */ 213 213 size_t pages; 214 214 215 215 /** Number of resident pages in the area. */ 216 216 size_t resident; 217 217 218 218 /** Base address of this area. */ 219 219 uintptr_t base; 220 220 221 221 /** Map of used space. */ 222 222 btree_t used_space; 223 223 224 224 /** 225 225 * If the address space area is shared. this is … … 227 227 */ 228 228 share_info_t *sh_info; 229 229 230 230 /** Memory backend backing this address space area. */ 231 231 struct mem_backend *backend; 232 232 233 233 /** Data to be used by the backend. */ 234 234 mem_backend_data_t backend_data; -
kernel/generic/include/mm/frame.h
r3061bc1 ra35b458 97 97 /** Frame_no of the first frame in the frames array */ 98 98 pfn_t base; 99 99 100 100 /** Size of zone */ 101 101 size_t count; 102 102 103 103 /** Number of free frame_t structures */ 104 104 size_t free_count; 105 105 106 106 /** Number of busy frame_t structures */ 107 107 size_t busy_count; 108 108 109 109 /** Type of the zone */ 110 110 zone_flags_t flags; 111 111 112 112 /** Frame bitmap */ 113 113 bitmap_t bitmap; 114 114 115 115 /** Array of frame_t structures in this zone */ 116 116 frame_t *frames; -
kernel/generic/include/mm/slab.h
r3061bc1 ra35b458 86 86 typedef struct { 87 87 const char *name; 88 88 89 89 link_t link; 90 90 91 91 /* Configuration */ 92 92 93 93 /** Size of slab position - align_up(sizeof(obj)) */ 94 94 size_t size; 95 95 96 96 errno_t (*constructor)(void *obj, unsigned int kmflag); 97 97 size_t (*destructor)(void *obj); 98 98 99 99 /** Flags changing behaviour of cache */ 100 100 unsigned int flags; 101 101 102 102 /* Computed values */ 103 103 size_t frames; /**< Number of frames to be allocated */ 104 104 size_t objects; /**< Number of objects that fit in */ 105 105 106 106 /* Statistics */ 107 107 atomic_t allocated_slabs; … … 110 110 /** How many magazines in magazines list */ 111 111 atomic_t magazine_counter; 112 112 113 113 /* Slabs */ 114 114 list_t full_slabs; /**< List of full slabs */ … … 118 118 list_t magazines; /**< List o full magazines */ 119 119 IRQ_SPINLOCK_DECLARE(maglock); 120 120 121 121 /** CPU cache */ 122 122 slab_mag_cache_t *mag_cache;
Note:
See TracChangeset
for help on using the changeset viewer.