vbox: distinguish muen, nova and generic binaries

This commit is contained in:
Alexander Boettcher 2017-01-10 15:30:02 +01:00 committed by Norman Feske
parent 4bfdfbb42a
commit 188cab7d3a
17 changed files with 110 additions and 73 deletions

View File

@ -1 +0,0 @@
include $(REP_DIR)/lib/mk/virtualbox-hwaccl-off.inc

View File

@ -1 +0,0 @@
include $(REP_DIR)/lib/mk/virtualbox-hwaccl-off.inc

View File

@ -1 +0,0 @@
include $(REP_DIR)/lib/mk/virtualbox-hwaccl-off.inc

View File

@ -1 +0,0 @@
include $(REP_DIR)/lib/mk/virtualbox-hwaccl-off.inc

View File

@ -1 +0,0 @@
include $(REP_DIR)/lib/mk/virtualbox-hwaccl-off.inc

View File

@ -162,6 +162,7 @@ append config {
</start>
<start name="virtualbox" priority="-2">
<binary name="virtualbox-nova"/>
<resource name="RAM" quantum="448M"/>
<config vbox_file="vm_genode_usb_hid.vbox" vm_name="TestVM" xhci="yes" force_ioapic="yes">
<libc stdout="/dev/log" stderr="/dev/log">
@ -217,7 +218,7 @@ set boot_modules {
fs_rom
ram_fs
report_rom
virtualbox
virtualbox-nova
usb_hid.iso
vm_genode_usb_hid.vbox
ld.lib.so libc.lib.so libm.lib.so pthread.lib.so libc_pipe.lib.so

View File

@ -68,6 +68,10 @@ if {(![have_spec nova] && ![have_spec muen])} {
exit 0
}
set virtualbox_binary "virtualbox-rem"
if {[have_spec muen]} { set virtualbox_binary "virtualbox-muen" }
if {[have_spec nova]} { set virtualbox_binary "virtualbox-nova" }
set flavor "win7"
set use_vbox4 1
@ -207,8 +211,10 @@ set config_of_app {
<config> <rom/> </config>
</start>
<start name="vbox" priority="-2">
<binary name="virtualbox"/>
<start name="vbox" priority="-2">}
append config_of_app "
<binary name=\"$virtualbox_binary\"/>"
append config_of_app {
<resource name="RAM" quantum="1280M"/>
<config vbox_file="vm_auto_share.vbox" vm_name="AutoDisk">
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc"/>

View File

@ -41,6 +41,10 @@ set boot_modules {
dynamic_rom
}
set virtualbox_binary "virtualbox-rem"
if {[have_spec muen]} { set virtualbox_binary "virtualbox-muen" }
if {[have_spec nova]} { set virtualbox_binary "virtualbox-nova" }
set config_of_app {
<start name="input_merger">
@ -236,8 +240,8 @@ append config_of_app {
for { set i 1} { $i <= $use_vms } { incr i} {
append config_of_app "
<start name=\"vbox${i}\" priority=\"-2\">"
append_if [expr $use_vbox4] config_of_app {
<binary name="virtualbox" />}
append_if [expr $use_vbox4] config_of_app "
<binary name=\"$virtualbox_binary\" />"
append_if [expr $use_vbox5] config_of_app {
<binary name="virtualbox5" />}

View File

@ -3,6 +3,10 @@ set use_ps2 [have_spec ps2]
set use_usb 0
set use_serial 0
set virtualbox_binary "virtualbox-rem"
if {[have_spec muen]} { set virtualbox_binary "virtualbox-muen" }
if {[have_spec nova]} { set virtualbox_binary "virtualbox-nova" }
set build_components {
core init virtualbox
drivers/framebuffer
@ -116,7 +120,10 @@ append_if [expr $use_serial] config {
}
append config {
<start name="virtualbox" priority="-2">
<start name="virtualbox" priority="-2">}
append config "
<binary name=\"$virtualbox_binary\"/>"
append config {
<resource name="RAM" quantum="448M"/>
<config vbox_file="test.vbox" vm_name="TestVM">
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc"/>
@ -139,7 +146,9 @@ install_config $config
exec cp ${genode_dir}/repos/ports/run/test.vbox bin/.
set boot_modules { core ld.lib.so init timer virtualbox test.iso test.vbox }
set boot_modules { core ld.lib.so init timer test.iso test.vbox }
append boot_modules $virtualbox_binary
# platform-specific modules
lappend_if [expr $use_usb] boot_modules usb_drv

View File

@ -324,10 +324,10 @@ append boot_modules {
lappend_if [expr $use_rumpfs] boot_modules rump.lib.so
lappend_if [expr $use_rumpfs] boot_modules rump_fs.lib.so
lappend_if [expr $use_rumpfs] boot_modules rump_fs
lappend_if [expr $use_vbox4] boot_modules virtualbox
lappend_if [expr $use_vbox4] boot_modules $virtualbox_binary
lappend_if [expr $use_vbox5] boot_modules virtualbox5
lappend_if [expr $use_ram_fs || $use_usb] boot_modules ram_fs
lappend_if [expr $use_ram_fs && !$use_overlay_from_disk] boot_modules ${overlay_image}
lappend_if [expr $use_ram_fs && !$use_overlay_from_disk] boot_modules $overlay_image
lappend_if [expr $use_cpu_load] boot_modules trace_subject_reporter
lappend_if [expr $use_cpu_load] boot_modules cpu_load_display

View File

@ -0,0 +1,9 @@
TARGET = virtualbox-muen
REQUIRES = muen
LIBS += virtualbox-muen
include $(REP_DIR)/src/virtualbox/target.inc
vpath frontend/% $(REP_DIR)/src/virtualbox/
vpath %.cc $(REP_DIR)/src/virtualbox/

View File

@ -0,0 +1,9 @@
TARGET = virtualbox-nova
REQUIRES = nova
LIBS += virtualbox-nova
include $(REP_DIR)/src/virtualbox/target.inc
vpath frontend/% $(REP_DIR)/src/virtualbox/
vpath %.cc $(REP_DIR)/src/virtualbox/

View File

@ -0,0 +1,60 @@
VBOX_CC_OPT += -DVBOX_WITH_HARDENING
VBOX_CC_OPT += -DVBOX_WITH_GENERIC_SESSION_WATCHER
include $(REP_DIR)/lib/mk/virtualbox-common.inc
#
# Prevent inclusion of the Genode::Log definition after the vbox #define
# of 'Log'. Otherwise, the attemt to compile base/log.h will fail.
#
VBOX_CC_OPT += -include base/log.h
CC_WARN += -Wall
SRC_CC = frontend/main.cc frontend/console.cc \
frontend/VBoxAPIWrap/MediumFormatWrap.cpp \
frontend/VBoxAPIWrap/TokenWrap.cpp \
frontend/VirtualBoxErrorInfoImpl.cpp \
devices.cc drivers.cc dummies.cc libc.cc \
logger.cc mm.cc pdm.cc rt.cc sup.cc iommio.cc ioport.cc \
hm.cc thread.cc dynlib.cc unimpl.cc
LIBS += base
LIBS += stdcxx
LIBS += virtualbox-bios virtualbox-recompiler virtualbox-runtime \
virtualbox-vmm virtualbox-devices virtualbox-drivers \
virtualbox-storage virtualbox-zlib virtualbox-liblzf \
virtualbox-xml virtualbox-main
LIBS += pthread libc_terminal libc_pipe libiconv
LIBS += qemu-usb
INC_DIR += $(call select_from_repositories,src/lib/libc)
INC_DIR += $(call select_from_repositories,src/lib/pthread)
INC_DIR += $(VBOX_DIR)/Runtime/include
SRC_CC += HostServices/SharedFolders/service.cpp
SRC_CC += HostServices/SharedFolders/mappings.cpp
SRC_CC += HostServices/SharedFolders/vbsf.cpp
SRC_CC += HostServices/SharedFolders/shflhandle.cpp
SRC_CC += HostServices/SharedClipboard/service.cpp
SRC_CC += frontend/dummy/errorinfo.cc frontend/dummy/virtualboxbase.cc
SRC_CC += frontend/dummy/autostart.cc frontend/dummy/rest.cc
SRC_CC += frontend/dummy/host.cc
INC_DIR += $(VBOX_DIR)/Main/include
INC_DIR += $(VBOX_DIR)/VMM/include
INC_DIR += $(REP_DIR)/src/virtualbox/frontend
INC_DIR += $(REP_DIR)/src/virtualbox/frontend/VBoxAPIWrap
INC_DIR += $(VBOX_DIR)/Main/xml
INC_DIR += $(VBOX_DIR)/HostServices
# search path to 'scan_code_set_2.h'
INC_DIR += $(call select_from_repositories,src/drivers/input/spec/ps2)

View File

@ -1,61 +1,5 @@
VBOX_CC_OPT += -DVBOX_WITH_HARDENING
VBOX_CC_OPT += -DVBOX_WITH_GENERIC_SESSION_WATCHER
TARGET = virtualbox-rem
include $(REP_DIR)/lib/mk/virtualbox-common.inc
LIBS += virtualbox-hwaccl-off
#
# Prevent inclusion of the Genode::Log definition after the vbox #define
# of 'Log'. Otherwise, the attemt to compile base/log.h will fail.
#
VBOX_CC_OPT += -include base/log.h
CC_WARN += -Wall
TARGET = virtualbox
SRC_CC = frontend/main.cc frontend/console.cc \
frontend/VBoxAPIWrap/MediumFormatWrap.cpp \
frontend/VBoxAPIWrap/TokenWrap.cpp \
frontend/VirtualBoxErrorInfoImpl.cpp \
devices.cc drivers.cc dummies.cc libc.cc \
logger.cc mm.cc pdm.cc rt.cc sup.cc iommio.cc ioport.cc \
hm.cc thread.cc dynlib.cc unimpl.cc
LIBS += base
LIBS += stdcxx
LIBS += virtualbox-bios virtualbox-recompiler virtualbox-runtime \
virtualbox-vmm virtualbox-devices virtualbox-drivers \
virtualbox-storage virtualbox-zlib virtualbox-liblzf \
virtualbox-hwaccl virtualbox-xml virtualbox-main
LIBS += pthread libc_terminal libc_pipe libiconv
LIBS += qemu-usb
INC_DIR += $(call select_from_repositories,src/lib/libc)
INC_DIR += $(call select_from_repositories,src/lib/pthread)
INC_DIR += $(VBOX_DIR)/Runtime/include
SRC_CC += HostServices/SharedFolders/service.cpp
SRC_CC += HostServices/SharedFolders/mappings.cpp
SRC_CC += HostServices/SharedFolders/vbsf.cpp
SRC_CC += HostServices/SharedFolders/shflhandle.cpp
SRC_CC += HostServices/SharedClipboard/service.cpp
SRC_CC += frontend/dummy/errorinfo.cc frontend/dummy/virtualboxbase.cc
SRC_CC += frontend/dummy/autostart.cc frontend/dummy/rest.cc
SRC_CC += frontend/dummy/host.cc
INC_DIR += $(VBOX_DIR)/Main/include
INC_DIR += $(VBOX_DIR)/VMM/include
INC_DIR += $(REP_DIR)/src/virtualbox/frontend
INC_DIR += $(REP_DIR)/src/virtualbox/frontend/VBoxAPIWrap
INC_DIR += $(VBOX_DIR)/Main/xml
INC_DIR += $(VBOX_DIR)/HostServices
# search path to 'scan_code_set_2.h'
INC_DIR += $(call select_from_repositories,src/drivers/input/spec/ps2)
include $(REP_DIR)/src/virtualbox/target.inc