]> www.infradead.org Git - users/hch/configfs.git/commitdiff
Merge tag 'kvm-x86-svm-6.11' of https://github.com/kvm-x86/linux into HEAD
authorPaolo Bonzini <pbonzini@redhat.com>
Tue, 16 Jul 2024 13:55:39 +0000 (09:55 -0400)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 16 Jul 2024 13:55:39 +0000 (09:55 -0400)
KVM SVM changes for 6.11

 - Make per-CPU save_area allocations NUMA-aware.

 - Force sev_es_host_save_area() to be inlined to avoid calling into an
   instrumentable function from noinstr code.

1  2 
arch/x86/kvm/svm/sev.c
arch/x86/kvm/svm/svm.c
arch/x86/kvm/svm/svm.h

Simple merge
Simple merge
index 0eb87bb6c5a8c0a476bf72650c211387375826ef,8983eabf8f842e086e73acdb8f47f8712f184009..623426efacc0a295f91bbd383e3c6c3ac5db81d1
@@@ -735,14 -709,15 +741,20 @@@ void sev_hardware_unsetup(void)
  int sev_cpu_init(struct svm_cpu_data *sd);
  int sev_dev_get_attr(u32 group, u64 attr, u64 *val);
  extern unsigned int max_sev_asid;
 +void sev_handle_rmp_fault(struct kvm_vcpu *vcpu, gpa_t gpa, u64 error_code);
 +void sev_snp_init_protected_guest_state(struct kvm_vcpu *vcpu);
 +int sev_gmem_prepare(struct kvm *kvm, kvm_pfn_t pfn, gfn_t gfn, int max_order);
 +void sev_gmem_invalidate(kvm_pfn_t start, kvm_pfn_t end);
 +int sev_private_max_mapping_level(struct kvm *kvm, kvm_pfn_t pfn);
  #else
- static inline struct page *snp_safe_alloc_page(struct kvm_vcpu *vcpu) {
-       return alloc_page(GFP_KERNEL_ACCOUNT | __GFP_ZERO);
+ static inline struct page *snp_safe_alloc_page_node(int node, gfp_t gfp)
+ {
+       return alloc_pages_node(node, gfp | __GFP_ZERO, 0);
+ }
+ static inline struct page *snp_safe_alloc_page(void)
+ {
+       return snp_safe_alloc_page_node(numa_node_id(), GFP_KERNEL_ACCOUNT);
  }
  
  static inline void sev_free_vcpu(struct kvm_vcpu *vcpu) {}