diff --git a/.travis.yml b/.travis.yml index 941f82459..7619680c2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,6 +19,7 @@ script: - cd libhermit-0.1 - debuild -e PATH -us -uc -j2 - sudo dpkg -i ../libhermit*_amd64.deb + - make -j2 examples deploy: on: production diff --git a/mm/memory.c b/mm/memory.c index 3bf6b945c..940987093 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -272,7 +272,17 @@ int memory_init(void) LOG_INFO("Free region 0x%zx - 0x%zx\n", start_addr, end_addr); - if ((start_addr <= base) && (end_addr >= PAGE_2M_FLOOR(base+image_size))) { + if ((start_addr <= base) && (end_addr <= base)) { + init_list.start = start_addr; + init_list.end = end_addr; + + LOG_INFO("Add region 0x%zx - 0x%zx\n", init_list.start, init_list.end); + } else if ((start_addr <= base) && (end_addr < PAGE_2M_FLOOR(base+image_size))) { + init_list.start = start_addr; + init_list.end = base; + + LOG_INFO("Add region 0x%zx - 0x%zx\n", init_list.start, init_list.end); + } else if ((start_addr <= base) && (end_addr >= PAGE_2M_FLOOR(base+image_size))) { init_list.start = PAGE_2M_FLOOR(base+image_size); init_list.end = end_addr;