On Tue, 2024-09-10 at 18:27 +0200, Paolo Bonzini wrote: > On 8/13/24 00:48, Rick Edgecombe wrote: > > From: Isaku Yamahata <isaku.yamahata@xxxxxxxxx> > > > > Add helper functions to allocate/free TDX private host key id (HKID). > > > > The memory controller encrypts TDX memory with the assigned HKIDs. Each TDX > > guest must be protected by its own unique TDX HKID. > > > > The HW has a fixed set of these HKID keys. Out of those, some are set aside > > for use by for other TDX components, but most are saved for guest use. The > > code that does this partitioning, records the range chosen to be available > > for guest use in the tdx_guest_keyid_start and tdx_nr_guest_keyids > > variables. > > > > Use this range of HKIDs reserved for guest use with the kernel's IDA > > allocator library helper to create a mini TDX HKID allocator that can be > > called when setting up a TD. This way it can have an exclusive HKID, as is > > required. This allocator will be used in future changes. > > This is basically what Dave was asking for, isn't it? This patch has the allocator in KVM code, and the keyid ranges exported from arch/x86. Per the discussion with Dave we will export the allocator functions and keep the keyid ranges in arch/x86 code.