Lines Matching refs:map

10 newmap(Map *map, int n)  in newmap()  argument
15 if (map == 0) in newmap()
16 map = malloc(size); in newmap()
18 map = realloc(map, size); in newmap()
19 if (map == 0) { in newmap()
23 memset(map, 0, size); in newmap()
24 map->nsegs = n; in newmap()
25 return map; in newmap()
29 setmap(Map *map, int fd, uvlong b, uvlong e, vlong f, char *name) in setmap() argument
33 if (map == 0) in setmap()
35 for (i = 0; i < map->nsegs; i++) in setmap()
36 if (!map->seg[i].inuse) in setmap()
38 if (i >= map->nsegs) in setmap()
40 map->seg[i].b = b; in setmap()
41 map->seg[i].e = e; in setmap()
42 map->seg[i].f = f; in setmap()
43 map->seg[i].inuse = 1; in setmap()
44 map->seg[i].name = name; in setmap()
45 map->seg[i].fd = fd; in setmap()
85 Map *map; in attachproc() local
88 map = newmap(0, 4); in attachproc()
89 if (!map) in attachproc()
101 free(map); in attachproc()
104 setmap(map, fd, 0, mach->regsize, 0, "regs"); in attachproc()
112 close(map->seg[0].fd); in attachproc()
113 free(map); in attachproc()
116 setmap(map, fd, mach->regsize, mach->regsize+mach->fpregsize, 0, "fpregs"); in attachproc()
118 setmap(map, corefd, fp->txtaddr, fp->txtaddr+fp->txtsz, fp->txtaddr, "text"); in attachproc()
120 setmap(map, corefd, fp->dataddr, ~0, fp->dataddr, "data"); in attachproc()
121 return map; in attachproc()
125 setmap(map, corefd, fp->dataddr, mach->utop, fp->dataddr, "data"); in attachproc()
126 return map; in attachproc()
128 setmap(map, corefd, fp->dataddr, n, fp->dataddr, "data"); in attachproc()
129 return map; in attachproc()
133 findseg(Map *map, char *name) in findseg() argument
137 if (!map) in findseg()
139 for (i = 0; i < map->nsegs; i++) in findseg()
140 if (map->seg[i].inuse && !strcmp(map->seg[i].name, name)) in findseg()
146 unusemap(Map *map, int i) in unusemap() argument
148 if (map != 0 && 0 <= i && i < map->nsegs) in unusemap()
149 map->seg[i].inuse = 0; in unusemap()
153 loadmap(Map *map, int fd, Fhdr *fp) in loadmap() argument
155 map = newmap(map, 2); in loadmap()
156 if (map == 0) in loadmap()
159 map->seg[0].b = fp->txtaddr; in loadmap()
160 map->seg[0].e = fp->txtaddr+fp->txtsz; in loadmap()
161 map->seg[0].f = fp->txtoff; in loadmap()
162 map->seg[0].fd = fd; in loadmap()
163 map->seg[0].inuse = 1; in loadmap()
164 map->seg[0].name = "text"; in loadmap()
165 map->seg[1].b = fp->dataddr; in loadmap()
166 map->seg[1].e = fp->dataddr+fp->datsz; in loadmap()
167 map->seg[1].f = fp->datoff; in loadmap()
168 map->seg[1].fd = fd; in loadmap()
169 map->seg[1].inuse = 1; in loadmap()
170 map->seg[1].name = "data"; in loadmap()
171 return map; in loadmap()