svc.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. // Copyright 2014 Citra Emulator Project
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #include "common/common_types.h"
  6. ////////////////////////////////////////////////////////////////////////////////////////////////////
  7. // SVC types
  8. struct MemoryInfo {
  9. u32 base_address;
  10. u32 size;
  11. u32 permission;
  12. u32 state;
  13. };
  14. struct PageInfo {
  15. u32 flags;
  16. };
  17. enum ResetType {
  18. RESETTYPE_ONESHOT,
  19. RESETTYPE_STICKY,
  20. RESETTYPE_PULSE,
  21. RESETTYPE_MAX_BIT = (1u << 31),
  22. };
  23. enum ArbitrationType {
  24. ARBITRATIONTYPE_SIGNAL,
  25. ARBITRATIONTYPE_WAIT_IF_LESS_THAN,
  26. ARBITRATIONTYPE_DECREMENT_AND_WAIT_IF_LESS_THAN,
  27. ARBITRATIONTYPE_WAIT_IF_LESS_THAN_WITH_TIMEOUT,
  28. ARBITRATIONTYPE_DECREMENT_AND_WAIT_IF_LESS_THAN_WITH_TIMEOUT,
  29. ARBITRATIONTYPE_MAX_BIT = (1u << 31)
  30. };
  31. ////////////////////////////////////////////////////////////////////////////////////////////////////
  32. // Namespace SVC
  33. namespace SVC {
  34. void CallSVC(u32 opcode);
  35. } // namespace