parent
d459432c45
commit
d2229ab381
|
@ -86,7 +86,7 @@ class Genode::Vm_session_component
|
||||||
using Cap_quota_guard::upgrade;
|
using Cap_quota_guard::upgrade;
|
||||||
|
|
||||||
Vm_session_component(Rpc_entrypoint &, Resources, Label const &,
|
Vm_session_component(Rpc_entrypoint &, Resources, Label const &,
|
||||||
Diag, Ram_allocator &ram, Region_map &);
|
Diag, Ram_allocator &ram, Region_map &, unsigned);
|
||||||
~Vm_session_component();
|
~Vm_session_component();
|
||||||
|
|
||||||
/*********************************
|
/*********************************
|
||||||
|
|
|
@ -33,7 +33,8 @@ Vm_session_component::Vm_session_component(Rpc_entrypoint &ep,
|
||||||
Label const &,
|
Label const &,
|
||||||
Diag,
|
Diag,
|
||||||
Ram_allocator &ram,
|
Ram_allocator &ram,
|
||||||
Region_map &local_rm)
|
Region_map &local_rm,
|
||||||
|
unsigned)
|
||||||
:
|
:
|
||||||
Ram_quota_guard(resources.ram_quota),
|
Ram_quota_guard(resources.ram_quota),
|
||||||
Cap_quota_guard(resources.cap_quota),
|
Cap_quota_guard(resources.cap_quota),
|
||||||
|
|
|
@ -33,7 +33,8 @@ Vm_session_component::Vm_session_component(Rpc_entrypoint &ds_ep,
|
||||||
Label const &,
|
Label const &,
|
||||||
Diag,
|
Diag,
|
||||||
Ram_allocator &ram_alloc,
|
Ram_allocator &ram_alloc,
|
||||||
Region_map ®ion_map)
|
Region_map ®ion_map,
|
||||||
|
unsigned)
|
||||||
:
|
:
|
||||||
Ram_quota_guard(resources.ram_quota),
|
Ram_quota_guard(resources.ram_quota),
|
||||||
Cap_quota_guard(resources.cap_quota),
|
Cap_quota_guard(resources.cap_quota),
|
||||||
|
|
|
@ -67,7 +67,8 @@ class Genode::Vm_session_component
|
||||||
using Rpc_object<Vm_session, Vm_session_component>::cap;
|
using Rpc_object<Vm_session, Vm_session_component>::cap;
|
||||||
|
|
||||||
Vm_session_component(Rpc_entrypoint &, Resources, Label const &,
|
Vm_session_component(Rpc_entrypoint &, Resources, Label const &,
|
||||||
Diag, Ram_allocator &ram, Region_map &);
|
Diag, Ram_allocator &ram, Region_map &,
|
||||||
|
unsigned priority);
|
||||||
~Vm_session_component();
|
~Vm_session_component();
|
||||||
|
|
||||||
/**************************
|
/**************************
|
||||||
|
|
|
@ -93,7 +93,8 @@ Vm_session_component::Vm_session_component(Rpc_entrypoint &ds_ep,
|
||||||
Label const &,
|
Label const &,
|
||||||
Diag,
|
Diag,
|
||||||
Ram_allocator &ram_alloc,
|
Ram_allocator &ram_alloc,
|
||||||
Region_map ®ion_map)
|
Region_map ®ion_map,
|
||||||
|
unsigned)
|
||||||
:
|
:
|
||||||
Ram_quota_guard(resources.ram_quota),
|
Ram_quota_guard(resources.ram_quota),
|
||||||
Cap_quota_guard(resources.cap_quota),
|
Cap_quota_guard(resources.cap_quota),
|
||||||
|
|
|
@ -86,7 +86,7 @@ class Genode::Vm_session_component
|
||||||
using Rpc_object<Vm_session, Vm_session_component>::cap;
|
using Rpc_object<Vm_session, Vm_session_component>::cap;
|
||||||
|
|
||||||
Vm_session_component(Rpc_entrypoint &, Resources, Label const &,
|
Vm_session_component(Rpc_entrypoint &, Resources, Label const &,
|
||||||
Diag, Ram_allocator &ram, Region_map &);
|
Diag, Ram_allocator &ram, Region_map &, unsigned);
|
||||||
~Vm_session_component();
|
~Vm_session_component();
|
||||||
|
|
||||||
/*********************************
|
/*********************************
|
||||||
|
|
|
@ -44,7 +44,8 @@ class Genode::Vm_session_component
|
||||||
public:
|
public:
|
||||||
|
|
||||||
Vm_session_component(Rpc_entrypoint &, Resources resources,
|
Vm_session_component(Rpc_entrypoint &, Resources resources,
|
||||||
Label const &, Diag, Ram_allocator &, Region_map &)
|
Label const &, Diag, Ram_allocator &,
|
||||||
|
Region_map &, unsigned)
|
||||||
:
|
:
|
||||||
Ram_quota_guard(resources.ram_quota),
|
Ram_quota_guard(resources.ram_quota),
|
||||||
Cap_quota_guard(resources.cap_quota),
|
Cap_quota_guard(resources.cap_quota),
|
||||||
|
|
|
@ -107,7 +107,7 @@ class Genode::Vm_session_component
|
||||||
using Cap_quota_guard::upgrade;
|
using Cap_quota_guard::upgrade;
|
||||||
|
|
||||||
Vm_session_component(Rpc_entrypoint &, Resources, Label const &,
|
Vm_session_component(Rpc_entrypoint &, Resources, Label const &,
|
||||||
Diag, Ram_allocator &ram, Region_map &);
|
Diag, Ram_allocator &ram, Region_map &, unsigned);
|
||||||
~Vm_session_component();
|
~Vm_session_component();
|
||||||
|
|
||||||
/*********************************
|
/*********************************
|
||||||
|
|
|
@ -276,7 +276,8 @@ Vm_session_component::Vm_session_component(Rpc_entrypoint &ep,
|
||||||
Label const &,
|
Label const &,
|
||||||
Diag,
|
Diag,
|
||||||
Ram_allocator &ram,
|
Ram_allocator &ram,
|
||||||
Region_map &local_rm)
|
Region_map &local_rm,
|
||||||
|
unsigned)
|
||||||
:
|
:
|
||||||
Ram_quota_guard(resources.ram_quota),
|
Ram_quota_guard(resources.ram_quota),
|
||||||
Cap_quota_guard(resources.cap_quota),
|
Cap_quota_guard(resources.cap_quota),
|
||||||
|
|
|
@ -97,7 +97,7 @@ class Genode::Vm_session_component
|
||||||
using Cap_quota_guard::upgrade;
|
using Cap_quota_guard::upgrade;
|
||||||
|
|
||||||
Vm_session_component(Rpc_entrypoint &, Resources, Label const &,
|
Vm_session_component(Rpc_entrypoint &, Resources, Label const &,
|
||||||
Diag, Ram_allocator &ram, Region_map &);
|
Diag, Ram_allocator &ram, Region_map &, unsigned);
|
||||||
~Vm_session_component();
|
~Vm_session_component();
|
||||||
|
|
||||||
/*********************************
|
/*********************************
|
||||||
|
|
|
@ -69,7 +69,8 @@ Vm_session_component::Vm_session_component(Rpc_entrypoint &ep,
|
||||||
Label const &,
|
Label const &,
|
||||||
Diag,
|
Diag,
|
||||||
Ram_allocator &ram,
|
Ram_allocator &ram,
|
||||||
Region_map &local_rm)
|
Region_map &local_rm,
|
||||||
|
unsigned)
|
||||||
try
|
try
|
||||||
:
|
:
|
||||||
Ram_quota_guard(resources.ram_quota),
|
Ram_quota_guard(resources.ram_quota),
|
||||||
|
|
|
@ -34,12 +34,21 @@ class Genode::Vm_root : public Root_component<Vm_session_component>
|
||||||
|
|
||||||
Vm_session_component *_create_session(const char *args) override
|
Vm_session_component *_create_session(const char *args) override
|
||||||
{
|
{
|
||||||
|
unsigned priority = 0;
|
||||||
|
Arg a = Arg_string::find_arg(args, "priority");
|
||||||
|
if (a.valid()) {
|
||||||
|
priority = a.ulong_value(0);
|
||||||
|
|
||||||
|
/* clamp priority value to valid range */
|
||||||
|
priority = min((unsigned)Cpu_session::PRIORITY_LIMIT - 1, priority);
|
||||||
|
}
|
||||||
|
|
||||||
return new (md_alloc())
|
return new (md_alloc())
|
||||||
Vm_session_component(*ep(),
|
Vm_session_component(*ep(),
|
||||||
session_resources_from_args(args),
|
session_resources_from_args(args),
|
||||||
session_label_from_args(args),
|
session_label_from_args(args),
|
||||||
session_diag_from_args(args),
|
session_diag_from_args(args),
|
||||||
_ram_allocator, _local_rm);
|
_ram_allocator, _local_rm, priority);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _upgrade_session(Vm_session_component *vm, const char *args) override
|
void _upgrade_session(Vm_session_component *vm, const char *args) override
|
||||||
|
|
|
@ -34,7 +34,7 @@ build $build_components
|
||||||
create_boot_directory
|
create_boot_directory
|
||||||
|
|
||||||
install_config {
|
install_config {
|
||||||
<config verbose="yes">
|
<config verbose="yes" prio_levels="2">
|
||||||
<parent-provides>
|
<parent-provides>
|
||||||
<service name="ROM"/>
|
<service name="ROM"/>
|
||||||
<service name="IRQ"/>
|
<service name="IRQ"/>
|
||||||
|
@ -54,7 +54,7 @@ install_config {
|
||||||
<resource name="RAM" quantum="1M"/>
|
<resource name="RAM" quantum="1M"/>
|
||||||
<provides><service name="Timer"/></provides>
|
<provides><service name="Timer"/></provides>
|
||||||
</start>
|
</start>
|
||||||
<start name="vmm" caps="2048">
|
<start name="vmm" caps="2048" priority="-1">
|
||||||
<binary name="test-vmm_x86"/>
|
<binary name="test-vmm_x86"/>
|
||||||
<resource name="RAM" quantum="256M"/>
|
<resource name="RAM" quantum="256M"/>
|
||||||
</start>
|
</start>
|
||||||
|
|
Loading…
Reference in New Issue