Andrew Waterman
|
8c10caeef9
|
Express PMP mask generation with incrementer, not adder
DC apparently doesn't always pick up the ((x + 1) ^ x) idiom.
Use (x + ~(x + 1)) instead.
|
2017-04-27 15:16:29 -07:00 |
|
Andrew Waterman
|
debcbca7de
|
Make PMP tolerant to PA size << VA size
|
2017-04-17 10:28:33 -07:00 |
|
Andrew Waterman
|
fd39eadcd6
|
New PMP encoding
|
2017-03-30 00:36:23 -07:00 |
|
Andrew Waterman
|
5d1165c850
|
Express PMP mask generator using a carry chain
This allows it to be optimized like an adder, improving QoR when it
is on the critical path.
|
2017-03-26 14:20:16 -07:00 |
|
Andrew Waterman
|
17b1ee3037
|
Default to 8 PMPs; support 0 PMPs
|
2017-03-24 16:39:52 -07:00 |
|
Andrew Waterman
|
ccd5bc9a91
|
Improve QoR of PMP homogeneity checker
|
2017-03-24 16:39:52 -07:00 |
|
Andrew Waterman
|
8d7f1d777e
|
Fix an embarrassing typo in the PMPHeterogeneityChecker
|
2017-03-24 16:39:52 -07:00 |
|
Andrew Waterman
|
d3bda9574c
|
Put page homogeneity checker in PMP
Avoids redundancy between ITLB and DTLB
|
2017-03-24 16:39:52 -07:00 |
|
Andrew Waterman
|
9e05200e51
|
Don't require that PMP ranges be aligned to access size
e.g., if a range permits access to 0x0-0xb, allow 8-byte accesses 0x0-0x7.
|
2017-03-24 16:39:52 -07:00 |
|
Andrew Waterman
|
29e67279ba
|
add comments
|
2017-03-24 16:39:52 -07:00 |
|
Andrew Waterman
|
4c8be13a4d
|
Improve homogeneity circuit QoR
|
2017-03-24 16:39:52 -07:00 |
|
Andrew Waterman
|
38808f55d5
|
Share PMP mask gen between I$ and D$
|
2017-03-24 16:39:52 -07:00 |
|
Andrew Waterman
|
86d84959cf
|
More WIP on PMP
|
2017-03-24 16:39:52 -07:00 |
|
Andrew Waterman
|
723352c3e2
|
Mitigate some more PMP critical paths
|
2017-03-24 16:39:52 -07:00 |
|
Andrew Waterman
|
aace526857
|
WIP on PMP
|
2017-03-24 16:39:52 -07:00 |
|