mirror of
https://github.com/genodelabs/genode.git
synced 2025-06-01 15:10:56 +00:00
parent
fae3c12366
commit
24181f2bf6
@ -1,7 +1,8 @@
|
|||||||
_/src/platform_drv
|
_/src/platform_drv
|
||||||
_/src/acpi_drv
|
_/src/acpi_drv
|
||||||
_/src/ps2_drv
|
_/src/ps2_drv
|
||||||
_/src/usb_drv
|
_/src/usb_host_drv
|
||||||
|
_/src/usb_hid_drv
|
||||||
_/src/usb_block_drv
|
_/src/usb_block_drv
|
||||||
_/src/vesa_drv
|
_/src/vesa_drv
|
||||||
_/src/intel_fb_drv
|
_/src/intel_fb_drv
|
||||||
|
@ -15,6 +15,8 @@
|
|||||||
<service name="Event"/>
|
<service name="Event"/>
|
||||||
</parent-provides>
|
</parent-provides>
|
||||||
|
|
||||||
|
<report child_caps="true" child_ram="true" init_caps="true" init_ram="true" delay_ms="5000"/>
|
||||||
|
|
||||||
<default-route>
|
<default-route>
|
||||||
<any-service> <parent/> <any-child/> </any-service>
|
<any-service> <parent/> <any-child/> </any-service>
|
||||||
</default-route>
|
</default-route>
|
||||||
@ -44,6 +46,7 @@
|
|||||||
<policy label="rom_reporter -> acpi" report="acpi_drv -> acpi"/>
|
<policy label="rom_reporter -> acpi" report="acpi_drv -> acpi"/>
|
||||||
<policy label="rom_reporter -> pci_devices" report="platform_drv -> pci"/>
|
<policy label="rom_reporter -> pci_devices" report="platform_drv -> pci"/>
|
||||||
<policy label="rom_reporter -> usb_devices" report="usb_drv -> devices"/>
|
<policy label="rom_reporter -> usb_devices" report="usb_drv -> devices"/>
|
||||||
|
<policy label="usb_hid_drv -> report" report="usb_drv -> devices"/>
|
||||||
</config>
|
</config>
|
||||||
</start>
|
</start>
|
||||||
|
|
||||||
@ -121,15 +124,13 @@
|
|||||||
</start>
|
</start>
|
||||||
|
|
||||||
<start name="usb_drv" caps="200" priority="-1">
|
<start name="usb_drv" caps="200" priority="-1">
|
||||||
|
<binary name="x86_pc_usb_host_drv"/>
|
||||||
<resource name="RAM" quantum="16M"/>
|
<resource name="RAM" quantum="16M"/>
|
||||||
<provides> <service name="Usb"/> </provides>
|
<provides> <service name="Usb"/> </provides>
|
||||||
<route>
|
<route>
|
||||||
<service name="Platform"> <child name="platform_drv"/> </service>
|
<service name="Platform"> <child name="platform_drv"/> </service>
|
||||||
<service name="Event"> <child name="event_filter" label="usb"/> </service>
|
|
||||||
<service name="ROM" label="config">
|
<service name="ROM" label="config">
|
||||||
<child name="report_rom"/> </service>
|
<child name="report_rom"/> </service>
|
||||||
<service name="ROM" label="capslock"> <parent label="capslock"/> </service>
|
|
||||||
<service name="ROM" label="numlock"> <parent label="numlock"/> </service>
|
|
||||||
<service name="Report" label="devices"> <child name="report_rom"/> </service>
|
<service name="Report" label="devices"> <child name="report_rom"/> </service>
|
||||||
<service name="Report" label="config"> <parent label="usb_active_config"/> </service>
|
<service name="Report" label="config"> <parent label="usb_active_config"/> </service>
|
||||||
<service name="ROM"> <parent/> </service>
|
<service name="ROM"> <parent/> </service>
|
||||||
@ -141,6 +142,24 @@
|
|||||||
</route>
|
</route>
|
||||||
</start>
|
</start>
|
||||||
|
|
||||||
|
<start name="usb_hid_drv" caps="140" priority="-1">
|
||||||
|
<resource name="RAM" quantum="11M"/>
|
||||||
|
<config use_report="yes" capslock_led="rom" numlock_led="rom"/>
|
||||||
|
<route>
|
||||||
|
<service name="ROM" label="report"> <child name="report_rom"/> </service>
|
||||||
|
<service name="ROM" label="capslock"> <parent label="capslock"/> </service>
|
||||||
|
<service name="ROM" label="numlock"> <parent label="numlock"/> </service>
|
||||||
|
<service name="ROM"> <parent/> </service>
|
||||||
|
<service name="PD"> <parent/> </service>
|
||||||
|
<service name="RM"> <parent/> </service>
|
||||||
|
<service name="CPU"> <parent/> </service>
|
||||||
|
<service name="LOG"> <parent/> </service>
|
||||||
|
<service name="Timer"> <parent/> </service>
|
||||||
|
<service name="Event"> <child name="event_filter" label="usb"/> </service>
|
||||||
|
<service name="Usb"> <child name="usb_drv"/> </service>
|
||||||
|
</route>
|
||||||
|
</start>
|
||||||
|
|
||||||
<start name="ps2_drv" priority="0">
|
<start name="ps2_drv" priority="0">
|
||||||
<resource name="RAM" quantum="1M"/>
|
<resource name="RAM" quantum="1M"/>
|
||||||
<config capslock_led="rom" numlock_led="rom"/>
|
<config capslock_led="rom" numlock_led="rom"/>
|
||||||
|
@ -231,8 +231,8 @@ install_config {
|
|||||||
</route>
|
</route>
|
||||||
</start>
|
</start>
|
||||||
|
|
||||||
<start name="drivers" caps="3100" priority="-1" managing_system="yes">
|
<start name="drivers" caps="3150" priority="-1" managing_system="yes">
|
||||||
<resource name="RAM" quantum="96M"/>
|
<resource name="RAM" quantum="128M"/>
|
||||||
<binary name="init"/>
|
<binary name="init"/>
|
||||||
<route>
|
<route>
|
||||||
<service name="LOG"> <child name="log"/> </service>
|
<service name="LOG"> <child name="log"/> </service>
|
||||||
|
@ -659,14 +659,19 @@ void Driver_manager::Main::_generate_usb_drv_config(Reporter &usb_drv_config,
|
|||||||
xml.attribute("xhci", true);
|
xml.attribute("xhci", true);
|
||||||
xml.attribute("capslock_led", "rom");
|
xml.attribute("capslock_led", "rom");
|
||||||
xml.attribute("numlock_led", "rom");
|
xml.attribute("numlock_led", "rom");
|
||||||
xml.node("hid", [&] () { });
|
|
||||||
xml.node("raw", [&] () {
|
|
||||||
xml.node("report", [&] () { xml.attribute("devices", true); });
|
xml.node("report", [&] () { xml.attribute("devices", true); });
|
||||||
|
|
||||||
/* incorporate user-managed policy */
|
/* incorporate user-managed policy */
|
||||||
policy.with_raw_content([&] (char const *start, size_t length) {
|
policy.with_raw_content([&] (char const *start, size_t length) {
|
||||||
xml.append(start, length); });
|
xml.append(start, length); });
|
||||||
|
|
||||||
|
/* usb hid drv gets all hid devices */
|
||||||
|
xml.node("policy", [&] () {
|
||||||
|
xml.attribute("label_prefix", "usb_hid_drv");
|
||||||
|
xml.attribute("class", "0x3");
|
||||||
|
});
|
||||||
|
|
||||||
devices.for_each_sub_node("device", [&] (Xml_node device) {
|
devices.for_each_sub_node("device", [&] (Xml_node device) {
|
||||||
|
|
||||||
typedef String<64> Label;
|
typedef String<64> Label;
|
||||||
@ -700,7 +705,6 @@ void Driver_manager::Main::_generate_usb_drv_config(Reporter &usb_drv_config,
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -51,7 +51,6 @@ struct Sculpt::Storage_devices
|
|||||||
{
|
{
|
||||||
usb_storage_devices.update_from_xml(policy, node);
|
usb_storage_devices.update_from_xml(policy, node);
|
||||||
|
|
||||||
if (node.has_type("raw"))
|
|
||||||
_usb_active_config_valid = true;
|
_usb_active_config_valid = true;
|
||||||
|
|
||||||
usb_present = false;
|
usb_present = false;
|
||||||
|
@ -36,10 +36,8 @@ void Sculpt::Storage::handle_storage_devices_update()
|
|||||||
_usb_active_config_rom.update();
|
_usb_active_config_rom.update();
|
||||||
Usb_storage_device_update_policy policy(_env, _alloc, _storage_device_update_handler);
|
Usb_storage_device_update_policy policy(_env, _alloc, _storage_device_update_handler);
|
||||||
Xml_node const config = _usb_active_config_rom.xml();
|
Xml_node const config = _usb_active_config_rom.xml();
|
||||||
Xml_node const raw = config.has_sub_node("raw")
|
|
||||||
? config.sub_node("raw") : Xml_node("<raw/>");
|
|
||||||
|
|
||||||
_storage_devices.update_usb_storage_devices_from_xml(policy, raw);
|
_storage_devices.update_usb_storage_devices_from_xml(policy, config);
|
||||||
|
|
||||||
if (policy.device_added_or_vanished)
|
if (policy.device_added_or_vanished)
|
||||||
reconfigure_runtime = true;
|
reconfigure_runtime = true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user