Changeset cb01e1e in mainline for kernel/test/mm/mapping1.c
- Timestamp:
- 2009-04-04T00:26:27Z (16 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- a85aebd
- Parents:
- 171f9a1
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/test/mm/mapping1.c
r171f9a1 rcb01e1e 36 36 #include <debug.h> 37 37 38 #define PAGE0 39 #define PAGE1 (PAGE0+PAGE_SIZE)38 #define PAGE0 0x10000000 39 #define PAGE1 (PAGE0 + PAGE_SIZE) 40 40 41 #define VALUE0 42 #define VALUE1 41 #define VALUE0 0x01234567 42 #define VALUE1 0x89abcdef 43 43 44 char * test_mapping1(bool quiet)44 char *test_mapping1(void) 45 45 { 46 46 uintptr_t frame0, frame1; 47 47 uint32_t v0, v1; 48 48 49 49 frame0 = (uintptr_t) frame_alloc(ONE_FRAME, FRAME_KA); 50 50 frame1 = (uintptr_t) frame_alloc(ONE_FRAME, FRAME_KA); 51 51 52 if (!quiet) 53 printf("Writing %#x to physical address %p.\n", VALUE0, KA2PA(frame0)); 52 TPRINTF("Writing %#x to physical address %p.\n", VALUE0, KA2PA(frame0)); 54 53 *((uint32_t *) frame0) = VALUE0; 55 if (!quiet)56 printf("Writing %#x to physical address %p.\n", VALUE1, KA2PA(frame1));54 55 TPRINTF("Writing %#x to physical address %p.\n", VALUE1, KA2PA(frame1)); 57 56 *((uint32_t *) frame1) = VALUE1; 58 57 59 if (!quiet) 60 printf("Mapping virtual address %p to physical address %p.\n", PAGE0, KA2PA(frame0)); 58 TPRINTF("Mapping virtual address %p to physical address %p.\n", PAGE0, KA2PA(frame0)); 61 59 page_mapping_insert(AS_KERNEL, PAGE0, KA2PA(frame0), PAGE_PRESENT | PAGE_WRITE); 62 if (!quiet)63 printf("Mapping virtual address %p to physical address %p.\n", PAGE1, KA2PA(frame1));60 61 TPRINTF("Mapping virtual address %p to physical address %p.\n", PAGE1, KA2PA(frame1)); 64 62 page_mapping_insert(AS_KERNEL, PAGE1, KA2PA(frame1), PAGE_PRESENT | PAGE_WRITE); 65 63 66 64 v0 = *((uint32_t *) PAGE0); 67 65 v1 = *((uint32_t *) PAGE1); 68 if (!quiet) { 69 printf("Value at virtual address %p is %#x.\n", PAGE0, v0); 70 printf("Value at virtual address %p is %#x.\n", PAGE1, v1); 71 } 66 TPRINTF("Value at virtual address %p is %#x.\n", PAGE0, v0); 67 TPRINTF("Value at virtual address %p is %#x.\n", PAGE1, v1); 72 68 73 69 if (v0 != VALUE0) … … 76 72 return "Value at v1 not equal to VALUE1"; 77 73 78 if (!quiet) 79 printf("Writing %#x to virtual address %p.\n", 0, PAGE0); 74 TPRINTF("Writing %#x to virtual address %p.\n", 0, PAGE0); 80 75 *((uint32_t *) PAGE0) = 0; 81 if (!quiet)82 printf("Writing %#x to virtual address %p.\n", 0, PAGE1);83 *((uint32_t *) PAGE1) = 0; 84 76 77 TPRINTF("Writing %#x to virtual address %p.\n", 0, PAGE1); 78 *((uint32_t *) PAGE1) = 0; 79 85 80 v0 = *((uint32_t *) PAGE0); 86 81 v1 = *((uint32_t *) PAGE1); 87 82 88 if (!quiet) { 89 printf("Value at virtual address %p is %#x.\n", PAGE0, *((uint32_t *) PAGE0)); 90 printf("Value at virtual address %p is %#x.\n", PAGE1, *((uint32_t *) PAGE1)); 91 } 92 83 TPRINTF("Value at virtual address %p is %#x.\n", PAGE0, *((uint32_t *) PAGE0)); 84 TPRINTF("Value at virtual address %p is %#x.\n", PAGE1, *((uint32_t *) PAGE1)); 85 93 86 if (v0 != 0) 94 87 return "Value at v0 not equal to 0"; … … 96 89 return "Value at v1 not equal to 0"; 97 90 98 return NULL; 91 return NULL; 99 92 }
Note:
See TracChangeset
for help on using the changeset viewer.