From 855ff7decad7938c7f4440b80e6a6ae2f033918e Mon Sep 17 00:00:00 2001 From: nattthebear Date: Sun, 28 May 2017 22:17:48 -0400 Subject: [PATCH] Start working on a primitive mmap implementation. It's good enough for VirtualBoyee to boot, but undoubtedly has many bugs. --- ...izHawkSystemIdToCoreSystemEnumConverter.cs | 3 + BizHawk.Emulation.Common/Database/Database.cs | 4 + .../BizHawk.Emulation.Cores.csproj | 1 + .../Consoles/Nintendo/VB/VirtualBoyee.cs | 21 +- BizHawk.Emulation.Cores/Waterbox/MapHeap.cs | 303 ++++++++++++++++++ .../Waterbox/MemoryBlock.cs | 105 +----- BizHawk.Emulation.Cores/Waterbox/PeRunner.cs | 104 +++++- BizHawk.Emulation.Cores/Waterbox/PeWrapper.cs | 11 +- .../Waterbox/WaterboxUtils.cs | 96 ++++++ waterbox/vb/Makefile | 5 +- waterbox/vb/vb.wbx | Bin 165390 -> 0 bytes waterbox/vb/vb.wbx.in | Bin 343350 -> 0 bytes 12 files changed, 531 insertions(+), 122 deletions(-) create mode 100644 BizHawk.Emulation.Cores/Waterbox/MapHeap.cs delete mode 100644 waterbox/vb/vb.wbx delete mode 100644 waterbox/vb/vb.wbx.in diff --git a/BizHawk.Client.ApiHawk/Classes/BizHawkSystemIdToCoreSystemEnumConverter.cs b/BizHawk.Client.ApiHawk/Classes/BizHawkSystemIdToCoreSystemEnumConverter.cs index b40ec818a1..a25b5dfcfe 100644 --- a/BizHawk.Client.ApiHawk/Classes/BizHawkSystemIdToCoreSystemEnumConverter.cs +++ b/BizHawk.Client.ApiHawk/Classes/BizHawkSystemIdToCoreSystemEnumConverter.cs @@ -96,6 +96,9 @@ namespace BizHawk.Client.ApiHawk case "WSWAN": return CoreSystem.WonderSwan; + case "VB": + return 0; // like I give a shit + default: throw new IndexOutOfRangeException(string.Format("{0} is missing in convert list", value)); } diff --git a/BizHawk.Emulation.Common/Database/Database.cs b/BizHawk.Emulation.Common/Database/Database.cs index c14f807f15..9a791c87c0 100644 --- a/BizHawk.Emulation.Common/Database/Database.cs +++ b/BizHawk.Emulation.Common/Database/Database.cs @@ -331,6 +331,10 @@ namespace BizHawk.Emulation.Common case ".DO": game.System = "AppleII"; break; + + case ".VB": + game.System = "VB"; + break; } game.Name = Path.GetFileNameWithoutExtension(fileName)?.Replace('_', ' '); diff --git a/BizHawk.Emulation.Cores/BizHawk.Emulation.Cores.csproj b/BizHawk.Emulation.Cores/BizHawk.Emulation.Cores.csproj index 3066f74cdd..f84c59f64e 100644 --- a/BizHawk.Emulation.Cores/BizHawk.Emulation.Cores.csproj +++ b/BizHawk.Emulation.Cores/BizHawk.Emulation.Cores.csproj @@ -1279,6 +1279,7 @@ + diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/VB/VirtualBoyee.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/VB/VirtualBoyee.cs index dc438c19b1..e6485786b5 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/VB/VirtualBoyee.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/VB/VirtualBoyee.cs @@ -25,10 +25,11 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.VB { Path = comm.CoreFileProvider.DllPath(), Filename = "vb.wbx", - NormalHeapSizeKB = 1024, + NormalHeapSizeKB = 4 * 1024, SealedHeapSizeKB = 12 * 1024, InvisibleHeapSizeKB = 6 * 1024, - SpecialHeapSizeKB = 64 + SpecialHeapSizeKB = 64, + MmapHeapSizeKB = 16 * 1024 }); _boyee = BizInvoker.GetInvoker(_exe, _exe); @@ -112,22 +113,22 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.VB #region IVideoProvider - private int[] _videoBuffer = new int[0]; + private int[] _videoBuffer = new int[256 * 192]; public int[] GetVideoBuffer() { - throw new NotImplementedException(); + return _videoBuffer; } - public int VirtualWidth { get; private set; } - public int VirtualHeight { get; private set; } + public int VirtualWidth { get; private set; } = 256; + public int VirtualHeight { get; private set; } = 192; - public int BufferWidth { get; private set; } - public int BufferHeight { get; private set; } + public int BufferWidth { get; private set; } = 256; + public int BufferHeight { get; private set; } = 192; - public int VsyncNumerator { get; private set; } + public int VsyncNumerator { get; private set; } = 60; - public int VsyncDenominator { get; private set; } + public int VsyncDenominator { get; private set; } = 1; public int BackgroundColor => unchecked((int)0xff000000); diff --git a/BizHawk.Emulation.Cores/Waterbox/MapHeap.cs b/BizHawk.Emulation.Cores/Waterbox/MapHeap.cs new file mode 100644 index 0000000000..d9a3bc305b --- /dev/null +++ b/BizHawk.Emulation.Cores/Waterbox/MapHeap.cs @@ -0,0 +1,303 @@ +using BizHawk.Emulation.Common; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.IO; + +namespace BizHawk.Emulation.Cores.Waterbox +{ + /// + /// a heap that supports basic alloc, free, and realloc calls + /// + internal sealed class MapHeap : IBinaryStateable, IDisposable + { + public MemoryBlock Memory { get; private set; } + /// + /// name, used in identifying errors + /// + public string Name { get; private set; } + + public byte[] XorHash { get; private set; } + + /// + /// get a page index within the block + /// + private int GetPage(ulong addr) + { + return (int)((addr - Memory.Start) >> WaterboxUtils.PageShift); + } + + /// + /// get a start address for a page index within the block + /// + private ulong GetStartAddr(int page) + { + return ((ulong)page << WaterboxUtils.PageShift) + Memory.Start; + } + + private class Bin + { + public int StartPage; + public int PageCount; + public MemoryBlock.Protection Protection; + public bool Free + { + get + { + return (byte)Protection == 255; + } + set + { + Protection = value ? (MemoryBlock.Protection)255 : MemoryBlock.Protection.None; + } + } + + public Bin Next; + + /// + /// split this bin, keeping only numPages pages + /// + public bool Cleave(int numPages) + { + int nextPages = PageCount - numPages; + if (nextPages > 0) + { + Next = new Bin + { + StartPage = StartPage + numPages, + PageCount = nextPages, + Next = Next + }; + PageCount = numPages; + return true; + } + else + { + return false; + } + } + } + + private Bin _root; + + public MapHeap(ulong start, ulong size, string name) + { + size = WaterboxUtils.AlignUp(size); + Memory = new MemoryBlock(start, size); + Name = name; + Console.WriteLine("Created mapheap `{1}` at {0:x16}:{2:x16}", start, name, start + size); + + _root = new Bin + { + StartPage = 0, + PageCount = (int)(size >> WaterboxUtils.PageShift), + Free = true + }; + } + + /// + /// gets the bin that contains a page + /// + private Bin GetBinForStartPage(int page) + { + Bin curr = _root; + while (curr.StartPage + curr.PageCount <= page) + curr = curr.Next; + return curr; + } + + /// + /// gets the bin that contains the page before the passed page, returning null if + /// any bin along the way is Free + /// + private Bin GetBinForEndPageEnsureAllocated(int page, Bin start) + { + Bin curr = start; + while (curr != null && curr.StartPage + curr.PageCount < page) + { + if (curr.Free) + return null; + curr = curr.Next; + } + return curr; + } + + public ulong Map(ulong size, MemoryBlock.Protection prot) + { + int numPages = WaterboxUtils.PagesNeeded(size); + Bin best = null; + Bin curr = _root; + + // find smallest potential bin + do + { + if (curr.Free && curr.PageCount >= numPages) + { + if (best == null || curr.PageCount < best.PageCount) + { + best = curr; + if (curr.PageCount == numPages) + break; + } + } + curr = curr.Next; + } while (curr != null); + + if (best == null) + return 0; + + if (best.Cleave(numPages)) + best.Next.Free = true; + best.Protection = prot; + + var ret = GetStartAddr(best.StartPage); + Memory.Protect(ret, ((ulong)numPages) << WaterboxUtils.PageShift, prot); + return ret; + } + + public ulong Remap(ulong start, ulong oldSize, ulong newSize, bool canMove) + { + if (start < Memory.Start || start + oldSize > Memory.End) + return 0; + + var oldStartPage = GetPage(start); + var oldStartBin = GetBinForStartPage(oldStartPage); + if (oldSize == 0 && canMove) + return Map(newSize, oldStartBin.Protection); + + var oldNumPages = WaterboxUtils.PagesNeeded(oldSize); + var oldEndPage = oldStartPage + oldNumPages; + // first, check if the requested area is actually mapped + var oldEndBin = GetBinForEndPageEnsureAllocated(oldEndPage, oldStartBin); + if (oldEndBin == null) + return 0; + + var newNumPages = WaterboxUtils.PagesNeeded(newSize); + var newEndPage = oldStartPage + newNumPages; + if (newEndPage > oldEndPage) + { + // increase size + // the only way this will work in place is if all of the remaining space is free + Bin nextBin; + if (oldEndBin.StartPage + oldEndBin.PageCount == oldEndPage // if end bin is too bag, space after that is used by something else + && (nextBin = oldEndBin.Next) != null // can't go off the edge + && nextBin.Free + && nextBin.StartPage + nextBin.PageCount >= newEndPage) + { + nextBin.Protection = oldStartBin.Protection; + if (nextBin.Cleave(newEndPage - nextBin.StartPage)) + nextBin.Next.Free = true; + return start; + } + // could not increase in place, so move + if (!canMove) + return 0; + + // if there's some free space right before `start`, and some right after, but not enough + // to extend in place, it's possible that a realloc would succeed reusing the same space, + // but would fail anywhere else due to heavy memory pressure. + + // that would be a much more complicated algorithm; we'd need to compute a new allocation + // as if this one had been freed, but still be able to preserve this if that allocation + // still failed. instead, we ignore this case. + var ret = Map(newSize, oldStartBin.Protection); + if (ret != 0) + { + // move data + // NB: oldSize > 0 + Memory.Protect(start, oldSize, MemoryBlock.Protection.R); + var ss = Memory.GetStream(start, oldSize, false); + Memory.Protect(ret, oldSize, MemoryBlock.Protection.RW); + var ds = Memory.GetStream(ret, oldSize, true); + ss.CopyTo(ds); + Memory.Protect(ret, oldSize, oldStartBin.Protection); + UnmapPagesInternal(oldStartPage, oldNumPages, oldStartBin); + return ret; + } + else + { + return 0; + } + } + else if (newEndPage < oldEndPage) + { + // shrink in place + var s = GetBinForStartPage(newEndPage); + UnmapPagesInternal(newEndPage, oldEndPage - newEndPage, s); + return start; + } + else + { + // no change + return start; + } + } + + public bool Unmap(ulong start, ulong size) + { + if (start < Memory.Start || start + size > Memory.End) + return false; + if (size == 0) + return true; + + var startPage = GetPage(start); + var numPages = WaterboxUtils.PagesNeeded(size); + var endPage = startPage + numPages; + // check to see if the requested area is actually mapped + var startBin = GetBinForStartPage(startPage); + if (GetBinForEndPageEnsureAllocated(endPage, startBin) == null) + return false; + + UnmapPagesInternal(startPage, numPages, startBin); + return true; + } + + /// + /// frees some pages. assumes they are all allocated + /// + private void UnmapPagesInternal(int startPage, int numPages, Bin startBin) + { + // from the various paths we took to get here, we must be unmapping at least one page + + var endPage = startPage + numPages; + Bin freeBin = startBin; + if (!freeBin.Free && freeBin.StartPage != startPage) + { + freeBin.Cleave(startPage - freeBin.StartPage); + freeBin = freeBin.Next; + freeBin.Free = true; + } + MemoryBlock.Protection lastEaten = MemoryBlock.Protection.None; + while (freeBin.StartPage + freeBin.PageCount < endPage) + { + freeBin.PageCount += freeBin.Next.PageCount; + lastEaten = freeBin.Next.Protection; + freeBin.Next = freeBin.Next.Next; + } + if (freeBin.Cleave(freeBin.StartPage + freeBin.PageCount - endPage)) + { + freeBin.Next.Protection = lastEaten; + } + Memory.Protect(GetStartAddr(startPage), ((ulong)numPages) << WaterboxUtils.PageShift, MemoryBlock.Protection.None); + } + + public void Dispose() + { + if (Memory != null) + { + Memory.Dispose(); + Memory = null; + } + } + + public void SaveStateBinary(BinaryWriter writer) + { + } + + public void LoadStateBinary(BinaryReader reader) + { + } + } +} diff --git a/BizHawk.Emulation.Cores/Waterbox/MemoryBlock.cs b/BizHawk.Emulation.Cores/Waterbox/MemoryBlock.cs index 3ec79c374c..7c00c0b8cf 100644 --- a/BizHawk.Emulation.Cores/Waterbox/MemoryBlock.cs +++ b/BizHawk.Emulation.Cores/Waterbox/MemoryBlock.cs @@ -7,96 +7,8 @@ using System.IO; namespace BizHawk.Emulation.Cores.Waterbox { - // C# is annoying: arithmetic operators for native ints are not exposed. - // So we store them as long/ulong instead in many places, and use these helpers - // to convert to IntPtr when needed - - public static class Z - { - public static IntPtr US(ulong l) - { - if (IntPtr.Size == 8) - return (IntPtr)(long)l; - else - return (IntPtr)(int)l; - } - - public static UIntPtr UU(ulong l) - { - if (UIntPtr.Size == 8) - return (UIntPtr)l; - else - return (UIntPtr)(uint)l; - } - - public static IntPtr SS(long l) - { - if (IntPtr.Size == 8) - return (IntPtr)l; - else - return (IntPtr)(int)l; - } - - public static UIntPtr SU(long l) - { - if (UIntPtr.Size == 8) - return (UIntPtr)(ulong)l; - else - return (UIntPtr)(uint)l; - } - } - public sealed class MemoryBlock : IDisposable { - /// - /// system page size - /// - public static int PageSize { get; private set; } - - /// - /// bitshift corresponding to PageSize - /// - private static readonly int PageShift; - /// - /// bitmask corresponding to PageSize - /// - private static readonly ulong PageMask; - - static MemoryBlock() - { - int p = PageSize = Environment.SystemPageSize; - while (p != 1) - { - p >>= 1; - PageShift++; - } - PageMask = (ulong)(PageSize - 1); - } - - /// - /// true if addr is aligned - /// - private static bool Aligned(ulong addr) - { - return (addr & PageMask) == 0; - } - - /// - /// align address down to previous page boundary - /// - private static ulong AlignDown(ulong addr) - { - return addr & ~PageMask; - } - - /// - /// align address up to next page boundary - /// - private static ulong AlignUp(ulong addr) - { - return ((addr - 1) | PageMask) + 1; - } - /// /// starting address of the memory block /// @@ -140,7 +52,7 @@ namespace BizHawk.Emulation.Cores.Waterbox if (addr < Start || addr >= End) throw new ArgumentOutOfRangeException(); - return (int)((addr - Start) >> PageShift); + return (int)((addr - Start) >> WaterboxUtils.PageShift); } /// @@ -148,7 +60,7 @@ namespace BizHawk.Emulation.Cores.Waterbox /// private ulong GetStartAddr(int page) { - return ((ulong)page << PageShift) + Start; + return ((ulong)page << WaterboxUtils.PageShift) + Start; } /// @@ -167,11 +79,11 @@ namespace BizHawk.Emulation.Cores.Waterbox /// public MemoryBlock(ulong start, ulong size) { - if (!Aligned(start)) + if (!WaterboxUtils.Aligned(start)) throw new ArgumentOutOfRangeException(); if (size == 0) throw new ArgumentOutOfRangeException(); - size = AlignUp(size); + size = WaterboxUtils.AlignUp(size); _handle = Kernel32.CreateFileMapping(Kernel32.INVALID_HANDLE_VALUE, IntPtr.Zero, Kernel32.FileMapProtection.PageExecuteReadWrite | Kernel32.FileMapProtection.SectionCommit, (uint)(size >> 32), (uint)size, null); @@ -325,10 +237,13 @@ namespace BizHawk.Emulation.Cores.Waterbox if (Active) // it's legal to Protect() if we're not active; the information is just saved for the next activation { - // TODO: if using another OS's memory protection calls, they must give the same non-aligned behavior - // as VirtualProtect, or this must be changed + var computedStart = WaterboxUtils.AlignDown(start); + var computedEnd = WaterboxUtils.AlignUp(start + length); + var computedLength = computedEnd - computedStart; + Kernel32.MemoryProtection old; - if (!Kernel32.VirtualProtect(Z.UU(start), Z.UU(length), p, out old)) + if (!Kernel32.VirtualProtect(Z.UU(computedStart), + Z.UU(computedLength), p, out old)) throw new InvalidOperationException("VirtualProtect() returned FALSE!"); } } diff --git a/BizHawk.Emulation.Cores/Waterbox/PeRunner.cs b/BizHawk.Emulation.Cores/Waterbox/PeRunner.cs index e3de218abc..ca87779b27 100644 --- a/BizHawk.Emulation.Cores/Waterbox/PeRunner.cs +++ b/BizHawk.Emulation.Cores/Waterbox/PeRunner.cs @@ -26,23 +26,33 @@ namespace BizHawk.Emulation.Cores.Waterbox /// /// how large the normal heap should be. it services sbrk calls + /// can be 0, but sbrk calls will crash. /// public uint NormalHeapSizeKB { get; set; } /// /// how large the sealed heap should be. it services special allocations that become readonly after init + /// Must be > 0 and at least large enough to store argv and envp /// public uint SealedHeapSizeKB { get; set; } /// /// how large the invisible heap should be. it services special allocations which are not savestated + /// Must be > 0 and at least large enough for the internal vtables /// public uint InvisibleHeapSizeKB { get; set; } /// /// how large the special heap should be. it is savestated, and contains ?? + /// Must be > 0 and at least large enough for the internal pthread structure /// public uint SpecialHeapSizeKB { get; set; } + + /// + /// how large the mmap heap should be. it is savestated. + /// can be 0, but mmap calls will crash. + /// + public uint MmapHeapSizeKB { get; set; } } @@ -385,6 +395,57 @@ namespace BizHawk.Emulation.Cores.Waterbox time.NanoSeconds = 0; return 0; } + + [BizExport(CallingConvention.Cdecl, EntryPoint = "n9")] + public IntPtr MMap(IntPtr address, UIntPtr size, int prot, int flags, int fd, IntPtr offs) + { + if (address != IntPtr.Zero) + return Z.SS(-1); + MemoryBlock.Protection mprot; + switch (prot) + { + case 0: mprot = MemoryBlock.Protection.None; break; + default: + case 6: // W^X + case 7: // W^X + case 4: // exec only???? + case 2: return Z.SS(-1); // write only???? + case 3: mprot = MemoryBlock.Protection.RW; break; + case 1: mprot = MemoryBlock.Protection.R; break; + case 5: mprot = MemoryBlock.Protection.RX; break; + } + if ((flags & 0x20) == 0) + { + // MAP_ANONYMOUS is required + return Z.SS(-1); + } + if ((flags & 0xf00) != 0) + { + // various unsupported flags + return Z.SS(-1); + } + + var ret = _parent._mmapheap.Map((ulong)size, mprot); + return ret == 0 ? Z.SS(-1) : Z.US(ret); + } + [BizExport(CallingConvention.Cdecl, EntryPoint = "n25")] + public IntPtr MRemap(UIntPtr oldAddress, UIntPtr oldSize, + UIntPtr newSize, int flags) + { + if ((flags & 2) != 0) + { + // don't support MREMAP_FIXED + return Z.SS(-1); + } + var ret = _parent._mmapheap.Remap((ulong)oldAddress, (ulong)oldSize, (ulong)newSize, + (flags & 1) != 0); + return ret == 0 ? Z.SS(-1) : Z.US(ret); + } + [BizExport(CallingConvention.Cdecl, EntryPoint = "n11")] + public int MUnmap(UIntPtr address, UIntPtr size) + { + return _parent._mmapheap.Unmap((ulong)address, (ulong)size) ? 0 : -1; + } } /// @@ -511,6 +572,11 @@ namespace BizHawk.Emulation.Cores.Waterbox /// private Heap _specheap; + /// + /// memory map emulation + /// + private MapHeap _mmapheap; + /// /// all loaded PE files /// @@ -548,15 +614,22 @@ namespace BizHawk.Emulation.Cores.Waterbox private Heap CreateHeapHelper(uint sizeKB, string name, bool saveStated) { - var heap = new Heap(_nextStart, sizeKB * 1024, name); - heap.Memory.Activate(); - ComputeNextStart(sizeKB * 1024); - AddMemoryBlock(heap.Memory); - if (saveStated) - _savestateComponents.Add(heap); - _disposeList.Add(heap); - _heaps.Add(heap); - return heap; + if (sizeKB != 0) + { + var heap = new Heap(_nextStart, sizeKB * 1024, name); + heap.Memory.Activate(); + ComputeNextStart(sizeKB * 1024); + AddMemoryBlock(heap.Memory); + if (saveStated) + _savestateComponents.Add(heap); + _disposeList.Add(heap); + _heaps.Add(heap); + return heap; + } + else + { + return null; + } } [UnmanagedFunctionPointer(CallingConvention.Cdecl)] @@ -566,7 +639,7 @@ namespace BizHawk.Emulation.Cores.Waterbox { Initialize(_nextStart); using (this.EnterExit()) - { + { // load any predefined exports _psx = new Psx(this); _exports.Add("libpsxscl.so", BizExvoker.GetExvoker(_psx)); @@ -610,6 +683,16 @@ namespace BizHawk.Emulation.Cores.Waterbox _invisibleheap = CreateHeapHelper(opt.InvisibleHeapSizeKB, "invisible-heap", false); _specheap = CreateHeapHelper(opt.SpecialHeapSizeKB, "special-heap", true); + if (opt.MmapHeapSizeKB != 0) + { + _mmapheap = new MapHeap(_nextStart, opt.MmapHeapSizeKB * 1024, "mmap-heap"); + _mmapheap.Memory.Activate(); + ComputeNextStart(opt.MmapHeapSizeKB * 1024); + AddMemoryBlock(_mmapheap.Memory); + _savestateComponents.Add(_mmapheap); + _disposeList.Add(_mmapheap); + } + _syscalls.Init(); //System.Diagnostics.Debugger.Break(); @@ -729,6 +812,7 @@ namespace BizHawk.Emulation.Cores.Waterbox _sealedheap = null; _invisibleheap = null; _specheap = null; + _mmapheap = null; } } } diff --git a/BizHawk.Emulation.Cores/Waterbox/PeWrapper.cs b/BizHawk.Emulation.Cores/Waterbox/PeWrapper.cs index 2790ef4820..f91960f482 100644 --- a/BizHawk.Emulation.Cores/Waterbox/PeWrapper.cs +++ b/BizHawk.Emulation.Cores/Waterbox/PeWrapper.cs @@ -294,11 +294,12 @@ namespace BizHawk.Emulation.Cores.Waterbox s.Size); } Console.WriteLine("GDB Symbol Load:"); - Console.WriteLine("add-sym {0} {1} -s .data {2} -s .bss {3}", - ModuleName, - _sectionsByName[".text"].Start, - _sectionsByName[".data"].Start, - _sectionsByName[".bss"].Start); + var symload = $"add-sym {ModuleName} {_sectionsByName[".text"].Start}"; + if (_sectionsByName.ContainsKey(".data")) + symload += $" -s .data {_sectionsByName[".data"].Start}"; + if (_sectionsByName.ContainsKey(".bss")) + symload += $" -s .bss {_sectionsByName[".bss"].Start}"; + Console.WriteLine(symload); } public IntPtr Resolve(string entryPoint) diff --git a/BizHawk.Emulation.Cores/Waterbox/WaterboxUtils.cs b/BizHawk.Emulation.Cores/Waterbox/WaterboxUtils.cs index db93aa3b64..4477642d4b 100644 --- a/BizHawk.Emulation.Cores/Waterbox/WaterboxUtils.cs +++ b/BizHawk.Emulation.Cores/Waterbox/WaterboxUtils.cs @@ -56,5 +56,101 @@ namespace BizHawk.Emulation.Cores.Waterbox { return DateTime.UtcNow.Ticks; } + + /// + /// system page size + /// + public static int PageSize { get; private set; } + + /// + /// bitshift corresponding to PageSize + /// + public static int PageShift { get; private set; } + /// + /// bitmask corresponding to PageSize + /// + public static ulong PageMask { get; private set; } + + static WaterboxUtils() + { + int p = PageSize = Environment.SystemPageSize; + while (p != 1) + { + p >>= 1; + PageShift++; + } + PageMask = (ulong)(PageSize - 1); + } + + /// + /// true if addr is aligned + /// + public static bool Aligned(ulong addr) + { + return (addr & PageMask) == 0; + } + + /// + /// align address down to previous page boundary + /// + public static ulong AlignDown(ulong addr) + { + return addr & ~PageMask; + } + + /// + /// align address up to next page boundary + /// + public static ulong AlignUp(ulong addr) + { + return ((addr - 1) | PageMask) + 1; + } + + /// + /// return the minimum number of pages needed to hold size + /// + public static int PagesNeeded(ulong size) + { + return (int)((size + PageMask) >> PageShift); + } + } + + // C# is annoying: arithmetic operators for native ints are not exposed. + // So we store them as long/ulong instead in many places, and use these helpers + // to convert to IntPtr when needed + + public static class Z + { + public static IntPtr US(ulong l) + { + if (IntPtr.Size == 8) + return (IntPtr)(long)l; + else + return (IntPtr)(int)l; + } + + public static UIntPtr UU(ulong l) + { + if (UIntPtr.Size == 8) + return (UIntPtr)l; + else + return (UIntPtr)(uint)l; + } + + public static IntPtr SS(long l) + { + if (IntPtr.Size == 8) + return (IntPtr)l; + else + return (IntPtr)(int)l; + } + + public static UIntPtr SU(long l) + { + if (UIntPtr.Size == 8) + return (UIntPtr)(ulong)l; + else + return (UIntPtr)(uint)l; + } } } diff --git a/waterbox/vb/Makefile b/waterbox/vb/Makefile index b3f5d5b4e4..20a9605c0e 100644 --- a/waterbox/vb/Makefile +++ b/waterbox/vb/Makefile @@ -4,7 +4,7 @@ CCFLAGS:= -I. -I../emulibc \ -Wall -Werror=pointer-to-int-cast -Werror=int-to-pointer-cast -Werror=implicit-function-declaration \ -std=c++0x -fomit-frame-pointer -fvisibility=hidden -fno-exceptions -fno-rtti \ -DLSB_FIRST \ - -O0 + -O0 -g TARGET = vb.wbx @@ -29,7 +29,8 @@ $(TARGET).in: $(OBJS) @$(CC) -o $@ $(LDFLAGS) $(CCFLAGS) $(OBJS) ../emulibc/libemuhost.so $(TARGET): $(TARGET).in - strip $< -o $@ -R /4 -R /14 -R /29 -R /41 -R /55 -R /67 -R /78 -R /89 -R /104 +# strip $< -o $@ -R /4 -R /14 -R /29 -R /41 -R /55 -R /67 -R /78 -R /89 -R /104 + cp $< $@ clean: rm -rf $(OBJ_DIR) diff --git a/waterbox/vb/vb.wbx b/waterbox/vb/vb.wbx deleted file mode 100644 index 7cb32426524fe9972bdd64a8ef2521626ccddbcc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165390 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≤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