Changeset a35b458 in mainline for kernel/test/mm/mapping1.c
- 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)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/test/mm/mapping1.c
r3061bc1 ra35b458 42 42 { 43 43 uintptr_t frame = frame_alloc(1, FRAME_NONE, 0); 44 44 45 45 uintptr_t page0 = km_map(frame, FRAME_SIZE, 46 46 PAGE_READ | PAGE_WRITE | PAGE_CACHEABLE); 47 47 TPRINTF("Virtual address %p mapped to physical address %p.\n", 48 48 (void *) page0, (void *) frame); 49 49 50 50 uintptr_t page1 = km_map(frame, FRAME_SIZE, 51 51 PAGE_READ | PAGE_WRITE | PAGE_CACHEABLE); 52 52 TPRINTF("Virtual address %p mapped to physical address %p.\n", 53 53 (void *) page1, (void *) frame); 54 54 55 55 for (unsigned int i = 0; i < 2; i++) { 56 56 TPRINTF("Writing magic using the first virtual address.\n"); 57 57 58 58 *((uint32_t *) page0) = TEST_MAGIC; 59 59 60 60 TPRINTF("Reading magic using the second virtual address.\n"); 61 61 62 62 uint32_t v = *((uint32_t *) page1); 63 63 64 64 if (v != TEST_MAGIC) { 65 65 km_unmap(page0, PAGE_SIZE); … … 68 68 return "Criss-cross read does not match the value written."; 69 69 } 70 70 71 71 TPRINTF("Writing zero using the second virtual address.\n"); 72 72 73 73 *((uint32_t *) page1) = 0; 74 74 75 75 TPRINTF("Reading zero using the first virtual address.\n"); 76 76 77 77 v = *((uint32_t *) page0); 78 78 79 79 if (v != 0) { 80 80 km_unmap(page0, PAGE_SIZE); … … 84 84 } 85 85 } 86 86 87 87 km_unmap(page0, PAGE_SIZE); 88 88 km_unmap(page1, PAGE_SIZE); 89 89 frame_free(frame, 1); 90 90 91 91 return NULL; 92 92 }
Note:
See TracChangeset
for help on using the changeset viewer.