diff --git a/Doxyfile b/Doxyfile index fbb573bc..8306ff95 100644 --- a/Doxyfile +++ b/Doxyfile @@ -796,7 +796,7 @@ ALPHABETICAL_INDEX = YES # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) -COLS_IN_ALPHA_INDEX = 5 +COLS_IN_ALPHA_INDEX = 3 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. @@ -1063,7 +1063,7 @@ ENUM_VALUES_PER_LINE = 4 # JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). # Windows users are probably better off using the HTML help feature. -GENERATE_TREEVIEW = NO +GENERATE_TREEVIEW = YES # By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, # and Class Hierarchy pages using a tree view instead of an ordered list. @@ -1395,7 +1395,7 @@ MACRO_EXPANSION = YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_DEFINED tags. -EXPAND_ONLY_PREDEF = YES +EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. @@ -1425,24 +1425,25 @@ INCLUDE_FILE_PATTERNS = # Doxygen messes up the attribute lines as c-structure names PREDEFINED = __attribute__ (x)= \ - __attribute__(x)= \ - __attribute__ ((x))= \ - __attribute__((x))= \ - HAVE_ARCH_STRLEN \ - HAVE_ARCH_STRNCPY \ - HAVE_ARCH_STRCPY \ - HAVE_ARCH_MEMCPY \ - HAVE_ARCH_MEMSET \ - CONFIG_VGA \ - CONFIG_PCI \ - CONFIG_LWIP \ - CONFIG_VGA \ - CONFIG_KEYBOARD \ - CONFIG_MULTIBOOT \ - CONFIG_ROCKCREEK \ - SCC \ - MS_BAREMETAL \ - GORY +__attribute__(x)= \ +__attribute__ ((x))= \ +__attribute__((x))= \ +HAVE_ARCH_STRLEN \ +HAVE_ARCH_STRNCPY \ +HAVE_ARCH_STRCPY \ +HAVE_ARCH_MEMCPY \ +HAVE_ARCH_MEMSET \ +CONFIG_VGA \ +CONFIG_PCI \ +CONFIG_LWIP \ +CONFIG_VGA \ +CONFIG_KEYBOARD \ +CONFIG_MULTIBOOT \ +CONFIG_ROCKCREEK \ +CONFIG_LGUEST \ +SCC \ +MS_BAREMETAL \ +GORY # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. @@ -1535,7 +1536,7 @@ HIDE_UNDOC_RELATIONS = YES # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) -HAVE_DOT = YES +HAVE_DOT = NO # The DOT_NUM_THREADS specifies the number of dot invocations doxygen is # allowed to run in parallel. When set to 0 (the default) doxygen will diff --git a/Makefile.example b/Makefile.example index e5c6d694..365fdb54 100644 --- a/Makefile.example +++ b/Makefile.example @@ -1,45 +1,46 @@ -TOPDIR = $(shell pwd) +TOPDIR := $(shell pwd) ARCH = x86 NAME = metalsvm LWIPDIRS = lwip/src/arch lwip/src/api lwip/src/core lwip/src/core/ipv4 lwip/src/netif DRIVERDIRS = drivers/net drivers/char KERNDIRS = libkern kernel mm fs apps arch/$(ARCH)/kernel arch/$(ARCH)/mm arch/$(ARCH)/scc $(LWIPDIRS) $(DRIVERDIRS) SUBDIRS = $(KERNDIRS) -STACKPROT=-fno-stack-protector +STACKPROT = -fno-stack-protector # Set your own cross compiler tool chain prefix here -CROSSCOMPREFIX= +CROSSCOMPREFIX = # Uncomment both lines if compiling for the SCC! -#CROSSCOMPREFIX=i386-unknown-linux-gnu- -#STACKPROT= +#CROSSCOMPREFIX = i386-unknown-linux-gnu- +#STACKPROT = -CC_FOR_TARGET=$(CROSSCOMPREFIX)gcc -CXX_FOR_TARGET=$(CROSSCOMPREFIX)g++ -GCC_FOR_TARGET=$(CROSSCOMPREFIX)gcc -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 - -NASM = nasm -EMU=qemu -GDB=gdb +CC_FOR_TARGET = $(CROSSCOMPREFIX)gcc +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 MAKE = make +RM = rm -rf +NASM = nasm +EMU = qemu +GDB = gdb + NASMFLAGS = -felf32 -g INCLUDE = -I$(TOPDIR)/include -I$(TOPDIR)/arch/$(ARCH)/include -I$(TOPDIR)/lwip/src/include -I$(TOPDIR)/lwip/src/include/ipv4 -I$(TOPDIR)/drivers # Compiler options for final code CFLAGS = -g -m32 -march=i586 -Wall -O2 -fno-builtin -fstrength-reduce -fomit-frame-pointer -finline-functions -nostdinc $(INCLUDE) $(STACKPROT) -# Compiler options for debuuging +# Compiler options for debugging #CFLAGS = -g -O -m32 -march=i586 -Wall -fno-builtin -DWITH_FRAME_POINTER -nostdinc $(INCLUDE) $(STACKPROT) ARFLAGS = rsv -RM = rm -rf LDFLAGS = -T link.ld -z max-page-size=4096 --defsym __BUILD_DATE=$(shell date +'%Y%m%d') --defsym __BUILD_TIME=$(shell date +'%H%M%S') STRIP_DEBUG = --strip-debug KEEP_DEBUG = --only-keep-debug @@ -104,7 +105,7 @@ veryclean: clean @echo [CC] $@ $Q$(CC_FOR_TARGET) -c -D__KERNEL__ $(CFLAGS) -o $@ $< @echo [DEP] $*.dep - $Q$(CC_FOR_TARGET) -MF $*.dep -MT $*.o -MM $(CFLAGS) $< + $Q$(CPP_FOR_TARGET) -MF $*.dep -MT $*.o -MM $(CFLAGS) $< %.o : %.asm diff --git a/apps/gfx_client.c b/apps/gfx_client.c index 5614849d..086d7938 100644 --- a/apps/gfx_client.c +++ b/apps/gfx_client.c @@ -38,7 +38,9 @@ int gfx_init(char* ip_str, char* port_str, int rank) { char* hostname; int port; struct sockaddr_in serveraddr; +#if USE_GETHOSTBYNAME struct hostent *server; +#endif //*pargc -=2; myrank = rank; diff --git a/apps/gfx_generic.c b/apps/gfx_generic.c index 63b6e570..ff1e2a2a 100644 --- a/apps/gfx_generic.c +++ b/apps/gfx_generic.c @@ -22,21 +22,6 @@ #ifdef CONFIG_LWIP -int GFX_init(int* pargc, char*** pargv, int rank) -{ - return gfx_init(pargc, pargv, rank); -} - -int GFX_send(char* buf, int size, int tag) -{ - return gfx_send(buf, size, tag); -} - -int GFX_finalize() -{ - return gfx_finalize(); -} - int GFX_update() { return gfx_send(NULL, 0, GFX_UPDATE); diff --git a/apps/gfx_generic.h b/apps/gfx_generic.h index a2cb57a0..37750f78 100644 --- a/apps/gfx_generic.h +++ b/apps/gfx_generic.h @@ -24,9 +24,9 @@ #ifdef CONFIG_LWIP -int GFX_init(int* pargc, char*** pargv, int rank); -int GFX_send(char* buf, int size, int tag); -int GFX_finalize(); +#define GFX_init(ip_str, port_str, rank) gfx_init(ip_str, port_str, rank) +#define GFX_send(buf, size, tag) gfx_send(buf, size, tag) +#define GFX_finalize() gfx_finalize() int GFX_update(); diff --git a/apps/laplace.c b/apps/laplace.c index 91f9e407..dd8c267d 100644 --- a/apps/laplace.c +++ b/apps/laplace.c @@ -105,7 +105,7 @@ int laplace(void *arg) #ifdef _USE_GFX kprintf("Laplace calls gfx_init\n"); - ret = gfx_init("192.168.4.254" /*&argc */ , "5000" /*&argv */ , my_rank); + ret = GFX_init("192.168.4.254" /*&argc */ , "5000" /*&argv */ , my_rank); kprintf("gfx_init: %d\n", ret); #endif diff --git a/apps/netio.c b/apps/netio.c index 9a6c374c..8deffcb2 100644 --- a/apps/netio.c +++ b/apps/netio.c @@ -90,7 +90,7 @@ static struct in_addr addr_server; static int send_data(int socket, void *buffer, size_t size, int flags) { - int rc = send(socket, buffer, size, flags); + ssize_t rc = send(socket, buffer, size, flags); if (rc < 0) { @@ -106,7 +106,7 @@ static int send_data(int socket, void *buffer, size_t size, int flags) static int recv_data(int socket, void *buffer, size_t size, int flags) { - size_t rc = recv(socket, buffer, size, flags); + ssize_t rc = recv(socket, buffer, size, flags); if (rc < 0) { kprintf("recv failed: %d\n", errno); diff --git a/arch/x86/kernel/processor.c b/arch/x86/kernel/processor.c index f923fabb..d66c1125 100644 --- a/arch/x86/kernel/processor.c +++ b/arch/x86/kernel/processor.c @@ -46,7 +46,7 @@ int cpu_detection(void) kprintf("The CPU owns the Advanced Vector Extensions (AVX). However, MetalSVM doesn't support AVX!\n"); if (has_fpu()) { - kputs("Found and initialize FPU!\n"); + kputs("Found and initialized FPU!\n"); asm volatile ("fninit"); } diff --git a/arch/x86/mm/page.c b/arch/x86/mm/page.c index b721ecf7..86fe358c 100644 --- a/arch/x86/mm/page.c +++ b/arch/x86/mm/page.c @@ -340,7 +340,7 @@ size_t map_region(size_t viraddr, size_t phyaddr, uint32_t npages, uint32_t flag index = (viraddr >> 12) & 0x3FF; if (pgt->entries[index] && !(flags & MAP_REMAP)) { spinlock_unlock(pgd_lock); - kprintf("0x%x is already maped\n", viraddr); + kprintf("0x%x is already mapped\n", viraddr); return 0; } diff --git a/documentation/img/mike_ostrich.jpg b/documentation/img/mike_ostrich.jpg new file mode 100644 index 00000000..9ab2b54f Binary files /dev/null and b/documentation/img/mike_ostrich.jpg differ diff --git a/documentation/tmpl/header.html b/documentation/tmpl/header.html index 7889340f..f0f82961 100644 --- a/documentation/tmpl/header.html +++ b/documentation/tmpl/header.html @@ -20,6 +20,7 @@ $mathjax + diff --git a/documentation/tmpl/stylesheet.css b/documentation/tmpl/stylesheet.css index 016d9d71..b00c22d5 100644 --- a/documentation/tmpl/stylesheet.css +++ b/documentation/tmpl/stylesheet.css @@ -857,9 +857,18 @@ dl.bug top: 5px; right: 5px; } + +#ostrichlogo +{ + position: absolute; + top: 5px; + left: 5px; +} #projectname { + position: relative; + left: 50px; font: 300% Tahoma, Arial,sans-serif; margin: 0px; padding: 2px 0px; @@ -867,6 +876,8 @@ dl.bug #projectbrief { + position: relative; + left: 50px; font: 120% Tahoma, Arial,sans-serif; margin: 0px; padding: 0px;