sculpt: add pin_session and pin_control resources

This commit is contained in:
Norman Feske 2022-10-11 14:34:18 +02:00 committed by Christian Helmuth
parent 49b4b8597d
commit 3b06a27465
6 changed files with 19 additions and 1 deletions

View File

@ -16,3 +16,5 @@ input_session
event_session
capture_session
gpu_session
pin_state_session
pin_control_session

View File

@ -414,6 +414,8 @@ install_config {
<service name="Usb"/>
<service name="Platform"/>
<service name="Gpu"/>
<service name="Pin_state"/>
<service name="Pin_control"/>
</provides>
</start>
@ -632,6 +634,8 @@ install_config {
<service name="Event" label="leitzentrale"> <child name="leitzentrale"/> </service>
<service name="Capture" label="global"> <child name="nitpicker"/> </service>
<service name="Capture" label="leitzentrale"> <child name="leitzentrale"/> </service>
<service name="Pin_state"> <child name="drivers"/> </service>
<service name="Pin_control"> <child name="drivers"/> </service>
<any-service> <parent/> </any-service>
</route>
</start>

View File

@ -24,6 +24,8 @@
#include <event_session/event_session.h>
#include <capture_session/capture_session.h>
#include <gpu_session/gpu_session.h>
#include <pin_state_session/pin_state_session.h>
#include <pin_control_session/pin_control_session.h>
/* included from depot_deploy tool */
#include <children.h>
@ -1843,6 +1845,8 @@ void Sculpt::Main::_generate_runtime_config(Xml_generator &xml) const
gen_parent_service<Event::Session>(xml);
gen_parent_service<Capture::Session>(xml);
gen_parent_service<Gpu::Session>(xml);
gen_parent_service<Pin_state::Session>(xml);
gen_parent_service<Pin_control::Session>(xml);
});
xml.node("affinity-space", [&] () {

View File

@ -49,6 +49,8 @@ struct Sculpt::Route : List_model<Route>::Element
case Service::Type::USB: return "usb";
case Service::Type::RTC: return "rtc";
case Service::Type::PLATFORM: return "platform";
case Service::Type::PIN_STATE: return "pin_state";
case Service::Type::PIN_CONTROL: return "pin_control";
case Service::Type::VM: return "vm";
case Service::Type::PD: return "pd";
case Service::Type::UNDEFINED: break;
@ -80,6 +82,8 @@ struct Sculpt::Route : List_model<Route>::Element
case Service::Type::USB: return "USB";
case Service::Type::RTC: return "Real-time clock";
case Service::Type::PLATFORM: return "Device access";
case Service::Type::PIN_STATE: return "GPIO pin state";
case Service::Type::PIN_CONTROL: return "GPIO pin control";
case Service::Type::VM: return "Hardware-based virtualization";
case Service::Type::PD: return "Protection domain";
case Service::Type::UNDEFINED: break;

View File

@ -356,6 +356,8 @@ class Sculpt::Runtime_config
_pci_audio { _r, Type::PLATFORM, "audio hardware", "audio" },
_pci_acpi { _r, Type::PLATFORM, "ACPI", "acpica" },
_hw_gpu { _r, Type::PLATFORM, "GPU hardware", "gpu" },
_pin_state { _r, Type::PIN_STATE, "GPIO pin state" },
_pin_ctrl { _r, Type::PIN_CONTROL, "GPIO pin control" },
_trace { _r, Type::TRACE, "system-global tracing" },
_vm { _r, Type::VM, "virtualization hardware" },
_pd { _r, Type::PD, "system PD service" };

View File

@ -27,7 +27,7 @@ struct Sculpt::Service
enum class Type {
AUDIO_IN, AUDIO_OUT, BLOCK, EVENT, CAPTURE, FILE_SYSTEM, NIC, GUI, GPU,
RM, IO_MEM, IO_PORT, IRQ, REPORT, ROM, TERMINAL, TRACE, USB, RTC,
PLATFORM, VM, PD, UPLINK, UNDEFINED };
PLATFORM, PIN_STATE, PIN_CONTROL, VM, PD, UPLINK, UNDEFINED };
enum class Match_label { EXACT, LAST };
@ -64,6 +64,8 @@ struct Sculpt::Service
case Type::USB: return "Usb";
case Type::RTC: return "Rtc";
case Type::PLATFORM: return "Platform";
case Type::PIN_STATE: return "Pin_state";
case Type::PIN_CONTROL: return "Pin_control";
case Type::VM: return "VM";
case Type::PD: return "PD";
case Type::UNDEFINED: break;