Files
FEX-Emu--FEX/Source/Common/VolatileMetadata.h
T
Ryan Houdek f050571696 Implement support for additional provided volatile metadata
Only wired up for wow64 and arm64ec. Gives more granular control over
TSO enabling and disabling. Matches arm64ec volatile metadata except
with one more additional feature that whole modules can be disabled at a
time.

Once we know the mapped size of files in Linux then we'll be able to do
the same thing there, but there's not a full mechanism wired up for that
yet.
2025-08-22 15:03:56 -07:00

17 lines
556 B
C++

// SPDX-License-Identifier: MIT
#pragma once
#include <FEXCore/Utils/IntervalList.h>
#include <FEXCore/fextl/unordered_map.h>
#include <FEXCore/fextl/set.h>
#include <FEXCore/fextl/string.h>
namespace FEX::VolatileMetadata {
struct ExtendedVolatileMetadata {
FEXCore::IntervalList<uint64_t> VolatileValidRanges;
fextl::set<uint64_t> VolatileInstructions;
bool ModuleTSODisabled;
};
fextl::unordered_map<fextl::string, ExtendedVolatileMetadata> ParseExtendedVolatileMetadata(std::string_view ListOfDescriptors);
} // namespace FEX::VolatileMetadata