From b8582b00a9821a86b84611a797167cd9c9cd1f4b Mon Sep 17 00:00:00 2001 From: Pierre Bourdon Date: Sun, 23 Feb 2014 08:33:27 +0100 Subject: [PATCH] MMIO: Pass the provided high part/low part addrs to handlers in {Read,Write}ToSmaller. --- Source/Core/Core/HW/MMIO.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Source/Core/Core/HW/MMIO.cpp b/Source/Core/Core/HW/MMIO.cpp index 667165b8b7..39ae3187c3 100644 --- a/Source/Core/Core/HW/MMIO.cpp +++ b/Source/Core/Core/HW/MMIO.cpp @@ -230,8 +230,9 @@ ReadHandlingMethod* ReadToSmaller(Mapping* mmio, u32 high_part_addr, u32 low_ mmio->GetHandlerForRead(low_part_addr, &low_part); // TODO(delroth): optimize - return ComplexRead([high_part, low_part](u32 addr) { - return ((T)high_part->Read(addr) << (8 * sizeof (ST))) | low_part->Read(addr); + return ComplexRead([=](u32 addr) { + return ((T)high_part->Read(high_part_addr) << (8 * sizeof (ST))) + | low_part->Read(low_part_addr); }); } @@ -246,9 +247,9 @@ WriteHandlingMethod* WriteToSmaller(Mapping* mmio, u32 high_part_addr, u32 lo mmio->GetHandlerForWrite(low_part_addr, &low_part); // TODO(delroth): optimize - return ComplexWrite([high_part, low_part](u32 addr, T val) { - high_part->Write(addr, val >> (8 * sizeof (ST))); - low_part->Write(addr, (ST)val); + return ComplexWrite([=](u32 addr, T val) { + high_part->Write(high_part_addr, val >> (8 * sizeof (ST))); + low_part->Write(low_part_addr, (ST)val); }); }