mirror of
https://github.com/torvalds/linux.git
synced 2026-05-26 08:02:27 +02:00
Merge branch 'x86/cc' into x86/apic
Pick up the cc_vendor changes.
This commit is contained in:
commit
5b422b9bb7
|
|
@ -13,7 +13,7 @@
|
|||
#include <asm/coco.h>
|
||||
#include <asm/processor.h>
|
||||
|
||||
static enum cc_vendor vendor __ro_after_init;
|
||||
enum cc_vendor cc_vendor __ro_after_init;
|
||||
static u64 cc_mask __ro_after_init;
|
||||
|
||||
static bool intel_cc_platform_has(enum cc_attr attr)
|
||||
|
|
@ -83,7 +83,7 @@ static bool hyperv_cc_platform_has(enum cc_attr attr)
|
|||
|
||||
bool cc_platform_has(enum cc_attr attr)
|
||||
{
|
||||
switch (vendor) {
|
||||
switch (cc_vendor) {
|
||||
case CC_VENDOR_AMD:
|
||||
return amd_cc_platform_has(attr);
|
||||
case CC_VENDOR_INTEL:
|
||||
|
|
@ -105,7 +105,7 @@ u64 cc_mkenc(u64 val)
|
|||
* - for AMD, bit *set* means the page is encrypted
|
||||
* - for Intel *clear* means encrypted.
|
||||
*/
|
||||
switch (vendor) {
|
||||
switch (cc_vendor) {
|
||||
case CC_VENDOR_AMD:
|
||||
return val | cc_mask;
|
||||
case CC_VENDOR_INTEL:
|
||||
|
|
@ -118,7 +118,7 @@ u64 cc_mkenc(u64 val)
|
|||
u64 cc_mkdec(u64 val)
|
||||
{
|
||||
/* See comment in cc_mkenc() */
|
||||
switch (vendor) {
|
||||
switch (cc_vendor) {
|
||||
case CC_VENDOR_AMD:
|
||||
return val & ~cc_mask;
|
||||
case CC_VENDOR_INTEL:
|
||||
|
|
@ -129,11 +129,6 @@ u64 cc_mkdec(u64 val)
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(cc_mkdec);
|
||||
|
||||
__init void cc_set_vendor(enum cc_vendor v)
|
||||
{
|
||||
vendor = v;
|
||||
}
|
||||
|
||||
__init void cc_set_mask(u64 mask)
|
||||
{
|
||||
cc_mask = mask;
|
||||
|
|
|
|||
|
|
@ -11,13 +11,30 @@ enum cc_vendor {
|
|||
CC_VENDOR_INTEL,
|
||||
};
|
||||
|
||||
void cc_set_vendor(enum cc_vendor v);
|
||||
void cc_set_mask(u64 mask);
|
||||
|
||||
#ifdef CONFIG_ARCH_HAS_CC_PLATFORM
|
||||
extern enum cc_vendor cc_vendor;
|
||||
|
||||
static inline enum cc_vendor cc_get_vendor(void)
|
||||
{
|
||||
return cc_vendor;
|
||||
}
|
||||
|
||||
static inline void cc_set_vendor(enum cc_vendor vendor)
|
||||
{
|
||||
cc_vendor = vendor;
|
||||
}
|
||||
|
||||
void cc_set_mask(u64 mask);
|
||||
u64 cc_mkenc(u64 val);
|
||||
u64 cc_mkdec(u64 val);
|
||||
#else
|
||||
static inline enum cc_vendor cc_get_vendor(void)
|
||||
{
|
||||
return CC_VENDOR_NONE;
|
||||
}
|
||||
|
||||
static inline void cc_set_vendor(enum cc_vendor vendor) { }
|
||||
|
||||
static inline u64 cc_mkenc(u64 val)
|
||||
{
|
||||
return val;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user