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