Skip to content

Commit c4afa30

Browse files
committed
tpmi: the vsec address is in 8-byte units
1 parent 2f46ce8 commit c4afa30

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

src/tpmi.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ class PFSInstances
5757
assert(vsec.fields.EntrySize == 2);
5858
std::vector<PFS> pfsArray(vsec.fields.NumEntries);
5959
try {
60-
mmio_memcpy(&(pfsArray[0]), bar + vsec.fields.Address, vsec.fields.NumEntries * sizeof(PFS), true, true);
60+
mmio_memcpy(&(pfsArray[0]), bar + 8ULL * vsec.fields.Address, vsec.fields.NumEntries * sizeof(PFS), true, true);
6161
} catch (std::runtime_error & e)
6262
{
6363
std::cerr << "Can't read PFS\n";
@@ -79,7 +79,7 @@ class PFSInstances
7979
for (uint64 p = 0; p < pfs.NumEntries; ++p)
8080
{
8181
uint32 reg0 = 0;
82-
const auto addr = bar + vsec.fields.Address + pfs.CapOffset * 1024ULL + p * pfs.EntrySize * sizeof(uint32);
82+
const auto addr = bar + 8ULL * vsec.fields.Address + pfs.CapOffset * 1024ULL + p * pfs.EntrySize * sizeof(uint32);
8383
try {
8484
mmio_memcpy(&reg0, addr, sizeof(uint32), false, true);
8585
} catch (std::runtime_error & e)

0 commit comments

Comments
 (0)