Commit 2ddf5f12 authored by Antoine Kaufmann's avatar Antoine Kaufmann
Browse files

lib/nicbm: add support for legacy interrupts

parent 1576ecf9
......@@ -233,6 +233,21 @@ void Runner::MsiXIssue(uint8_t vec) {
SIMBRICKS_PROTO_PCIE_D2H_OWN_HOST;
}
void Runner::IntXIssue(bool level) {
volatile union SimbricksProtoPcieD2H *msg = D2HAlloc();
#ifdef DEBUG_NICBM
printf("nicbm: set intx interrupt %u\n", level);
#endif
volatile struct SimbricksProtoPcieD2HInterrupt *intr = &msg->interrupt;
intr->vector = 0;
intr->inttype = (level ? SIMBRICKS_PROTO_PCIE_INT_LEGACY_HI
: SIMBRICKS_PROTO_PCIE_INT_LEGACY_LO);
// WMB();
intr->own_type = SIMBRICKS_PROTO_PCIE_D2H_MSG_INTERRUPT |
SIMBRICKS_PROTO_PCIE_D2H_OWN_HOST;
}
void Runner::EventSchedule(TimedEvent &evt) {
events_.insert(&evt);
}
......
......@@ -161,6 +161,7 @@ class Runner {
void IssueDma(DMAOp &op);
void MsiIssue(uint8_t vec);
void MsiXIssue(uint8_t vec);
void IntXIssue(bool level);
void EthSend(const void *data, size_t len);
void EventSchedule(TimedEvent &evt);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment