From dfd4272d598640b72aca3c8af599841ef62f3790 Mon Sep 17 00:00:00 2001 From: Stefan Lankes Date: Sat, 26 Nov 2016 17:46:25 +0100 Subject: [PATCH] reodering of the directory structure --- .gitignore | 34 +++ .gitmodules | 24 +-- Makefile.in | 199 ++++++++++++++++-- hermit/Makefile.inc => Makefile.inc | 0 README.md | 10 +- {hermit/arch => arch}/x86/include/asm/apic.h | 0 .../arch => arch}/x86/include/asm/atomic.h | 0 .../arch => arch}/x86/include/asm/atomic32.h | 0 .../arch => arch}/x86/include/asm/atomic64.h | 0 {hermit/arch => arch}/x86/include/asm/gdt.h | 0 {hermit/arch => arch}/x86/include/asm/idt.h | 0 {hermit/arch => arch}/x86/include/asm/io.h | 0 {hermit/arch => arch}/x86/include/asm/irq.h | 0 .../arch => arch}/x86/include/asm/irqflags.h | 0 {hermit/arch => arch}/x86/include/asm/isrs.h | 0 .../arch => arch}/x86/include/asm/limits.h | 0 .../arch => arch}/x86/include/asm/multiboot.h | 0 {hermit/arch => arch}/x86/include/asm/page.h | 0 {hermit/arch => arch}/x86/include/asm/pci.h | 0 .../arch => arch}/x86/include/asm/processor.h | 0 .../arch => arch}/x86/include/asm/stddef.h | 0 .../arch => arch}/x86/include/asm/string.h | 0 {hermit/arch => arch}/x86/include/asm/tasks.h | 0 .../x86/include/asm/tasks_types.h | 0 {hermit/arch => arch}/x86/include/asm/tss.h | 0 {hermit/arch => arch}/x86/include/asm/uart.h | 0 {hermit/arch => arch}/x86/include/asm/vga.h | 0 {hermit/arch => arch}/x86/kernel/Makefile | 0 {hermit/arch => arch}/x86/kernel/apic.c | 0 {hermit/arch => arch}/x86/kernel/boot.asm | 0 {hermit/arch => arch}/x86/kernel/entry.asm | 0 {hermit/arch => arch}/x86/kernel/gdt.c | 0 {hermit/arch => arch}/x86/kernel/idt.c | 0 {hermit/arch => arch}/x86/kernel/irq.c | 0 {hermit/arch => arch}/x86/kernel/isrs.c | 0 {hermit/arch => arch}/x86/kernel/pci.c | 0 {hermit/arch => arch}/x86/kernel/pcihdr.h | 0 {hermit/arch => arch}/x86/kernel/processor.c | 0 {hermit/arch => arch}/x86/kernel/string.asm | 0 {hermit/arch => arch}/x86/kernel/syscall.c | 0 {hermit/arch => arch}/x86/kernel/tasks.c | 0 {hermit/arch => arch}/x86/kernel/timer.c | 0 {hermit/arch => arch}/x86/kernel/uart.c | 0 {hermit/arch => arch}/x86/kernel/vga.c | 0 {hermit/arch => arch}/x86/loader/Makefile | 0 {hermit/arch => arch}/x86/loader/entry.asm | 0 .../arch => arch}/x86/loader/include/elf.h | 0 {hermit/arch => arch}/x86/loader/include/io.h | 0 .../x86/loader/include/multiboot.h | 0 .../arch => arch}/x86/loader/include/page.h | 0 .../arch => arch}/x86/loader/include/stdarg.h | 0 .../arch => arch}/x86/loader/include/stddef.h | 0 .../arch => arch}/x86/loader/include/stdio.h | 0 .../arch => arch}/x86/loader/include/string.h | 0 .../arch => arch}/x86/loader/include/uart.h | 0 .../arch => arch}/x86/loader/include/vga.h | 0 {hermit/arch => arch}/x86/loader/link.ld | 0 {hermit/arch => arch}/x86/loader/main.c | 0 {hermit/arch => arch}/x86/loader/page.c | 0 {hermit/arch => arch}/x86/loader/printf.c | 0 {hermit/arch => arch}/x86/loader/stdio.c | 0 {hermit/arch => arch}/x86/loader/string.c | 0 {hermit/arch => arch}/x86/loader/uart.c | 0 {hermit/arch => arch}/x86/loader/vga.c | 0 {hermit/arch => arch}/x86/mm/Makefile | 0 {hermit/arch => arch}/x86/mm/page.c | 0 configure | 3 +- configure.ac | 3 +- {hermit/drivers => drivers}/net/Makefile | 0 {hermit/drivers => drivers}/net/e1000.c | 0 {hermit/drivers => drivers}/net/e1000.h | 0 {hermit/drivers => drivers}/net/mmnif.c | 0 {hermit/drivers => drivers}/net/mmnif.h | 0 {hermit/drivers => drivers}/net/rtl8139.c | 0 {hermit/drivers => drivers}/net/rtl8139.h | 0 {hermit/drivers => drivers}/net/util.c | 0 {hermit/drivers => drivers}/net/util.h | 0 hermit/.gitignore | 34 --- hermit/Makefile | 178 ---------------- hermit/lwip | 1 - {hermit/include => include}/hermit/config.h | 0 {hermit/include => include}/hermit/ctype.h | 0 {hermit/include => include}/hermit/dequeue.h | 0 {hermit/include => include}/hermit/errno.h | 0 {hermit/include => include}/hermit/islelock.h | 0 {hermit/include => include}/hermit/logging.h | 0 {hermit/include => include}/hermit/mailbox.h | 0 .../hermit/mailbox_types.h | 0 {hermit/include => include}/hermit/malloc.h | 0 {hermit/include => include}/hermit/memory.h | 0 .../include => include}/hermit/processor.h | 0 {hermit/include => include}/hermit/rcce.h | 0 .../include => include}/hermit/semaphore.h | 0 .../hermit/semaphore_types.h | 0 {hermit/include => include}/hermit/signal.h | 0 {hermit/include => include}/hermit/spinlock.h | 0 .../hermit/spinlock_types.h | 0 {hermit/include => include}/hermit/stdarg.h | 0 {hermit/include => include}/hermit/stddef.h | 0 {hermit/include => include}/hermit/stdio.h | 0 {hermit/include => include}/hermit/stdlib.h | 0 {hermit/include => include}/hermit/string.h | 0 {hermit/include => include}/hermit/syscall.h | 0 {hermit/include => include}/hermit/tasks.h | 0 .../include => include}/hermit/tasks_types.h | 0 {hermit/include => include}/hermit/time.h | 0 {hermit/include => include}/hermit/vma.h | 0 {hermit/include => include}/netinet/in.h | 0 {hermit/include => include}/netinet/tcp.h | 0 {hermit/include => include}/stdarg.h | 0 {hermit/include => include}/stddef.h | 0 {hermit/include => include}/stdlib.h | 0 {hermit/include => include}/string.h | 0 {hermit/include => include}/sys/ipc.h | 0 {hermit/include => include}/sys/poll.h | 0 {hermit/include => include}/sys/shm.h | 0 {hermit/include => include}/sys/uio.h | 0 {hermit/kernel => kernel}/Makefile | 0 {hermit/kernel => kernel}/main.c | 0 {hermit/kernel => kernel}/signal.c | 0 {hermit/kernel => kernel}/syscall.c | 0 {hermit/kernel => kernel}/tasks.c | 0 {hermit/kernel => kernel}/timer.c | 0 {hermit/libkern => libkern}/Makefile | 0 {hermit/libkern => libkern}/printf.c | 0 {hermit/libkern => libkern}/sprintf.c | 0 {hermit/libkern => libkern}/stdio.c | 0 {hermit/libkern => libkern}/string.c | 0 {hermit/libkern => libkern}/strstr.c | 0 {hermit/libkern => libkern}/strtol.c | 0 {hermit/libkern => libkern}/strtoul.c | 0 hermit/link.ld => link.ld | 0 lwip | 1 + {hermit/mm => mm}/Makefile | 0 {hermit/mm => mm}/hbmemory.c | 0 {hermit/mm => mm}/malloc.c | 0 {hermit/mm => mm}/memory.c | 0 {hermit/mm => mm}/shm.c | 0 {hermit/mm => mm}/vma.c | 0 {hermit/tools => tools}/Makefile | 0 {hermit/tools => tools}/demo_ircce.sh | 0 {hermit/tools => tools}/demo_kvm.sh | 0 {hermit/tools => tools}/demo_omp.sh | 0 {hermit/tools => tools}/hermit_ircce.json | 0 {hermit/tools => tools}/hermit_kvm.json | 0 {hermit/tools => tools}/hermit_openmp.json | 0 {hermit/tools => tools}/init.sh | 0 {hermit/tools => tools}/proxy.c | 0 {hermit/usr => usr}/Makefile | 0 {hermit/usr => usr}/benchmarks/Makefile | 0 .../usr => usr}/benchmarks/RCCE_pingping.c | 0 .../usr => usr}/benchmarks/RCCE_pingpong.c | 0 {hermit/usr => usr}/benchmarks/basic.c | 0 {hermit/usr => usr}/benchmarks/hg.c | 0 {hermit/usr => usr}/benchmarks/hist.c | 0 {hermit/usr => usr}/benchmarks/hist.h | 0 {hermit/usr => usr}/benchmarks/init.c | 0 {hermit/usr => usr}/benchmarks/init.h | 0 {hermit/usr => usr}/benchmarks/netio.c | 0 {hermit/usr => usr}/benchmarks/opt.c | 0 {hermit/usr => usr}/benchmarks/opt.h | 0 {hermit/usr => usr}/benchmarks/rdtsc.c | 0 {hermit/usr => usr}/benchmarks/rdtsc.h | 0 {hermit/usr => usr}/benchmarks/report.c | 0 {hermit/usr => usr}/benchmarks/report.h | 0 {hermit/usr => usr}/benchmarks/run.c | 0 {hermit/usr => usr}/benchmarks/run.h | 0 {hermit/usr => usr}/benchmarks/setup.c | 0 {hermit/usr => usr}/benchmarks/setup.h | 0 {hermit/usr => usr}/benchmarks/stream.c | 0 {hermit/usr => usr}/binutils | 0 {hermit/usr => usr}/gcc | 0 {hermit/usr => usr}/gdb/README.md | 0 {hermit/usr => usr}/gdb/hermit-gdb.py | 0 {hermit/usr => usr}/gdb/hermit/__init__.py | 0 {hermit/usr => usr}/gdb/hermit/tasks.py | 0 {hermit/usr => usr}/ircce/Makefile | 0 {hermit/usr => usr}/ircce/RCCE.h | 0 {hermit/usr => usr}/ircce/RCCE_admin.c | 0 {hermit/usr => usr}/ircce/RCCE_bcast.c | 0 {hermit/usr => usr}/ircce/RCCE_comm.c | 0 {hermit/usr => usr}/ircce/RCCE_debug.c | 0 {hermit/usr => usr}/ircce/RCCE_debug.h | 0 {hermit/usr => usr}/ircce/RCCE_flags.c | 0 {hermit/usr => usr}/ircce/RCCE_get.c | 0 {hermit/usr => usr}/ircce/RCCE_lib.h | 0 {hermit/usr => usr}/ircce/RCCE_malloc.c | 0 {hermit/usr => usr}/ircce/RCCE_put.c | 0 {hermit/usr => usr}/ircce/RCCE_qsort.c | 0 {hermit/usr => usr}/ircce/RCCE_recv.c | 0 {hermit/usr => usr}/ircce/RCCE_reduce.c | 0 {hermit/usr => usr}/ircce/RCCE_send.c | 0 {hermit/usr => usr}/ircce/RCCE_synch.c | 0 {hermit/usr => usr}/ircce/iRCCE.h | 0 {hermit/usr => usr}/ircce/iRCCE_admin.c | 0 {hermit/usr => usr}/ircce/iRCCE_atomic.c | 0 {hermit/usr => usr}/ircce/iRCCE_get.c | 0 {hermit/usr => usr}/ircce/iRCCE_irecv.c | 0 {hermit/usr => usr}/ircce/iRCCE_isend.c | 0 {hermit/usr => usr}/ircce/iRCCE_lib.h | 0 {hermit/usr => usr}/ircce/iRCCE_mcast.c | 0 {hermit/usr => usr}/ircce/iRCCE_put.c | 0 {hermit/usr => usr}/ircce/iRCCE_srecv.c | 0 {hermit/usr => usr}/ircce/iRCCE_ssend.c | 0 {hermit/usr => usr}/ircce/iRCCE_synch.c | 0 {hermit/usr => usr}/ircce/iRCCE_waitlist.c | 0 {hermit/usr => usr}/ircce/rte_memcpy.h | 0 {hermit/usr => usr}/ircce/syscall.h | 0 {hermit/usr => usr}/libgomp/Makefile | 0 {hermit/usr => usr}/libgomp/affinity.c | 0 {hermit/usr => usr}/libgomp/alloc.c | 0 {hermit/usr => usr}/libgomp/bar.c | 0 {hermit/usr => usr}/libgomp/bar.h | 0 {hermit/usr => usr}/libgomp/barrier.c | 0 {hermit/usr => usr}/libgomp/config.h | 0 {hermit/usr => usr}/libgomp/critical.c | 0 {hermit/usr => usr}/libgomp/env.c | 0 {hermit/usr => usr}/libgomp/error.c | 0 {hermit/usr => usr}/libgomp/fortran.c | 0 {hermit/usr => usr}/libgomp/hashtab.h | 0 {hermit/usr => usr}/libgomp/iter.c | 0 {hermit/usr => usr}/libgomp/iter_ull.c | 0 {hermit/usr => usr}/libgomp/libgomp.h | 0 {hermit/usr => usr}/libgomp/libgomp.spec | 0 {hermit/usr => usr}/libgomp/libgomp_f.h | 0 {hermit/usr => usr}/libgomp/libgomp_g.h | 0 {hermit/usr => usr}/libgomp/lock.c | 0 {hermit/usr => usr}/libgomp/loop.c | 0 {hermit/usr => usr}/libgomp/loop_ull.c | 0 {hermit/usr => usr}/libgomp/mutex.c | 0 {hermit/usr => usr}/libgomp/mutex.h | 0 {hermit/usr => usr}/libgomp/omp-lock.h | 0 {hermit/usr => usr}/libgomp/omp.h | 0 {hermit/usr => usr}/libgomp/omp_lib.h | 0 {hermit/usr => usr}/libgomp/omp_lib.h.in | 0 {hermit/usr => usr}/libgomp/ordered.c | 0 {hermit/usr => usr}/libgomp/parallel.c | 0 {hermit/usr => usr}/libgomp/proc.c | 0 {hermit/usr => usr}/libgomp/ptrlock.c | 0 {hermit/usr => usr}/libgomp/ptrlock.h | 0 {hermit/usr => usr}/libgomp/sections.c | 0 {hermit/usr => usr}/libgomp/sem.c | 0 {hermit/usr => usr}/libgomp/sem.h | 0 {hermit/usr => usr}/libgomp/single.c | 0 {hermit/usr => usr}/libgomp/task.c | 0 {hermit/usr => usr}/libgomp/team.c | 0 {hermit/usr => usr}/libgomp/time.c | 0 {hermit/usr => usr}/libgomp/work.c | 0 {hermit/usr => usr}/libomp | 0 {hermit/usr => usr}/newlib | 0 {hermit/usr => usr}/openmpbench/.gitignore | 0 {hermit/usr => usr}/openmpbench/Licence.txt | 0 {hermit/usr => usr}/openmpbench/Makefile | 0 {hermit/usr => usr}/openmpbench/Makefile.defs | 0 .../openmpbench/Makefile.defs.hector.cray | 0 .../openmpbench/Makefile.defs.hector.pgi | 0 .../openmpbench/Makefile.defs.magny0.gnu | 0 .../openmpbench/Makefile.defs.magny0.sun | 0 .../openmpbench/Makefile.defs.stokes.gnu | 0 .../openmpbench/Makefile.defs.stokes.intel | 0 {hermit/usr => usr}/openmpbench/README.txt | 0 {hermit/usr => usr}/openmpbench/arraybench.c | 0 {hermit/usr => usr}/openmpbench/arraybench.h | 0 {hermit/usr => usr}/openmpbench/common.c | 0 {hermit/usr => usr}/openmpbench/common.h | 0 {hermit/usr => usr}/openmpbench/schedbench.c | 0 {hermit/usr => usr}/openmpbench/schedbench.h | 0 {hermit/usr => usr}/openmpbench/syncbench.c | 0 {hermit/usr => usr}/openmpbench/syncbench.h | 0 {hermit/usr => usr}/openmpbench/taskbench.c | 0 {hermit/usr => usr}/openmpbench/taskbench.h | 0 {hermit/usr => usr}/pte | 0 {hermit/usr => usr}/tests/Makefile | 0 {hermit/usr => usr}/tests/RCCE_minimum.c | 0 {hermit/usr => usr}/tests/hello++.cpp | 0 {hermit/usr => usr}/tests/hello.c | 0 {hermit/usr => usr}/tests/hellof.f90 | 0 {hermit/usr => usr}/tests/jacobi.c | 0 {hermit/usr => usr}/tests/pi.go | 0 {hermit/usr => usr}/tests/server.go | 0 {hermit/usr => usr}/tests/signals.c | 0 {hermit/usr => usr}/tests/thr_hello.c | 0 {hermit/usr => usr}/xray/LICENSE | 0 {hermit/usr => usr}/xray/Makefile | 0 {hermit/usr => usr}/xray/browser.c | 0 {hermit/usr => usr}/xray/demangle.c | 0 {hermit/usr => usr}/xray/hashtable.c | 0 {hermit/usr => usr}/xray/libxray.spec | 0 {hermit/usr => usr}/xray/parsesymbols.c | 0 {hermit/usr => usr}/xray/report.c | 0 {hermit/usr => usr}/xray/stringpool.c | 0 {hermit/usr => usr}/xray/symtable.c | 0 {hermit/usr => usr}/xray/tools/conv2kcg.py | 0 {hermit/usr => usr}/xray/tools/report.xray | 0 {hermit/usr => usr}/xray/xray.c | 0 {hermit/usr => usr}/xray/xray.h | 0 {hermit/usr => usr}/xray/xray.odt | Bin {hermit/usr => usr}/xray/xray_priv.h | 0 298 files changed, 235 insertions(+), 252 deletions(-) rename hermit/Makefile.inc => Makefile.inc (100%) rename {hermit/arch => arch}/x86/include/asm/apic.h (100%) rename {hermit/arch => arch}/x86/include/asm/atomic.h (100%) rename {hermit/arch => arch}/x86/include/asm/atomic32.h (100%) rename {hermit/arch => arch}/x86/include/asm/atomic64.h (100%) rename {hermit/arch => arch}/x86/include/asm/gdt.h (100%) rename {hermit/arch => arch}/x86/include/asm/idt.h (100%) rename {hermit/arch => arch}/x86/include/asm/io.h (100%) rename {hermit/arch => arch}/x86/include/asm/irq.h (100%) rename {hermit/arch => arch}/x86/include/asm/irqflags.h (100%) rename {hermit/arch => arch}/x86/include/asm/isrs.h (100%) rename {hermit/arch => arch}/x86/include/asm/limits.h (100%) rename {hermit/arch => arch}/x86/include/asm/multiboot.h (100%) rename {hermit/arch => arch}/x86/include/asm/page.h (100%) rename {hermit/arch => arch}/x86/include/asm/pci.h (100%) rename {hermit/arch => arch}/x86/include/asm/processor.h (100%) rename {hermit/arch => arch}/x86/include/asm/stddef.h (100%) rename {hermit/arch => arch}/x86/include/asm/string.h (100%) rename {hermit/arch => arch}/x86/include/asm/tasks.h (100%) rename {hermit/arch => arch}/x86/include/asm/tasks_types.h (100%) rename {hermit/arch => arch}/x86/include/asm/tss.h (100%) rename {hermit/arch => arch}/x86/include/asm/uart.h (100%) rename {hermit/arch => arch}/x86/include/asm/vga.h (100%) rename {hermit/arch => arch}/x86/kernel/Makefile (100%) rename {hermit/arch => arch}/x86/kernel/apic.c (100%) rename {hermit/arch => arch}/x86/kernel/boot.asm (100%) rename {hermit/arch => arch}/x86/kernel/entry.asm (100%) rename {hermit/arch => arch}/x86/kernel/gdt.c (100%) rename {hermit/arch => arch}/x86/kernel/idt.c (100%) rename {hermit/arch => arch}/x86/kernel/irq.c (100%) rename {hermit/arch => arch}/x86/kernel/isrs.c (100%) rename {hermit/arch => arch}/x86/kernel/pci.c (100%) rename {hermit/arch => arch}/x86/kernel/pcihdr.h (100%) rename {hermit/arch => arch}/x86/kernel/processor.c (100%) rename {hermit/arch => arch}/x86/kernel/string.asm (100%) rename {hermit/arch => arch}/x86/kernel/syscall.c (100%) rename {hermit/arch => arch}/x86/kernel/tasks.c (100%) rename {hermit/arch => arch}/x86/kernel/timer.c (100%) rename {hermit/arch => arch}/x86/kernel/uart.c (100%) rename {hermit/arch => arch}/x86/kernel/vga.c (100%) rename {hermit/arch => arch}/x86/loader/Makefile (100%) rename {hermit/arch => arch}/x86/loader/entry.asm (100%) rename {hermit/arch => arch}/x86/loader/include/elf.h (100%) rename {hermit/arch => arch}/x86/loader/include/io.h (100%) rename {hermit/arch => arch}/x86/loader/include/multiboot.h (100%) rename {hermit/arch => arch}/x86/loader/include/page.h (100%) rename {hermit/arch => arch}/x86/loader/include/stdarg.h (100%) rename {hermit/arch => arch}/x86/loader/include/stddef.h (100%) rename {hermit/arch => arch}/x86/loader/include/stdio.h (100%) rename {hermit/arch => arch}/x86/loader/include/string.h (100%) rename {hermit/arch => arch}/x86/loader/include/uart.h (100%) rename {hermit/arch => arch}/x86/loader/include/vga.h (100%) rename {hermit/arch => arch}/x86/loader/link.ld (100%) rename {hermit/arch => arch}/x86/loader/main.c (100%) rename {hermit/arch => arch}/x86/loader/page.c (100%) rename {hermit/arch => arch}/x86/loader/printf.c (100%) rename {hermit/arch => arch}/x86/loader/stdio.c (100%) rename {hermit/arch => arch}/x86/loader/string.c (100%) rename {hermit/arch => arch}/x86/loader/uart.c (100%) rename {hermit/arch => arch}/x86/loader/vga.c (100%) rename {hermit/arch => arch}/x86/mm/Makefile (100%) rename {hermit/arch => arch}/x86/mm/page.c (100%) rename {hermit/drivers => drivers}/net/Makefile (100%) rename {hermit/drivers => drivers}/net/e1000.c (100%) rename {hermit/drivers => drivers}/net/e1000.h (100%) rename {hermit/drivers => drivers}/net/mmnif.c (100%) rename {hermit/drivers => drivers}/net/mmnif.h (100%) rename {hermit/drivers => drivers}/net/rtl8139.c (100%) rename {hermit/drivers => drivers}/net/rtl8139.h (100%) rename {hermit/drivers => drivers}/net/util.c (100%) rename {hermit/drivers => drivers}/net/util.h (100%) delete mode 100644 hermit/.gitignore delete mode 100644 hermit/Makefile delete mode 160000 hermit/lwip rename {hermit/include => include}/hermit/config.h (100%) rename {hermit/include => include}/hermit/ctype.h (100%) rename {hermit/include => include}/hermit/dequeue.h (100%) rename {hermit/include => include}/hermit/errno.h (100%) rename {hermit/include => include}/hermit/islelock.h (100%) rename {hermit/include => include}/hermit/logging.h (100%) rename {hermit/include => include}/hermit/mailbox.h (100%) rename {hermit/include => include}/hermit/mailbox_types.h (100%) rename {hermit/include => include}/hermit/malloc.h (100%) rename {hermit/include => include}/hermit/memory.h (100%) rename {hermit/include => include}/hermit/processor.h (100%) rename {hermit/include => include}/hermit/rcce.h (100%) rename {hermit/include => include}/hermit/semaphore.h (100%) rename {hermit/include => include}/hermit/semaphore_types.h (100%) rename {hermit/include => include}/hermit/signal.h (100%) rename {hermit/include => include}/hermit/spinlock.h (100%) rename {hermit/include => include}/hermit/spinlock_types.h (100%) rename {hermit/include => include}/hermit/stdarg.h (100%) rename {hermit/include => include}/hermit/stddef.h (100%) rename {hermit/include => include}/hermit/stdio.h (100%) rename {hermit/include => include}/hermit/stdlib.h (100%) rename {hermit/include => include}/hermit/string.h (100%) rename {hermit/include => include}/hermit/syscall.h (100%) rename {hermit/include => include}/hermit/tasks.h (100%) rename {hermit/include => include}/hermit/tasks_types.h (100%) rename {hermit/include => include}/hermit/time.h (100%) rename {hermit/include => include}/hermit/vma.h (100%) rename {hermit/include => include}/netinet/in.h (100%) rename {hermit/include => include}/netinet/tcp.h (100%) rename {hermit/include => include}/stdarg.h (100%) rename {hermit/include => include}/stddef.h (100%) rename {hermit/include => include}/stdlib.h (100%) rename {hermit/include => include}/string.h (100%) rename {hermit/include => include}/sys/ipc.h (100%) rename {hermit/include => include}/sys/poll.h (100%) rename {hermit/include => include}/sys/shm.h (100%) rename {hermit/include => include}/sys/uio.h (100%) rename {hermit/kernel => kernel}/Makefile (100%) rename {hermit/kernel => kernel}/main.c (100%) rename {hermit/kernel => kernel}/signal.c (100%) rename {hermit/kernel => kernel}/syscall.c (100%) rename {hermit/kernel => kernel}/tasks.c (100%) rename {hermit/kernel => kernel}/timer.c (100%) rename {hermit/libkern => libkern}/Makefile (100%) rename {hermit/libkern => libkern}/printf.c (100%) rename {hermit/libkern => libkern}/sprintf.c (100%) rename {hermit/libkern => libkern}/stdio.c (100%) rename {hermit/libkern => libkern}/string.c (100%) rename {hermit/libkern => libkern}/strstr.c (100%) rename {hermit/libkern => libkern}/strtol.c (100%) rename {hermit/libkern => libkern}/strtoul.c (100%) rename hermit/link.ld => link.ld (100%) create mode 160000 lwip rename {hermit/mm => mm}/Makefile (100%) rename {hermit/mm => mm}/hbmemory.c (100%) rename {hermit/mm => mm}/malloc.c (100%) rename {hermit/mm => mm}/memory.c (100%) rename {hermit/mm => mm}/shm.c (100%) rename {hermit/mm => mm}/vma.c (100%) rename {hermit/tools => tools}/Makefile (100%) rename {hermit/tools => tools}/demo_ircce.sh (100%) rename {hermit/tools => tools}/demo_kvm.sh (100%) rename {hermit/tools => tools}/demo_omp.sh (100%) rename {hermit/tools => tools}/hermit_ircce.json (100%) rename {hermit/tools => tools}/hermit_kvm.json (100%) rename {hermit/tools => tools}/hermit_openmp.json (100%) rename {hermit/tools => tools}/init.sh (100%) rename {hermit/tools => tools}/proxy.c (100%) rename {hermit/usr => usr}/Makefile (100%) rename {hermit/usr => usr}/benchmarks/Makefile (100%) rename {hermit/usr => usr}/benchmarks/RCCE_pingping.c (100%) rename {hermit/usr => usr}/benchmarks/RCCE_pingpong.c (100%) rename {hermit/usr => usr}/benchmarks/basic.c (100%) rename {hermit/usr => usr}/benchmarks/hg.c (100%) rename {hermit/usr => usr}/benchmarks/hist.c (100%) rename {hermit/usr => usr}/benchmarks/hist.h (100%) rename {hermit/usr => usr}/benchmarks/init.c (100%) rename {hermit/usr => usr}/benchmarks/init.h (100%) rename {hermit/usr => usr}/benchmarks/netio.c (100%) rename {hermit/usr => usr}/benchmarks/opt.c (100%) rename {hermit/usr => usr}/benchmarks/opt.h (100%) rename {hermit/usr => usr}/benchmarks/rdtsc.c (100%) rename {hermit/usr => usr}/benchmarks/rdtsc.h (100%) rename {hermit/usr => usr}/benchmarks/report.c (100%) rename {hermit/usr => usr}/benchmarks/report.h (100%) rename {hermit/usr => usr}/benchmarks/run.c (100%) rename {hermit/usr => usr}/benchmarks/run.h (100%) rename {hermit/usr => usr}/benchmarks/setup.c (100%) rename {hermit/usr => usr}/benchmarks/setup.h (100%) rename {hermit/usr => usr}/benchmarks/stream.c (100%) rename {hermit/usr => usr}/binutils (100%) rename {hermit/usr => usr}/gcc (100%) rename {hermit/usr => usr}/gdb/README.md (100%) rename {hermit/usr => usr}/gdb/hermit-gdb.py (100%) rename {hermit/usr => usr}/gdb/hermit/__init__.py (100%) rename {hermit/usr => usr}/gdb/hermit/tasks.py (100%) rename {hermit/usr => usr}/ircce/Makefile (100%) rename {hermit/usr => usr}/ircce/RCCE.h (100%) rename {hermit/usr => usr}/ircce/RCCE_admin.c (100%) rename {hermit/usr => usr}/ircce/RCCE_bcast.c (100%) rename {hermit/usr => usr}/ircce/RCCE_comm.c (100%) rename {hermit/usr => usr}/ircce/RCCE_debug.c (100%) rename {hermit/usr => usr}/ircce/RCCE_debug.h (100%) rename {hermit/usr => usr}/ircce/RCCE_flags.c (100%) rename {hermit/usr => usr}/ircce/RCCE_get.c (100%) rename {hermit/usr => usr}/ircce/RCCE_lib.h (100%) rename {hermit/usr => usr}/ircce/RCCE_malloc.c (100%) rename {hermit/usr => usr}/ircce/RCCE_put.c (100%) rename {hermit/usr => usr}/ircce/RCCE_qsort.c (100%) rename {hermit/usr => usr}/ircce/RCCE_recv.c (100%) rename {hermit/usr => usr}/ircce/RCCE_reduce.c (100%) rename {hermit/usr => usr}/ircce/RCCE_send.c (100%) rename {hermit/usr => usr}/ircce/RCCE_synch.c (100%) rename {hermit/usr => usr}/ircce/iRCCE.h (100%) rename {hermit/usr => usr}/ircce/iRCCE_admin.c (100%) rename {hermit/usr => usr}/ircce/iRCCE_atomic.c (100%) rename {hermit/usr => usr}/ircce/iRCCE_get.c (100%) rename {hermit/usr => usr}/ircce/iRCCE_irecv.c (100%) rename {hermit/usr => usr}/ircce/iRCCE_isend.c (100%) rename {hermit/usr => usr}/ircce/iRCCE_lib.h (100%) rename {hermit/usr => usr}/ircce/iRCCE_mcast.c (100%) rename {hermit/usr => usr}/ircce/iRCCE_put.c (100%) rename {hermit/usr => usr}/ircce/iRCCE_srecv.c (100%) rename {hermit/usr => usr}/ircce/iRCCE_ssend.c (100%) rename {hermit/usr => usr}/ircce/iRCCE_synch.c (100%) rename {hermit/usr => usr}/ircce/iRCCE_waitlist.c (100%) rename {hermit/usr => usr}/ircce/rte_memcpy.h (100%) rename {hermit/usr => usr}/ircce/syscall.h (100%) rename {hermit/usr => usr}/libgomp/Makefile (100%) rename {hermit/usr => usr}/libgomp/affinity.c (100%) rename {hermit/usr => usr}/libgomp/alloc.c (100%) rename {hermit/usr => usr}/libgomp/bar.c (100%) rename {hermit/usr => usr}/libgomp/bar.h (100%) rename {hermit/usr => usr}/libgomp/barrier.c (100%) rename {hermit/usr => usr}/libgomp/config.h (100%) rename {hermit/usr => usr}/libgomp/critical.c (100%) rename {hermit/usr => usr}/libgomp/env.c (100%) rename {hermit/usr => usr}/libgomp/error.c (100%) rename {hermit/usr => usr}/libgomp/fortran.c (100%) rename {hermit/usr => usr}/libgomp/hashtab.h (100%) rename {hermit/usr => usr}/libgomp/iter.c (100%) rename {hermit/usr => usr}/libgomp/iter_ull.c (100%) rename {hermit/usr => usr}/libgomp/libgomp.h (100%) rename {hermit/usr => usr}/libgomp/libgomp.spec (100%) rename {hermit/usr => usr}/libgomp/libgomp_f.h (100%) rename {hermit/usr => usr}/libgomp/libgomp_g.h (100%) rename {hermit/usr => usr}/libgomp/lock.c (100%) rename {hermit/usr => usr}/libgomp/loop.c (100%) rename {hermit/usr => usr}/libgomp/loop_ull.c (100%) rename {hermit/usr => usr}/libgomp/mutex.c (100%) rename {hermit/usr => usr}/libgomp/mutex.h (100%) rename {hermit/usr => usr}/libgomp/omp-lock.h (100%) rename {hermit/usr => usr}/libgomp/omp.h (100%) rename {hermit/usr => usr}/libgomp/omp_lib.h (100%) rename {hermit/usr => usr}/libgomp/omp_lib.h.in (100%) rename {hermit/usr => usr}/libgomp/ordered.c (100%) rename {hermit/usr => usr}/libgomp/parallel.c (100%) rename {hermit/usr => usr}/libgomp/proc.c (100%) rename {hermit/usr => usr}/libgomp/ptrlock.c (100%) rename {hermit/usr => usr}/libgomp/ptrlock.h (100%) rename {hermit/usr => usr}/libgomp/sections.c (100%) rename {hermit/usr => usr}/libgomp/sem.c (100%) rename {hermit/usr => usr}/libgomp/sem.h (100%) rename {hermit/usr => usr}/libgomp/single.c (100%) rename {hermit/usr => usr}/libgomp/task.c (100%) rename {hermit/usr => usr}/libgomp/team.c (100%) rename {hermit/usr => usr}/libgomp/time.c (100%) rename {hermit/usr => usr}/libgomp/work.c (100%) rename {hermit/usr => usr}/libomp (100%) rename {hermit/usr => usr}/newlib (100%) rename {hermit/usr => usr}/openmpbench/.gitignore (100%) rename {hermit/usr => usr}/openmpbench/Licence.txt (100%) rename {hermit/usr => usr}/openmpbench/Makefile (100%) rename {hermit/usr => usr}/openmpbench/Makefile.defs (100%) rename {hermit/usr => usr}/openmpbench/Makefile.defs.hector.cray (100%) rename {hermit/usr => usr}/openmpbench/Makefile.defs.hector.pgi (100%) rename {hermit/usr => usr}/openmpbench/Makefile.defs.magny0.gnu (100%) rename {hermit/usr => usr}/openmpbench/Makefile.defs.magny0.sun (100%) rename {hermit/usr => usr}/openmpbench/Makefile.defs.stokes.gnu (100%) rename {hermit/usr => usr}/openmpbench/Makefile.defs.stokes.intel (100%) rename {hermit/usr => usr}/openmpbench/README.txt (100%) rename {hermit/usr => usr}/openmpbench/arraybench.c (100%) rename {hermit/usr => usr}/openmpbench/arraybench.h (100%) rename {hermit/usr => usr}/openmpbench/common.c (100%) rename {hermit/usr => usr}/openmpbench/common.h (100%) rename {hermit/usr => usr}/openmpbench/schedbench.c (100%) rename {hermit/usr => usr}/openmpbench/schedbench.h (100%) rename {hermit/usr => usr}/openmpbench/syncbench.c (100%) rename {hermit/usr => usr}/openmpbench/syncbench.h (100%) rename {hermit/usr => usr}/openmpbench/taskbench.c (100%) rename {hermit/usr => usr}/openmpbench/taskbench.h (100%) rename {hermit/usr => usr}/pte (100%) rename {hermit/usr => usr}/tests/Makefile (100%) rename {hermit/usr => usr}/tests/RCCE_minimum.c (100%) rename {hermit/usr => usr}/tests/hello++.cpp (100%) rename {hermit/usr => usr}/tests/hello.c (100%) rename {hermit/usr => usr}/tests/hellof.f90 (100%) rename {hermit/usr => usr}/tests/jacobi.c (100%) rename {hermit/usr => usr}/tests/pi.go (100%) rename {hermit/usr => usr}/tests/server.go (100%) rename {hermit/usr => usr}/tests/signals.c (100%) rename {hermit/usr => usr}/tests/thr_hello.c (100%) rename {hermit/usr => usr}/xray/LICENSE (100%) rename {hermit/usr => usr}/xray/Makefile (100%) rename {hermit/usr => usr}/xray/browser.c (100%) rename {hermit/usr => usr}/xray/demangle.c (100%) rename {hermit/usr => usr}/xray/hashtable.c (100%) rename {hermit/usr => usr}/xray/libxray.spec (100%) rename {hermit/usr => usr}/xray/parsesymbols.c (100%) rename {hermit/usr => usr}/xray/report.c (100%) rename {hermit/usr => usr}/xray/stringpool.c (100%) rename {hermit/usr => usr}/xray/symtable.c (100%) rename {hermit/usr => usr}/xray/tools/conv2kcg.py (100%) rename {hermit/usr => usr}/xray/tools/report.xray (100%) rename {hermit/usr => usr}/xray/xray.c (100%) rename {hermit/usr => usr}/xray/xray.h (100%) rename {hermit/usr => usr}/xray/xray.odt (100%) rename {hermit/usr => usr}/xray/xray_priv.h (100%) diff --git a/.gitignore b/.gitignore index ded3b48e7..bc200f012 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,37 @@ autom4te.cache *.pyc *.callgrind *.xray +*.o +*.a +*.dep +*~ +*.elf +*.elf32 +*.sym +*.bin +qemu-vlan0.pcap +autom4te.cache +documentation/html/ +include/hermit/config.inc +tools/proxy +usr/tests/hello +usr/tests/hello++ +usr/tests/hellof +usr/tests/jacobi +usr/tests/thr_hello +usr/tests/pi +usr/tests/RCCE_minimum +usr/tests/signals +usr/tests/server +usr/benchmarks/RCCE_pingping +usr/benchmarks/RCCE_pingpong +usr/benchmarks/stream +usr/benchmarks/hg +usr/benchmarks/netio +usr/benchmarks/basic +usr/openmpbench/schedbench +usr/openmpbench/syncbench +usr/openmpbench/taskbench +usr/x86/ +usr/tmp/ +arch/x86/kernel/boot.h diff --git a/.gitmodules b/.gitmodules index 2498fa627..edc72110f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,24 +1,24 @@ -[submodule "hermit/usr/gcc"] - path = hermit/usr/gcc +[submodule "usr/gcc"] + path = usr/gcc url = https://github.com/RWTH-OS/gcc.git branch = hermit -[submodule "hermit/usr/binutils"] - path = hermit/usr/binutils +[submodule "usr/binutils"] + path = usr/binutils url = https://github.com/RWTH-OS/binutils.git branch = hermit -[submodule "hermit/usr/pte"] - path = hermit/usr/pte +[submodule "usr/pte"] + path = usr/pte url = https://github.com/RWTH-OS/pthread-embeded.git branch = hermit -[submodule "hermit/usr/newlib"] - path = hermit/usr/newlib +[submodule "usr/newlib"] + path = usr/newlib url = https://github.com/RWTH-OS/newlib.git branch = hermit -[submodule "hermit/lwip"] - path = hermit/lwip +[submodule "lwip"] + path = lwip url = https://github.com/RWTH-OS/LwIP.git branch = hermit -[submodule "hermit/usr/libomp"] - path = hermit/usr/libomp +[submodule "usr/libomp"] + path = usr/libomp url = https://github.com/RWTH-OS/libomp_oss.git branch = hermit diff --git a/Makefile.in b/Makefile.in index bf04f76b7..8fa0af97b 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,34 +1,197 @@ +TERM = xterm +TOPDIR := $(shell pwd) +ARCH = x86 +NAME = libhermit.a +DRIVERDIRS = drivers/net +LWIPDIRS = lwip/src/arch lwip/src/api lwip/src/core lwip/src/core/ipv4 lwip/src/core/ipv6 lwip/src/netif +KERNDIRS = kernel mm libkern arch/$(ARCH)/kernel arch/$(ARCH)/mm $(LWIPDIRS) $(DRIVERDIRS) +SUBDIRS = $(KERNDIRS) +GIT_VERSION := $(shell git describe --abbrev=6 --dirty --always --tags) +TODAY := $(shell date +'%Y%m%d') QEMU = @QEMU@ -machine accel=kvm -cpu host CROSSDIR = @CROSSDIR@ JOBS = $(shell nproc) ARCH_OPT = @ARCH_OPT@ -default: - make PATH=$(PATH):$(CROSSDIR) ARCH_OPT="$(ARCH_OPT)" -C hermit - make PATH=$(PATH):$(CROSSDIR) ARCH_OPT="$(ARCH_OPT)" -C hermit/tools proxy +# add path to the cross toolchain +PATH:=$(PATH):$(CROSSDIR) -travis: - make PATH=$(PATH):$(CROSSDIR) ARCH_OPT="$(ARCH_OPT)" -C hermit - make PATH=$(PATH):$(CROSSDIR) ARCH_OPT="$(ARCH_OPT)" -C hermit/tools proxy +# Set your own cross compiler tool chain prefix here +CROSSCOMPREFIX = x86_64-hermit +STACKPROT = -fno-stack-protector -all: default +FC_FOR_TARGET = $(CROSSCOMPREFIX)-gfortran +CC_FOR_TARGET = $(CROSSCOMPREFIX)-gcc +GO_FOR_TARGET = $(CROSSCOMPREFIX)-gccgo +CXX_FOR_TARGET = $(CROSSCOMPREFIX)-g++ +GCC_FOR_TARGET = $(CROSSCOMPREFIX)-gcc +CPP_FOR_TARGET = $(CROSSCOMPREFIX)-cpp +AR_FOR_TARGET = $(CROSSCOMPREFIX)-ar +AS_FOR_TARGET = $(CROSSCOMPREFIX)-as +LD_FOR_TARGET = $(CROSSCOMPREFIX)-ld +NM_FOR_TARGET = $(CROSSCOMPREFIX)-nm +OBJDUMP_FOR_TARGET = $(CROSSCOMPREFIX)-objdump +OBJCOPY_FOR_TARGET = $(CROSSCOMPREFIX)-objcopy +RANLIB_FOR_TARGET = $(CROSSCOMPREFIX)-ranlib +STRIP_FOR_TARGET = $(CROSSCOMPREFIX)-strip +READELF_FOR_TARGET = $(CROSSCOMPREFIX)-readelf +ELFEDIT_FOR_TARGET = $(CROSSCOMPREFIX)-elfedit + +MAKE = make +NASM = nasm +NASMFLAGS = -felf64 -g -i$(TOPDIR)/include/hermit/ + +INCLUDE = -I$(TOPDIR)/include -I$(TOPDIR)/arch/$(ARCH)/include -I$(TOPDIR)/lwip/src/include -I$(TOPDIR)/drivers +CFLAGS = -DVERSION=\"$(GIT_VERSION)\" -g -m64 -Wall -O2 -mno-red-zone -fno-var-tracking-assignments -fstrength-reduce -fomit-frame-pointer -finline-functions -ffreestanding -nostdinc -fno-stack-protector -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fno-delete-null-pointer-checks -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mskip-rax-setup -fno-common -Wframe-larger-than=1024 -fno-strict-aliasing -fno-asynchronous-unwind-tables -fno-strict-overflow -maccumulate-outgoing-args $(INCLUDE) +AR = ar +ARFLAGS = rsv +RM = rm -rf +OUTPUT_FORMAT = -O elf64-x86-64-hermit + +# Additional flags for profiling using Xray +PROFILING_LDFLAGS = +PROFILING_CFLAGS = + +ifdef PROFILING + PROFILING_LDFLAGS = -lxray + + PROFILING_CFLAGS = -falign-functions=32 -finstrument-functions + PROFILING_CFLAGS += -finstrument-functions-exclude-function-list=_mm_pause,_mm_setcsr,_mm_getcsr # we need this for libiomp to work + PROFILING_CFLAGS += -DXRAY -DXRAY_DISABLE_BROWSER_INTEGRATION -DXRAY_NO_DEMANGLE + PROFILING_CFLAGS += -DXRAY_ANNOTATE +endif + +CFLAGS_FOR_NEWLIB = -m64 -mtls-direct-seg-refs -O3 -ftree-vectorize $(ARCH_OPT) #$(STACKPROT) +GOFLAGS_FOR_NEWLIB = -m64 -mtls-direct-seg-refs -O3 -ftree-vectorize $(ARCH_OPT) +FCFLAGS_FOR_NEWLIB = -m64 -mtls-direct-seg-refs -O3 -ftree-vectorize $(ARCH_OPT) +FFLAGS_FOR_NEWLIB = -m64 -mtls-direct-seg-refs -O3 -ftree-vectorize $(ARCH_OPT) +CXXFLAGS_FOR_NEWLIB = -m64 -mtls-direct-seg-refs -O3 -ftree-vectorize $(ARCH_OPT) +LDFLAGS_FOR_NEWLIB = +NASMFLAGS_FOR_NEWLIB = -felf64 +CFLAGS_FOR_TOOLS = -O2 -Wall -std=gnu99 +LDFLAGS_FOR_TOOLS = + +# Prettify output +V = 0 +ifeq ($V,0) + Q = @ + P = > /dev/null +endif + + +default: all + +all: arch/x86/kernel/boot.h bootstrap $(NAME) toolchain tools loader + +toolchain: + $Q$(MAKE) ARCH=$(ARCH) \ + LDFLAGS_FOR_TARGET="$(LDFLAGS_FOR_NEWLIB)" \ + GOFLAGS_FOR_TARGET="$(GOFLAGS_FOR_NEWLIB)" \ + CFLAGS_FOR_TARGET="$(CFLAGS_FOR_NEWLIB)" \ + FFLAGS_FOR_TARGET="$(FFLAGS_FOR_NEWLIB)" \ + FCFLAGS_FOR_TARGET="$(FCFLAGS_FOR_NEWLIB)" \ + FCFLAGS="$(FCFLAGS_FOR_NEWLIB)" \ + CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_NEWLIB)" \ + NASMFLAGS="$(NASMFLAGS_FOR_NEWLIB)" \ + CC_FOR_TARGET=$(CC_FOR_TARGET) \ + GO_FOR_TARGET=$(GO_FOR_TARGET) \ + FC_FOR_TARGET=$(FC_FOR_TARGET) \ + CXX_FOR_TARGET=$(CXX_FOR_TARGET) \ + GCC_FOR_TARGET=$(GCC_FOR_TARGET) \ + AR_FOR_TARGET=$(AR_FOR_TARGET) \ + AS_FOR_TARGET=$(AS_FOR_TARGET) \ + LD_FOR_TARGET=$(LD_FOR_TARGET) \ + NM_FOR_TARGET=$(NM_FOR_TARGET) \ + OBJDUMP_FOR_TARGET=$(OBJDUMP_FOR_TARGET) \ + OBJCOPY_FOR_TARGET=$(OBJCOPY_FOR_TARGET) \ + RANLIB_FOR_TARGET=$(RANLIB_FOR_TARGET) \ + STRIP_FOR_TARGET=$(STRIP_FOR_TARGET) \ + ELFEDIT_FOR_TARGET=$(ELFEDIT_FOR_TARGET) \ + READELF_FOR_TARGET=$(READELF_FOR_TARGET) \ + PROFILING_CFLAGS="$(PROFILING_CFLAGS)" \ + PROFILING_LDFLAGS="$(PROFILING_LDFLAGS)" -C usr toolchain + +bootstrap: + $Q$(MAKE) ARCH=$(ARCH) CFLAGS="" LDFLAGS="" -C usr bootstrap + +tools: + $Q$(MAKE) ARCH=$(ARCH) CFLAGS="$(CFLAGS_FOR_TOOLS)" LDFLAGS="$(LDFLAGS_FOR_TOOLS)" -C tools + +loader: + $Q$(MAKE) -C arch/$(ARCH)/loader + +$(NAME): + @echo [AR] $(NAME) + $Q$(AR_FOR_TARGET) $(ARFLAGS) -o $(NAME) $^ + $Q$(OBJCOPY_FOR_TARGET) --rename-section .bss=.kbss --rename-section .text=.ktext --rename-section .data=.kdata $(NAME) $(TOPDIR)/usr/$(ARCH)/$(CROSSCOMPREFIX)/lib/$(NAME) test: . ./test.sh qemu: $(QEMU) -smp 10 -m 8G -numa node,nodeid=0,cpus=0-4 -numa node,nodeid=1,cpus=5-9 \ - -kernel config/bzImage \ - -append "root=/dev/ram0 rootfstype=ramfs init=init console=ttyS0" \ - -net nic,model=rtl8139 -net user -net dump \ - -nographic -monitor telnet:127.0.0.1:1235,server,nowait \ - -fsdev local,security_model=none,id=fsdev0,path=$(shell realpath hermit) \ - -device virtio-9p-pci,id=fs0,fsdev=fsdev0,mount_tag=hermit \ - -s + -kernel config/bzImage \ + -append "root=/dev/ram0 rootfstype=ramfs init=init console=ttyS0" \ + -net nic,model=rtl8139 -net user -net dump \ + -nographic -monitor telnet:127.0.0.1:1235,server,nowait \ + -fsdev local,security_model=none,id=fsdev0,path=$(shell realpath .) \ + -device virtio-9p-pci,id=fs0,fsdev=fsdev0,mount_tag=hermit \ + -s + clean: - make -C hermit clean + $Q$(RM) $(NAME) $(NAME).sym $(NAME).bin *~ + $Q$(MAKE) -C tools clean + $Q$(MAKE) -C usr clean + $Q$(MAKE) -C arch/$(ARCH)/loader clean + @echo Cleaned. -veryclean: - make -C hermit veryclean +veryclean: clean + $Q$(RM) qemu-vlan0.pcap include/hermit/config.inc + $Q$(MAKE) -C tools veryclean + $Q$(MAKE) -C usr veryclean + $Q$(MAKE) -C arch/$(ARCH)/loader veryclean + @echo Very cleaned -.PHONY: default all clean veryclean test +doc: + @echo Create documentation... + @doxygen + +%.o : %.c + @echo [CC] $@ + $Q$(CC_FOR_TARGET) -c -D__KERNEL__ $(CFLAGS) -o $@ $< + @echo [DEP] $*.dep + $Q$(CC_FOR_TARGET) -MF $*.dep -MT $*.o -MM $(CFLAGS) $< + +arch/x86/kernel/boot.bin: arch/x86/kernel/boot.asm + @echo " NASM $@" + $Q$(NASM) -fbin -o $@ $< + +arch/x86/kernel/boot.h: arch/x86/kernel/boot.bin + @echo " HEXDUMP $@" + $Qecho "static const uint8_t boot_code[] = { \ + $(shell hexdump -v -e '"0x" 1/1 "%02X" ", "' $<) \ + };" > $@ + +include/hermit/config.inc: include/hermit/config.h + @echo "; This file is generated automatically from the config.h file." > include/hermit/config.inc + @echo "; Before editing this, you should consider editing config.h." >> include/hermit/config.inc + @awk '/^#define MAX_CORES/{ print "%define MAX_CORES", $$3 }' include/hermit/config.h >> include/hermit/config.inc + @awk '/^#define KERNEL_STACK_SIZE/{ print "%define KERNEL_STACK_SIZE", $$3 }' include/hermit/config.h >> include/hermit/config.inc + @awk '/^#define VIDEO_MEM_ADDR/{ print "%define VIDEO_MEM_ADDR", $$3 }' include/hermit/config.h >> include/hermit/config.inc + @awk '/^#define CONFIG_VGA/{ print "%define CONFIG_VGA", $$3 }' include/hermit/config.h >> include/hermit/config.inc + @awk '/^#define DYNAMIC_TICKS/{ print "%define DYNAMIC_TICKS", $$3 }' include/hermit/config.h >> include/hermit/config.inc + @awk '/^#define SAVE_FPU/{ print "%define SAVE_FPU", $$3 }' include/hermit/config.h >> include/hermit/config.inc + +%.o : %.asm include/hermit/config.inc + @echo [ASM] $@ + $Q$(NASM) $(NASMFLAGS) -o $@ $< + $Q$(ELFEDIT_FOR_TARGET) --output-osabi HermitCore $@ + #$Q$(OBJCOPY_FOR_TARGET) $(OUTPUT_FORMAT) $@ + +%.o : %.S + @echo [GCC-ASM] $@ + $Q$(CC_FOR_TARGET) $(CFLAGS) -c -o $@ $< + +.PHONY: default all clean qemu gdb usr test toolchain tools + +include $(addsuffix /Makefile,$(SUBDIRS)) diff --git a/hermit/Makefile.inc b/Makefile.inc similarity index 100% rename from hermit/Makefile.inc rename to Makefile.inc diff --git a/README.md b/README.md index 29f9943a4..0063ae402 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ On Debian-based systems the packets can be installed by executing: 2. Install the Linux kernel and its initial ramdisk on your system (see descriptions of your Linux distribution). We recommend to disable Linux NO_HZ feature by setting the kernel parameter `nohz=off`. 3. After a reboot of the system, register the HermitCore loader at your system with following command: `echo ":hermit:M:7:\\x42::/path2proyxy/proxy:" > /proc/sys/fs/binfmt_misc/register`, in which `path2proxy` defines the path to the loader. - You find the loader `proxy` after building the HermiCore sources in the subdirectory `hermit/tools` of the directory, which contains this *README*. + You find the loader `proxy` after building the HermiCore sources in the subdirectory `tools` of the directory, which contains this *README*. 4. The IP device between HermitCore and Linux currently does not support IPv6. Consequently, disable IPv6 by adding following line to `/etc/sysctl.conf`: `net.ipv6.conf.mmnif.disable_ipv6 = 1`. 5. Per default, the IP device uses a static IP address range. @@ -81,7 +81,7 @@ NM_CONTROLLED=yes ``` Finally, follow the [above tutorial](#building-and-testing-hermitcore-within-a-virtual-machine) from Step 5. -The demo applications are located in their subdirectories `hermit/usr/{tests,benchmarks}`. +The demo applications are located in their subdirectories `usr/{tests,benchmarks}`. ## Builting and testing HermitCore as classical standalone unikernel @@ -106,13 +106,13 @@ The connection to the system monitor used automatically `HERMIT_PORT+1`, i.e., t The following example starts the stream benchmark in a virtual machine, which has 4 cores and 6GB memory. ``` -HERMIT_ISLE=qemu HERMIT_CPUS=4 HERMIT_MEM=6G hermit/usr/benchmarks/stream +HERMIT_ISLE=qemu HERMIT_CPUS=4 HERMIT_MEM=6G usr/benchmarks/stream ``` ## Building HermitCore applications -After successful building of HermitCore and its demo applications (see above), HermitCore’s cross toolchain (*gcc*, *g++*, *gfortran*, *gccgo*, *objdump*, etc.) is located at the subdiretory `hermit/usr/x86` of the directory, which contains this *README*. -To use these tools, add `hermit/usr/x86/bin` to your environment variable `PATH`. +After successful building of HermitCore and its demo applications (see above), HermitCore’s cross toolchain (*gcc*, *g++*, *gfortran*, *gccgo*, *objdump*, etc.) is located at the subdiretory `usr/x86` of the directory, which contains this *README*. +To use these tools, add `usr/x86/bin` to your environment variable `PATH`. As with any other cross toolchain, the tool names begin with the target architecture (*x86_64*) and the name of the operating system (*hermit*). For instance, `x86_64-hermit-gcc` stands for the GNU C compiler, which is able to build HermitCore applications. diff --git a/hermit/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h similarity index 100% rename from hermit/arch/x86/include/asm/apic.h rename to arch/x86/include/asm/apic.h diff --git a/hermit/arch/x86/include/asm/atomic.h b/arch/x86/include/asm/atomic.h similarity index 100% rename from hermit/arch/x86/include/asm/atomic.h rename to arch/x86/include/asm/atomic.h diff --git a/hermit/arch/x86/include/asm/atomic32.h b/arch/x86/include/asm/atomic32.h similarity index 100% rename from hermit/arch/x86/include/asm/atomic32.h rename to arch/x86/include/asm/atomic32.h diff --git a/hermit/arch/x86/include/asm/atomic64.h b/arch/x86/include/asm/atomic64.h similarity index 100% rename from hermit/arch/x86/include/asm/atomic64.h rename to arch/x86/include/asm/atomic64.h diff --git a/hermit/arch/x86/include/asm/gdt.h b/arch/x86/include/asm/gdt.h similarity index 100% rename from hermit/arch/x86/include/asm/gdt.h rename to arch/x86/include/asm/gdt.h diff --git a/hermit/arch/x86/include/asm/idt.h b/arch/x86/include/asm/idt.h similarity index 100% rename from hermit/arch/x86/include/asm/idt.h rename to arch/x86/include/asm/idt.h diff --git a/hermit/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h similarity index 100% rename from hermit/arch/x86/include/asm/io.h rename to arch/x86/include/asm/io.h diff --git a/hermit/arch/x86/include/asm/irq.h b/arch/x86/include/asm/irq.h similarity index 100% rename from hermit/arch/x86/include/asm/irq.h rename to arch/x86/include/asm/irq.h diff --git a/hermit/arch/x86/include/asm/irqflags.h b/arch/x86/include/asm/irqflags.h similarity index 100% rename from hermit/arch/x86/include/asm/irqflags.h rename to arch/x86/include/asm/irqflags.h diff --git a/hermit/arch/x86/include/asm/isrs.h b/arch/x86/include/asm/isrs.h similarity index 100% rename from hermit/arch/x86/include/asm/isrs.h rename to arch/x86/include/asm/isrs.h diff --git a/hermit/arch/x86/include/asm/limits.h b/arch/x86/include/asm/limits.h similarity index 100% rename from hermit/arch/x86/include/asm/limits.h rename to arch/x86/include/asm/limits.h diff --git a/hermit/arch/x86/include/asm/multiboot.h b/arch/x86/include/asm/multiboot.h similarity index 100% rename from hermit/arch/x86/include/asm/multiboot.h rename to arch/x86/include/asm/multiboot.h diff --git a/hermit/arch/x86/include/asm/page.h b/arch/x86/include/asm/page.h similarity index 100% rename from hermit/arch/x86/include/asm/page.h rename to arch/x86/include/asm/page.h diff --git a/hermit/arch/x86/include/asm/pci.h b/arch/x86/include/asm/pci.h similarity index 100% rename from hermit/arch/x86/include/asm/pci.h rename to arch/x86/include/asm/pci.h diff --git a/hermit/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h similarity index 100% rename from hermit/arch/x86/include/asm/processor.h rename to arch/x86/include/asm/processor.h diff --git a/hermit/arch/x86/include/asm/stddef.h b/arch/x86/include/asm/stddef.h similarity index 100% rename from hermit/arch/x86/include/asm/stddef.h rename to arch/x86/include/asm/stddef.h diff --git a/hermit/arch/x86/include/asm/string.h b/arch/x86/include/asm/string.h similarity index 100% rename from hermit/arch/x86/include/asm/string.h rename to arch/x86/include/asm/string.h diff --git a/hermit/arch/x86/include/asm/tasks.h b/arch/x86/include/asm/tasks.h similarity index 100% rename from hermit/arch/x86/include/asm/tasks.h rename to arch/x86/include/asm/tasks.h diff --git a/hermit/arch/x86/include/asm/tasks_types.h b/arch/x86/include/asm/tasks_types.h similarity index 100% rename from hermit/arch/x86/include/asm/tasks_types.h rename to arch/x86/include/asm/tasks_types.h diff --git a/hermit/arch/x86/include/asm/tss.h b/arch/x86/include/asm/tss.h similarity index 100% rename from hermit/arch/x86/include/asm/tss.h rename to arch/x86/include/asm/tss.h diff --git a/hermit/arch/x86/include/asm/uart.h b/arch/x86/include/asm/uart.h similarity index 100% rename from hermit/arch/x86/include/asm/uart.h rename to arch/x86/include/asm/uart.h diff --git a/hermit/arch/x86/include/asm/vga.h b/arch/x86/include/asm/vga.h similarity index 100% rename from hermit/arch/x86/include/asm/vga.h rename to arch/x86/include/asm/vga.h diff --git a/hermit/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile similarity index 100% rename from hermit/arch/x86/kernel/Makefile rename to arch/x86/kernel/Makefile diff --git a/hermit/arch/x86/kernel/apic.c b/arch/x86/kernel/apic.c similarity index 100% rename from hermit/arch/x86/kernel/apic.c rename to arch/x86/kernel/apic.c diff --git a/hermit/arch/x86/kernel/boot.asm b/arch/x86/kernel/boot.asm similarity index 100% rename from hermit/arch/x86/kernel/boot.asm rename to arch/x86/kernel/boot.asm diff --git a/hermit/arch/x86/kernel/entry.asm b/arch/x86/kernel/entry.asm similarity index 100% rename from hermit/arch/x86/kernel/entry.asm rename to arch/x86/kernel/entry.asm diff --git a/hermit/arch/x86/kernel/gdt.c b/arch/x86/kernel/gdt.c similarity index 100% rename from hermit/arch/x86/kernel/gdt.c rename to arch/x86/kernel/gdt.c diff --git a/hermit/arch/x86/kernel/idt.c b/arch/x86/kernel/idt.c similarity index 100% rename from hermit/arch/x86/kernel/idt.c rename to arch/x86/kernel/idt.c diff --git a/hermit/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c similarity index 100% rename from hermit/arch/x86/kernel/irq.c rename to arch/x86/kernel/irq.c diff --git a/hermit/arch/x86/kernel/isrs.c b/arch/x86/kernel/isrs.c similarity index 100% rename from hermit/arch/x86/kernel/isrs.c rename to arch/x86/kernel/isrs.c diff --git a/hermit/arch/x86/kernel/pci.c b/arch/x86/kernel/pci.c similarity index 100% rename from hermit/arch/x86/kernel/pci.c rename to arch/x86/kernel/pci.c diff --git a/hermit/arch/x86/kernel/pcihdr.h b/arch/x86/kernel/pcihdr.h similarity index 100% rename from hermit/arch/x86/kernel/pcihdr.h rename to arch/x86/kernel/pcihdr.h diff --git a/hermit/arch/x86/kernel/processor.c b/arch/x86/kernel/processor.c similarity index 100% rename from hermit/arch/x86/kernel/processor.c rename to arch/x86/kernel/processor.c diff --git a/hermit/arch/x86/kernel/string.asm b/arch/x86/kernel/string.asm similarity index 100% rename from hermit/arch/x86/kernel/string.asm rename to arch/x86/kernel/string.asm diff --git a/hermit/arch/x86/kernel/syscall.c b/arch/x86/kernel/syscall.c similarity index 100% rename from hermit/arch/x86/kernel/syscall.c rename to arch/x86/kernel/syscall.c diff --git a/hermit/arch/x86/kernel/tasks.c b/arch/x86/kernel/tasks.c similarity index 100% rename from hermit/arch/x86/kernel/tasks.c rename to arch/x86/kernel/tasks.c diff --git a/hermit/arch/x86/kernel/timer.c b/arch/x86/kernel/timer.c similarity index 100% rename from hermit/arch/x86/kernel/timer.c rename to arch/x86/kernel/timer.c diff --git a/hermit/arch/x86/kernel/uart.c b/arch/x86/kernel/uart.c similarity index 100% rename from hermit/arch/x86/kernel/uart.c rename to arch/x86/kernel/uart.c diff --git a/hermit/arch/x86/kernel/vga.c b/arch/x86/kernel/vga.c similarity index 100% rename from hermit/arch/x86/kernel/vga.c rename to arch/x86/kernel/vga.c diff --git a/hermit/arch/x86/loader/Makefile b/arch/x86/loader/Makefile similarity index 100% rename from hermit/arch/x86/loader/Makefile rename to arch/x86/loader/Makefile diff --git a/hermit/arch/x86/loader/entry.asm b/arch/x86/loader/entry.asm similarity index 100% rename from hermit/arch/x86/loader/entry.asm rename to arch/x86/loader/entry.asm diff --git a/hermit/arch/x86/loader/include/elf.h b/arch/x86/loader/include/elf.h similarity index 100% rename from hermit/arch/x86/loader/include/elf.h rename to arch/x86/loader/include/elf.h diff --git a/hermit/arch/x86/loader/include/io.h b/arch/x86/loader/include/io.h similarity index 100% rename from hermit/arch/x86/loader/include/io.h rename to arch/x86/loader/include/io.h diff --git a/hermit/arch/x86/loader/include/multiboot.h b/arch/x86/loader/include/multiboot.h similarity index 100% rename from hermit/arch/x86/loader/include/multiboot.h rename to arch/x86/loader/include/multiboot.h diff --git a/hermit/arch/x86/loader/include/page.h b/arch/x86/loader/include/page.h similarity index 100% rename from hermit/arch/x86/loader/include/page.h rename to arch/x86/loader/include/page.h diff --git a/hermit/arch/x86/loader/include/stdarg.h b/arch/x86/loader/include/stdarg.h similarity index 100% rename from hermit/arch/x86/loader/include/stdarg.h rename to arch/x86/loader/include/stdarg.h diff --git a/hermit/arch/x86/loader/include/stddef.h b/arch/x86/loader/include/stddef.h similarity index 100% rename from hermit/arch/x86/loader/include/stddef.h rename to arch/x86/loader/include/stddef.h diff --git a/hermit/arch/x86/loader/include/stdio.h b/arch/x86/loader/include/stdio.h similarity index 100% rename from hermit/arch/x86/loader/include/stdio.h rename to arch/x86/loader/include/stdio.h diff --git a/hermit/arch/x86/loader/include/string.h b/arch/x86/loader/include/string.h similarity index 100% rename from hermit/arch/x86/loader/include/string.h rename to arch/x86/loader/include/string.h diff --git a/hermit/arch/x86/loader/include/uart.h b/arch/x86/loader/include/uart.h similarity index 100% rename from hermit/arch/x86/loader/include/uart.h rename to arch/x86/loader/include/uart.h diff --git a/hermit/arch/x86/loader/include/vga.h b/arch/x86/loader/include/vga.h similarity index 100% rename from hermit/arch/x86/loader/include/vga.h rename to arch/x86/loader/include/vga.h diff --git a/hermit/arch/x86/loader/link.ld b/arch/x86/loader/link.ld similarity index 100% rename from hermit/arch/x86/loader/link.ld rename to arch/x86/loader/link.ld diff --git a/hermit/arch/x86/loader/main.c b/arch/x86/loader/main.c similarity index 100% rename from hermit/arch/x86/loader/main.c rename to arch/x86/loader/main.c diff --git a/hermit/arch/x86/loader/page.c b/arch/x86/loader/page.c similarity index 100% rename from hermit/arch/x86/loader/page.c rename to arch/x86/loader/page.c diff --git a/hermit/arch/x86/loader/printf.c b/arch/x86/loader/printf.c similarity index 100% rename from hermit/arch/x86/loader/printf.c rename to arch/x86/loader/printf.c diff --git a/hermit/arch/x86/loader/stdio.c b/arch/x86/loader/stdio.c similarity index 100% rename from hermit/arch/x86/loader/stdio.c rename to arch/x86/loader/stdio.c diff --git a/hermit/arch/x86/loader/string.c b/arch/x86/loader/string.c similarity index 100% rename from hermit/arch/x86/loader/string.c rename to arch/x86/loader/string.c diff --git a/hermit/arch/x86/loader/uart.c b/arch/x86/loader/uart.c similarity index 100% rename from hermit/arch/x86/loader/uart.c rename to arch/x86/loader/uart.c diff --git a/hermit/arch/x86/loader/vga.c b/arch/x86/loader/vga.c similarity index 100% rename from hermit/arch/x86/loader/vga.c rename to arch/x86/loader/vga.c diff --git a/hermit/arch/x86/mm/Makefile b/arch/x86/mm/Makefile similarity index 100% rename from hermit/arch/x86/mm/Makefile rename to arch/x86/mm/Makefile diff --git a/hermit/arch/x86/mm/page.c b/arch/x86/mm/page.c similarity index 100% rename from hermit/arch/x86/mm/page.c rename to arch/x86/mm/page.c diff --git a/configure b/configure index 49cfa90e2..7437729a7 100755 --- a/configure +++ b/configure @@ -1727,8 +1727,7 @@ done # Checks for library functions. -cp config/linux_config linux/.config -CROSSDIR=`pwd`/hermit/usr/x86/bin +CROSSDIR=`pwd`/usr/x86/bin diff --git a/configure.ac b/configure.ac index c5aef6bf2..6a3d9ab06 100644 --- a/configure.ac +++ b/configure.ac @@ -15,8 +15,7 @@ AC_CHECK_PROGS(QEMU, qemu-system-x86_64) # Checks for library functions. -cp config/linux_config linux/.config -CROSSDIR=`pwd`/hermit/usr/x86/bin +CROSSDIR=`pwd`/usr/x86/bin AC_SUBST(CROSSDIR) AC_ARG_WITH([mtune], diff --git a/hermit/drivers/net/Makefile b/drivers/net/Makefile similarity index 100% rename from hermit/drivers/net/Makefile rename to drivers/net/Makefile diff --git a/hermit/drivers/net/e1000.c b/drivers/net/e1000.c similarity index 100% rename from hermit/drivers/net/e1000.c rename to drivers/net/e1000.c diff --git a/hermit/drivers/net/e1000.h b/drivers/net/e1000.h similarity index 100% rename from hermit/drivers/net/e1000.h rename to drivers/net/e1000.h diff --git a/hermit/drivers/net/mmnif.c b/drivers/net/mmnif.c similarity index 100% rename from hermit/drivers/net/mmnif.c rename to drivers/net/mmnif.c diff --git a/hermit/drivers/net/mmnif.h b/drivers/net/mmnif.h similarity index 100% rename from hermit/drivers/net/mmnif.h rename to drivers/net/mmnif.h diff --git a/hermit/drivers/net/rtl8139.c b/drivers/net/rtl8139.c similarity index 100% rename from hermit/drivers/net/rtl8139.c rename to drivers/net/rtl8139.c diff --git a/hermit/drivers/net/rtl8139.h b/drivers/net/rtl8139.h similarity index 100% rename from hermit/drivers/net/rtl8139.h rename to drivers/net/rtl8139.h diff --git a/hermit/drivers/net/util.c b/drivers/net/util.c similarity index 100% rename from hermit/drivers/net/util.c rename to drivers/net/util.c diff --git a/hermit/drivers/net/util.h b/drivers/net/util.h similarity index 100% rename from hermit/drivers/net/util.h rename to drivers/net/util.h diff --git a/hermit/.gitignore b/hermit/.gitignore deleted file mode 100644 index 3e362f29e..000000000 --- a/hermit/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -*.o -*.a -*.dep -*~ -*.elf -*.elf32 -*.sym -*.bin -qemu-vlan0.pcap -autom4te.cache -documentation/html/ -include/hermit/config.inc -tools/proxy -usr/tests/hello -usr/tests/hello++ -usr/tests/hellof -usr/tests/jacobi -usr/tests/thr_hello -usr/tests/pi -usr/tests/RCCE_minimum -usr/tests/signals -usr/tests/server -usr/benchmarks/RCCE_pingping -usr/benchmarks/RCCE_pingpong -usr/benchmarks/stream -usr/benchmarks/hg -usr/benchmarks/netio -usr/benchmarks/basic -usr/openmpbench/schedbench -usr/openmpbench/syncbench -usr/openmpbench/taskbench -usr/x86/ -usr/tmp/ -arch/x86/kernel/boot.h diff --git a/hermit/Makefile b/hermit/Makefile deleted file mode 100644 index 7b3a04e17..000000000 --- a/hermit/Makefile +++ /dev/null @@ -1,178 +0,0 @@ -TERM = xterm -TOPDIR := $(shell pwd) -ARCH = x86 -NAME = libhermit.a -DRIVERDIRS = drivers/net -LWIPDIRS = lwip/src/arch lwip/src/api lwip/src/core lwip/src/core/ipv4 lwip/src/core/ipv6 lwip/src/netif -KERNDIRS = kernel mm libkern arch/$(ARCH)/kernel arch/$(ARCH)/mm $(LWIPDIRS) $(DRIVERDIRS) -SUBDIRS = $(KERNDIRS) -GIT_VERSION := $(shell git describe --abbrev=6 --dirty --always --tags) -TODAY := $(shell date +'%Y%m%d') -INITRAMFS=../../busybox-1.23.2/initramfs/ - -# Set your own cross compiler tool chain prefix here -CROSSCOMPREFIX = x86_64-hermit -STACKPROT = -fno-stack-protector - -FC_FOR_TARGET = $(CROSSCOMPREFIX)-gfortran -CC_FOR_TARGET = $(CROSSCOMPREFIX)-gcc -GO_FOR_TARGET = $(CROSSCOMPREFIX)-gccgo -CXX_FOR_TARGET = $(CROSSCOMPREFIX)-g++ -GCC_FOR_TARGET = $(CROSSCOMPREFIX)-gcc -CPP_FOR_TARGET = $(CROSSCOMPREFIX)-cpp -AR_FOR_TARGET = $(CROSSCOMPREFIX)-ar -AS_FOR_TARGET = $(CROSSCOMPREFIX)-as -LD_FOR_TARGET = $(CROSSCOMPREFIX)-ld -NM_FOR_TARGET = $(CROSSCOMPREFIX)-nm -OBJDUMP_FOR_TARGET = $(CROSSCOMPREFIX)-objdump -OBJCOPY_FOR_TARGET = $(CROSSCOMPREFIX)-objcopy -RANLIB_FOR_TARGET = $(CROSSCOMPREFIX)-ranlib -STRIP_FOR_TARGET = $(CROSSCOMPREFIX)-strip -READELF_FOR_TARGET = $(CROSSCOMPREFIX)-readelf -ELFEDIT_FOR_TARGET = $(CROSSCOMPREFIX)-elfedit - -MAKE = make -NASM = nasm -NASMFLAGS = -felf64 -g -i$(TOPDIR)/include/hermit/ - -INCLUDE = -I$(TOPDIR)/include -I$(TOPDIR)/arch/$(ARCH)/include -I$(TOPDIR)/lwip/src/include -I$(TOPDIR)/drivers -CFLAGS = -DVERSION=\"$(GIT_VERSION)\" -g -m64 -Wall -O2 -mno-red-zone -fno-var-tracking-assignments -fstrength-reduce -fomit-frame-pointer -finline-functions -ffreestanding -nostdinc -fno-stack-protector -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fno-delete-null-pointer-checks -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mskip-rax-setup -fno-common -Wframe-larger-than=1024 -fno-strict-aliasing -fno-asynchronous-unwind-tables -fno-strict-overflow -maccumulate-outgoing-args $(INCLUDE) -AR = ar -ARFLAGS = rsv -RM = rm -rf -OUTPUT_FORMAT = -O elf64-x86-64-hermit - -# Additional flags for profiling using Xray -PROFILING_LDFLAGS = -PROFILING_CFLAGS = - -ifdef PROFILING - PROFILING_LDFLAGS = -lxray - - PROFILING_CFLAGS = -falign-functions=32 -finstrument-functions - PROFILING_CFLAGS += -finstrument-functions-exclude-function-list=_mm_pause,_mm_setcsr,_mm_getcsr # we need this for libiomp to work - PROFILING_CFLAGS += -DXRAY -DXRAY_DISABLE_BROWSER_INTEGRATION -DXRAY_NO_DEMANGLE - PROFILING_CFLAGS += -DXRAY_ANNOTATE -endif - -CFLAGS_FOR_NEWLIB = -m64 -mtls-direct-seg-refs -O3 -ftree-vectorize $(ARCH_OPT) #$(STACKPROT) -GOFLAGS_FOR_NEWLIB = -m64 -mtls-direct-seg-refs -O3 -ftree-vectorize $(ARCH_OPT) -FCFLAGS_FOR_NEWLIB = -m64 -mtls-direct-seg-refs -O3 -ftree-vectorize $(ARCH_OPT) -FFLAGS_FOR_NEWLIB = -m64 -mtls-direct-seg-refs -O3 -ftree-vectorize $(ARCH_OPT) -CXXFLAGS_FOR_NEWLIB = -m64 -mtls-direct-seg-refs -O3 -ftree-vectorize $(ARCH_OPT) -LDFLAGS_FOR_NEWLIB = -NASMFLAGS_FOR_NEWLIB = -felf64 -CFLAGS_FOR_TOOLS = -O2 -Wall -std=gnu99 -LDFLAGS_FOR_TOOLS = - -# Prettify output -V = 0 -ifeq ($V,0) - Q = @ - P = > /dev/null -endif - - -default: all - -all: arch/x86/kernel/boot.h bootstrap $(NAME) toolchain tools loader - -toolchain: - $Q$(MAKE) ARCH=$(ARCH) \ - LDFLAGS_FOR_TARGET="$(LDFLAGS_FOR_NEWLIB)" \ - GOFLAGS_FOR_TARGET="$(GOFLAGS_FOR_NEWLIB)" \ - CFLAGS_FOR_TARGET="$(CFLAGS_FOR_NEWLIB)" \ - FFLAGS_FOR_TARGET="$(FFLAGS_FOR_NEWLIB)" \ - FCFLAGS_FOR_TARGET="$(FCFLAGS_FOR_NEWLIB)" \ - FCFLAGS="$(FCFLAGS_FOR_NEWLIB)" \ - CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_NEWLIB)" \ - NASMFLAGS="$(NASMFLAGS_FOR_NEWLIB)" \ - CC_FOR_TARGET=$(CC_FOR_TARGET) \ - GO_FOR_TARGET=$(GO_FOR_TARGET) \ - FC_FOR_TARGET=$(FC_FOR_TARGET) \ - CXX_FOR_TARGET=$(CXX_FOR_TARGET) \ - GCC_FOR_TARGET=$(GCC_FOR_TARGET) \ - AR_FOR_TARGET=$(AR_FOR_TARGET) \ - AS_FOR_TARGET=$(AS_FOR_TARGET) \ - LD_FOR_TARGET=$(LD_FOR_TARGET) \ - NM_FOR_TARGET=$(NM_FOR_TARGET) \ - OBJDUMP_FOR_TARGET=$(OBJDUMP_FOR_TARGET) \ - OBJCOPY_FOR_TARGET=$(OBJCOPY_FOR_TARGET) \ - RANLIB_FOR_TARGET=$(RANLIB_FOR_TARGET) \ - STRIP_FOR_TARGET=$(STRIP_FOR_TARGET) \ - ELFEDIT_FOR_TARGET=$(ELFEDIT_FOR_TARGET) \ - READELF_FOR_TARGET=$(READELF_FOR_TARGET) \ - PROFILING_CFLAGS="$(PROFILING_CFLAGS)" \ - PROFILING_LDFLAGS="$(PROFILING_LDFLAGS)" -C usr toolchain - -bootstrap: - $Q$(MAKE) ARCH=$(ARCH) CFLAGS="" LDFLAGS="" -C usr bootstrap - -tools: - $Q$(MAKE) ARCH=$(ARCH) CFLAGS="$(CFLAGS_FOR_TOOLS)" LDFLAGS="$(LDFLAGS_FOR_TOOLS)" -C tools - -loader: - $Q$(MAKE) -C arch/$(ARCH)/loader - -$(NAME): - @echo [AR] $(NAME) - $Q$(AR_FOR_TARGET) $(ARFLAGS) -o $(NAME) $^ - $Q$(OBJCOPY_FOR_TARGET) --rename-section .bss=.kbss --rename-section .text=.ktext --rename-section .data=.kdata $(NAME) $(TOPDIR)/usr/$(ARCH)/$(CROSSCOMPREFIX)/lib/$(NAME) - -clean: - $Q$(RM) $(NAME) $(NAME).sym $(NAME).bin *~ - $Q$(MAKE) -C tools clean - $Q$(MAKE) -C usr clean - $Q$(MAKE) -C arch/$(ARCH)/loader clean - @echo Cleaned. - -veryclean: clean - $Q$(RM) qemu-vlan0.pcap include/hermit/config.inc - $Q$(MAKE) -C tools veryclean - $Q$(MAKE) -C usr veryclean - $Q$(MAKE) -C arch/$(ARCH)/loader veryclean - @echo Very cleaned - -doc: - @echo Create documentation... - @doxygen - -%.o : %.c - @echo [CC] $@ - $Q$(CC_FOR_TARGET) -c -D__KERNEL__ $(CFLAGS) -o $@ $< - @echo [DEP] $*.dep - $Q$(CC_FOR_TARGET) -MF $*.dep -MT $*.o -MM $(CFLAGS) $< - -arch/x86/kernel/boot.bin: arch/x86/kernel/boot.asm - @echo " NASM $@" - $Q$(NASM) -fbin -o $@ $< - -arch/x86/kernel/boot.h: arch/x86/kernel/boot.bin - @echo " HEXDUMP $@" - $Qecho "static const uint8_t boot_code[] = { \ - $(shell hexdump -v -e '"0x" 1/1 "%02X" ", "' $<) \ - };" > $@ - -include/hermit/config.inc: include/hermit/config.h - @echo "; This file is generated automatically from the config.h file." > include/hermit/config.inc - @echo "; Before editing this, you should consider editing config.h." >> include/hermit/config.inc - @awk '/^#define MAX_CORES/{ print "%define MAX_CORES", $$3 }' include/hermit/config.h >> include/hermit/config.inc - @awk '/^#define KERNEL_STACK_SIZE/{ print "%define KERNEL_STACK_SIZE", $$3 }' include/hermit/config.h >> include/hermit/config.inc - @awk '/^#define VIDEO_MEM_ADDR/{ print "%define VIDEO_MEM_ADDR", $$3 }' include/hermit/config.h >> include/hermit/config.inc - @awk '/^#define CONFIG_VGA/{ print "%define CONFIG_VGA", $$3 }' include/hermit/config.h >> include/hermit/config.inc - @awk '/^#define DYNAMIC_TICKS/{ print "%define DYNAMIC_TICKS", $$3 }' include/hermit/config.h >> include/hermit/config.inc - @awk '/^#define SAVE_FPU/{ print "%define SAVE_FPU", $$3 }' include/hermit/config.h >> include/hermit/config.inc - -%.o : %.asm include/hermit/config.inc - @echo [ASM] $@ - $Q$(NASM) $(NASMFLAGS) -o $@ $< - $Q$(ELFEDIT_FOR_TARGET) --output-osabi HermitCore $@ - #$Q$(OBJCOPY_FOR_TARGET) $(OUTPUT_FORMAT) $@ - -%.o : %.S - @echo [GCC-ASM] $@ - $Q$(CC_FOR_TARGET) $(CFLAGS) -c -o $@ $< - -.PHONY: default all clean emu gdb usr toolchain tools - -include $(addsuffix /Makefile,$(SUBDIRS)) diff --git a/hermit/lwip b/hermit/lwip deleted file mode 160000 index 9ba109795..000000000 --- a/hermit/lwip +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 9ba109795f17376ea5dde09656de9b9c841819c5 diff --git a/hermit/include/hermit/config.h b/include/hermit/config.h similarity index 100% rename from hermit/include/hermit/config.h rename to include/hermit/config.h diff --git a/hermit/include/hermit/ctype.h b/include/hermit/ctype.h similarity index 100% rename from hermit/include/hermit/ctype.h rename to include/hermit/ctype.h diff --git a/hermit/include/hermit/dequeue.h b/include/hermit/dequeue.h similarity index 100% rename from hermit/include/hermit/dequeue.h rename to include/hermit/dequeue.h diff --git a/hermit/include/hermit/errno.h b/include/hermit/errno.h similarity index 100% rename from hermit/include/hermit/errno.h rename to include/hermit/errno.h diff --git a/hermit/include/hermit/islelock.h b/include/hermit/islelock.h similarity index 100% rename from hermit/include/hermit/islelock.h rename to include/hermit/islelock.h diff --git a/hermit/include/hermit/logging.h b/include/hermit/logging.h similarity index 100% rename from hermit/include/hermit/logging.h rename to include/hermit/logging.h diff --git a/hermit/include/hermit/mailbox.h b/include/hermit/mailbox.h similarity index 100% rename from hermit/include/hermit/mailbox.h rename to include/hermit/mailbox.h diff --git a/hermit/include/hermit/mailbox_types.h b/include/hermit/mailbox_types.h similarity index 100% rename from hermit/include/hermit/mailbox_types.h rename to include/hermit/mailbox_types.h diff --git a/hermit/include/hermit/malloc.h b/include/hermit/malloc.h similarity index 100% rename from hermit/include/hermit/malloc.h rename to include/hermit/malloc.h diff --git a/hermit/include/hermit/memory.h b/include/hermit/memory.h similarity index 100% rename from hermit/include/hermit/memory.h rename to include/hermit/memory.h diff --git a/hermit/include/hermit/processor.h b/include/hermit/processor.h similarity index 100% rename from hermit/include/hermit/processor.h rename to include/hermit/processor.h diff --git a/hermit/include/hermit/rcce.h b/include/hermit/rcce.h similarity index 100% rename from hermit/include/hermit/rcce.h rename to include/hermit/rcce.h diff --git a/hermit/include/hermit/semaphore.h b/include/hermit/semaphore.h similarity index 100% rename from hermit/include/hermit/semaphore.h rename to include/hermit/semaphore.h diff --git a/hermit/include/hermit/semaphore_types.h b/include/hermit/semaphore_types.h similarity index 100% rename from hermit/include/hermit/semaphore_types.h rename to include/hermit/semaphore_types.h diff --git a/hermit/include/hermit/signal.h b/include/hermit/signal.h similarity index 100% rename from hermit/include/hermit/signal.h rename to include/hermit/signal.h diff --git a/hermit/include/hermit/spinlock.h b/include/hermit/spinlock.h similarity index 100% rename from hermit/include/hermit/spinlock.h rename to include/hermit/spinlock.h diff --git a/hermit/include/hermit/spinlock_types.h b/include/hermit/spinlock_types.h similarity index 100% rename from hermit/include/hermit/spinlock_types.h rename to include/hermit/spinlock_types.h diff --git a/hermit/include/hermit/stdarg.h b/include/hermit/stdarg.h similarity index 100% rename from hermit/include/hermit/stdarg.h rename to include/hermit/stdarg.h diff --git a/hermit/include/hermit/stddef.h b/include/hermit/stddef.h similarity index 100% rename from hermit/include/hermit/stddef.h rename to include/hermit/stddef.h diff --git a/hermit/include/hermit/stdio.h b/include/hermit/stdio.h similarity index 100% rename from hermit/include/hermit/stdio.h rename to include/hermit/stdio.h diff --git a/hermit/include/hermit/stdlib.h b/include/hermit/stdlib.h similarity index 100% rename from hermit/include/hermit/stdlib.h rename to include/hermit/stdlib.h diff --git a/hermit/include/hermit/string.h b/include/hermit/string.h similarity index 100% rename from hermit/include/hermit/string.h rename to include/hermit/string.h diff --git a/hermit/include/hermit/syscall.h b/include/hermit/syscall.h similarity index 100% rename from hermit/include/hermit/syscall.h rename to include/hermit/syscall.h diff --git a/hermit/include/hermit/tasks.h b/include/hermit/tasks.h similarity index 100% rename from hermit/include/hermit/tasks.h rename to include/hermit/tasks.h diff --git a/hermit/include/hermit/tasks_types.h b/include/hermit/tasks_types.h similarity index 100% rename from hermit/include/hermit/tasks_types.h rename to include/hermit/tasks_types.h diff --git a/hermit/include/hermit/time.h b/include/hermit/time.h similarity index 100% rename from hermit/include/hermit/time.h rename to include/hermit/time.h diff --git a/hermit/include/hermit/vma.h b/include/hermit/vma.h similarity index 100% rename from hermit/include/hermit/vma.h rename to include/hermit/vma.h diff --git a/hermit/include/netinet/in.h b/include/netinet/in.h similarity index 100% rename from hermit/include/netinet/in.h rename to include/netinet/in.h diff --git a/hermit/include/netinet/tcp.h b/include/netinet/tcp.h similarity index 100% rename from hermit/include/netinet/tcp.h rename to include/netinet/tcp.h diff --git a/hermit/include/stdarg.h b/include/stdarg.h similarity index 100% rename from hermit/include/stdarg.h rename to include/stdarg.h diff --git a/hermit/include/stddef.h b/include/stddef.h similarity index 100% rename from hermit/include/stddef.h rename to include/stddef.h diff --git a/hermit/include/stdlib.h b/include/stdlib.h similarity index 100% rename from hermit/include/stdlib.h rename to include/stdlib.h diff --git a/hermit/include/string.h b/include/string.h similarity index 100% rename from hermit/include/string.h rename to include/string.h diff --git a/hermit/include/sys/ipc.h b/include/sys/ipc.h similarity index 100% rename from hermit/include/sys/ipc.h rename to include/sys/ipc.h diff --git a/hermit/include/sys/poll.h b/include/sys/poll.h similarity index 100% rename from hermit/include/sys/poll.h rename to include/sys/poll.h diff --git a/hermit/include/sys/shm.h b/include/sys/shm.h similarity index 100% rename from hermit/include/sys/shm.h rename to include/sys/shm.h diff --git a/hermit/include/sys/uio.h b/include/sys/uio.h similarity index 100% rename from hermit/include/sys/uio.h rename to include/sys/uio.h diff --git a/hermit/kernel/Makefile b/kernel/Makefile similarity index 100% rename from hermit/kernel/Makefile rename to kernel/Makefile diff --git a/hermit/kernel/main.c b/kernel/main.c similarity index 100% rename from hermit/kernel/main.c rename to kernel/main.c diff --git a/hermit/kernel/signal.c b/kernel/signal.c similarity index 100% rename from hermit/kernel/signal.c rename to kernel/signal.c diff --git a/hermit/kernel/syscall.c b/kernel/syscall.c similarity index 100% rename from hermit/kernel/syscall.c rename to kernel/syscall.c diff --git a/hermit/kernel/tasks.c b/kernel/tasks.c similarity index 100% rename from hermit/kernel/tasks.c rename to kernel/tasks.c diff --git a/hermit/kernel/timer.c b/kernel/timer.c similarity index 100% rename from hermit/kernel/timer.c rename to kernel/timer.c diff --git a/hermit/libkern/Makefile b/libkern/Makefile similarity index 100% rename from hermit/libkern/Makefile rename to libkern/Makefile diff --git a/hermit/libkern/printf.c b/libkern/printf.c similarity index 100% rename from hermit/libkern/printf.c rename to libkern/printf.c diff --git a/hermit/libkern/sprintf.c b/libkern/sprintf.c similarity index 100% rename from hermit/libkern/sprintf.c rename to libkern/sprintf.c diff --git a/hermit/libkern/stdio.c b/libkern/stdio.c similarity index 100% rename from hermit/libkern/stdio.c rename to libkern/stdio.c diff --git a/hermit/libkern/string.c b/libkern/string.c similarity index 100% rename from hermit/libkern/string.c rename to libkern/string.c diff --git a/hermit/libkern/strstr.c b/libkern/strstr.c similarity index 100% rename from hermit/libkern/strstr.c rename to libkern/strstr.c diff --git a/hermit/libkern/strtol.c b/libkern/strtol.c similarity index 100% rename from hermit/libkern/strtol.c rename to libkern/strtol.c diff --git a/hermit/libkern/strtoul.c b/libkern/strtoul.c similarity index 100% rename from hermit/libkern/strtoul.c rename to libkern/strtoul.c diff --git a/hermit/link.ld b/link.ld similarity index 100% rename from hermit/link.ld rename to link.ld diff --git a/lwip b/lwip new file mode 160000 index 000000000..278d4691a --- /dev/null +++ b/lwip @@ -0,0 +1 @@ +Subproject commit 278d4691a11f52329058487444e688d391e78040 diff --git a/hermit/mm/Makefile b/mm/Makefile similarity index 100% rename from hermit/mm/Makefile rename to mm/Makefile diff --git a/hermit/mm/hbmemory.c b/mm/hbmemory.c similarity index 100% rename from hermit/mm/hbmemory.c rename to mm/hbmemory.c diff --git a/hermit/mm/malloc.c b/mm/malloc.c similarity index 100% rename from hermit/mm/malloc.c rename to mm/malloc.c diff --git a/hermit/mm/memory.c b/mm/memory.c similarity index 100% rename from hermit/mm/memory.c rename to mm/memory.c diff --git a/hermit/mm/shm.c b/mm/shm.c similarity index 100% rename from hermit/mm/shm.c rename to mm/shm.c diff --git a/hermit/mm/vma.c b/mm/vma.c similarity index 100% rename from hermit/mm/vma.c rename to mm/vma.c diff --git a/hermit/tools/Makefile b/tools/Makefile similarity index 100% rename from hermit/tools/Makefile rename to tools/Makefile diff --git a/hermit/tools/demo_ircce.sh b/tools/demo_ircce.sh similarity index 100% rename from hermit/tools/demo_ircce.sh rename to tools/demo_ircce.sh diff --git a/hermit/tools/demo_kvm.sh b/tools/demo_kvm.sh similarity index 100% rename from hermit/tools/demo_kvm.sh rename to tools/demo_kvm.sh diff --git a/hermit/tools/demo_omp.sh b/tools/demo_omp.sh similarity index 100% rename from hermit/tools/demo_omp.sh rename to tools/demo_omp.sh diff --git a/hermit/tools/hermit_ircce.json b/tools/hermit_ircce.json similarity index 100% rename from hermit/tools/hermit_ircce.json rename to tools/hermit_ircce.json diff --git a/hermit/tools/hermit_kvm.json b/tools/hermit_kvm.json similarity index 100% rename from hermit/tools/hermit_kvm.json rename to tools/hermit_kvm.json diff --git a/hermit/tools/hermit_openmp.json b/tools/hermit_openmp.json similarity index 100% rename from hermit/tools/hermit_openmp.json rename to tools/hermit_openmp.json diff --git a/hermit/tools/init.sh b/tools/init.sh similarity index 100% rename from hermit/tools/init.sh rename to tools/init.sh diff --git a/hermit/tools/proxy.c b/tools/proxy.c similarity index 100% rename from hermit/tools/proxy.c rename to tools/proxy.c diff --git a/hermit/usr/Makefile b/usr/Makefile similarity index 100% rename from hermit/usr/Makefile rename to usr/Makefile diff --git a/hermit/usr/benchmarks/Makefile b/usr/benchmarks/Makefile similarity index 100% rename from hermit/usr/benchmarks/Makefile rename to usr/benchmarks/Makefile diff --git a/hermit/usr/benchmarks/RCCE_pingping.c b/usr/benchmarks/RCCE_pingping.c similarity index 100% rename from hermit/usr/benchmarks/RCCE_pingping.c rename to usr/benchmarks/RCCE_pingping.c diff --git a/hermit/usr/benchmarks/RCCE_pingpong.c b/usr/benchmarks/RCCE_pingpong.c similarity index 100% rename from hermit/usr/benchmarks/RCCE_pingpong.c rename to usr/benchmarks/RCCE_pingpong.c diff --git a/hermit/usr/benchmarks/basic.c b/usr/benchmarks/basic.c similarity index 100% rename from hermit/usr/benchmarks/basic.c rename to usr/benchmarks/basic.c diff --git a/hermit/usr/benchmarks/hg.c b/usr/benchmarks/hg.c similarity index 100% rename from hermit/usr/benchmarks/hg.c rename to usr/benchmarks/hg.c diff --git a/hermit/usr/benchmarks/hist.c b/usr/benchmarks/hist.c similarity index 100% rename from hermit/usr/benchmarks/hist.c rename to usr/benchmarks/hist.c diff --git a/hermit/usr/benchmarks/hist.h b/usr/benchmarks/hist.h similarity index 100% rename from hermit/usr/benchmarks/hist.h rename to usr/benchmarks/hist.h diff --git a/hermit/usr/benchmarks/init.c b/usr/benchmarks/init.c similarity index 100% rename from hermit/usr/benchmarks/init.c rename to usr/benchmarks/init.c diff --git a/hermit/usr/benchmarks/init.h b/usr/benchmarks/init.h similarity index 100% rename from hermit/usr/benchmarks/init.h rename to usr/benchmarks/init.h diff --git a/hermit/usr/benchmarks/netio.c b/usr/benchmarks/netio.c similarity index 100% rename from hermit/usr/benchmarks/netio.c rename to usr/benchmarks/netio.c diff --git a/hermit/usr/benchmarks/opt.c b/usr/benchmarks/opt.c similarity index 100% rename from hermit/usr/benchmarks/opt.c rename to usr/benchmarks/opt.c diff --git a/hermit/usr/benchmarks/opt.h b/usr/benchmarks/opt.h similarity index 100% rename from hermit/usr/benchmarks/opt.h rename to usr/benchmarks/opt.h diff --git a/hermit/usr/benchmarks/rdtsc.c b/usr/benchmarks/rdtsc.c similarity index 100% rename from hermit/usr/benchmarks/rdtsc.c rename to usr/benchmarks/rdtsc.c diff --git a/hermit/usr/benchmarks/rdtsc.h b/usr/benchmarks/rdtsc.h similarity index 100% rename from hermit/usr/benchmarks/rdtsc.h rename to usr/benchmarks/rdtsc.h diff --git a/hermit/usr/benchmarks/report.c b/usr/benchmarks/report.c similarity index 100% rename from hermit/usr/benchmarks/report.c rename to usr/benchmarks/report.c diff --git a/hermit/usr/benchmarks/report.h b/usr/benchmarks/report.h similarity index 100% rename from hermit/usr/benchmarks/report.h rename to usr/benchmarks/report.h diff --git a/hermit/usr/benchmarks/run.c b/usr/benchmarks/run.c similarity index 100% rename from hermit/usr/benchmarks/run.c rename to usr/benchmarks/run.c diff --git a/hermit/usr/benchmarks/run.h b/usr/benchmarks/run.h similarity index 100% rename from hermit/usr/benchmarks/run.h rename to usr/benchmarks/run.h diff --git a/hermit/usr/benchmarks/setup.c b/usr/benchmarks/setup.c similarity index 100% rename from hermit/usr/benchmarks/setup.c rename to usr/benchmarks/setup.c diff --git a/hermit/usr/benchmarks/setup.h b/usr/benchmarks/setup.h similarity index 100% rename from hermit/usr/benchmarks/setup.h rename to usr/benchmarks/setup.h diff --git a/hermit/usr/benchmarks/stream.c b/usr/benchmarks/stream.c similarity index 100% rename from hermit/usr/benchmarks/stream.c rename to usr/benchmarks/stream.c diff --git a/hermit/usr/binutils b/usr/binutils similarity index 100% rename from hermit/usr/binutils rename to usr/binutils diff --git a/hermit/usr/gcc b/usr/gcc similarity index 100% rename from hermit/usr/gcc rename to usr/gcc diff --git a/hermit/usr/gdb/README.md b/usr/gdb/README.md similarity index 100% rename from hermit/usr/gdb/README.md rename to usr/gdb/README.md diff --git a/hermit/usr/gdb/hermit-gdb.py b/usr/gdb/hermit-gdb.py similarity index 100% rename from hermit/usr/gdb/hermit-gdb.py rename to usr/gdb/hermit-gdb.py diff --git a/hermit/usr/gdb/hermit/__init__.py b/usr/gdb/hermit/__init__.py similarity index 100% rename from hermit/usr/gdb/hermit/__init__.py rename to usr/gdb/hermit/__init__.py diff --git a/hermit/usr/gdb/hermit/tasks.py b/usr/gdb/hermit/tasks.py similarity index 100% rename from hermit/usr/gdb/hermit/tasks.py rename to usr/gdb/hermit/tasks.py diff --git a/hermit/usr/ircce/Makefile b/usr/ircce/Makefile similarity index 100% rename from hermit/usr/ircce/Makefile rename to usr/ircce/Makefile diff --git a/hermit/usr/ircce/RCCE.h b/usr/ircce/RCCE.h similarity index 100% rename from hermit/usr/ircce/RCCE.h rename to usr/ircce/RCCE.h diff --git a/hermit/usr/ircce/RCCE_admin.c b/usr/ircce/RCCE_admin.c similarity index 100% rename from hermit/usr/ircce/RCCE_admin.c rename to usr/ircce/RCCE_admin.c diff --git a/hermit/usr/ircce/RCCE_bcast.c b/usr/ircce/RCCE_bcast.c similarity index 100% rename from hermit/usr/ircce/RCCE_bcast.c rename to usr/ircce/RCCE_bcast.c diff --git a/hermit/usr/ircce/RCCE_comm.c b/usr/ircce/RCCE_comm.c similarity index 100% rename from hermit/usr/ircce/RCCE_comm.c rename to usr/ircce/RCCE_comm.c diff --git a/hermit/usr/ircce/RCCE_debug.c b/usr/ircce/RCCE_debug.c similarity index 100% rename from hermit/usr/ircce/RCCE_debug.c rename to usr/ircce/RCCE_debug.c diff --git a/hermit/usr/ircce/RCCE_debug.h b/usr/ircce/RCCE_debug.h similarity index 100% rename from hermit/usr/ircce/RCCE_debug.h rename to usr/ircce/RCCE_debug.h diff --git a/hermit/usr/ircce/RCCE_flags.c b/usr/ircce/RCCE_flags.c similarity index 100% rename from hermit/usr/ircce/RCCE_flags.c rename to usr/ircce/RCCE_flags.c diff --git a/hermit/usr/ircce/RCCE_get.c b/usr/ircce/RCCE_get.c similarity index 100% rename from hermit/usr/ircce/RCCE_get.c rename to usr/ircce/RCCE_get.c diff --git a/hermit/usr/ircce/RCCE_lib.h b/usr/ircce/RCCE_lib.h similarity index 100% rename from hermit/usr/ircce/RCCE_lib.h rename to usr/ircce/RCCE_lib.h diff --git a/hermit/usr/ircce/RCCE_malloc.c b/usr/ircce/RCCE_malloc.c similarity index 100% rename from hermit/usr/ircce/RCCE_malloc.c rename to usr/ircce/RCCE_malloc.c diff --git a/hermit/usr/ircce/RCCE_put.c b/usr/ircce/RCCE_put.c similarity index 100% rename from hermit/usr/ircce/RCCE_put.c rename to usr/ircce/RCCE_put.c diff --git a/hermit/usr/ircce/RCCE_qsort.c b/usr/ircce/RCCE_qsort.c similarity index 100% rename from hermit/usr/ircce/RCCE_qsort.c rename to usr/ircce/RCCE_qsort.c diff --git a/hermit/usr/ircce/RCCE_recv.c b/usr/ircce/RCCE_recv.c similarity index 100% rename from hermit/usr/ircce/RCCE_recv.c rename to usr/ircce/RCCE_recv.c diff --git a/hermit/usr/ircce/RCCE_reduce.c b/usr/ircce/RCCE_reduce.c similarity index 100% rename from hermit/usr/ircce/RCCE_reduce.c rename to usr/ircce/RCCE_reduce.c diff --git a/hermit/usr/ircce/RCCE_send.c b/usr/ircce/RCCE_send.c similarity index 100% rename from hermit/usr/ircce/RCCE_send.c rename to usr/ircce/RCCE_send.c diff --git a/hermit/usr/ircce/RCCE_synch.c b/usr/ircce/RCCE_synch.c similarity index 100% rename from hermit/usr/ircce/RCCE_synch.c rename to usr/ircce/RCCE_synch.c diff --git a/hermit/usr/ircce/iRCCE.h b/usr/ircce/iRCCE.h similarity index 100% rename from hermit/usr/ircce/iRCCE.h rename to usr/ircce/iRCCE.h diff --git a/hermit/usr/ircce/iRCCE_admin.c b/usr/ircce/iRCCE_admin.c similarity index 100% rename from hermit/usr/ircce/iRCCE_admin.c rename to usr/ircce/iRCCE_admin.c diff --git a/hermit/usr/ircce/iRCCE_atomic.c b/usr/ircce/iRCCE_atomic.c similarity index 100% rename from hermit/usr/ircce/iRCCE_atomic.c rename to usr/ircce/iRCCE_atomic.c diff --git a/hermit/usr/ircce/iRCCE_get.c b/usr/ircce/iRCCE_get.c similarity index 100% rename from hermit/usr/ircce/iRCCE_get.c rename to usr/ircce/iRCCE_get.c diff --git a/hermit/usr/ircce/iRCCE_irecv.c b/usr/ircce/iRCCE_irecv.c similarity index 100% rename from hermit/usr/ircce/iRCCE_irecv.c rename to usr/ircce/iRCCE_irecv.c diff --git a/hermit/usr/ircce/iRCCE_isend.c b/usr/ircce/iRCCE_isend.c similarity index 100% rename from hermit/usr/ircce/iRCCE_isend.c rename to usr/ircce/iRCCE_isend.c diff --git a/hermit/usr/ircce/iRCCE_lib.h b/usr/ircce/iRCCE_lib.h similarity index 100% rename from hermit/usr/ircce/iRCCE_lib.h rename to usr/ircce/iRCCE_lib.h diff --git a/hermit/usr/ircce/iRCCE_mcast.c b/usr/ircce/iRCCE_mcast.c similarity index 100% rename from hermit/usr/ircce/iRCCE_mcast.c rename to usr/ircce/iRCCE_mcast.c diff --git a/hermit/usr/ircce/iRCCE_put.c b/usr/ircce/iRCCE_put.c similarity index 100% rename from hermit/usr/ircce/iRCCE_put.c rename to usr/ircce/iRCCE_put.c diff --git a/hermit/usr/ircce/iRCCE_srecv.c b/usr/ircce/iRCCE_srecv.c similarity index 100% rename from hermit/usr/ircce/iRCCE_srecv.c rename to usr/ircce/iRCCE_srecv.c diff --git a/hermit/usr/ircce/iRCCE_ssend.c b/usr/ircce/iRCCE_ssend.c similarity index 100% rename from hermit/usr/ircce/iRCCE_ssend.c rename to usr/ircce/iRCCE_ssend.c diff --git a/hermit/usr/ircce/iRCCE_synch.c b/usr/ircce/iRCCE_synch.c similarity index 100% rename from hermit/usr/ircce/iRCCE_synch.c rename to usr/ircce/iRCCE_synch.c diff --git a/hermit/usr/ircce/iRCCE_waitlist.c b/usr/ircce/iRCCE_waitlist.c similarity index 100% rename from hermit/usr/ircce/iRCCE_waitlist.c rename to usr/ircce/iRCCE_waitlist.c diff --git a/hermit/usr/ircce/rte_memcpy.h b/usr/ircce/rte_memcpy.h similarity index 100% rename from hermit/usr/ircce/rte_memcpy.h rename to usr/ircce/rte_memcpy.h diff --git a/hermit/usr/ircce/syscall.h b/usr/ircce/syscall.h similarity index 100% rename from hermit/usr/ircce/syscall.h rename to usr/ircce/syscall.h diff --git a/hermit/usr/libgomp/Makefile b/usr/libgomp/Makefile similarity index 100% rename from hermit/usr/libgomp/Makefile rename to usr/libgomp/Makefile diff --git a/hermit/usr/libgomp/affinity.c b/usr/libgomp/affinity.c similarity index 100% rename from hermit/usr/libgomp/affinity.c rename to usr/libgomp/affinity.c diff --git a/hermit/usr/libgomp/alloc.c b/usr/libgomp/alloc.c similarity index 100% rename from hermit/usr/libgomp/alloc.c rename to usr/libgomp/alloc.c diff --git a/hermit/usr/libgomp/bar.c b/usr/libgomp/bar.c similarity index 100% rename from hermit/usr/libgomp/bar.c rename to usr/libgomp/bar.c diff --git a/hermit/usr/libgomp/bar.h b/usr/libgomp/bar.h similarity index 100% rename from hermit/usr/libgomp/bar.h rename to usr/libgomp/bar.h diff --git a/hermit/usr/libgomp/barrier.c b/usr/libgomp/barrier.c similarity index 100% rename from hermit/usr/libgomp/barrier.c rename to usr/libgomp/barrier.c diff --git a/hermit/usr/libgomp/config.h b/usr/libgomp/config.h similarity index 100% rename from hermit/usr/libgomp/config.h rename to usr/libgomp/config.h diff --git a/hermit/usr/libgomp/critical.c b/usr/libgomp/critical.c similarity index 100% rename from hermit/usr/libgomp/critical.c rename to usr/libgomp/critical.c diff --git a/hermit/usr/libgomp/env.c b/usr/libgomp/env.c similarity index 100% rename from hermit/usr/libgomp/env.c rename to usr/libgomp/env.c diff --git a/hermit/usr/libgomp/error.c b/usr/libgomp/error.c similarity index 100% rename from hermit/usr/libgomp/error.c rename to usr/libgomp/error.c diff --git a/hermit/usr/libgomp/fortran.c b/usr/libgomp/fortran.c similarity index 100% rename from hermit/usr/libgomp/fortran.c rename to usr/libgomp/fortran.c diff --git a/hermit/usr/libgomp/hashtab.h b/usr/libgomp/hashtab.h similarity index 100% rename from hermit/usr/libgomp/hashtab.h rename to usr/libgomp/hashtab.h diff --git a/hermit/usr/libgomp/iter.c b/usr/libgomp/iter.c similarity index 100% rename from hermit/usr/libgomp/iter.c rename to usr/libgomp/iter.c diff --git a/hermit/usr/libgomp/iter_ull.c b/usr/libgomp/iter_ull.c similarity index 100% rename from hermit/usr/libgomp/iter_ull.c rename to usr/libgomp/iter_ull.c diff --git a/hermit/usr/libgomp/libgomp.h b/usr/libgomp/libgomp.h similarity index 100% rename from hermit/usr/libgomp/libgomp.h rename to usr/libgomp/libgomp.h diff --git a/hermit/usr/libgomp/libgomp.spec b/usr/libgomp/libgomp.spec similarity index 100% rename from hermit/usr/libgomp/libgomp.spec rename to usr/libgomp/libgomp.spec diff --git a/hermit/usr/libgomp/libgomp_f.h b/usr/libgomp/libgomp_f.h similarity index 100% rename from hermit/usr/libgomp/libgomp_f.h rename to usr/libgomp/libgomp_f.h diff --git a/hermit/usr/libgomp/libgomp_g.h b/usr/libgomp/libgomp_g.h similarity index 100% rename from hermit/usr/libgomp/libgomp_g.h rename to usr/libgomp/libgomp_g.h diff --git a/hermit/usr/libgomp/lock.c b/usr/libgomp/lock.c similarity index 100% rename from hermit/usr/libgomp/lock.c rename to usr/libgomp/lock.c diff --git a/hermit/usr/libgomp/loop.c b/usr/libgomp/loop.c similarity index 100% rename from hermit/usr/libgomp/loop.c rename to usr/libgomp/loop.c diff --git a/hermit/usr/libgomp/loop_ull.c b/usr/libgomp/loop_ull.c similarity index 100% rename from hermit/usr/libgomp/loop_ull.c rename to usr/libgomp/loop_ull.c diff --git a/hermit/usr/libgomp/mutex.c b/usr/libgomp/mutex.c similarity index 100% rename from hermit/usr/libgomp/mutex.c rename to usr/libgomp/mutex.c diff --git a/hermit/usr/libgomp/mutex.h b/usr/libgomp/mutex.h similarity index 100% rename from hermit/usr/libgomp/mutex.h rename to usr/libgomp/mutex.h diff --git a/hermit/usr/libgomp/omp-lock.h b/usr/libgomp/omp-lock.h similarity index 100% rename from hermit/usr/libgomp/omp-lock.h rename to usr/libgomp/omp-lock.h diff --git a/hermit/usr/libgomp/omp.h b/usr/libgomp/omp.h similarity index 100% rename from hermit/usr/libgomp/omp.h rename to usr/libgomp/omp.h diff --git a/hermit/usr/libgomp/omp_lib.h b/usr/libgomp/omp_lib.h similarity index 100% rename from hermit/usr/libgomp/omp_lib.h rename to usr/libgomp/omp_lib.h diff --git a/hermit/usr/libgomp/omp_lib.h.in b/usr/libgomp/omp_lib.h.in similarity index 100% rename from hermit/usr/libgomp/omp_lib.h.in rename to usr/libgomp/omp_lib.h.in diff --git a/hermit/usr/libgomp/ordered.c b/usr/libgomp/ordered.c similarity index 100% rename from hermit/usr/libgomp/ordered.c rename to usr/libgomp/ordered.c diff --git a/hermit/usr/libgomp/parallel.c b/usr/libgomp/parallel.c similarity index 100% rename from hermit/usr/libgomp/parallel.c rename to usr/libgomp/parallel.c diff --git a/hermit/usr/libgomp/proc.c b/usr/libgomp/proc.c similarity index 100% rename from hermit/usr/libgomp/proc.c rename to usr/libgomp/proc.c diff --git a/hermit/usr/libgomp/ptrlock.c b/usr/libgomp/ptrlock.c similarity index 100% rename from hermit/usr/libgomp/ptrlock.c rename to usr/libgomp/ptrlock.c diff --git a/hermit/usr/libgomp/ptrlock.h b/usr/libgomp/ptrlock.h similarity index 100% rename from hermit/usr/libgomp/ptrlock.h rename to usr/libgomp/ptrlock.h diff --git a/hermit/usr/libgomp/sections.c b/usr/libgomp/sections.c similarity index 100% rename from hermit/usr/libgomp/sections.c rename to usr/libgomp/sections.c diff --git a/hermit/usr/libgomp/sem.c b/usr/libgomp/sem.c similarity index 100% rename from hermit/usr/libgomp/sem.c rename to usr/libgomp/sem.c diff --git a/hermit/usr/libgomp/sem.h b/usr/libgomp/sem.h similarity index 100% rename from hermit/usr/libgomp/sem.h rename to usr/libgomp/sem.h diff --git a/hermit/usr/libgomp/single.c b/usr/libgomp/single.c similarity index 100% rename from hermit/usr/libgomp/single.c rename to usr/libgomp/single.c diff --git a/hermit/usr/libgomp/task.c b/usr/libgomp/task.c similarity index 100% rename from hermit/usr/libgomp/task.c rename to usr/libgomp/task.c diff --git a/hermit/usr/libgomp/team.c b/usr/libgomp/team.c similarity index 100% rename from hermit/usr/libgomp/team.c rename to usr/libgomp/team.c diff --git a/hermit/usr/libgomp/time.c b/usr/libgomp/time.c similarity index 100% rename from hermit/usr/libgomp/time.c rename to usr/libgomp/time.c diff --git a/hermit/usr/libgomp/work.c b/usr/libgomp/work.c similarity index 100% rename from hermit/usr/libgomp/work.c rename to usr/libgomp/work.c diff --git a/hermit/usr/libomp b/usr/libomp similarity index 100% rename from hermit/usr/libomp rename to usr/libomp diff --git a/hermit/usr/newlib b/usr/newlib similarity index 100% rename from hermit/usr/newlib rename to usr/newlib diff --git a/hermit/usr/openmpbench/.gitignore b/usr/openmpbench/.gitignore similarity index 100% rename from hermit/usr/openmpbench/.gitignore rename to usr/openmpbench/.gitignore diff --git a/hermit/usr/openmpbench/Licence.txt b/usr/openmpbench/Licence.txt similarity index 100% rename from hermit/usr/openmpbench/Licence.txt rename to usr/openmpbench/Licence.txt diff --git a/hermit/usr/openmpbench/Makefile b/usr/openmpbench/Makefile similarity index 100% rename from hermit/usr/openmpbench/Makefile rename to usr/openmpbench/Makefile diff --git a/hermit/usr/openmpbench/Makefile.defs b/usr/openmpbench/Makefile.defs similarity index 100% rename from hermit/usr/openmpbench/Makefile.defs rename to usr/openmpbench/Makefile.defs diff --git a/hermit/usr/openmpbench/Makefile.defs.hector.cray b/usr/openmpbench/Makefile.defs.hector.cray similarity index 100% rename from hermit/usr/openmpbench/Makefile.defs.hector.cray rename to usr/openmpbench/Makefile.defs.hector.cray diff --git a/hermit/usr/openmpbench/Makefile.defs.hector.pgi b/usr/openmpbench/Makefile.defs.hector.pgi similarity index 100% rename from hermit/usr/openmpbench/Makefile.defs.hector.pgi rename to usr/openmpbench/Makefile.defs.hector.pgi diff --git a/hermit/usr/openmpbench/Makefile.defs.magny0.gnu b/usr/openmpbench/Makefile.defs.magny0.gnu similarity index 100% rename from hermit/usr/openmpbench/Makefile.defs.magny0.gnu rename to usr/openmpbench/Makefile.defs.magny0.gnu diff --git a/hermit/usr/openmpbench/Makefile.defs.magny0.sun b/usr/openmpbench/Makefile.defs.magny0.sun similarity index 100% rename from hermit/usr/openmpbench/Makefile.defs.magny0.sun rename to usr/openmpbench/Makefile.defs.magny0.sun diff --git a/hermit/usr/openmpbench/Makefile.defs.stokes.gnu b/usr/openmpbench/Makefile.defs.stokes.gnu similarity index 100% rename from hermit/usr/openmpbench/Makefile.defs.stokes.gnu rename to usr/openmpbench/Makefile.defs.stokes.gnu diff --git a/hermit/usr/openmpbench/Makefile.defs.stokes.intel b/usr/openmpbench/Makefile.defs.stokes.intel similarity index 100% rename from hermit/usr/openmpbench/Makefile.defs.stokes.intel rename to usr/openmpbench/Makefile.defs.stokes.intel diff --git a/hermit/usr/openmpbench/README.txt b/usr/openmpbench/README.txt similarity index 100% rename from hermit/usr/openmpbench/README.txt rename to usr/openmpbench/README.txt diff --git a/hermit/usr/openmpbench/arraybench.c b/usr/openmpbench/arraybench.c similarity index 100% rename from hermit/usr/openmpbench/arraybench.c rename to usr/openmpbench/arraybench.c diff --git a/hermit/usr/openmpbench/arraybench.h b/usr/openmpbench/arraybench.h similarity index 100% rename from hermit/usr/openmpbench/arraybench.h rename to usr/openmpbench/arraybench.h diff --git a/hermit/usr/openmpbench/common.c b/usr/openmpbench/common.c similarity index 100% rename from hermit/usr/openmpbench/common.c rename to usr/openmpbench/common.c diff --git a/hermit/usr/openmpbench/common.h b/usr/openmpbench/common.h similarity index 100% rename from hermit/usr/openmpbench/common.h rename to usr/openmpbench/common.h diff --git a/hermit/usr/openmpbench/schedbench.c b/usr/openmpbench/schedbench.c similarity index 100% rename from hermit/usr/openmpbench/schedbench.c rename to usr/openmpbench/schedbench.c diff --git a/hermit/usr/openmpbench/schedbench.h b/usr/openmpbench/schedbench.h similarity index 100% rename from hermit/usr/openmpbench/schedbench.h rename to usr/openmpbench/schedbench.h diff --git a/hermit/usr/openmpbench/syncbench.c b/usr/openmpbench/syncbench.c similarity index 100% rename from hermit/usr/openmpbench/syncbench.c rename to usr/openmpbench/syncbench.c diff --git a/hermit/usr/openmpbench/syncbench.h b/usr/openmpbench/syncbench.h similarity index 100% rename from hermit/usr/openmpbench/syncbench.h rename to usr/openmpbench/syncbench.h diff --git a/hermit/usr/openmpbench/taskbench.c b/usr/openmpbench/taskbench.c similarity index 100% rename from hermit/usr/openmpbench/taskbench.c rename to usr/openmpbench/taskbench.c diff --git a/hermit/usr/openmpbench/taskbench.h b/usr/openmpbench/taskbench.h similarity index 100% rename from hermit/usr/openmpbench/taskbench.h rename to usr/openmpbench/taskbench.h diff --git a/hermit/usr/pte b/usr/pte similarity index 100% rename from hermit/usr/pte rename to usr/pte diff --git a/hermit/usr/tests/Makefile b/usr/tests/Makefile similarity index 100% rename from hermit/usr/tests/Makefile rename to usr/tests/Makefile diff --git a/hermit/usr/tests/RCCE_minimum.c b/usr/tests/RCCE_minimum.c similarity index 100% rename from hermit/usr/tests/RCCE_minimum.c rename to usr/tests/RCCE_minimum.c diff --git a/hermit/usr/tests/hello++.cpp b/usr/tests/hello++.cpp similarity index 100% rename from hermit/usr/tests/hello++.cpp rename to usr/tests/hello++.cpp diff --git a/hermit/usr/tests/hello.c b/usr/tests/hello.c similarity index 100% rename from hermit/usr/tests/hello.c rename to usr/tests/hello.c diff --git a/hermit/usr/tests/hellof.f90 b/usr/tests/hellof.f90 similarity index 100% rename from hermit/usr/tests/hellof.f90 rename to usr/tests/hellof.f90 diff --git a/hermit/usr/tests/jacobi.c b/usr/tests/jacobi.c similarity index 100% rename from hermit/usr/tests/jacobi.c rename to usr/tests/jacobi.c diff --git a/hermit/usr/tests/pi.go b/usr/tests/pi.go similarity index 100% rename from hermit/usr/tests/pi.go rename to usr/tests/pi.go diff --git a/hermit/usr/tests/server.go b/usr/tests/server.go similarity index 100% rename from hermit/usr/tests/server.go rename to usr/tests/server.go diff --git a/hermit/usr/tests/signals.c b/usr/tests/signals.c similarity index 100% rename from hermit/usr/tests/signals.c rename to usr/tests/signals.c diff --git a/hermit/usr/tests/thr_hello.c b/usr/tests/thr_hello.c similarity index 100% rename from hermit/usr/tests/thr_hello.c rename to usr/tests/thr_hello.c diff --git a/hermit/usr/xray/LICENSE b/usr/xray/LICENSE similarity index 100% rename from hermit/usr/xray/LICENSE rename to usr/xray/LICENSE diff --git a/hermit/usr/xray/Makefile b/usr/xray/Makefile similarity index 100% rename from hermit/usr/xray/Makefile rename to usr/xray/Makefile diff --git a/hermit/usr/xray/browser.c b/usr/xray/browser.c similarity index 100% rename from hermit/usr/xray/browser.c rename to usr/xray/browser.c diff --git a/hermit/usr/xray/demangle.c b/usr/xray/demangle.c similarity index 100% rename from hermit/usr/xray/demangle.c rename to usr/xray/demangle.c diff --git a/hermit/usr/xray/hashtable.c b/usr/xray/hashtable.c similarity index 100% rename from hermit/usr/xray/hashtable.c rename to usr/xray/hashtable.c diff --git a/hermit/usr/xray/libxray.spec b/usr/xray/libxray.spec similarity index 100% rename from hermit/usr/xray/libxray.spec rename to usr/xray/libxray.spec diff --git a/hermit/usr/xray/parsesymbols.c b/usr/xray/parsesymbols.c similarity index 100% rename from hermit/usr/xray/parsesymbols.c rename to usr/xray/parsesymbols.c diff --git a/hermit/usr/xray/report.c b/usr/xray/report.c similarity index 100% rename from hermit/usr/xray/report.c rename to usr/xray/report.c diff --git a/hermit/usr/xray/stringpool.c b/usr/xray/stringpool.c similarity index 100% rename from hermit/usr/xray/stringpool.c rename to usr/xray/stringpool.c diff --git a/hermit/usr/xray/symtable.c b/usr/xray/symtable.c similarity index 100% rename from hermit/usr/xray/symtable.c rename to usr/xray/symtable.c diff --git a/hermit/usr/xray/tools/conv2kcg.py b/usr/xray/tools/conv2kcg.py similarity index 100% rename from hermit/usr/xray/tools/conv2kcg.py rename to usr/xray/tools/conv2kcg.py diff --git a/hermit/usr/xray/tools/report.xray b/usr/xray/tools/report.xray similarity index 100% rename from hermit/usr/xray/tools/report.xray rename to usr/xray/tools/report.xray diff --git a/hermit/usr/xray/xray.c b/usr/xray/xray.c similarity index 100% rename from hermit/usr/xray/xray.c rename to usr/xray/xray.c diff --git a/hermit/usr/xray/xray.h b/usr/xray/xray.h similarity index 100% rename from hermit/usr/xray/xray.h rename to usr/xray/xray.h diff --git a/hermit/usr/xray/xray.odt b/usr/xray/xray.odt similarity index 100% rename from hermit/usr/xray/xray.odt rename to usr/xray/xray.odt diff --git a/hermit/usr/xray/xray_priv.h b/usr/xray/xray_priv.h similarity index 100% rename from hermit/usr/xray/xray_priv.h rename to usr/xray/xray_priv.h