Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ycai
simbricks
Commits
c93522ab
Commit
c93522ab
authored
Nov 23, 2020
by
Antoine Kaufmann
Browse files
libnicbm: add MSI-X support
parent
92222548
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
16 additions
and
0 deletions
+16
-0
libnicbm/include/nicbm.h
libnicbm/include/nicbm.h
+1
-0
libnicbm/nicbm.cc
libnicbm/nicbm.cc
+15
-0
No files found.
libnicbm/include/nicbm.h
View file @
c93522ab
...
@@ -118,6 +118,7 @@ class Runner {
...
@@ -118,6 +118,7 @@ class Runner {
/* these three are for `Runner::Device`. */
/* these three are for `Runner::Device`. */
void
issue_dma
(
DMAOp
&
op
);
void
issue_dma
(
DMAOp
&
op
);
void
msi_issue
(
uint8_t
vec
);
void
msi_issue
(
uint8_t
vec
);
void
msix_issue
(
uint8_t
vec
);
void
eth_send
(
const
void
*
data
,
size_t
len
);
void
eth_send
(
const
void
*
data
,
size_t
len
);
void
event_schedule
(
TimedEvent
&
evt
);
void
event_schedule
(
TimedEvent
&
evt
);
...
...
libnicbm/nicbm.cc
View file @
c93522ab
...
@@ -144,6 +144,21 @@ void Runner::msi_issue(uint8_t vec)
...
@@ -144,6 +144,21 @@ void Runner::msi_issue(uint8_t vec)
COSIM_PCIE_PROTO_D2H_OWN_HOST
;
COSIM_PCIE_PROTO_D2H_OWN_HOST
;
}
}
void
Runner
::
msix_issue
(
uint8_t
vec
)
{
volatile
union
cosim_pcie_proto_d2h
*
msg
=
d2h_alloc
();
#ifdef DEBUG_NICBM
printf
(
"nicbm: issue MSI-X interrupt vec %u
\n
"
,
vec
);
#endif
volatile
struct
cosim_pcie_proto_d2h_interrupt
*
intr
=
&
msg
->
interrupt
;
intr
->
vector
=
vec
;
intr
->
inttype
=
COSIM_PCIE_PROTO_INT_MSIX
;
// WMB();
intr
->
own_type
=
COSIM_PCIE_PROTO_D2H_MSG_INTERRUPT
|
COSIM_PCIE_PROTO_D2H_OWN_HOST
;
}
void
Runner
::
event_schedule
(
TimedEvent
&
evt
)
void
Runner
::
event_schedule
(
TimedEvent
&
evt
)
{
{
events
.
insert
(
&
evt
);
events
.
insert
(
&
evt
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment