Skip to content

Instantly share code, notes, and snippets.

@hs256
Created July 5, 2018 12:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hs256/e6a72788b7471316e04e242fbf4e82e4 to your computer and use it in GitHub Desktop.
Save hs256/e6a72788b7471316e04e242fbf4e82e4 to your computer and use it in GitHub Desktop.
irq_session.cc
void Irq_session_component::ack_irq()
{
_parent_irq.ack_irq();
}
void Irq_session_component::sigh(Genode::Signal_context_capability sigh)
{
_parent_irq.sigh(sigh);
}
Genode::Irq_session::Info Irq_session_component::info()
{
auto result = _parent_irq.info();
return result;
}
irq_session.h
class Rtcr::Irq_session_component : public Genode::Rpc_object<Genode::Irq_session>,
public Genode::List<Irq_session_component>::Element
{
public:
Irq_session_component(Genode::Env &env, Genode::Allocator &md_alloc, Genode::Entrypoint &ep,
unsigned int irq, const char *creation_args, bool &bootstrap_phase);//, Genode::addr_t device_config_phys, Genode::Irq_session::Trigger trigger, Genode::Irq_session::Polarity polarity);
~Irq_session_component();
Genode::Irq_session_capability parent_cap() { return _parent_irq.cap(); }
Irq_session_info &parent_state() { return _parent_state; }
Irq_session_info const &parent_state() const { return _parent_state; }
Irq_session_component *find_by_badge(Genode::uint16_t badge);
/************************************
** Signal session Rpc interface **
************************************/
struct Info {
enum Type { INVALID, MSI } type;
unsigned long address;
unsigned long value;
};
void ack_irq() override;
void sigh(Genode::Signal_context_capability sigh) override;
Genode::Irq_session::Info info() override;
};
Error:
irq_session.o: In function `~Native_capability': //there is no function like bnative_capabily in my file
/var/tmp/harsha/projects/operating-system/genode/repos/base/include/base/native_capability.h:73: undefined reference to `vtable for Rtcr::Irq_session_component'
irq_session.o: In function `Genode::Lock::lock()':
/var/tmp/harsha/projects/operating-system/genode/repos/base/include/base/lock.h:35: undefined reference to `typeinfo for Rtcr::Irq_session_component'
irq_session.o: In function `~Lock_guard':
/var/tmp/harsha/projects/operating-system/genode/repos/base/include/base/lock_guard.h:42: undefined reference to `typeinfo for Rtcr::Irq_session_component'
collect2: error: ld returned 1 exit status
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment