Re: [PATCH Part2 v5 04/45] x86/sev: Add RMP entry lookup helpers
From: Brijesh Singh <hidden>
Date: 2021-09-27 16:01:47
Also in:
kvm, linux-crypto, linux-mm, lkml
From: Brijesh Singh <hidden>
Date: 2021-09-27 16:01:47
Also in:
kvm, linux-crypto, linux-mm, lkml
Hi Boris, I agreed with all of your comment, responding to your specific questions. On 9/24/21 4:49 AM, Borislav Petkov wrote: ...
quoted
+} +EXPORT_SYMBOL_GPL(snp_lookup_rmpentry);This export is for kvm, I presume?
yes, both KVM and CCP (i.e PSP) driver will need to lookup RMP entries.
quoted
diff --git a/include/linux/sev.h b/include/linux/sev.h new file mode 100644 index 000000000000..1a68842789e1 --- /dev/null +++ b/include/linux/sev.h@@ -0,0 +1,30 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * AMD Secure Encrypted Virtualization + * + * Author: Brijesh Singh <brijesh.singh@amd.com> + */ + +#ifndef __LINUX_SEV_H +#define __LINUX_SEV_H + +/* RMUPDATE detected 4K page and 2MB page overlap. */ +#define RMPUPDATE_FAIL_OVERLAP 7 + +#ifdef CONFIG_AMD_MEM_ENCRYPT +int snp_lookup_rmpentry(u64 pfn, int *level); +int psmash(u64 pfn); +int rmp_make_private(u64 pfn, u64 gpa, enum pg_level level, int asid, bool immutable); +int rmp_make_shared(u64 pfn, enum pg_level level); +#else +static inline int snp_lookup_rmpentry(u64 pfn, int *level) { return 0; } +static inline int psmash(u64 pfn) { return -ENXIO; } +static inline int rmp_make_private(u64 pfn, u64 gpa, enum pg_level level, int asid, + bool immutable) +{ + return -ENODEV; +} +static inline int rmp_make_shared(u64 pfn, enum pg_level level) { return -ENODEV; } + +#endif /* CONFIG_AMD_MEM_ENCRYPT */ +#endif /* __LINUX_SEV_H */--What is going to use this linux/ namespace header?
The kvm and ccp drivers.