aarch64: Support calloc patch blocks

This commit is contained in:
kd-11 2024-08-31 05:56:54 +03:00 committed by kd-11
parent 4d193ecb6a
commit c80342e8d4
5 changed files with 65 additions and 12 deletions

20
Utilities/ppu_patch.h Normal file
View file

@ -0,0 +1,20 @@
#pragma once
#include <util/types.hpp>
#include <unordered_set>
#include <vector>
#include <string>
// Patch utilities specific to PPU code
struct ppu_patch_block_registry_t
{
ppu_patch_block_registry_t() = default;
ppu_patch_block_registry_t(const ppu_patch_block_registry_t&) = delete;
ppu_patch_block_registry_t& operator=(const ppu_patch_block_registry_t&) = delete;
std::unordered_set<u32> block_addresses{};
};
void ppu_register_range(u32 addr, u32 size);
bool ppu_form_branch_to_code(u32 entry, u32 target, bool link = false, bool with_toc = false, std::string module_name = {});
u32 ppu_generate_id(std::string_view name);