5 #ifndef OPENTITAN_SW_DEVICE_LIB_BASE_MOCK_ABS_MMIO_H_
6 #define OPENTITAN_SW_DEVICE_LIB_BASE_MOCK_ABS_MMIO_H_
9 #include "sw/device/lib/base/global_mock.h"
10 #include "sw/device/lib/base/mock_mmio_test_utils.h"
19 MOCK_METHOD(uint8_t, Read8, (uint32_t addr));
20 MOCK_METHOD(
void, Write8, (uint32_t addr, uint8_t value));
21 MOCK_METHOD(
void, Write8Shadowed, (uint32_t addr, uint8_t value));
22 MOCK_METHOD(uint32_t, Read32, (uint32_t addr));
23 MOCK_METHOD(
void, Write32, (uint32_t addr, uint32_t value));
24 MOCK_METHOD(
void, Write32Shadowed, (uint32_t addr, uint32_t value));
28 using MockAbsMmio = testing::StrictMock<internal::MockAbsMmio>;
29 using NiceMockAbsMmio = testing::NiceMock<internal::MockAbsMmio>;
39 #define EXPECT_ABS_READ8(addr, ...) \
40 EXPECT_CALL(::rom_test::MockAbsMmio::Instance(), Read8(addr)) \
41 .WillOnce(testing::Return(mock_mmio::ToInt<uint8_t>(__VA_ARGS__)))
50 #define EXPECT_ABS_WRITE8(addr, ...) \
51 EXPECT_CALL(::rom_test::MockAbsMmio::Instance(), \
52 Write8(addr, mock_mmio::ToInt<uint8_t>(__VA_ARGS__)));
62 #define EXPECT_ABS_WRITE8_SHADOWED(addr, ...) \
63 EXPECT_CALL(::rom_test::MockAbsMmio::Instance(), \
64 Write8Shadowed(addr, mock_mmio::ToInt<uint8_t>(__VA_ARGS__)));
74 #define EXPECT_ABS_READ32(addr, ...) \
75 EXPECT_CALL(::rom_test::MockAbsMmio::Instance(), Read32(addr)) \
76 .WillOnce(testing::Return(mock_mmio::ToInt<uint32_t>(__VA_ARGS__)))
85 #define EXPECT_ABS_WRITE32(addr, ...) \
86 EXPECT_CALL(::rom_test::MockAbsMmio::Instance(), \
87 Write32(addr, mock_mmio::ToInt<uint32_t>(__VA_ARGS__)));
97 #define EXPECT_ABS_WRITE32_SHADOWED(addr, ...) \
98 EXPECT_CALL(::rom_test::MockAbsMmio::Instance(), \
99 Write32Shadowed(addr, mock_mmio::ToInt<uint32_t>(__VA_ARGS__)));