diff --git a/.gitignore b/.gitignore index c21315328..01e4fa47d 100644 --- a/.gitignore +++ b/.gitignore @@ -44,6 +44,9 @@ usr/openmpbench/schedbench usr/openmpbench/syncbench usr/openmpbench/taskbench usr/tmp/ +tools/Makefile +usr/ircce/Makefile +usr/xray/Makefile arch/x86/kernel/boot.h usr/binutils/ usr/gcc/ diff --git a/.travis.yml b/.travis.yml index 0d84a836b..8c49ccdb4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,10 +6,10 @@ language: c compiler: gcc before_install: - echo "deb https://dl.bintray.com/rwth-os/hermitcore vivid main" | sudo tee -a /etc/apt/sources.list - - sudo apt-get -qq update - - sudo apt-get install -y curl qemu-system-x86 nasm texinfo libmpfr-dev libmpc-dev libgmp-dev libisl-dev flex bison packaging-dev + - travis_retry sudo apt-get -qq update + - travis_retry sudo apt-get install -y curl qemu-system-x86 nasm texinfo libmpfr-dev libmpc-dev libgmp-dev libisl-dev flex bison packaging-dev #- sudo apt-get install -y --force-yes binutils-hermit gcc-hermit-bootstrap - - sudo apt-get install -y --force-yes binutils-hermit libhermit newlib-hermit pthread-embedded-hermit gcc-hermit + - travis_retry sudo apt-get install -y --force-yes binutils-hermit libhermit newlib-hermit pthread-embedded-hermit gcc-hermit - git submodule update --init lwip usr/libomp script: @@ -18,7 +18,9 @@ script: - tar -czf libhermit_0.1.orig.tar.gz libhermit-0.1 --exclude=.git - cd libhermit-0.1 - debuild -e PATH -us -uc -j2 - - x86_64-hermit-readelf -a kernel/main.o | grep ABI + - sudo dpkg -i ../libhermit*_amd64.deb + - make -j2 examples + - if [ "$TRAVIS_BRANCH" != "production" ]; then make test; fi deploy: on: production diff --git a/Makefile.in b/Makefile.in index 02dd1e93d..c83570739 100644 --- a/Makefile.in +++ b/Makefile.in @@ -196,7 +196,7 @@ examples: PROFILING_CFLAGS="$(PROFILING_CFLAGS)" \ PROFILING_LDFLAGS="$(PROFILING_LDFLAGS)" -C usr examples -test: demo +test: . ./test.sh qemu: 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; diff --git a/test.sh b/test.sh index 4409b3da7..c29469b81 100644 --- a/test.sh +++ b/test.sh @@ -4,7 +4,7 @@ # it is written only for internal tests via Travis CI FILES="usr/tests/hello usr/tests/hellof usr/tests/hello++ usr/tests/thr_hello usr/tests/pi usr/benchmarks/stream usr/benchmarks/basic" -PROXY=tools/proxy +PROXY=/opt/hermit/bin/proxy for f in $FILES; do echo "check $f..."; $PROXY $f || exit 1; done diff --git a/usr/libomp b/usr/libomp index e7ea3a270..2046fa1ea 160000 --- a/usr/libomp +++ b/usr/libomp @@ -1 +1 @@ -Subproject commit e7ea3a270fc09f771596c02869344a362c8c5439 +Subproject commit 2046fa1ea1587ba862e54e797433e1d726ab6ba8 diff --git a/usr/tests/signals.c b/usr/tests/signals.c index 2251ca331..70687759d 100644 --- a/usr/tests/signals.c +++ b/usr/tests/signals.c @@ -29,7 +29,7 @@ #include #include #include -#include +#include #define THREAD_COUNT_DEFAULT 2