base: add Reconstructible::conditional method

The new 'conditional' method simplifies the typical use case for
'Constructible' objects where the constructed/destructed state depends
on a configuration parameter. The method alleviates the need to
re-implement the logic again and again.

The patch also removes the 'Reconstructible' constructor arguments
because they are unused.

Fixes #3006
This commit is contained in:
Norman Feske
2018-10-01 14:04:50 +02:00
committed by Christian Helmuth
parent fe303f0e46
commit 7d641d5f1f
4 changed files with 20 additions and 11 deletions

View File

@@ -163,7 +163,6 @@ static constexpr Genode::Boot_modules_header & header() {
Platform::Platform()
: bootstrap_region((addr_t)&_prog_img_beg,
((addr_t)&_prog_img_end - (addr_t)&_prog_img_beg)),
core_pd(ram_alloc),
core_elf_addr(header().base),
core_elf(core_elf_addr)
{

View File

@@ -127,7 +127,7 @@ class Bootstrap::Platform
Bootstrap::Pic pic { };
Ram_allocator ram_alloc { };
Memory_region const bootstrap_region;
Genode::Constructible<Pd> core_pd;
Genode::Constructible<Pd> core_pd { };
addr_t core_elf_addr;
Elf core_elf;