From 033e33369179b3aa47e5ba0d2977d211dd0a52b0 Mon Sep 17 00:00:00 2001 From: Alexander Boettcher Date: Wed, 25 Oct 2017 13:51:27 +0200 Subject: [PATCH] depot: recipe for Seoul VMM --- repos/ports/recipes/src/seoul-nova/content.mk | 74 +++++++++++++++++++ repos/ports/recipes/src/seoul-nova/hash | 1 + repos/ports/recipes/src/seoul-nova/used_apis | 12 +++ repos/ports/run/seoul.inc | 2 +- repos/ports/src/app/seoul/main.cc | 2 +- repos/ports/src/app/seoul/target.inc | 1 + 6 files changed, 90 insertions(+), 2 deletions(-) create mode 100644 repos/ports/recipes/src/seoul-nova/content.mk create mode 100644 repos/ports/recipes/src/seoul-nova/hash create mode 100644 repos/ports/recipes/src/seoul-nova/used_apis diff --git a/repos/ports/recipes/src/seoul-nova/content.mk b/repos/ports/recipes/src/seoul-nova/content.mk new file mode 100644 index 000000000..00628ca65 --- /dev/null +++ b/repos/ports/recipes/src/seoul-nova/content.mk @@ -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 $@) diff --git a/repos/ports/recipes/src/seoul-nova/hash b/repos/ports/recipes/src/seoul-nova/hash new file mode 100644 index 000000000..788da93ab --- /dev/null +++ b/repos/ports/recipes/src/seoul-nova/hash @@ -0,0 +1 @@ +2018-03-06 59a62cc3b817a231056ecd1ebf77e9ddc2777da8 diff --git a/repos/ports/recipes/src/seoul-nova/used_apis b/repos/ports/recipes/src/seoul-nova/used_apis new file mode 100644 index 000000000..6611fa4e3 --- /dev/null +++ b/repos/ports/recipes/src/seoul-nova/used_apis @@ -0,0 +1,12 @@ +base-nova +base +libc +os +blit +nitpicker_gfx +framebuffer_session +input_session +timer_session +block_session +nic_session +rtc_session diff --git a/repos/ports/run/seoul.inc b/repos/ports/run/seoul.inc index 19f713b9d..96f664824 100644 --- a/repos/ports/run/seoul.inc +++ b/repos/ports/run/seoul.inc @@ -187,7 +187,7 @@ append_if $use_block_sata config { append_if $use_block_ram config { - + } diff --git a/repos/ports/src/app/seoul/main.cc b/repos/ports/src/app/seoul/main.cc index 90d0fd2a5..a3e4736d2 100644 --- a/repos/ports/src/app/seoul/main.cc +++ b/repos/ports/src/app/seoul/main.cc @@ -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); diff --git a/repos/ports/src/app/seoul/target.inc b/repos/ports/src/app/seoul/target.inc index bd4b3c1d2..8cbb21eae 100644 --- a/repos/ports/src/app/seoul/target.inc +++ b/repos/ports/src/app/seoul/target.inc @@ -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