summaryrefslogtreecommitdiff
path: root/platform/efi/efi_resolver/src/GuidRenderer.cpp
diff options
context:
space:
mode:
authorBrandon Miller <brandon@vector35.com>2025-05-08 15:08:10 -0400
committerBrandon Miller <brandon@vector35.com>2025-05-08 15:08:10 -0400
commit5147249a644f611a801aada7645b7a993fc8e314 (patch)
tree3a18e50df5ae9edcf31f3545a7f27774021c76a1 /platform/efi/efi_resolver/src/GuidRenderer.cpp
parentf7e831ab40a5031cec9186096a90d94735080ed7 (diff)
Implement EFI resolver as a module workflow
Diffstat (limited to 'platform/efi/efi_resolver/src/GuidRenderer.cpp')
-rw-r--r--platform/efi/efi_resolver/src/GuidRenderer.cpp52
1 files changed, 0 insertions, 52 deletions
diff --git a/platform/efi/efi_resolver/src/GuidRenderer.cpp b/platform/efi/efi_resolver/src/GuidRenderer.cpp
deleted file mode 100644
index 2a220edc..00000000
--- a/platform/efi/efi_resolver/src/GuidRenderer.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-#include "GuidRenderer.h"
-
-bool isType(const vector<pair<Type*, size_t>>& context, const string& name)
-{
- if (context.empty())
- return false;
-
- auto [deepestType, size] = context.back();
- if (!deepestType->IsNamedTypeRefer())
- return false;
-
- return deepestType->GetTypeName().GetString() == name;
-}
-
-bool EfiGuidRenderer::IsValidForData(BinaryView* bv, uint64_t address, Type* type, vector<pair<Type*, size_t>>& context)
-{
- return isType(context, "EFI_GUID");
-}
-
-static string formatGuid(uint32_t data1, uint16_t data2, uint16_t data3, uint64_t data4)
-{
- std::ostringstream oss;
- oss << std::hex << std::uppercase << std::setfill('0') << std::setw(8) << data1 << "-" << std::setw(4) << data2
- << "-" << std::setw(4) << data3 << "-" << std::setw(16) << data4;
- return oss.str();
-}
-
-vector<DisassemblyTextLine> EfiGuidRenderer::GetLinesForData(
- BinaryView* bv, uint64_t address, Type*, const vector<InstructionTextToken>& prefix, size_t width,
- vector<pair<Type*, size_t>>& context, const std::string& language)
-{
- BinaryReader reader(bv);
- reader.Seek(address);
- auto data1 = reader.Read32();
- auto data2 = reader.Read16();
- auto data3 = reader.Read16();
- auto data4 = reader.ReadBE64();
- string guidStr = formatGuid(data1, data2, data3, data4);
-
- DisassemblyTextLine line;
- line.addr = address;
- line.tokens = prefix;
- line.tokens.emplace_back(TextToken, "[EFI_GUID(\"");
- line.tokens.emplace_back(StringToken, guidStr);
- line.tokens.emplace_back(TextToken, "\")]");
- return {line};
-}
-
-void EfiGuidRenderer::Register()
-{
- DataRendererContainer::RegisterTypeSpecificDataRenderer(new EfiGuidRenderer());
-}