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
49262226
Commit
49262226
authored
Nov 16, 2020
by
Antoine Kaufmann
Browse files
i40e_bm: add some more registers
parent
eaf605fd
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
75 additions
and
0 deletions
+75
-0
i40e_bm/i40e_bm.cc
i40e_bm/i40e_bm.cc
+64
-0
i40e_bm/i40e_bm.h
i40e_bm/i40e_bm.h
+11
-0
No files found.
i40e_bm/i40e_bm.cc
View file @
49262226
...
@@ -155,6 +155,10 @@ uint32_t i40e_bm::reg_mem_read32(uint64_t addr)
...
@@ -155,6 +155,10 @@ uint32_t i40e_bm::reg_mem_read32(uint64_t addr)
addr
<=
I40E_QTX_TAIL
(
NUM_QUEUES
-
1
))
addr
<=
I40E_QTX_TAIL
(
NUM_QUEUES
-
1
))
{
{
val
=
regs
.
qtx_tail
[(
addr
-
I40E_QTX_TAIL
(
0
))
/
4
];
val
=
regs
.
qtx_tail
[(
addr
-
I40E_QTX_TAIL
(
0
))
/
4
];
}
else
if
(
addr
>=
I40E_QTX_CTL
(
0
)
&&
addr
<=
I40E_QTX_CTL
(
NUM_QUEUES
-
1
))
{
val
=
regs
.
qtx_ctl
[(
addr
-
I40E_QTX_CTL
(
0
))
/
4
];
}
else
if
(
addr
>=
I40E_QINT_RQCTL
(
0
)
&&
}
else
if
(
addr
>=
I40E_QINT_RQCTL
(
0
)
&&
addr
<=
I40E_QINT_RQCTL
(
NUM_QUEUES
-
1
))
addr
<=
I40E_QINT_RQCTL
(
NUM_QUEUES
-
1
))
{
{
...
@@ -382,6 +386,32 @@ uint32_t i40e_bm::reg_mem_read32(uint64_t addr)
...
@@ -382,6 +386,32 @@ uint32_t i40e_bm::reg_mem_read32(uint64_t addr)
val
=
regs
.
pfqf_ctl_0
;
val
=
regs
.
pfqf_ctl_0
;
break
;
break
;
case
I40E_PRTDCB_FCCFG
:
val
=
regs
.
prtdcb_fccfg
;
break
;
case
I40E_PRTDCB_MFLCN
:
val
=
regs
.
prtdcb_mflcn
;
break
;
case
I40E_PRT_L2TAGSEN
:
val
=
regs
.
prt_l2tagsen
;
break
;
case
I40E_PRTQF_CTL_0
:
val
=
regs
.
prtqf_ctl_0
;
break
;
case
I40E_GLRPB_GHW
:
val
=
regs
.
glrpb_ghw
;
break
;
case
I40E_GLRPB_GLW
:
val
=
regs
.
glrpb_glw
;
break
;
case
I40E_GLRPB_PHW
:
val
=
regs
.
glrpb_phw
;
break
;
case
I40E_GLRPB_PLW
:
val
=
regs
.
glrpb_plw
;
break
;
default:
default:
#ifdef DEBUG_DEV
#ifdef DEBUG_DEV
log
<<
"unhandled mem read addr="
<<
addr
log
<<
"unhandled mem read addr="
<<
addr
...
@@ -428,6 +458,11 @@ void i40e_bm::reg_mem_write32(uint64_t addr, uint32_t val)
...
@@ -428,6 +458,11 @@ void i40e_bm::reg_mem_write32(uint64_t addr, uint32_t val)
size_t
idx
=
(
addr
-
I40E_QTX_TAIL
(
0
))
/
4
;
size_t
idx
=
(
addr
-
I40E_QTX_TAIL
(
0
))
/
4
;
regs
.
qtx_tail
[
idx
]
=
val
;
regs
.
qtx_tail
[
idx
]
=
val
;
lanmgr
.
tail_updated
(
idx
,
false
);
lanmgr
.
tail_updated
(
idx
,
false
);
}
else
if
(
addr
>=
I40E_QTX_CTL
(
0
)
&&
addr
<=
I40E_QTX_CTL
(
NUM_QUEUES
-
1
))
{
regs
.
qtx_ctl
[(
addr
-
I40E_QTX_CTL
(
0
))
/
4
]
=
val
;
}
else
if
(
addr
>=
I40E_QINT_RQCTL
(
0
)
&&
}
else
if
(
addr
>=
I40E_QINT_RQCTL
(
0
)
&&
addr
<=
I40E_QINT_RQCTL
(
NUM_QUEUES
-
1
))
addr
<=
I40E_QINT_RQCTL
(
NUM_QUEUES
-
1
))
{
{
...
@@ -581,6 +616,31 @@ void i40e_bm::reg_mem_write32(uint64_t addr, uint32_t val)
...
@@ -581,6 +616,31 @@ void i40e_bm::reg_mem_write32(uint64_t addr, uint32_t val)
regs
.
pfqf_ctl_0
=
val
;
regs
.
pfqf_ctl_0
=
val
;
break
;
break
;
case
I40E_PRTDCB_FCCFG
:
regs
.
prtdcb_fccfg
=
val
;
break
;
case
I40E_PRTDCB_MFLCN
:
regs
.
prtdcb_mflcn
=
val
;
break
;
case
I40E_PRT_L2TAGSEN
:
regs
.
prt_l2tagsen
=
val
;
break
;
case
I40E_PRTQF_CTL_0
:
regs
.
prtqf_ctl_0
=
val
;
break
;
case
I40E_GLRPB_GHW
:
regs
.
glrpb_ghw
=
val
;
break
;
case
I40E_GLRPB_GLW
:
regs
.
glrpb_glw
=
val
;
break
;
case
I40E_GLRPB_PHW
:
regs
.
glrpb_phw
=
val
;
break
;
case
I40E_GLRPB_PLW
:
regs
.
glrpb_plw
=
val
;
break
;
default:
default:
#ifdef DEBUG_DEV
#ifdef DEBUG_DEV
log
<<
"unhandled mem write addr="
<<
addr
log
<<
"unhandled mem write addr="
<<
addr
...
@@ -686,6 +746,10 @@ void i40e_bm::reset(bool indicate_done)
...
@@ -686,6 +746,10 @@ void i40e_bm::reset(bool indicate_done)
regs
.
pfqf_hkey
[
10
]
=
0x0
;
regs
.
pfqf_hkey
[
10
]
=
0x0
;
regs
.
pfqf_hkey
[
11
]
=
0x0
;
regs
.
pfqf_hkey
[
11
]
=
0x0
;
regs
.
pfqf_hkey
[
12
]
=
0x0
;
regs
.
pfqf_hkey
[
12
]
=
0x0
;
regs
.
glrpb_ghw
=
0xF2000
;
regs
.
glrpb_phw
=
0x1246
;
regs
.
glrpb_plw
=
0x0846
;
}
}
shadow_ram
::
shadow_ram
(
i40e_bm
&
dev_
)
shadow_ram
::
shadow_ram
(
i40e_bm
&
dev_
)
...
...
i40e_bm/i40e_bm.h
View file @
49262226
...
@@ -502,6 +502,7 @@ protected:
...
@@ -502,6 +502,7 @@ protected:
uint32_t
qint_tqctl
[
NUM_QUEUES
];
uint32_t
qint_tqctl
[
NUM_QUEUES
];
uint32_t
qtx_ena
[
NUM_QUEUES
];
uint32_t
qtx_ena
[
NUM_QUEUES
];
uint32_t
qtx_tail
[
NUM_QUEUES
];
uint32_t
qtx_tail
[
NUM_QUEUES
];
uint32_t
qtx_ctl
[
NUM_QUEUES
];
uint32_t
qint_rqctl
[
NUM_QUEUES
];
uint32_t
qint_rqctl
[
NUM_QUEUES
];
uint32_t
qrx_ena
[
NUM_QUEUES
];
uint32_t
qrx_ena
[
NUM_QUEUES
];
uint32_t
qrx_tail
[
NUM_QUEUES
];
uint32_t
qrx_tail
[
NUM_QUEUES
];
...
@@ -532,6 +533,16 @@ protected:
...
@@ -532,6 +533,16 @@ protected:
uint32_t
pfqf_hkey
[
13
];
uint32_t
pfqf_hkey
[
13
];
uint32_t
pfqf_hlut
[
128
];
uint32_t
pfqf_hlut
[
128
];
uint32_t
prtdcb_fccfg
;
uint32_t
prtdcb_mflcn
;
uint32_t
prt_l2tagsen
;
uint32_t
prtqf_ctl_0
;
uint32_t
glrpb_ghw
;
uint32_t
glrpb_glw
;
uint32_t
glrpb_phw
;
uint32_t
glrpb_plw
;
};
};
public:
public:
...
...
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