5 #include "sw/device/silicon_creator/lib/drivers/epmp.h"
7 #include "gtest/gtest.h"
8 #include "sw/device/silicon_creator/testing/rom_test.h"
10 namespace epmp_unittest {
26 public testing::WithParamInterface<NapotCase> {};
30 .start = (uintptr_t)GetParam().start,
31 .end = (uintptr_t)GetParam().end,
33 EXPECT_EQ(epmp_encode_napot(region), GetParam().encoded);
35 epmp_region_t decoded = epmp_decode_napot(GetParam().encoded);
36 EXPECT_EQ(decoded.start, GetParam().start);
37 EXPECT_EQ(decoded.end, GetParam().end);
40 INSTANTIATE_TEST_SUITE_P(AllCases, NapotTest,
43 .start = 0b1000010100100100101010100000,
44 .end = 0b1000010100100100101011000000,
45 .encoded = 0b10000101001001001010101011,
48 .start = 0b101000001101000011100000000000,
49 .end = 0b101000001101000011100100000000,
50 .encoded = 0b1010000011010000111000011111,
53 .start = 0b10111111111111111111111111111000,
54 .end = 0b11000000000000000000000000000000,
55 .encoded = 0b101111111111111111111111111110,
58 .start = 0b00000000000000000000000000000000,
59 .end = 0b10000000000000000000000000000000,
60 .encoded = 0b001111111111111111111111111111,