Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • D dynamorio
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,467
    • Issues 1,467
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 44
    • Merge requests 44
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • DynamoRIO
  • dynamorio
  • Merge requests
  • !5281

add support for the encls/enclu/enclv instructions

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged S.J.R. van Schaik requested to merge github/fork/StephanvanSchaik/iX-enclX into master Jan 14, 2022
  • Overview 7
  • Commits 9
  • Pipelines 0
  • Changes 4

This PR adds support for the encls, enclu and enclv instructions as described by chapter 41 "SGX Instruction References" in volume 3D of the Intel 64 and IA-32 Architectures Software Developer's Manual. These are used in supervisor mode, user mode and VMM mode respectively.

These instructions are somewhat similar to cpuid, in that they accept all have a leaf function that can be specified through the eax register. However, unlike cpuid, the ebx, ecx and edx can both be used as inputs and outputs depending on the specific leaf function.

While Intel SGX is usable on a select set of Intel CPUs, it is usable both in 32-bit and 64-bit mode on those CPUs.

This PR is as follows:

  • Implement encls, enclu and enclv in the decoder for x86.
  • Add INSTR_CREATE macros for encls, enclu and enclv.
  • Add test cases for encls, enclu and enclv.
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: github/fork/StephanvanSchaik/iX-enclX