Changeset f272cb8 in mainline
- Timestamp:
- 2006-12-11T19:19:28Z (18 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 70b6de1
- Parents:
- 50661ab
- Location:
- kernel
- Files:
-
- 3 edited
- 8 moved
Legend:
- Unmodified
- Added
- Removed
-
kernel/Makefile
r50661ab rf272cb8 223 223 test/debug/mips1.c \ 224 224 test/fault/fault1.c \ 225 test/fpu/fpu1.c 225 test/fpu/fpu1.c \ 226 test/fpu/sse1.c \ 227 test/fpu/mips2.c \ 228 test/mm/falloc1.c \ 229 test/mm/falloc2.c \ 230 test/mm/mapping1.c \ 231 test/mm/slab1.c \ 232 test/mm/slab2.c \ 233 test/mm/purge1.c 226 234 endif 227 235 -
kernel/test/fpu/mips2.c
r50661ab rf272cb8 37 37 38 38 #include <arch.h> 39 40 #ifdef mips32 39 41 40 42 #define THREADS 50 … … 106 108 107 109 108 void test (void)110 void test_mips2(void) 109 111 { 110 112 thread_t *t; … … 135 137 printf("Test passed.\n"); 136 138 } 139 140 #else 141 142 void test_mips2(void) 143 { 144 printf("This test is availaible only on MIPS32 platform.\n"); 145 } 146 147 #endif -
kernel/test/fpu/sse1.c
r50661ab rf272cb8 37 37 38 38 #include <arch.h> 39 40 #ifdef CONFIG_BENCH 41 #include <arch/cycle.h> 42 #endif 43 44 #if (defined(ia32) || defined(amd64) || defined(ia32xen)) 39 45 40 46 #define THREADS 50 … … 106 112 107 113 108 void test (void)114 void test_sse1(void) 109 115 { 116 #ifdef CONFIG_BENCH 117 uint64_t t0 = get_cycle(); 118 #endif 110 119 thread_t *t; 111 120 int i; … … 134 143 135 144 printf("Test passed.\n"); 145 #ifdef CONFIG_BENCH 146 uint64_t dt = get_cycle() - t0; 147 printf("Time: %.*d cycles\n", sizeof(dt) * 2, dt); 148 #endif 136 149 } 150 151 #else 152 153 void test_sse1(void) 154 { 155 printf("This test is available only on SSE enabled platforms."); 156 } 157 158 #endif -
kernel/test/mm/falloc1.c
r50661ab rf272cb8 36 36 #include <align.h> 37 37 38 #ifdef CONFIG_BENCH 39 #include <arch/cycle.h> 40 #endif 41 38 42 #define MAX_FRAMES 1024 39 43 #define MAX_ORDER 8 40 44 #define TEST_RUNS 2 41 45 42 void test(void) { 46 void test_falloc1(void) { 47 #ifdef CONFIG_BENCH 48 uint64_t t0 = get_cycle(); 49 #endif 43 50 uintptr_t * frames = (uintptr_t *) malloc(MAX_FRAMES*sizeof(uintptr_t), 0); 44 51 int results[MAX_ORDER+1]; … … 89 96 90 97 printf("Test passed.\n"); 98 #ifdef CONFIG_BENCH 99 uint64_t dt = get_cycle() - t0; 100 printf("Time: %.*d cycles\n", sizeof(dt) * 2, dt); 101 #endif 91 102 } 92 103 -
kernel/test/mm/falloc2.c
r50661ab rf272cb8 38 38 #include <memstr.h> 39 39 #include <arch.h> 40 41 #ifdef CONFIG_BENCH 42 #include <arch/cycle.h> 43 #endif 40 44 41 45 #define MAX_FRAMES 256 … … 102 106 103 107 104 void test (void)108 void test_falloc2(void) 105 109 { 110 #ifdef CONFIG_BENCH 111 uint64_t t0 = get_cycle(); 112 #endif 106 113 int i; 107 114 … … 121 128 122 129 printf("Test passed.\n"); 130 #ifdef CONFIG_BENCH 131 uint64_t dt = get_cycle() - t0; 132 printf("Time: %.*d cycles\n", sizeof(dt) * 2, dt); 133 #endif 123 134 } -
kernel/test/mm/mapping1.c
r50661ab rf272cb8 35 35 #include <debug.h> 36 36 37 #ifdef CONFIG_BENCH 38 #include <arch/cycle.h> 39 #endif 40 37 41 #define PAGE0 0x10000000 38 42 #define PAGE1 (PAGE0+PAGE_SIZE) … … 41 45 #define VALUE1 0x89abcdef 42 46 43 void test (void)47 void test_mapping1(void) 44 48 { 49 #ifdef CONFIG_BENCH 50 uint64_t t0 = get_cycle(); 51 #endif 45 52 uintptr_t frame0, frame1; 46 53 uint32_t v0, v1; … … 48 55 printf("Memory management test mapping #1\n"); 49 56 50 frame0 = frame_alloc(ONE_FRAME, FRAME_KA);51 frame1 = frame_alloc(ONE_FRAME, FRAME_KA);57 frame0 = (uintptr_t) frame_alloc(ONE_FRAME, FRAME_KA); 58 frame1 = (uintptr_t) frame_alloc(ONE_FRAME, FRAME_KA); 52 59 53 60 printf("Writing %#x to physical address %p.\n", VALUE0, KA2PA(frame0)); … … 82 89 83 90 printf("Test passed.\n"); 84 91 #ifdef CONFIG_BENCH 92 uint64_t dt = get_cycle() - t0; 93 printf("Time: %.*d cycles\n", sizeof(dt) * 2, dt); 94 #endif 85 95 } -
kernel/test/mm/purge1.c
r50661ab rf272cb8 26 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 27 */ 28 28 29 #include <print.h> 29 30 #include <test.h> … … 36 37 #include <debug.h> 37 38 39 #ifdef ia64 38 40 39 41 extern void tlb_invalidate_all(void); 40 42 extern void tlb_invalidate_pages(asid_t asid, uintptr_t va, count_t cnt); 43 41 44 void test(void) 42 45 { … … 46 49 int i; 47 50 48 49 51 entryd.word[0] = 0; 52 entryd.word[1] = 0; 50 53 51 entryd.p = true; /* present */ 52 entryd.ma = MA_WRITEBACK; 53 entryd.a = true; /* already accessed */ 54 entryd.d = true; /* already dirty */ 55 entryd.pl = PL_KERNEL; 56 entryd.ar = AR_READ | AR_WRITE; 57 entryd.ppn = 0; 58 entryd.ps = PAGE_WIDTH; 59 60 61 entryi.word[0] = 0; 62 entryi.word[1] = 0; 63 64 entryi.p = true; /* present */ 65 entryi.ma = MA_WRITEBACK; 66 entryi.a = true; /* already accessed */ 67 entryi.d = true; /* already dirty */ 68 entryi.pl = PL_KERNEL; 69 entryi.ar = AR_READ | AR_EXECUTE; 70 entryi.ppn = 0; 71 entryi.ps = PAGE_WIDTH; 72 54 entryd.p = true; /* present */ 55 entryd.ma = MA_WRITEBACK; 56 entryd.a = true; /* already accessed */ 57 entryd.d = true; /* already dirty */ 58 entryd.pl = PL_KERNEL; 59 entryd.ar = AR_READ | AR_WRITE; 60 entryd.ppn = 0; 61 entryd.ps = PAGE_WIDTH; 73 62 74 for(i=0;i<100;i++) 75 { 76 itc_mapping_insert(0+i*(1<<PAGE_WIDTH),8,entryi); 77 dtc_mapping_insert(0+i*(1<<PAGE_WIDTH),9,entryd); 78 } 63 entryi.word[0] = 0; 64 entryi.word[1] = 0; 79 65 80 66 entryi.p = true; /* present */ 67 entryi.ma = MA_WRITEBACK; 68 entryi.a = true; /* already accessed */ 69 entryi.d = true; /* already dirty */ 70 entryi.pl = PL_KERNEL; 71 entryi.ar = AR_READ | AR_EXECUTE; 72 entryi.ppn = 0; 73 entryi.ps = PAGE_WIDTH; 74 75 for (i = 0; i < 100; i++) { 76 itc_mapping_insert(0 + i * (1 << PAGE_WIDTH), 8, entryi); 77 dtc_mapping_insert(0 + i * (1 << PAGE_WIDTH), 9, entryd); 78 } 79 81 80 tlb_invalidate_pages(8,0x0c000,14); 82 81 83 82 /*tlb_invalidate_all();*/ 84 85 83 } 84 85 #else 86 87 void test_purge1(void) 88 { 89 printf("This test is availaible only on IA64 platform.\n"); 90 } 91 92 #endif -
kernel/test/mm/slab1.c
r50661ab rf272cb8 34 34 #include <panic.h> 35 35 #include <memstr.h> 36 37 #ifdef CONFIG_BENCH 38 #include <arch/cycle.h> 39 #endif 36 40 37 41 #define VAL_COUNT 1024 … … 154 158 } 155 159 156 void test (void)160 void test_slab1(void) 157 161 { 162 #ifdef CONFIG_BENCH 163 uint64_t t0 = get_cycle(); 164 #endif 158 165 testsimple(); 159 166 testthreads(); 167 #ifdef CONFIG_BENCH 168 uint64_t dt = get_cycle() - t0; 169 printf("Time: %.*d cycles\n", sizeof(dt) * 2, dt); 170 #endif 160 171 } -
kernel/test/mm/slab2.c
r50661ab rf272cb8 211 211 } 212 212 213 void test (void)213 void test_slab2(void) 214 214 { 215 215 #ifdef CONFIG_BENCH -
kernel/test/test.c
r50661ab rf272cb8 66 66 true 67 67 }, 68 { 69 "sse1", 70 "Intel SEE test", 71 &test_sse1, 72 true 73 }, 74 { 75 "mips2", 76 "MIPS FPU test", 77 &test_mips2, 78 true 79 }, 80 { 81 "falloc1", 82 "Frame allocator test 1", 83 &test_falloc1, 84 true 85 }, 86 { 87 "falloc2", 88 "Frame allocator test 2", 89 &test_falloc2, 90 true 91 }, 92 { 93 "mapping1", 94 "Mapping test", 95 &test_mapping1, 96 true 97 }, 98 { 99 "slab1", 100 "SLAB test 1", 101 &test_slab1, 102 true 103 }, 104 { 105 "slab2", 106 "SLAB test 2", 107 &test_slab2, 108 true 109 }, 110 { 111 "purge1", 112 "Itanium TLB purge test", 113 &test_purge1, 114 true 115 }, 68 116 {NULL, NULL, NULL} 69 117 }; -
kernel/test/test.h
r50661ab rf272cb8 51 51 extern void test_fault1(void); 52 52 extern void test_fpu1(void); 53 extern void test_sse1(void); 54 extern void test_mips2(void); 55 extern void test_falloc1(void); 56 extern void test_falloc2(void); 57 extern void test_mapping1(void); 58 extern void test_purge1(void); 59 extern void test_slab1(void); 60 extern void test_slab2(void); 53 61 54 62 extern test_t tests[];
Note:
See TracChangeset
for help on using the changeset viewer.