depot: recipe for Seoul VMM

This commit is contained in:
Alexander Boettcher 2017-10-25 13:51:27 +02:00 committed by Christian Helmuth
parent 6986b6ca95
commit 033e333691
6 changed files with 90 additions and 2 deletions

View File

@ -0,0 +1,74 @@
PORT_DIR_SEOUL := $(call port_dir,$(REP_DIR)/ports/seoul)
SRC_DIR = src/app/seoul
content: $(SRC_DIR) src/include
$(SRC_DIR):
mkdir -p $@
cp -rH $(REP_DIR)/$@/* $@/
cp -r $(PORT_DIR_SEOUL)/$@/* $@/
cp $(PORT_DIR_SEOUL)/$@/LICENSE .
BASE_SRC_INCLUDE := src/include/base/internal/crt0.h \
src/include/base/internal/globals.h \
src/include/base/internal/unmanaged_singleton.h
src/include:
mkdir -p $@/base/internal
cp -r $(GENODE_DIR)/repos/base-nova/$@ $(dir $@)
for file in $(BASE_SRC_INCLUDE); do \
cp $(GENODE_DIR)/repos/base/$$file $$file; \
done
MIRROR_FROM_PORT_DIR := lib/mk/seoul_libc_support.mk \
include/vmm
content: $(MIRROR_FROM_PORT_DIR)
$(MIRROR_FROM_PORT_DIR):
mkdir -p $(dir $@)
cp -r $(GENODE_DIR)/repos/ports/$@ $(dir $@)
MIRROR_FROM_LIBPORTS := lib/mk/libc-common.inc
content: $(MIRROR_FROM_LIBPORTS)
$(MIRROR_FROM_LIBPORTS):
mkdir -p $(dir $@)
cp -r $(GENODE_DIR)/repos/libports/$@ $(dir $@)
MIRROR_FROM_BASE_NOVA := lib/mk/base-nova-common.mk \
lib/mk/base-nova.mk \
lib/mk/spec/x86_32/startup-nova.mk \
lib/mk/spec/x86_64/startup-nova.mk \
src/lib/base
content: $(MIRROR_FROM_BASE_NOVA)
$(MIRROR_FROM_BASE_NOVA):
mkdir -p $(dir $@)
cp -r $(GENODE_DIR)/repos/base-nova/$@ $(dir $@)
MIRROR_FROM_BASE := lib/mk/cxx.mk
content: $(MIRROR_FROM_BASE)
$(MIRROR_FROM_BASE):
mkdir -p $(dir $@)
cp -r $(GENODE_DIR)/repos/base/$@ $(dir $@)
PORT_DIR := $(call port_dir,$(GENODE_DIR)/repos/libports/ports/libc)
include $(REP_DIR)/lib/mk/seoul_libc_support.mk
MIRROR_FROM_LIBC := $(addprefix src/lib/libc/lib/libc/,$(SRC_C)) \
src/lib/libc/lib/libc/locale/mblocal.h \
src/lib/libc/lib/libc/string/index.c
content: $(MIRROR_FROM_LIBC)
$(MIRROR_FROM_LIBC):
mkdir -p $(dir $@)
cp -r $(PORT_DIR)/$@ $(dir $@)

View File

@ -0,0 +1 @@
2018-03-06 59a62cc3b817a231056ecd1ebf77e9ddc2777da8

View File

@ -0,0 +1,12 @@
base-nova
base
libc
os
blit
nitpicker_gfx
framebuffer_session
input_session
timer_session
block_session
nic_session
rtc_session

View File

@ -187,7 +187,7 @@ append_if $use_block_sata config {
append_if $use_block_ram config {
<start name="ram_blk" priority="-1">
<resource name="RAM" quantum="1M" />
<resource name="RAM" quantum="132M" />
<provides><service name="Block"/></provides>
<config file="seoul-disc.raw" block_size="512"/>
</start>}

View File

@ -1411,7 +1411,7 @@ void Component::construct(Genode::Env &env)
/* request max available memory */
vm_size = env.ram().avail_ram().value;
/* reserve some memory for the VMM */
vm_size -= 8 * 1024 * 1024;
vm_size -= 10 * 1024 * 1024;
/* calculate max memory for the VM */
vm_size = vm_size & ~((1UL << Vmm::PAGE_SIZE_LOG2) - 1);

View File

@ -23,6 +23,7 @@ SRC_CC += $(filter-out $(FILTER_OUT),$(addprefix executor/,$(EXECUTOR_SRC_CC)))
INC_DIR += $(SEOUL_CONTRIB_DIR)/include
INC_DIR += $(SEOUL_GENODE_DIR)/include
INC_DIR += $(REP_DIR)/src/app/seoul/include
include $(call select_from_repositories,lib/mk/libc-common.inc)
CC_WARN += -Wno-parentheses -Wall
CC_CXX_OPT += -march=core2