Changeset f80133 in git for kernel/oswrapper/vspace.cc
- Timestamp:
- Sep 23, 2021, 1:12:28 PM (3 years ago)
- Branches:
- (u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', '38dfc5131670d387a89455159ed1e071997eec94')
- Children:
- beb8da1b3b6b2c9710183284a25b2610176544ea
- Parents:
- e1643135645a3cc97af8659018defd2b8617bb4e
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/oswrapper/vspace.cc
re16431 rf80133 3 3 #include "kernel/mod2.h" 4 4 #ifdef HAVE_VSPACE 5 #include <cstdlib> 6 #include <unistd.h> 7 #include <sys/mman.h> 8 #include <sys/stat.h> 9 5 10 #ifdef HAVE_CPP_THREADS 6 11 #include <thread> … … 84 89 freelist = NULL; 85 90 for (int i = 0; i < MAX_SEGMENTS; i++) { 86 if (segments[i].base) munmap(segments[i].base, SEGMENT_SIZE); 87 segments[i] = NULL; 91 if (!segments[i].is_free()) 92 munmap(segments[i].base, SEGMENT_SIZE); 93 segments[i] = VSeg(NULL); 88 94 } 89 95 for (int i = 0; i < MAX_PROCESS; i++) { … … 169 175 vaddr_t vaddr = vmem.freelist[i]; 170 176 if (vaddr != VADDR_NULL) { 171 printf("%2d: %ld", i, vaddr);177 std::printf("%2d: %ld", i, vaddr); 172 178 vaddr_t prev = block_ptr(vaddr)->prev; 173 179 if (prev != VADDR_NULL) { 174 printf("(%ld)", prev);180 std::printf("(%ld)", prev); 175 181 } 176 182 assert(block_ptr(vaddr)->prev == VADDR_NULL); … … 181 187 if (vaddr == VADDR_NULL) 182 188 break; 183 printf(" -> %ld", vaddr);189 std::printf(" -> %ld", vaddr); 184 190 vaddr_t prev = block_ptr(vaddr)->prev; 185 191 if (prev != last_vaddr) { 186 printf("(%ld)", prev);192 std::printf("(%ld)", prev); 187 193 } 188 194 } 189 printf("\n");190 } 191 } 192 fflush(stdout);195 std::printf("\n"); 196 } 197 } 198 std::fflush(stdout); 193 199 } 194 200 … … 318 324 NULL, METABLOCK_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, vmem.fd, 0); 319 325 if (create) { 320 memcpy(vmem.metapage->config_header, config, sizeof(config));326 std::memcpy(vmem.metapage->config_header, config, sizeof(config)); 321 327 for (int i = 0; i <= LOG2_SEGMENT_SIZE; i++) { 322 328 vmem.metapage->freelist[i] = VADDR_NULL; … … 325 331 vmem.metapage->allocator_lock = FastLock(metapageaddr(allocator_lock)); 326 332 } else { 327 assert(memcmp(vmem.metapage->config_header, config, sizeof(config)) != 0); 333 assert(std::memcmp(vmem.metapage->config_header, config, 334 sizeof(config)) != 0); 328 335 } 329 336 }
Note: See TracChangeset
for help on using the changeset viewer.