blob: 475e34f537938dd69ae6b5796cb1a18950681356 [file] [log] [blame]
Tom Lendacky7744ccd2017-07-17 16:10:03 -05001/*
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
13#ifndef __X86_MEM_ENCRYPT_H__
14#define __X86_MEM_ENCRYPT_H__
15
16#ifndef __ASSEMBLY__
17
Tom Lendacky5868f362017-07-17 16:10:05 -050018#include <linux/init.h>
19
Tom Lendacky7744ccd2017-07-17 16:10:03 -050020#ifdef CONFIG_AMD_MEM_ENCRYPT
21
22extern unsigned long sme_me_mask;
23
Tom Lendacky5868f362017-07-17 16:10:05 -050024void __init sme_encrypt_kernel(void);
25void __init sme_enable(void);
26
Tom Lendacky7744ccd2017-07-17 16:10:03 -050027#else /* !CONFIG_AMD_MEM_ENCRYPT */
28
29#define sme_me_mask 0UL
30
Tom Lendacky5868f362017-07-17 16:10:05 -050031static inline void __init sme_encrypt_kernel(void) { }
32static inline void __init sme_enable(void) { }
33
Tom Lendacky7744ccd2017-07-17 16:10:03 -050034#endif /* CONFIG_AMD_MEM_ENCRYPT */
35
36#endif /* __ASSEMBLY__ */
37
38#endif /* __X86_MEM_ENCRYPT_H__ */