mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-20 17:52:52 +00:00
parent
975b550432
commit
d7724e9d6a
@ -1,236 +0,0 @@
|
||||
#
|
||||
# This run script tests the VirtualBox USB device pass-through feature
|
||||
# by running the 'usb_hid_raw' test in a VM.
|
||||
#
|
||||
# See 'usb_hid_raw.run' for more information about the setup of the 'Pro Micro' USB
|
||||
# device for automated testing.
|
||||
#
|
||||
# Note: the USB device(s) to be passed through must be included in the whitelist.
|
||||
#
|
||||
|
||||
if { [have_include "power_on/qemu"] || ![have_spec nova] || ![have_spec x86_64]} {
|
||||
puts "Run script is only supported on 64-bit NOVA on real hardware"
|
||||
exit 0
|
||||
}
|
||||
|
||||
create_boot_directory
|
||||
import_from_depot [depot_user]/src/[base_src] \
|
||||
[depot_user]/src/acpi \
|
||||
[depot_user]/src/fs_rom \
|
||||
[depot_user]/src/init \
|
||||
[depot_user]/src/jpeg \
|
||||
[depot_user]/src/libc \
|
||||
[depot_user]/src/libiconv \
|
||||
[depot_user]/src/libyuv \
|
||||
[depot_user]/src/log_terminal \
|
||||
[depot_user]/src/nitpicker \
|
||||
[depot_user]/src/pc_usb_host \
|
||||
[depot_user]/src/pci_decode \
|
||||
[depot_user]/src/platform \
|
||||
[depot_user]/src/posix \
|
||||
[depot_user]/src/ps2 \
|
||||
[depot_user]/src/report_rom \
|
||||
[depot_user]/src/stdcxx \
|
||||
[depot_user]/src/vbox5-nova \
|
||||
[depot_user]/src/vesa_fb \
|
||||
[depot_user]/src/vfs \
|
||||
[depot_user]/src/vfs_import \
|
||||
[depot_user]/src/vfs_pipe \
|
||||
[depot_user]/src/zlib
|
||||
|
||||
install_config {
|
||||
<config prio_levels="4">
|
||||
<parent-provides>
|
||||
<service name="ROM"/>
|
||||
<service name="IRQ"/>
|
||||
<service name="IO_MEM"/>
|
||||
<service name="IO_PORT"/>
|
||||
<service name="PD"/>
|
||||
<service name="RM"/>
|
||||
<service name="CPU"/>
|
||||
<service name="LOG"/>
|
||||
</parent-provides>
|
||||
<default-route>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</default-route>
|
||||
<default caps="150"/>
|
||||
|
||||
<start name="report_rom" priority="-1">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides> <service name="Report"/> <service name="ROM"/> </provides>
|
||||
<config>
|
||||
<policy label="pci_decode -> system" report="acpi -> acpi"/>
|
||||
<policy label="platform -> devices" report="pci_decode -> devices"/>
|
||||
<policy label="pointer -> hover" report="nitpicker -> hover"/>
|
||||
<policy label="pointer -> xray" report="nitpicker -> xray"/>
|
||||
</config>
|
||||
</start>
|
||||
|
||||
<start name="acpi" caps="250">
|
||||
<resource name="RAM" quantum="4M"/>
|
||||
<route>
|
||||
<service name="Report"> <child name="report_rom"/> </service>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="pci_decode" caps="350">
|
||||
<resource name="RAM" quantum="2M"/>
|
||||
<route>
|
||||
<service name="ROM" label="system"> <child name="report_rom"/> </service>
|
||||
<service name="Report"> <child name="report_rom"/> </service>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="platform" caps="100" managing_system="yes">
|
||||
<resource name="RAM" quantum="2M"/>
|
||||
<provides> <service name="Platform"/> </provides>
|
||||
<route>
|
||||
<service name="Report"> <child name="report_rom"/> </service>
|
||||
<service name="ROM" label="devices"> <child name="report_rom"/> </service>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</route>
|
||||
<config>
|
||||
<policy label_prefix="ps2"> <device name="ps2"/> </policy>
|
||||
<policy label_prefix="fb" info="yes"> <pci class="VGA"/> </policy>
|
||||
<policy label_prefix="usb" info="yes"> <pci class="USB"/> </policy>
|
||||
</config>
|
||||
</start>
|
||||
|
||||
<start name="timer">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides><service name="Timer"/></provides>
|
||||
</start>
|
||||
|
||||
<start name="usb" priority="-1">
|
||||
<binary name="pc_usb_host"/>
|
||||
<resource name="RAM" quantum="16M"/>
|
||||
<provides> <service name="Usb"/> </provides>
|
||||
<config>
|
||||
<report devices="yes" config="yes"/>
|
||||
<policy label_prefix="virtualbox"><device class="0x3"/></policy>
|
||||
</config>
|
||||
<route>
|
||||
<service name="IRQ"><child name="acpi" /></service>
|
||||
<service name="Report"> <child name="report_rom" /> </service>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="nitpicker" priority="-1">
|
||||
<resource name="RAM" quantum="12M"/>
|
||||
<provides>
|
||||
<service name="Gui"/> <service name="Capture"/> <service name="Event"/>
|
||||
</provides>
|
||||
<route>
|
||||
<service name="Report"> <child name="report_rom" /> </service>
|
||||
<any-service> <parent/> <any-child /> </any-service>
|
||||
</route>
|
||||
<config>
|
||||
<capture/> <event/>
|
||||
<report focus="yes" hover="yes" />
|
||||
|
||||
<domain name="pointer" layer="1" content="client" label="no" origin="pointer" />
|
||||
<domain name="cpu_load" layer="2" content="client" label="no" />
|
||||
<domain name="" layer="3" content="client" label="no" focus="click" hover="always" />
|
||||
|
||||
<policy label_prefix="pointer" domain="pointer"/>
|
||||
<policy label_prefix="cpu_load_display" domain="cpu_load"/>
|
||||
<default-policy domain=""/>
|
||||
</config>
|
||||
</start>
|
||||
|
||||
<start name="pointer" priority="-1">
|
||||
<resource name="RAM" quantum="2M"/>
|
||||
<provides> <service name="Report"/> </provides>
|
||||
<config shapes="yes"/>
|
||||
<route>
|
||||
<service name="Gui"> <child name="nitpicker"/> </service>
|
||||
<service name="ROM" label="hover"> <child name="report_rom"/> </service>
|
||||
<service name="ROM" label="xray"> <child name="report_rom"/> </service>
|
||||
<any-service> <parent/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="log_terminal" priority="-1">
|
||||
<resource name="RAM" quantum="2M"/>
|
||||
<provides>
|
||||
<service name="Terminal"/>
|
||||
</provides>
|
||||
</start>
|
||||
|
||||
<start name="virtualbox" caps="800" priority="-2">
|
||||
<binary name="virtualbox5-nova"/>
|
||||
<resource name="RAM" quantum="448M"/>
|
||||
<config vbox_file="vm_genode_usb_hid_raw.vbox" vm_name="TestVM" xhci="yes">
|
||||
<vfs>
|
||||
<dir name="dev">
|
||||
<log/> <terminal/>
|
||||
<inline name="rtc">2022-08-10 00:01</inline>
|
||||
</dir>
|
||||
<dir name="pipe"> <pipe/> </dir>
|
||||
<rom name="vm_genode_usb_hid_raw.vbox" />
|
||||
<rom name="usb_hid_raw.iso" />
|
||||
</vfs>
|
||||
<libc stdout="/dev/log" stderr="/dev/log" pipe="/pipe" rtc="/dev/rtc"/>
|
||||
</config>
|
||||
<route>
|
||||
<service name="Report"><child name="report_rom" /></service>
|
||||
<any-service> <parent/> <any-child /> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
</config>
|
||||
}
|
||||
|
||||
puts "--- executing the 'usb_hid_raw' run script to generate the 'usb_hid_raw.iso' image ---"
|
||||
|
||||
global specs
|
||||
global repositories
|
||||
|
||||
set depot_auto_update ""
|
||||
if {[get_cmd_switch --depot-auto-update]} {
|
||||
set depot_auto_update "--depot-auto-update"
|
||||
}
|
||||
|
||||
exec -ignorestderr \
|
||||
$::argv0 \
|
||||
--genode-dir [genode_dir] \
|
||||
--name usb_hid_raw \
|
||||
--specs "$specs" \
|
||||
--board "$board_var" \
|
||||
--repositories "$repositories" \
|
||||
--depot-dir [depot_dir] \
|
||||
--depot-user [depot_user] \
|
||||
$depot_auto_update \
|
||||
--cross-dev-prefix "[cross_dev_prefix]" \
|
||||
--include boot_dir/nova \
|
||||
--include image/iso \
|
||||
--include [repository_contains run/usb_hid_raw.run]/run/usb_hid_raw.run
|
||||
|
||||
exec ln -sf ${genode_dir}/repos/ports/run/vm_genode_usb_hid_raw.vbox bin/
|
||||
exec ln -sf ../../usb_hid_raw.iso bin/
|
||||
|
||||
build_boot_image { usb_hid_raw.iso vm_genode_usb_hid_raw.vbox }
|
||||
|
||||
if { ![get_cmd_switch --autopilot] } { run_genode_until forever }
|
||||
|
||||
# autopilot test
|
||||
|
||||
run_genode_until {\[init -\> log_terminal\] \[init -\> event_dump\] Input event #11\t} 150
|
||||
|
||||
# pay only attention to the output of event_dump
|
||||
grep_output {^\[init -\> log_terminal\] \[init -\> event_dump\]}
|
||||
|
||||
compare_output_to {
|
||||
[init -> log_terminal] [init -> event_dump] Input event #0 PRESS KEY_X 65534 key count: 1
|
||||
[init -> log_terminal] [init -> event_dump] Input event #1 RELEASE KEY_X key count: 0
|
||||
[init -> log_terminal] [init -> event_dump] Input event #2 REL_MOTION -1+1 key count: 0
|
||||
[init -> log_terminal] [init -> event_dump] Input event #3 PRESS BTN_LEFT 65534 key count: 1
|
||||
[init -> log_terminal] [init -> event_dump] Input event #4 RELEASE BTN_LEFT key count: 0
|
||||
[init -> log_terminal] [init -> event_dump] Input event #5 PRESS KEY_X 65534 key count: 1
|
||||
[init -> log_terminal] [init -> event_dump] Input event #6 RELEASE KEY_X key count: 0
|
||||
[init -> log_terminal] [init -> event_dump] Input event #7 REL_MOTION -1+1 key count: 0
|
||||
[init -> log_terminal] [init -> event_dump] Input event #8 PRESS BTN_LEFT 65534 key count: 1
|
||||
[init -> log_terminal] [init -> event_dump] Input event #9 RELEASE BTN_LEFT key count: 0
|
||||
}
|
@ -1,163 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
** DO NOT EDIT THIS FILE.
|
||||
** If you make changes to this file while any VirtualBox related application
|
||||
** is running, your changes will be overwritten later, without taking effect.
|
||||
** Use VBoxManage or the VirtualBox Manager GUI to make changes.
|
||||
-->
|
||||
<VirtualBox xmlns="http://www.innotek.de/VirtualBox-settings" version="1.14-linux">
|
||||
<Machine uuid="{410f6221-6237-4833-b02c-a54000b7b190}" name="Genode" OSType="Other" snapshotFolder="Snapshots" lastStateChange="2014-10-30T13:26:17Z">
|
||||
<MediaRegistry>
|
||||
<HardDisks/>
|
||||
<DVDImages>
|
||||
<Image uuid="{81763434-9a51-49e8-9444-528a5a28c4bc}" location="usb_hid_raw.iso"/>
|
||||
</DVDImages>
|
||||
<FloppyImages/>
|
||||
</MediaRegistry>
|
||||
<ExtraData>
|
||||
<ExtraDataItem name="GUI/LastGuestSizeHint" value="720,400"/>
|
||||
<ExtraDataItem name="GUI/LastNormalWindowPosition" value="513,100,720,422"/>
|
||||
</ExtraData>
|
||||
<Hardware version="2">
|
||||
<CPU count="1" hotplug="false">
|
||||
<HardwareVirtEx enabled="true"/>
|
||||
<HardwareVirtExNestedPaging enabled="true"/>
|
||||
<HardwareVirtExVPID enabled="true"/>
|
||||
<HardwareVirtExUX enabled="false"/>
|
||||
<PAE enabled="true"/>
|
||||
<LongMode enabled="true"/>
|
||||
<HardwareVirtExLargePages enabled="false"/>
|
||||
<HardwareVirtForce enabled="false"/>
|
||||
</CPU>
|
||||
<Memory RAMSize="256" PageFusion="false"/>
|
||||
<HID Pointing="PS2Mouse" Keyboard="PS2Keyboard"/>
|
||||
<HPET enabled="false"/>
|
||||
<Chipset type="ICH9"/>
|
||||
<Boot>
|
||||
<Order position="1" device="Floppy"/>
|
||||
<Order position="2" device="DVD"/>
|
||||
<Order position="3" device="HardDisk"/>
|
||||
<Order position="4" device="None"/>
|
||||
</Boot>
|
||||
<Display VRAMSize="12" monitorCount="1" accelerate3D="false" accelerate2DVideo="false"/>
|
||||
<VideoCapture enabled="false" screens="18446744073709551615" horzRes="1024" vertRes="768" rate="512" fps="25"/>
|
||||
<RemoteDisplay enabled="false" authType="Null" authTimeout="5000"/>
|
||||
<BIOS>
|
||||
<ACPI enabled="true"/>
|
||||
<IOAPIC enabled="true"/>
|
||||
<Logo fadeIn="true" fadeOut="true" displayTime="0"/>
|
||||
<BootMenu mode="MessageAndMenu"/>
|
||||
<TimeOffset value="0"/>
|
||||
<PXEDebug enabled="false"/>
|
||||
</BIOS>
|
||||
<USB>
|
||||
<Controllers>
|
||||
<Controller name="OHCI" type="OHCI"/>
|
||||
</Controllers>
|
||||
<DeviceFilters/>
|
||||
</USB>
|
||||
<Network>
|
||||
<Adapter slot="0" enabled="false" MACAddress="08002785385E" cable="true" speed="0" type="82540EM">
|
||||
<DisabledModes>
|
||||
<InternalNetwork name="intnet"/>
|
||||
<NATNetwork name="NatNetwork"/>
|
||||
</DisabledModes>
|
||||
<NAT>
|
||||
<DNS pass-domain="true" use-proxy="false" use-host-resolver="false"/>
|
||||
<Alias logging="false" proxy-only="false" use-same-ports="false"/>
|
||||
</NAT>
|
||||
</Adapter>
|
||||
<Adapter slot="1" enabled="false" MACAddress="0800273AD0BB" cable="true" speed="0" type="82540EM">
|
||||
<DisabledModes>
|
||||
<NAT>
|
||||
<DNS pass-domain="true" use-proxy="false" use-host-resolver="false"/>
|
||||
<Alias logging="false" proxy-only="false" use-same-ports="false"/>
|
||||
</NAT>
|
||||
</DisabledModes>
|
||||
</Adapter>
|
||||
<Adapter slot="2" enabled="false" MACAddress="0800270786C1" cable="true" speed="0" type="82540EM">
|
||||
<DisabledModes>
|
||||
<NAT>
|
||||
<DNS pass-domain="true" use-proxy="false" use-host-resolver="false"/>
|
||||
<Alias logging="false" proxy-only="false" use-same-ports="false"/>
|
||||
</NAT>
|
||||
</DisabledModes>
|
||||
</Adapter>
|
||||
<Adapter slot="3" enabled="false" MACAddress="0800279B9C1E" cable="true" speed="0" type="82540EM">
|
||||
<DisabledModes>
|
||||
<NAT>
|
||||
<DNS pass-domain="true" use-proxy="false" use-host-resolver="false"/>
|
||||
<Alias logging="false" proxy-only="false" use-same-ports="false"/>
|
||||
</NAT>
|
||||
</DisabledModes>
|
||||
</Adapter>
|
||||
<Adapter slot="4" enabled="false" MACAddress="080027B94C18" cable="true" speed="0" type="82540EM">
|
||||
<DisabledModes>
|
||||
<NAT>
|
||||
<DNS pass-domain="true" use-proxy="false" use-host-resolver="false"/>
|
||||
<Alias logging="false" proxy-only="false" use-same-ports="false"/>
|
||||
</NAT>
|
||||
</DisabledModes>
|
||||
</Adapter>
|
||||
<Adapter slot="5" enabled="false" MACAddress="080027E38E65" cable="true" speed="0" type="82540EM">
|
||||
<DisabledModes>
|
||||
<NAT>
|
||||
<DNS pass-domain="true" use-proxy="false" use-host-resolver="false"/>
|
||||
<Alias logging="false" proxy-only="false" use-same-ports="false"/>
|
||||
</NAT>
|
||||
</DisabledModes>
|
||||
</Adapter>
|
||||
<Adapter slot="6" enabled="false" MACAddress="0800275A8627" cable="true" speed="0" type="82540EM">
|
||||
<DisabledModes>
|
||||
<NAT>
|
||||
<DNS pass-domain="true" use-proxy="false" use-host-resolver="false"/>
|
||||
<Alias logging="false" proxy-only="false" use-same-ports="false"/>
|
||||
</NAT>
|
||||
</DisabledModes>
|
||||
</Adapter>
|
||||
<Adapter slot="7" enabled="false" MACAddress="0800271CE60A" cable="true" speed="0" type="82540EM">
|
||||
<DisabledModes>
|
||||
<NAT>
|
||||
<DNS pass-domain="true" use-proxy="false" use-host-resolver="false"/>
|
||||
<Alias logging="false" proxy-only="false" use-same-ports="false"/>
|
||||
</NAT>
|
||||
</DisabledModes>
|
||||
</Adapter>
|
||||
</Network>
|
||||
<UART>
|
||||
<Port slot="0" enabled="true" IOBase="0x3f8" IRQ="4" path="/dev/terminal" hostMode="HostDevice"/>
|
||||
<Port slot="1" enabled="false" IOBase="0x2f8" IRQ="3" hostMode="Disconnected"/>
|
||||
</UART>
|
||||
<LPT>
|
||||
<Port slot="0" enabled="false" IOBase="0x378" IRQ="7"/>
|
||||
<Port slot="1" enabled="false" IOBase="0x378" IRQ="7"/>
|
||||
</LPT>
|
||||
<AudioAdapter controller="AC97" driver="Pulse" enabled="false"/>
|
||||
<RTC localOrUTC="UTC"/>
|
||||
<SharedFolders/>
|
||||
<Clipboard mode="Disabled"/>
|
||||
<DragAndDrop mode="Disabled"/>
|
||||
<IO>
|
||||
<IoCache enabled="true" size="5"/>
|
||||
<BandwidthGroups/>
|
||||
</IO>
|
||||
<HostPci>
|
||||
<Devices/>
|
||||
</HostPci>
|
||||
<EmulatedUSB>
|
||||
<CardReader enabled="false"/>
|
||||
</EmulatedUSB>
|
||||
<Guest memoryBalloonSize="0"/>
|
||||
<GuestProperties>
|
||||
<GuestProperty name="/VirtualBox/HostInfo/GUI/LanguageID" value="en_US" timestamp="1414675524029545000" flags=""/>
|
||||
</GuestProperties>
|
||||
</Hardware>
|
||||
<StorageControllers>
|
||||
<StorageController name="IDE" type="PIIX4" PortCount="2" useHostIOCache="true" Bootable="true">
|
||||
<AttachedDevice passthrough="false" tempeject="true" type="DVD" port="1" device="0">
|
||||
<Image uuid="{81763434-9a51-49e8-9444-528a5a28c4bc}"/>
|
||||
</AttachedDevice>
|
||||
</StorageController>
|
||||
</StorageControllers>
|
||||
</Machine>
|
||||
</VirtualBox>
|
Loading…
x
Reference in New Issue
Block a user