1 // 2 // Copyright (c) 2010-2018 Antmicro 3 // Copyright (c) 2011-2015 Realtime Embedded 4 // 5 // This file is licensed under the MIT License. 6 // Full license text is available in 'licenses/MIT.txt'. 7 // 8 using System; 9 using NUnit.Framework; 10 using Antmicro.Renode.Peripherals; 11 using Antmicro.Renode.Core; 12 using Antmicro.Renode.Utilities; 13 using Antmicro.Renode.Peripherals.Memory; 14 15 namespace Antmicro.Renode.UnitTests 16 { 17 [TestFixture] 18 public class MemoryTests 19 { 20 [Test] ShouldReadWriteMemoryBiggerThan2GB()21 public void ShouldReadWriteMemoryBiggerThan2GB() 22 { 23 const uint MemorySize = 3u * 1024 * 1024 * 1024; 24 var machine = new Machine(); 25 var memory = new MappedMemory(machine, MemorySize); 26 var start = (ulong)100.MB(); 27 machine.SystemBus.Register(memory, start); 28 var offset1 = start + 16; 29 var offset2 = start + MemorySize - 16; 30 machine.SystemBus.WriteByte(offset1, 0x1); 31 machine.SystemBus.WriteByte(offset2, 0x2); 32 33 Assert.AreEqual(0x1, machine.SystemBus.ReadByte(offset1)); 34 Assert.AreEqual(0x2, machine.SystemBus.ReadByte(offset2)); 35 } 36 } 37 } 38 39