diff --git a/.gitignore b/.gitignore index 244ebdef..d237657d 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,8 @@ *.pcap *.img tags +include/metalsvm/config.h +Makefile tools/make_initrd newlib/examples/hello newlib/examples/echo @@ -13,4 +15,4 @@ newlib/examples/tests newlib/tmp/* newlib/x86/* metalsvm.elf -documentation/html +documentation/html/ diff --git a/Doxyfile b/Doxyfile index 8a16db2e..352ee44e 100644 --- a/Doxyfile +++ b/Doxyfile @@ -605,7 +605,8 @@ INPUT = ./fs \ ./arch \ ./libkern \ ./mm \ - ./tools + ./tools \ + ./documentation/doxy_mainpage.h # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is @@ -683,7 +684,7 @@ EXAMPLE_RECURSIVE = NO # directories that contain image that are included in the documentation (see # the \image command). -IMAGE_PATH = +IMAGE_PATH = ./documentation/img/ # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program @@ -825,13 +826,13 @@ HTML_FILE_EXTENSION = .html # each generated HTML page. If it is left blank doxygen will generate a # standard header. -HTML_HEADER = +HTML_HEADER = ./documentation/tmpl/header.html # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. -HTML_FOOTER = +HTML_FOOTER = ./documentation/tmpl/footer.html # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to @@ -840,7 +841,7 @@ HTML_FOOTER = # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! -HTML_STYLESHEET = +HTML_STYLESHEET = ./documentation/tmpl/stylesheet.css # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. # Doxygen will adjust the colors in the stylesheet and background images diff --git a/documentation/doxy_mainpage.h b/documentation/doxy_mainpage.h new file mode 100644 index 00000000..1420ef75 --- /dev/null +++ b/documentation/doxy_mainpage.h @@ -0,0 +1,47 @@ +/** + * @file doxy_mainpage.h + * @mainpage + * + * @section Introduction + * + * On a traditional multicore system, a single operating system + * manages all cores and schedules threads and processes among + * them, inherently supported by hardware-implemented cache + * coherence protocols. However, a further growth of the number + * of cores per system implies an increasing chip complexity, + * especially with respect to the cache coherence protocols. + * Therefore, a very attractive alternative for future many-core + * systems is to waive the hardware-based cache coherency and to + * introduce a software-oriented message-passing based architecture + * instead: a so-called Cluster-on-Chip architecture. + * Intel's Single-chip Cloud Computer (SCC), a many-core research + * processor with 48 non-coherent memory-coupled cores, is a very + * recent example for such a Cluster-on-Chip architecture. The SCC + * can be configured to run one operating system per core by + * partitioning the shared main memory in a strict manner. However, + * it is also possible to access the shared main memory in an unsplit + * and concurrent manner, provided that the cache coherency is then + * ensured by software. + * + * @section Research Objective + * + * In this project, we develop a new approach for a SCC-related shared + * virtual memory management system, called MetalSVM, that will be + * implemented in terms of a bare-metal hypervisor, located within a + * virtualization layer between the SCC's hardware and the actual + * operating system. This new hypervisor will undertake the crucial + * task of coherency management by utilizing special SCC-related features + * as, for example, its on-die Message-Passing Buffers (MPB). That way, + * common Linux kernels will be able to run almost transparently across + * the entire SCC system. However, in order to offer a maximum of flexibility + * with respect to resource allocation as well as to an efficiency-adjusted + * degree of parallelism, also a dynamic partitioning of the SCC's computing + * resources into several coherency domains will be made possible. + * + * @image html metalsvm_stack.jpg + * + * @section Acknowledgment + * + * This research project is funded by Intel Corporation. + * + */ diff --git a/documentation/img/lfbs_logo.gif b/documentation/img/lfbs_logo.gif new file mode 100644 index 00000000..2760f9bc Binary files /dev/null and b/documentation/img/lfbs_logo.gif differ diff --git a/documentation/img/metalsvm_stack.jpg b/documentation/img/metalsvm_stack.jpg new file mode 100644 index 00000000..7b47ad79 Binary files /dev/null and b/documentation/img/metalsvm_stack.jpg differ diff --git a/documentation/img/rwth_logo.gif b/documentation/img/rwth_logo.gif new file mode 100644 index 00000000..d5db607b Binary files /dev/null and b/documentation/img/rwth_logo.gif differ diff --git a/documentation/tmpl/footer.html b/documentation/tmpl/footer.html new file mode 100644 index 00000000..6725e7cd --- /dev/null +++ b/documentation/tmpl/footer.html @@ -0,0 +1,4 @@ +