mirror of
https://github.com/genodelabs/genode.git
synced 2025-06-16 22:28:18 +00:00
committed by
Christian Helmuth
parent
32e792dc74
commit
1f40d9de6a
@ -13,13 +13,13 @@
|
||||
|
||||
set build_components {
|
||||
core init
|
||||
drivers/pci drivers/timer drivers/usb
|
||||
drivers/timer drivers/usb
|
||||
test/lwip/http_srv
|
||||
}
|
||||
|
||||
lappend_if [have_spec acpi] build_components drivers/acpi
|
||||
lappend_if [have_spec pci] build_components drivers/pci/device_pd
|
||||
lappend_if [have_spec platform_arndale] build_components drivers/platform
|
||||
source ${genode_dir}/repos/base/run/platform_drv.inc
|
||||
append_platform_drv_build_components
|
||||
|
||||
lappend_if [have_spec gpio] build_components drivers/gpio
|
||||
|
||||
build $build_components
|
||||
@ -70,25 +70,7 @@ set config {
|
||||
</config>
|
||||
</start>}
|
||||
|
||||
append_if [have_spec acpi] config {
|
||||
<start name="acpi">
|
||||
<resource name="RAM" quantum="10M" constrain_phys="yes"/>
|
||||
<binary name="acpi_drv"/>
|
||||
<provides>
|
||||
<service name="PCI"/>
|
||||
<service name="IRQ" />
|
||||
</provides>
|
||||
<route>
|
||||
<service name="PCI"> <any-child /> </service>
|
||||
<any-service> <parent/> <any-child /> </any-service>
|
||||
</route>
|
||||
</start>}
|
||||
|
||||
append_if [have_spec platform_arndale] config {
|
||||
<start name="platform_drv">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides><service name="Regulator"/></provides>
|
||||
</start>}
|
||||
append_platform_drv_config
|
||||
|
||||
append_if [have_spec gpio] config {
|
||||
<start name="gpio_drv">
|
||||
@ -97,12 +79,6 @@ append_if [have_spec gpio] config {
|
||||
<config/>
|
||||
</start>}
|
||||
|
||||
append_if [expr ![have_spec acpi] && [have_spec pci]] config {
|
||||
<start name="pci_drv">
|
||||
<resource name="RAM" quantum="3M" constrain_phys="yes"/>
|
||||
<provides> <service name="PCI"/> </provides>
|
||||
</start> }
|
||||
|
||||
append config {
|
||||
</config>
|
||||
}
|
||||
@ -120,10 +96,7 @@ set boot_modules {
|
||||
ld.lib.so libc.lib.so lwip.lib.so test-lwip_httpsrv
|
||||
}
|
||||
|
||||
lappend_if [have_spec acpi] boot_modules acpi_drv
|
||||
lappend_if [have_spec pci] boot_modules pci_drv
|
||||
lappend_if [have_spec nova] boot_modules pci_device_pd
|
||||
lappend_if [have_spec platform_arndale] boot_modules platform_drv
|
||||
append_platform_drv_boot_modules
|
||||
lappend_if [have_spec gpio] boot_modules gpio_drv
|
||||
|
||||
build_boot_image $boot_modules
|
||||
|
@ -15,12 +15,11 @@ set build_components {
|
||||
test/blk/cli
|
||||
}
|
||||
|
||||
lappend_if [have_spec acpi] build_components drivers/acpi
|
||||
lappend_if [have_spec pci] build_components drivers/pci
|
||||
lappend_if [have_spec pci] build_components drivers/pci/device_pd
|
||||
lappend_if [have_spec platform_arndale] build_components drivers/platform
|
||||
lappend_if [have_spec gpio] build_components drivers/gpio
|
||||
|
||||
source ${genode_dir}/repos/base/run/platform_drv.inc
|
||||
append_platform_drv_build_components
|
||||
|
||||
build $build_components
|
||||
|
||||
create_boot_directory
|
||||
@ -48,31 +47,7 @@ set config {
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</default-route>}
|
||||
|
||||
append_if [have_spec acpi] config {
|
||||
<start name="acpi">
|
||||
<resource name="RAM" quantum="8M" constrain_phys="yes"/>
|
||||
<binary name="acpi_drv"/>
|
||||
<provides>
|
||||
<service name="PCI"/>
|
||||
<service name="IRQ" />
|
||||
</provides>
|
||||
<route>
|
||||
<service name="PCI"> <any-child /> </service>
|
||||
<any-service> <parent/> <any-child /> </any-service>
|
||||
</route>
|
||||
</start>}
|
||||
|
||||
append_if [expr ![have_spec acpi] && [have_spec pci]] config {
|
||||
<start name="pci_drv">
|
||||
<resource name="RAM" quantum="5M" constrain_phys="yes"/>
|
||||
<provides><service name="PCI"/></provides>
|
||||
</start>}
|
||||
|
||||
append_if [have_spec platform_arndale] config {
|
||||
<start name="platform_drv">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides><service name="Regulator"/></provides>
|
||||
</start>}
|
||||
append_platform_drv_config
|
||||
|
||||
append_if [have_spec gpio] config {
|
||||
<start name="gpio_drv">
|
||||
@ -108,10 +83,7 @@ set boot_modules {
|
||||
core init timer usb_drv test-blk-cli
|
||||
}
|
||||
|
||||
lappend_if [have_spec acpi] boot_modules acpi_drv
|
||||
lappend_if [have_spec pci] boot_modules pci_drv
|
||||
lappend_if [have_spec nova] boot_modules pci_device_pd
|
||||
lappend_if [have_spec platform_arndale] boot_modules platform_drv
|
||||
append_platform_drv_boot_modules
|
||||
|
||||
build_boot_image $boot_modules
|
||||
|
||||
|
@ -17,12 +17,11 @@ set build_components {
|
||||
test/terminal_echo
|
||||
}
|
||||
|
||||
lappend_if [have_spec acpi] build_components drivers/acpi
|
||||
lappend_if [have_spec pci] build_components drivers/pci
|
||||
lappend_if [have_spec pci] build_components drivers/pci/device_pd
|
||||
lappend_if [have_spec platform_arndale] build_components drivers/platform
|
||||
lappend_if [have_spec gpio] build_components drivers/gpio
|
||||
|
||||
source ${genode_dir}/repos/base/run/platform_drv.inc
|
||||
append_platform_drv_build_components
|
||||
|
||||
build $build_components
|
||||
|
||||
create_boot_directory
|
||||
@ -50,12 +49,6 @@ append config {
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</default-route>}
|
||||
|
||||
append_if [have_spec platform_arndale] config {
|
||||
<start name="platform_drv">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides><service name="Regulator"/></provides>
|
||||
</start>}
|
||||
|
||||
append_if [have_spec gpio] config {
|
||||
<start name="gpio_drv">
|
||||
<resource name="RAM" quantum="4M"/>
|
||||
@ -63,25 +56,7 @@ append_if [have_spec gpio] config {
|
||||
<config/>
|
||||
</start>}
|
||||
|
||||
append_if [have_spec acpi] config {
|
||||
<start name="acpi">
|
||||
<resource name="RAM" quantum="8M"/>
|
||||
<binary name="acpi_drv"/>
|
||||
<provides>
|
||||
<service name="PCI"/>
|
||||
<service name="IRQ" />
|
||||
</provides>
|
||||
<route>
|
||||
<service name="PCI"> <any-child /> </service>
|
||||
<any-service> <parent/> <any-child /> </any-service>
|
||||
</route>
|
||||
</start>}
|
||||
|
||||
append_if [expr ![have_spec acpi] && [have_spec pci]] config {
|
||||
<start name="pci_drv">
|
||||
<resource name="RAM" quantum="5M"/>
|
||||
<provides><service name="PCI"/></provides>
|
||||
</start>}
|
||||
append_platform_drv_config
|
||||
|
||||
append config {
|
||||
<start name="timer">
|
||||
@ -116,12 +91,10 @@ set boot_modules {
|
||||
usb_terminal
|
||||
}
|
||||
|
||||
lappend_if [have_spec acpi] boot_modules acpi_drv
|
||||
lappend_if [have_spec pci] boot_modules pci_drv
|
||||
lappend_if [have_spec nova] boot_modules pci_device_pd
|
||||
lappend_if [have_spec platform_arndale] boot_modules platform_drv
|
||||
lappend_if [have_spec gpio] boot_modules gpio_drv
|
||||
|
||||
append_platform_drv_boot_modules
|
||||
|
||||
build_boot_image $boot_modules
|
||||
|
||||
append qemu_args " -m 256 -nographic -usb -usbdevice host:$::env(USB_RAW_DEVICE) -nographic"
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
set build_components {
|
||||
core init
|
||||
drivers/pci drivers/timer drivers/wifi
|
||||
drivers/timer drivers/wifi
|
||||
drivers/rtc
|
||||
server/report_rom
|
||||
server/ram_fs
|
||||
@ -12,11 +12,11 @@ set build_components {
|
||||
test/lwip/http_srv
|
||||
}
|
||||
|
||||
lappend_if [have_spec acpi] build_components drivers/acpi
|
||||
lappend_if [have_spec pci] build_components drivers/pci/device_pd
|
||||
lappend_if [have_spec platform_arndale] build_components drivers/platform
|
||||
lappend_if [have_spec gpio] build_components drivers/gpio
|
||||
|
||||
source ${genode_dir}/repos/base/run/platform_drv.inc
|
||||
append_platform_drv_build_components
|
||||
|
||||
build $build_components
|
||||
|
||||
create_boot_directory
|
||||
@ -105,38 +105,13 @@ set config {
|
||||
<route>
|
||||
<service name="Rtc"> <any-child /> </service>
|
||||
<service name="File_system"> <child name="config_fs"/> </service>
|
||||
<service name="Report"> <child name="report_rom"/> </service>
|
||||
<service name="ROM"> <if-arg key="label" value="wlan_configuration" /> <child name="config_rom" /> </service>
|
||||
<any-service> <parent/> <any-child /> </any-service>
|
||||
</route>
|
||||
</start>}
|
||||
|
||||
append_if [have_spec acpi] config {
|
||||
<start name="acpi">
|
||||
<resource name="RAM" quantum="16M" constrain_phys="yes"/>
|
||||
<binary name="acpi_drv"/>
|
||||
<provides>
|
||||
<service name="PCI"/>
|
||||
<service name="IRQ" />
|
||||
</provides>
|
||||
<route>
|
||||
<service name="PCI"> <any-child /> </service>
|
||||
<any-service> <parent/> <any-child /> </any-service>
|
||||
</route>
|
||||
<config>
|
||||
<policy label="acpi_drv">
|
||||
<pci class="ALL"/>
|
||||
</policy>
|
||||
<policy label="wifi_drv">
|
||||
<pci class="WIFI"/>
|
||||
</policy>
|
||||
</config>
|
||||
</start>}
|
||||
|
||||
append_if [have_spec platform_arndale] config {
|
||||
<start name="platform_drv">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides><service name="Regulator"/></provides>
|
||||
</start>}
|
||||
append_platform_drv_config
|
||||
|
||||
append_if [have_spec gpio] config {
|
||||
<start name="gpio_drv">
|
||||
@ -145,12 +120,6 @@ append_if [have_spec gpio] config {
|
||||
<config/>
|
||||
</start>}
|
||||
|
||||
append_if [expr ![have_spec acpi] && [have_spec pci]] config {
|
||||
<start name="pci_drv">
|
||||
<resource name="RAM" quantum="3M" constrain_phys="yes"/>
|
||||
<provides> <service name="PCI"/> </provides>
|
||||
</start> }
|
||||
|
||||
append config {
|
||||
</config>
|
||||
}
|
||||
@ -183,12 +152,10 @@ set boot_modules {
|
||||
|
||||
append boot_modules $firmware_modules
|
||||
|
||||
lappend_if [have_spec acpi] boot_modules acpi_drv
|
||||
lappend_if [have_spec pci] boot_modules pci_drv
|
||||
lappend_if [have_spec nova] boot_modules pci_device_pd
|
||||
lappend_if [have_spec platform_arndale] boot_modules platform_drv
|
||||
lappend_if [have_spec gpio] boot_modules gpio_drv
|
||||
|
||||
append_platform_drv_boot_modules
|
||||
|
||||
build_boot_image $boot_modules
|
||||
|
||||
run_genode_until forever
|
||||
|
@ -19,8 +19,8 @@
|
||||
|
||||
/* Genode os includes */
|
||||
#include <io_port_session/client.h>
|
||||
#include <pci_session/connection.h>
|
||||
#include <pci_device/client.h>
|
||||
#include <platform_session/connection.h>
|
||||
#include <platform_device/client.h>
|
||||
#include <util/volatile_object.h>
|
||||
|
||||
/* Linux includes */
|
||||
@ -102,7 +102,7 @@ class Pci_driver : public Genode::List<Pci_driver>::Element
|
||||
private:
|
||||
|
||||
pci_driver *_drv; /* Linux PCI driver */
|
||||
Pci::Device_capability _cap; /* PCI cap */
|
||||
Platform::Device_capability _cap; /* PCI cap */
|
||||
pci_device_id const *_id; /* matched id for this driver */
|
||||
Io_port _port;
|
||||
|
||||
@ -120,7 +120,7 @@ class Pci_driver : public Genode::List<Pci_driver>::Element
|
||||
*/
|
||||
void _setup_pci_device()
|
||||
{
|
||||
using namespace Pci;
|
||||
using namespace Platform;
|
||||
|
||||
Device_client client(_cap);
|
||||
uint8_t bus, dev, func;
|
||||
@ -195,16 +195,16 @@ class Pci_driver : public Genode::List<Pci_driver>::Element
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
Pci::Device::Access_size _access_size(T t)
|
||||
Platform::Device::Access_size _access_size(T t)
|
||||
{
|
||||
switch (sizeof(T))
|
||||
{
|
||||
case 1:
|
||||
return Pci::Device::ACCESS_8BIT;
|
||||
return Platform::Device::ACCESS_8BIT;
|
||||
case 2:
|
||||
return Pci::Device::ACCESS_16BIT;
|
||||
return Platform::Device::ACCESS_16BIT;
|
||||
default:
|
||||
return Pci::Device::ACCESS_32BIT;
|
||||
return Platform::Device::ACCESS_32BIT;
|
||||
}
|
||||
}
|
||||
|
||||
@ -216,7 +216,7 @@ class Pci_driver : public Genode::List<Pci_driver>::Element
|
||||
|
||||
public:
|
||||
|
||||
Pci_driver(pci_driver *drv, Pci::Device_capability cap,
|
||||
Pci_driver(pci_driver *drv, Platform::Device_capability cap,
|
||||
pci_device_id const * id)
|
||||
: _drv(drv), _cap(cap), _id(id), _dev(0)
|
||||
{
|
||||
@ -240,14 +240,14 @@ class Pci_driver : public Genode::List<Pci_driver>::Element
|
||||
template <typename T>
|
||||
void config_read(unsigned int devfn, T *val)
|
||||
{
|
||||
Pci::Device_client client(_cap);
|
||||
Platform::Device_client client(_cap);
|
||||
*val = client.config_read(devfn, _access_size(*val));
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
void config_write(unsigned int devfn, T val)
|
||||
{
|
||||
Pci::Device_client client(_cap);
|
||||
Platform::Device_client client(_cap);
|
||||
client.config_write(devfn, val, _access_size(val));
|
||||
}
|
||||
|
||||
@ -257,7 +257,7 @@ class Pci_driver : public Genode::List<Pci_driver>::Element
|
||||
if (d->_dev && d->_dev->irq != irq)
|
||||
continue;
|
||||
|
||||
Pci::Device_client client(d->_cap);
|
||||
Platform::Device_client client(d->_cap);
|
||||
return client.irq(0);
|
||||
}
|
||||
|
||||
@ -279,7 +279,7 @@ class Pci_driver : public Genode::List<Pci_driver>::Element
|
||||
if (bar >= PCI_ROM_RESOURCE)
|
||||
continue;
|
||||
|
||||
Pci::Device_client client(d->_cap);
|
||||
Platform::Device_client client(d->_cap);
|
||||
return client.io_mem(bar);
|
||||
}
|
||||
|
||||
@ -346,7 +346,7 @@ struct Dma_object : Memory_object_base
|
||||
** Linux interface **
|
||||
*********************/
|
||||
|
||||
static Pci::Connection pci;
|
||||
static Platform::Connection pci;
|
||||
static Genode::Object_pool<Memory_object_base> memory_pool;
|
||||
|
||||
int pci_register_driver(struct pci_driver *drv)
|
||||
@ -372,13 +372,13 @@ int pci_register_driver(struct pci_driver *drv)
|
||||
|
||||
Genode::env()->parent()->upgrade(pci.cap(), "ram_quota=4096");
|
||||
|
||||
Pci::Device_capability cap = pci.first_device(id->class_,
|
||||
id->class_mask);
|
||||
Platform::Device_capability cap = pci.first_device(id->class_,
|
||||
id->class_mask);
|
||||
while (cap.valid()) {
|
||||
|
||||
if (DEBUG_PCI) {
|
||||
uint8_t bus, dev, func;
|
||||
Pci::Device_client client(cap);
|
||||
Platform::Device_client client(cap);
|
||||
client.bus_address(&bus, &dev, &func);
|
||||
lx_log(DEBUG_PCI, "bus: %x dev: %x func: %x", bus, dev, func);
|
||||
}
|
||||
@ -387,10 +387,10 @@ int pci_register_driver(struct pci_driver *drv)
|
||||
try {
|
||||
/* probe device */
|
||||
pci_drv = new (env()->heap()) Pci_driver(drv, cap, id);
|
||||
pci.on_destruction(Pci::Connection::KEEP_OPEN);
|
||||
pci.on_destruction(Platform::Connection::KEEP_OPEN);
|
||||
found = true;
|
||||
|
||||
} catch (Pci::Device::Quota_exceeded) {
|
||||
} catch (Platform::Device::Quota_exceeded) {
|
||||
Genode::env()->parent()->upgrade(pci.cap(), "ram_quota=4096");
|
||||
continue;
|
||||
} catch (...) {
|
||||
@ -398,11 +398,11 @@ int pci_register_driver(struct pci_driver *drv)
|
||||
pci_drv = 0;
|
||||
}
|
||||
|
||||
Pci::Device_capability free_up = cap;
|
||||
Platform::Device_capability free_up = cap;
|
||||
|
||||
try {
|
||||
cap = pci.next_device(cap, id->class_, id->class_mask);
|
||||
} catch (Pci::Device::Quota_exceeded) {
|
||||
} catch (Platform::Device::Quota_exceeded) {
|
||||
Genode::env()->parent()->upgrade(pci.cap(), "ram_quota=4096");
|
||||
cap = pci.next_device(cap, id->class_, id->class_mask);
|
||||
}
|
||||
|
@ -17,7 +17,7 @@
|
||||
#include <base/tslab.h>
|
||||
#include <timer_session/connection.h>
|
||||
#include <irq_session/connection.h>
|
||||
#include <pci_device/client.h>
|
||||
#include <platform_device/client.h>
|
||||
|
||||
/* local includes */
|
||||
#include <lx.h>
|
||||
@ -81,7 +81,7 @@ namespace Lx {
|
||||
|
||||
static void run_irq(void *args);
|
||||
|
||||
extern "C" Pci::Device_capability pci_device_cap;
|
||||
extern "C" Platform::Device_capability pci_device_cap;
|
||||
|
||||
/**
|
||||
* Lx::Irq
|
||||
@ -147,11 +147,11 @@ class Lx::Irq
|
||||
* Constructor
|
||||
*/
|
||||
Context(Server::Entrypoint &ep, unsigned irq,
|
||||
Pci::Device_capability pci_dev)
|
||||
Platform::Device_capability pci_dev)
|
||||
:
|
||||
_name(irq),
|
||||
_irq(irq),
|
||||
_irq_sess(Pci::Device_client(pci_dev).irq(0)),
|
||||
_irq_sess(Platform::Device_client(pci_dev).irq(0)),
|
||||
_task(run_irq, this, _name.name),
|
||||
_dispatcher(ep, *this, &Context::_handle)
|
||||
{
|
||||
|
@ -15,8 +15,8 @@
|
||||
/* Genode inludes */
|
||||
#include <ram_session/client.h>
|
||||
#include <base/object_pool.h>
|
||||
#include <pci_session/connection.h>
|
||||
#include <pci_device/client.h>
|
||||
#include <platform_session/connection.h>
|
||||
#include <platform_device/client.h>
|
||||
#include <io_mem_session/connection.h>
|
||||
|
||||
/* local includes */
|
||||
@ -41,9 +41,9 @@ class Pci_driver
|
||||
{
|
||||
private:
|
||||
|
||||
pci_driver *_drv; /* Linux PCI driver */
|
||||
Pci::Device_capability _cap; /* PCI cap */
|
||||
pci_device_id const *_id; /* matched id for this driver */
|
||||
pci_driver *_drv; /* Linux PCI driver */
|
||||
Platform::Device_capability _cap; /* PCI cap */
|
||||
pci_device_id const *_id; /* matched id for this driver */
|
||||
|
||||
public:
|
||||
|
||||
@ -62,7 +62,7 @@ class Pci_driver
|
||||
*/
|
||||
bool _setup_pci_device()
|
||||
{
|
||||
using namespace Pci;
|
||||
using namespace Platform;
|
||||
|
||||
Device_client client(_cap);
|
||||
if (client.device_id() != _id->device)
|
||||
@ -159,22 +159,22 @@ class Pci_driver
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
Pci::Device::Access_size _access_size(T t)
|
||||
Platform::Device::Access_size _access_size(T t)
|
||||
{
|
||||
switch (sizeof(T))
|
||||
{
|
||||
case 1:
|
||||
return Pci::Device::ACCESS_8BIT;
|
||||
return Platform::Device::ACCESS_8BIT;
|
||||
case 2:
|
||||
return Pci::Device::ACCESS_16BIT;
|
||||
return Platform::Device::ACCESS_16BIT;
|
||||
default:
|
||||
return Pci::Device::ACCESS_32BIT;
|
||||
return Platform::Device::ACCESS_32BIT;
|
||||
}
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
Pci_driver(pci_driver *drv, Pci::Device_capability cap,
|
||||
Pci_driver(pci_driver *drv, Platform::Device_capability cap,
|
||||
pci_device_id const * id)
|
||||
: _drv(drv), _cap(cap), _id(id), _dev(0)
|
||||
{
|
||||
@ -196,14 +196,14 @@ class Pci_driver
|
||||
template <typename T>
|
||||
void config_read(unsigned int devfn, T *val)
|
||||
{
|
||||
Pci::Device_client client(_cap);
|
||||
Platform::Device_client client(_cap);
|
||||
*val = client.config_read(devfn, _access_size(*val));
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
void config_write(unsigned int devfn, T val)
|
||||
{
|
||||
Pci::Device_client client(_cap);
|
||||
Platform::Device_client client(_cap);
|
||||
client.config_write(devfn, val, _access_size(val));
|
||||
}
|
||||
};
|
||||
@ -251,10 +251,10 @@ struct Dma_object : Memory_object_base
|
||||
** Linux interface **
|
||||
*********************/
|
||||
|
||||
extern "C" { Pci::Device_capability pci_device_cap; }
|
||||
static Pci::Connection *pci()
|
||||
extern "C" { Platform::Device_capability pci_device_cap; }
|
||||
static Platform::Connection *pci()
|
||||
{
|
||||
static Pci::Connection _pci;
|
||||
static Platform::Connection _pci;
|
||||
return &_pci;
|
||||
}
|
||||
static Genode::Object_pool<Memory_object_base> memory_pool;
|
||||
@ -287,7 +287,7 @@ extern "C" int pci_register_driver(struct pci_driver *drv)
|
||||
continue;
|
||||
}
|
||||
|
||||
Pci::Device_capability cap = pci()->first_device(PCI_CLASS_WIFI,
|
||||
Platform::Device_capability cap = pci()->first_device(PCI_CLASS_WIFI,
|
||||
PCI_CLASS_MASK);
|
||||
|
||||
while (cap.valid()) {
|
||||
@ -297,10 +297,10 @@ extern "C" int pci_register_driver(struct pci_driver *drv)
|
||||
|
||||
/* probe device */
|
||||
pci_drv = new (env()->heap()) Pci_driver(drv, cap, id);
|
||||
pci()->on_destruction(Pci::Connection::KEEP_OPEN);
|
||||
pci()->on_destruction(Platform::Connection::KEEP_OPEN);
|
||||
found++;
|
||||
|
||||
} catch (Pci::Device::Quota_exceeded) {
|
||||
} catch (Platform::Device::Quota_exceeded) {
|
||||
Genode::env()->parent()->upgrade(pci()->cap(), "ram_quota=4096");
|
||||
continue;
|
||||
} catch (...) {
|
||||
@ -311,7 +311,7 @@ extern "C" int pci_register_driver(struct pci_driver *drv)
|
||||
if (found)
|
||||
break;
|
||||
|
||||
Pci::Device_capability free_up = cap;
|
||||
Platform::Device_capability free_up = cap;
|
||||
cap = pci()->next_device(cap, PCI_CLASS_WIFI, PCI_CLASS_MASK);
|
||||
if (!pci_drv)
|
||||
pci()->release_device(free_up);
|
||||
@ -362,7 +362,7 @@ extern "C" void *pci_ioremap_bar(struct pci_dev *dev, int bar)
|
||||
|
||||
Io_mem_session_client *io_mem;
|
||||
try {
|
||||
Pci::Device_client device(pci_device_cap);
|
||||
Platform::Device_client device(pci_device_cap);
|
||||
io_mem = new (env()->heap()) Io_mem_session_client(device.io_mem(device.phys_bar_to_virt(bar)));
|
||||
} catch (...) {
|
||||
PERR("Failed to request I/O memory: [%zx,%zx)", start, start + size);
|
||||
|
Reference in New Issue
Block a user