]> rtime.felk.cvut.cz Git - jailhouse.git/commitdiff
Enhance the benchmark code a little. Add image_end symbol.
authorMaxim Baryshnikov <barysmax@fel.cvut.cz>
Tue, 9 Aug 2016 19:22:19 +0000 (21:22 +0200)
committerMaxim Baryshnikov <barysmax@fel.cvut.cz>
Tue, 9 Aug 2016 19:22:19 +0000 (21:22 +0200)
configs/bench.c
inmates/demos/x86/Membench.c
inmates/lib/x86/inmate.lds

index 71868c69a03cedf84eaf1f4b75fa8fc50d9d6fd4..6bc95288d52e17fa45b66fbb5c22fa97aabb7bb4 100644 (file)
@@ -50,7 +50,7 @@ struct {
                                JAILHOUSE_MEM_LOADABLE,
                        },
                /* communication region */ {
-                       .virt_start = 0x3F900000,
+                       .virt_start = 0x100000,
                        .size = 0x00001000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
                                JAILHOUSE_MEM_COMM_REGION,
index 4366a303a0487e7f573939f5a0ea92c79a95fa58..f13b1593808a41921301c355860508aa89d3f33d 100644 (file)
@@ -430,6 +430,8 @@ static void run_benchmark(struct cfg *cfg)
 }\r
 \r
 #ifdef JAILHOUSE\r
+const void * image_end;\r
+\r
 void inmate_main(void)\r
 #else //Linux\r
 int main(int argc, char *argv[])\r
@@ -476,8 +478,8 @@ int main(int argc, char *argv[])
               tsc_freq % 1000);\r
 \r
        u8 * start_memreg = (u8 *) array;\r
-\r
-       while ( ((u64) start_memreg )< 0x4000000) {\r
+       u64 end_memreg_addr = (u64) &image_end;\r
+       while ( ((u64) start_memreg )< end_memreg_addr) {\r
                //printk("%p\n",start_memreg);\r
                map_range(start_memreg, HUGE_PAGE_SIZE, MAP_CACHED);\r
                start_memreg += HUGE_PAGE_SIZE;\r
@@ -552,6 +554,6 @@ int main(int argc, char *argv[])
        return 0;\r
 #else\r
        comm_region->cell_state = JAILHOUSE_CELL_SHUT_DOWN;\r
-       printk("done!");\r
+       printk("done!\n");\r
 #endif\r
 }\r
index 2ebfcbe79a1207066f7e9d70ccb2c1df4a04f0b5..f8a6003b322e5c1a935b1625e5a5f78eafde2bc2 100644 (file)
@@ -67,6 +67,7 @@ SECTIONS
        .bench-array : AT (ADDR(.data) + SIZEOF(.data)) {
                *(.bench-array)
        }
+       image_end = .;
 
        /DISCARD/ : {
                *(.eh_frame*)