mem_encrypt.h 786 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /*
  2. * AMD Memory Encryption Support
  3. *
  4. * Copyright (C) 2016 Advanced Micro Devices, Inc.
  5. *
  6. * Author: Tom Lendacky <thomas.lendacky@amd.com>
  7. *
  8. * This program is free software; you can redistribute it and/or modify
  9. * it under the terms of the GNU General Public License version 2 as
  10. * published by the Free Software Foundation.
  11. */
  12. #ifndef __MEM_ENCRYPT_H__
  13. #define __MEM_ENCRYPT_H__
  14. #ifndef __ASSEMBLY__
  15. #ifdef CONFIG_ARCH_HAS_MEM_ENCRYPT
  16. #include <asm/mem_encrypt.h>
  17. #else /* !CONFIG_ARCH_HAS_MEM_ENCRYPT */
  18. #define sme_me_mask 0UL
  19. #endif /* CONFIG_ARCH_HAS_MEM_ENCRYPT */
  20. static inline bool sme_active(void)
  21. {
  22. return !!sme_me_mask;
  23. }
  24. static inline unsigned long sme_get_me_mask(void)
  25. {
  26. return sme_me_mask;
  27. }
  28. #endif /* __ASSEMBLY__ */
  29. #endif /* __MEM_ENCRYPT_H__ */