mirror of
https://github.com/genodelabs/genode.git
synced 2025-01-16 17:59:54 +00:00
a258caa7ab
Now, the right PCI bus:device:function (BDF) is reported to the kernel during assign_pci syscall - beforehand it was ever 0:0.0. The BDF is needed to lookup the correct DMAR unit the kernel has to configure. This was revealed as the DMAR unit for Intel graphics on x201 is not the same as for all other PCI devices we have drivers for on this platform. Fixes #1848
42 lines
1011 B
C++
42 lines
1011 B
C++
/*
|
|
* \brief Client-side pd session interface
|
|
* \author Christian Helmuth
|
|
* \date 2006-07-12
|
|
*/
|
|
|
|
/*
|
|
* Copyright (C) 2006-2013 Genode Labs GmbH
|
|
*
|
|
* This file is part of the Genode OS framework, which is distributed
|
|
* under the terms of the GNU General Public License version 2.
|
|
*/
|
|
|
|
#ifndef _INCLUDE__PD_SESSION__CLIENT_H_
|
|
#define _INCLUDE__PD_SESSION__CLIENT_H_
|
|
|
|
#include <pd_session/capability.h>
|
|
#include <base/rpc_client.h>
|
|
|
|
namespace Genode {
|
|
|
|
struct Pd_session_client : Rpc_client<Pd_session>
|
|
{
|
|
explicit Pd_session_client(Pd_session_capability session)
|
|
: Rpc_client<Pd_session>(session) { }
|
|
|
|
int bind_thread(Thread_capability thread) {
|
|
return call<Rpc_bind_thread>(thread); }
|
|
|
|
int assign_parent(Parent_capability parent)
|
|
{
|
|
parent.solely_map();
|
|
return call<Rpc_assign_parent>(parent);
|
|
}
|
|
|
|
bool assign_pci(addr_t pci_config_memory_address, uint16_t bdf) {
|
|
return call<Rpc_assign_pci>(pci_config_memory_address, bdf); }
|
|
};
|
|
}
|
|
|
|
#endif /* _INCLUDE__PD_SESSION__CLIENT_H_ */
|