mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-22 06:57:51 +00:00
ecaf09a41b
The commit switches the kernel branch to r5 and updates the syscall bindings in base-nova accordingly. Beside some cleanups, r5 extents the ec_ctrl syscall to support following features: * An EC may yield its current timeslice. The timeslice gets enqueued at the end of the run queue without refreshing the left budget of the quantum. * An EC helps with the current SC another EC. Used in Genode to implement helping over a user-level lock to avoid live-lock situation. (Think of a limited priority-inheritance mechanism.) * An EC requests a new scheduler decision. Used in Genode to transfer back the potentially helping SC to the helper EC. Issue #986
55 lines
1.2 KiB
Makefile
55 lines
1.2 KiB
Makefile
#
|
|
# \brief Download, and unpack the NOVA hypervisor.
|
|
# \author Stefan Kalkowski
|
|
# \author Alexander Boettcher
|
|
# \date 2012-06-04
|
|
#
|
|
|
|
VERBOSE ?= @
|
|
ECHO = @echo
|
|
GIT_URL = https://github.com/alex-ab/NOVA.git
|
|
GIT_REV = HEAD
|
|
GIT_BRANCH = r5
|
|
CONTRIB_DIR = contrib
|
|
PATCHES = $(shell find patches -name '*.patch')
|
|
|
|
#
|
|
# Utility to check if a tool is installed
|
|
#
|
|
check_tool = $(if $(shell which $(1)),,$(error Need to have '$(1)' installed.))
|
|
|
|
$(call check_tool,git)
|
|
$(call check_tool,patch)
|
|
|
|
#
|
|
# Print help information by default
|
|
#
|
|
help::
|
|
|
|
prepare: $(CONTRIB_DIR)
|
|
|
|
help::
|
|
$(ECHO)
|
|
$(ECHO) "Prepare the NOVA base repository"
|
|
$(ECHO)
|
|
$(ECHO) "--- available commands ---"
|
|
$(ECHO) "prepare - checkout upstream source codes"
|
|
$(ECHO) "clean - remove upstream source codes"
|
|
$(ECHO)
|
|
|
|
$(CONTRIB_DIR)/.git:
|
|
$(VERBOSE)git clone $(GIT_URL) $(CONTRIB_DIR)
|
|
|
|
.PHONY: $(CONTRIB_DIR)
|
|
|
|
$(CONTRIB_DIR): $(CONTRIB_DIR)/.git
|
|
$(VERBOSE)cd $(CONTRIB_DIR); git pull
|
|
$(VERBOSE)cd $(CONTRIB_DIR); git reset --hard $(GIT_REV); git checkout $(GIT_BRANCH)
|
|
$(ECHO) "applying patches to '$(CONTRIB_DIR)/'"
|
|
$(VERBOSE)for i in $(PATCHES); do patch -d $@ -p1 < $$i; done
|
|
|
|
.PHONY: $(CONTRIB_DIR)
|
|
|
|
clean::
|
|
$(VERBOSE)rm -rf $(CONTRIB_DIR)
|