diff --git a/repos/ports/include/vmm/vcpu_dispatcher.h b/repos/ports/include/vmm/vcpu_dispatcher.h index 0599b620d6..823e84b14d 100644 --- a/repos/ports/include/vmm/vcpu_dispatcher.h +++ b/repos/ports/include/vmm/vcpu_dispatcher.h @@ -71,9 +71,10 @@ class Vmm::Vcpu_dispatcher : public T Vcpu_dispatcher(Genode::size_t stack_size, Pd_session &pd, Cpu_session * cpu_session, - Genode::Affinity::Location location) + Genode::Affinity::Location location, + const char * name = "vCPU dispatcher") : - T(WEIGHT, "vCPU dispatcher", stack_size, location), _pd(pd) + T(WEIGHT, name, stack_size, location), _pd(pd) { using namespace Genode; @@ -87,8 +88,9 @@ class Vmm::Vcpu_dispatcher : public T Vcpu_dispatcher(Genode::size_t stack_size, Pd_session &pd, Cpu_session * cpu_session, Genode::Affinity::Location location, - X attr, void *(*start_routine) (void *), void *arg) - : T(attr, start_routine, arg, stack_size, "vCPU dispatcher", nullptr, location), + X attr, void *(*start_routine) (void *), void *arg, + const char * name = "vCPU dispatcher") + : T(attr, start_routine, arg, stack_size, name, nullptr, location), _pd(pd) { using namespace Genode; diff --git a/repos/ports/src/virtualbox/accloff/sup.cc b/repos/ports/src/virtualbox/accloff/sup.cc index d0020c4f0d..aa09ab22c7 100644 --- a/repos/ports/src/virtualbox/accloff/sup.cc +++ b/repos/ports/src/virtualbox/accloff/sup.cc @@ -86,7 +86,8 @@ bool create_emt_vcpu(pthread_t * thread, size_t stack_size, void *(*start_routine)(void *), void *arg, Genode::Cpu_session * cpu_session, Genode::Affinity::Location location, - unsigned int cpu_id) + unsigned int cpu_id, + const char * name) { /* no hardware acceleration support */ return false; diff --git a/repos/ports/src/virtualbox/spec/muen/sup.cc b/repos/ports/src/virtualbox/spec/muen/sup.cc index d47d0a62d2..d252adace7 100644 --- a/repos/ports/src/virtualbox/spec/muen/sup.cc +++ b/repos/ports/src/virtualbox/spec/muen/sup.cc @@ -706,7 +706,8 @@ bool create_emt_vcpu(pthread_t * thread, size_t stack_size, void *(*start_routine)(void *), void *arg, Genode::Cpu_session * cpu_session, Genode::Affinity::Location location, - unsigned int cpu_id) + unsigned int cpu_id, + const char * name) { /* No support for multiple vcpus */ return false; diff --git a/repos/ports/src/virtualbox/spec/nova/sup.cc b/repos/ports/src/virtualbox/spec/nova/sup.cc index 712946ef32..0a4e0a2f32 100644 --- a/repos/ports/src/virtualbox/spec/nova/sup.cc +++ b/repos/ports/src/virtualbox/spec/nova/sup.cc @@ -292,7 +292,7 @@ bool create_emt_vcpu(pthread_t * pthread, size_t stack, void *(*start_routine)(void *), void *arg, Genode::Cpu_session * cpu_session, Genode::Affinity::Location location, - unsigned int cpu_id) + unsigned int cpu_id, const char * name) { Nova::Hip * hip = hip_rom.local_addr(); @@ -304,12 +304,12 @@ bool create_emt_vcpu(pthread_t * pthread, size_t stack, if (hip->has_feature_vmx()) vcpu_handler = new (0x10) Vcpu_handler_vmx(stack, attr, start_routine, arg, cpu_session, location, - cpu_id); + cpu_id, name); if (hip->has_feature_svm()) vcpu_handler = new (0x10) Vcpu_handler_svm(stack, attr, start_routine, arg, cpu_session, location, - cpu_id); + cpu_id, name); Assert(!(reinterpret_cast(vcpu_handler) & 0xf)); diff --git a/repos/ports/src/virtualbox/spec/nova/vcpu.h b/repos/ports/src/virtualbox/spec/nova/vcpu.h index f168d82692..d967b858c0 100644 --- a/repos/ports/src/virtualbox/spec/nova/vcpu.h +++ b/repos/ports/src/virtualbox/spec/nova/vcpu.h @@ -728,11 +728,12 @@ class Vcpu_handler : public Vmm::Vcpu_dispatcher, void *(*start_routine) (void *), void *arg, Genode::Cpu_session * cpu_session, Genode::Affinity::Location location, - unsigned int cpu_id) + unsigned int cpu_id, const char * name) : Vmm::Vcpu_dispatcher(stack_size, *Genode::env()->pd_session(), cpu_session, location, - attr ? *attr : 0, start_routine, arg), + attr ? *attr : 0, start_routine, arg, + name), _vcpu(cpu_session, location), _ec_sel(Genode::cap_map()->insert()), _irq_win(false), diff --git a/repos/ports/src/virtualbox/spec/nova/vcpu_svm.h b/repos/ports/src/virtualbox/spec/nova/vcpu_svm.h index 7b8caefc28..298561e587 100644 --- a/repos/ports/src/virtualbox/spec/nova/vcpu_svm.h +++ b/repos/ports/src/virtualbox/spec/nova/vcpu_svm.h @@ -88,10 +88,10 @@ class Vcpu_handler_svm : public Vcpu_handler void *(*start_routine) (void *), void *arg, Genode::Cpu_session * cpu_session, Genode::Affinity::Location location, - unsigned int cpu_id) + unsigned int cpu_id, const char * name) : Vcpu_handler(stack_size, attr, start_routine, arg, cpu_session, - location, cpu_id) + location, cpu_id, name) { using namespace Nova; diff --git a/repos/ports/src/virtualbox/spec/nova/vcpu_vmx.h b/repos/ports/src/virtualbox/spec/nova/vcpu_vmx.h index c62d2dded8..112eb22b04 100644 --- a/repos/ports/src/virtualbox/spec/nova/vcpu_vmx.h +++ b/repos/ports/src/virtualbox/spec/nova/vcpu_vmx.h @@ -162,10 +162,10 @@ class Vcpu_handler_vmx : public Vcpu_handler void *(*start_routine) (void *), void *arg, Genode::Cpu_session * cpu_session, Genode::Affinity::Location location, - unsigned int cpu_id) + unsigned int cpu_id, const char * name) : Vcpu_handler(stack_size, attr, start_routine, arg, cpu_session, - location, cpu_id) + location, cpu_id, name) { using namespace Nova; diff --git a/repos/ports/src/virtualbox/sup.h b/repos/ports/src/virtualbox/sup.h index 409b73232d..b4da0175dc 100644 --- a/repos/ports/src/virtualbox/sup.h +++ b/repos/ports/src/virtualbox/sup.h @@ -34,7 +34,8 @@ bool create_emt_vcpu(pthread_t * pthread, size_t stack, void *(*start_routine)(void *), void *arg, Genode::Cpu_session * cpu_session, Genode::Affinity::Location location, - unsigned int cpu_id); + unsigned int cpu_id, + const char * name); uint64_t genode_cpu_hz(); diff --git a/repos/ports/src/virtualbox/thread.cc b/repos/ports/src/virtualbox/thread.cc index efa1c26b0b..cd66bb40a1 100644 --- a/repos/ports/src/virtualbox/thread.cc +++ b/repos/ports/src/virtualbox/thread.cc @@ -95,7 +95,7 @@ static int create_thread(pthread_t *thread, const pthread_attr_t *attr, Genode::Affinity::Location location(space.location_of_index(cpu_id)); if (create_emt_vcpu(thread, stack_size, attr, start_routine, arg, - cpu_session, location, cpu_id)) + cpu_session, location, cpu_id, rtthread->szName)) return 0; /* * The virtualization layer had no need to setup the EMT diff --git a/repos/ports/src/virtualbox5/spec/nova/sup.cc b/repos/ports/src/virtualbox5/spec/nova/sup.cc index e44ffb4dd4..5d5f25f7f4 100644 --- a/repos/ports/src/virtualbox5/spec/nova/sup.cc +++ b/repos/ports/src/virtualbox5/spec/nova/sup.cc @@ -551,7 +551,7 @@ bool create_emt_vcpu(pthread_t * pthread, ::size_t stack, void *(*start_routine)(void *), void *arg, Genode::Cpu_session * cpu_session, Genode::Affinity::Location location, - unsigned int cpu_id) + unsigned int cpu_id, const char * name) { Nova::Hip * hip = hip_rom.local_addr(); @@ -563,12 +563,12 @@ bool create_emt_vcpu(pthread_t * pthread, ::size_t stack, if (hip->has_feature_vmx()) vcpu_handler = new (0x10) Vcpu_handler_vmx(stack, attr, start_routine, arg, cpu_session, location, - cpu_id); + cpu_id, name); if (hip->has_feature_svm()) vcpu_handler = new (0x10) Vcpu_handler_svm(stack, attr, start_routine, arg, cpu_session, location, - cpu_id); + cpu_id, name); Assert(!(reinterpret_cast(vcpu_handler) & 0xf)); diff --git a/repos/ports/src/virtualbox5/spec/nova/vcpu.h b/repos/ports/src/virtualbox5/spec/nova/vcpu.h index 0c8b5e0abc..82fe6d62f5 100644 --- a/repos/ports/src/virtualbox5/spec/nova/vcpu.h +++ b/repos/ports/src/virtualbox5/spec/nova/vcpu.h @@ -730,11 +730,12 @@ class Vcpu_handler : public Vmm::Vcpu_dispatcher, void *(*start_routine) (void *), void *arg, Genode::Cpu_session * cpu_session, Genode::Affinity::Location location, - unsigned int cpu_id) + unsigned int cpu_id, const char * name) : Vmm::Vcpu_dispatcher(stack_size, *Genode::env()->pd_session(), cpu_session, location, - attr ? *attr : 0, start_routine, arg), + attr ? *attr : 0, start_routine, + arg, name), _vcpu(cpu_session, location), _ec_sel(Genode::cap_map()->insert()), _irq_win(false), diff --git a/repos/ports/src/virtualbox5/spec/nova/vcpu_svm.h b/repos/ports/src/virtualbox5/spec/nova/vcpu_svm.h index 6e79f82a6d..43c7848541 100644 --- a/repos/ports/src/virtualbox5/spec/nova/vcpu_svm.h +++ b/repos/ports/src/virtualbox5/spec/nova/vcpu_svm.h @@ -88,10 +88,10 @@ class Vcpu_handler_svm : public Vcpu_handler void *(*start_routine) (void *), void *arg, Genode::Cpu_session * cpu_session, Genode::Affinity::Location location, - unsigned int cpu_id) + unsigned int cpu_id, const char * name) : Vcpu_handler(stack_size, attr, start_routine, arg, cpu_session, - location, cpu_id) + location, cpu_id, name) { using namespace Nova; diff --git a/repos/ports/src/virtualbox5/spec/nova/vcpu_vmx.h b/repos/ports/src/virtualbox5/spec/nova/vcpu_vmx.h index f662b586ae..e09629615d 100644 --- a/repos/ports/src/virtualbox5/spec/nova/vcpu_vmx.h +++ b/repos/ports/src/virtualbox5/spec/nova/vcpu_vmx.h @@ -170,10 +170,10 @@ class Vcpu_handler_vmx : public Vcpu_handler void *(*start_routine) (void *), void *arg, Genode::Cpu_session * cpu_session, Genode::Affinity::Location location, - unsigned int cpu_id) + unsigned int cpu_id, const char * name) : Vcpu_handler(stack_size, attr, start_routine, arg, cpu_session, - location, cpu_id) + location, cpu_id, name) { using namespace Nova; diff --git a/repos/ports/src/virtualbox5/sup.h b/repos/ports/src/virtualbox5/sup.h index 001d5c99fe..494eb72d0f 100644 --- a/repos/ports/src/virtualbox5/sup.h +++ b/repos/ports/src/virtualbox5/sup.h @@ -31,7 +31,8 @@ bool create_emt_vcpu(pthread_t * pthread, ::size_t stack, void *(*start_routine)(void *), void *arg, Genode::Cpu_session * cpu_session, Genode::Affinity::Location location, - unsigned int cpu_id); + unsigned int cpu_id, + const char * name); uint64_t genode_cpu_hz();