add missing .so files to noux_tool_chain.inc
required by grep Issue #1040
This commit is contained in:
parent
e9525f49fd
commit
18d24eec7b
|
@ -44,17 +44,36 @@ namespace Platform {
|
||||||
|
|
||||||
class Platform::Rmrr : public Genode::List<Platform::Rmrr>::Element
|
class Platform::Rmrr : public Genode::List<Platform::Rmrr>::Element
|
||||||
{
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
class Bdf : public Genode::List<Bdf>::Element {
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
Genode::uint64_t _start, _end;
|
|
||||||
Genode::Io_mem_dataspace_capability _cap;
|
|
||||||
Genode::uint8_t _bus, _dev, _func;
|
Genode::uint8_t _bus, _dev, _func;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
Rmrr(Genode::uint64_t start, Genode::uint64_t end,
|
Bdf(Genode::uint8_t bus, Genode::uint8_t dev,
|
||||||
Genode::uint8_t bus, Genode::uint8_t dev, Genode::uint8_t func)
|
Genode::uint8_t func)
|
||||||
: _start(start), _end(end), _bus(bus), _dev(dev), _func(func)
|
: _bus(bus), _dev(dev), _func(func) { }
|
||||||
|
|
||||||
|
bool match(Genode::uint8_t bus, Genode::uint8_t dev,
|
||||||
|
Genode::uint8_t func) {
|
||||||
|
return bus == _bus && dev == _dev && func == _func; }
|
||||||
|
};
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
Genode::uint64_t _start, _end;
|
||||||
|
Genode::Io_mem_dataspace_capability _cap;
|
||||||
|
|
||||||
|
Genode::List<Bdf> _bdf_list;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
Rmrr(Genode::uint64_t start, Genode::uint64_t end)
|
||||||
|
: _start(start), _end(end)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
Genode::Io_mem_dataspace_capability match(Device_config config) {
|
Genode::Io_mem_dataspace_capability match(Device_config config) {
|
||||||
|
@ -62,8 +81,9 @@ class Platform::Rmrr : public Genode::List<Platform::Rmrr>::Element
|
||||||
Genode::uint8_t device = config.device_number();
|
Genode::uint8_t device = config.device_number();
|
||||||
Genode::uint8_t function = config.function_number();
|
Genode::uint8_t function = config.function_number();
|
||||||
|
|
||||||
if (!(_bus == bus && _dev == device && _func == function))
|
for (Bdf *bdf = _bdf_list.first(); bdf; bdf = bdf->next()) {
|
||||||
return Genode::Io_mem_dataspace_capability();
|
if (!bdf->match(bus, device, function))
|
||||||
|
continue;
|
||||||
|
|
||||||
if (_cap.valid())
|
if (_cap.valid())
|
||||||
return _cap;
|
return _cap;
|
||||||
|
@ -74,6 +94,10 @@ class Platform::Rmrr : public Genode::List<Platform::Rmrr>::Element
|
||||||
|
|
||||||
return _cap;
|
return _cap;
|
||||||
}
|
}
|
||||||
|
return Genode::Io_mem_dataspace_capability();
|
||||||
|
}
|
||||||
|
|
||||||
|
void add(Bdf * bdf) { _bdf_list.insert(bdf); }
|
||||||
|
|
||||||
static Genode::List<Rmrr> *list()
|
static Genode::List<Rmrr> *list()
|
||||||
{
|
{
|
||||||
|
@ -780,6 +804,9 @@ class Platform::Root : public Genode::Root_component<Session_component>
|
||||||
if (node.num_sub_nodes() == 0)
|
if (node.num_sub_nodes() == 0)
|
||||||
throw 2;
|
throw 2;
|
||||||
|
|
||||||
|
Rmrr * rmrr = new (env()->heap()) Rmrr(mem_start, mem_end);
|
||||||
|
Rmrr::list()->insert(rmrr);
|
||||||
|
|
||||||
for (unsigned s = 0; s < node.num_sub_nodes(); s++) {
|
for (unsigned s = 0; s < node.num_sub_nodes(); s++) {
|
||||||
Xml_node scope = node.sub_node(s);
|
Xml_node scope = node.sub_node(s);
|
||||||
if (!scope.num_sub_nodes() || !scope.has_type("scope"))
|
if (!scope.num_sub_nodes() || !scope.has_type("scope"))
|
||||||
|
@ -804,10 +831,8 @@ class Platform::Root : public Genode::Root_component<Session_component>
|
||||||
Device::ACCESS_8BIT);
|
Device::ACCESS_8BIT);
|
||||||
}
|
}
|
||||||
|
|
||||||
Rmrr * rmrr = new (env()->heap()) Rmrr(mem_start,
|
rmrr->add(new (env()->heap()) Rmrr::Bdf(bus, dev,
|
||||||
mem_end, bus,
|
func));
|
||||||
dev, func);
|
|
||||||
Rmrr::list()->insert(rmrr);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -255,7 +255,9 @@ install_config $config
|
||||||
# generic modules
|
# generic modules
|
||||||
set boot_modules {
|
set boot_modules {
|
||||||
core init timer ld.lib.so noux terminal ram_fs
|
core init timer ld.lib.so noux terminal ram_fs
|
||||||
libc.lib.so libm.lib.so libc_noux.lib.so ncurses.lib.so stdcxx.lib.so }
|
libc.lib.so libm.lib.so libc_noux.lib.so ncurses.lib.so stdcxx.lib.so
|
||||||
|
pcre.lib.so zlib.lib.so readline.lib.so
|
||||||
|
}
|
||||||
|
|
||||||
append boot_modules { gmp.lib.so mpfr.lib.so mpc.lib.so }
|
append boot_modules { gmp.lib.so mpfr.lib.so mpc.lib.so }
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user