MMIO: Cleanup Mapping class by using templates instead of macros.

This commit is contained in:
Tony Wasserka
2014-07-12 14:35:47 +02:00
parent 96cfbd1bb0
commit 38c8a4efb2
5 changed files with 115 additions and 81 deletions

View File

@ -54,9 +54,9 @@ TEST_F(MappingTest, ReadConstant)
m_mapping->Register(0xCC001234, MMIO::Constant<u16>(0x1234), MMIO::Nop<u16>());
m_mapping->Register(0xCC001234, MMIO::Constant<u32>(0xdeadbeef), MMIO::Nop<u32>());
u8 val8; m_mapping->Read(0xCC001234, &val8);
u16 val16; m_mapping->Read(0xCC001234, &val16);
u32 val32; m_mapping->Read(0xCC001234, &val32);
u8 val8 = m_mapping->Read<u8>(0xCC001234);
u16 val16 = m_mapping->Read<u16>(0xCC001234);
u32 val32 = m_mapping->Read<u32>(0xCC001234);
EXPECT_EQ(0x42, val8);
EXPECT_EQ(0x1234, val16);
@ -75,9 +75,9 @@ TEST_F(MappingTest, ReadWriteDirect)
for (u32 i = 0; i < 100; ++i)
{
u8 val8; m_mapping->Read(0xCC001234, &val8); EXPECT_EQ(i, val8);
u16 val16; m_mapping->Read(0xCC001234, &val16); EXPECT_EQ(i, val16);
u32 val32; m_mapping->Read(0xCC001234, &val32); EXPECT_EQ(i, val32);
u8 val8 = m_mapping->Read<u8>(0xCC001234); EXPECT_EQ(i, val8);
u16 val16 = m_mapping->Read<u16>(0xCC001234); EXPECT_EQ(i, val16);
u32 val32 = m_mapping->Read<u32>(0xCC001234); EXPECT_EQ(i, val32);
val8 += 1; m_mapping->Write(0xCC001234, val8);
val16 += 1; m_mapping->Write(0xCC001234, val16);
@ -102,7 +102,7 @@ TEST_F(MappingTest, ReadWriteComplex)
})
);
u8 val; m_mapping->Read(0xCC001234, &val); EXPECT_EQ(0x12, val);
u8 val = m_mapping->Read<u8>(0xCC001234); EXPECT_EQ(0x12, val);
m_mapping->Write(0xCC001234, (u8)0x34);
EXPECT_TRUE(read_called);