mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-06 17:00:19 +02:00
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.
17 lines
556 B
C++
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
|