Re: [RFC PATCH 03/20] x86/virt/seamldr: Introduce a wrapper for P-SEAMLDR SEAMCALLs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>> +config INTEL_TDX_MODULE_UPDATE
>> +	bool "Intel TDX module runtime update"
>> +	depends on INTEL_TDX_HOST
>> +	help
>> +	  This enables the kernel to support TDX module runtime update. This allows
>> +	  the admin to upgrade the TDX module to a newer one without the need to
>> +	  terminate running TDX guests.
>> +
>> +	  If unsure, say N.
>> +
>
>WHy should this be conditional?
>

Good question. I don't have a strong reason, but here are my considerations:

1. Runtime updates aren't strictly necessary for TDX functionalities. Users can
   update the TDX module via BIOS updates and reboot if service downtime isn't
   a concern.

2. Selecting TDX module updates requires selecting FW_UPLOAD and FW_LOADER,
   which I think will significantly increase the kernel size if FW_UPLOAD/LOADER
   won't otherwise be selected.

It may or may not be wise to assume that most TDX users will enable TDX module
updates. so, I'm taking a conservative approach by making it optional. The
resulting code isn't that complex, as CONFIG_INTEL_TDX_MODULE_UPDATE
appears in only two places:

1. in the Makefile:

  obj-y += seamcall.o tdx.o
  obj-$(CONFIG_INTEL_TDX_MODULE_UPDATE) += seamldr.o

2. in the seamldr.h:

  #ifdef CONFIG_INTEL_TDX_MODULE_UPDATE
  extern struct attribute_group seamldr_group;
  #define SEAMLDR_GROUP (&seamldr_group)
  int get_seamldr_info(void);
  void seamldr_init(struct device *dev);
  #else
  #define SEAMLDR_GROUP NULL
  static inline int get_seamldr_info(void) { return 0; }
  static inline void seamldr_init(struct device *dev) { }
  #endif

That said, I'm open to keeping or dropping the Kconfig option.




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux