From: "Huang, Kai" <kai.huang@intel.com>
To: "Hansen, Dave" <dave.hansen@intel.com>,
"seanjc@google.com" <seanjc@google.com>,
"bp@alien8.de" <bp@alien8.de>,
"peterz@infradead.org" <peterz@infradead.org>,
"hpa@zytor.com" <hpa@zytor.com>,
"mingo@redhat.com" <mingo@redhat.com>,
"Williams, Dan J" <dan.j.williams@intel.com>,
"kirill.shutemov@linux.intel.com"
<kirill.shutemov@linux.intel.com>,
"pbonzini@redhat.com" <pbonzini@redhat.com>,
"tglx@linutronix.de" <tglx@linutronix.de>
Cc: "Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"Yamahata, Isaku" <isaku.yamahata@intel.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"Gao, Chao" <chao.gao@intel.com>,
"binbin.wu@linux.intel.com" <binbin.wu@linux.intel.com>,
"x86@kernel.org" <x86@kernel.org>
Subject: Re: [PATCH v2 06/10] x86/virt/tdx: Refine a comment to reflect the latest TDX spec
Date: Tue, 6 Aug 2024 21:01:53 +0000 [thread overview]
Message-ID: <152887381150e434e6080347abf23cec45ca6cf3.camel@intel.com> (raw)
In-Reply-To: <66b2744ad5b48_4fc7294f4@dwillia2-xfh.jf.intel.com.notmuch>
On Tue, 2024-08-06 at 12:06 -0700, Williams, Dan J wrote:
> Huang, Kai wrote:
> [..]
> > > Given this is JSON any plan to just check-in "global_metadata.json"
> > > somewhere in tools/ with a script that queries for a set of fields and
> > > spits them out into a Linux data structure + set of TD_SYSINFO_*_MAP()
> > > calls? Then no future review bandwidth needs to be spent on manually
> > > checking offsets names and values, they will just be pulled from the
> > > script.
> >
> > This seems a good idea. I'll add this to my TODO list and evaluate it
> > first.
> >
> > One minor issue is some metadata fields may need special handling. E.g.,
> > MAX_VCPUS_PER_TD (which is u16) may not be supported by some old TDX
> > modules, but this isn't an error because we can just treats it as
> > U16_MAX.
>
> TDX Module had better not be breaking us when they remove metadata
> fields. So if you know of fields that get removed the module absolutely
> cannot cause existing code paths.
>
I don't think they will remove any metadata field. They may add more
field(s) when new feature is added to a new version module, but not
remove.
One thing we might need to confirm is an new version of module should
always support the features that old modules support. But IMHO this
should not be relevant if we have a policy below.
> Linux could maybe grant that some
> values start returning an explicit "deprecated" error code in the future
> and Linux adds handling for that common case. Outside of that metadata
> fields are forever and the module needs to ship placeholder values that
> fail gracefully on older kernels.
>
> OS software should not be expected to keep up with the whims of metadata
> field removals without an explicit plan to make those future removals
> benign to legacy kernels.
I think we can have a simple rule like below?
The kernel decides which metadata fields are essential, and which are
optional. If any essential field is missing, then kernel cannot use TDX.
In this way the kernel doesn't depend on whims of TDX module version
changes.
next prev parent reply other threads:[~2024-08-06 21:02 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-17 3:40 [PATCH v2 00/10] TDX host: metadata reading tweaks, bug fix and info dump Kai Huang
2024-07-17 3:40 ` [PATCH v2 01/10] x86/virt/tdx: Rename _offset to _member for TD_SYSINFO_MAP() macro Kai Huang
2024-08-05 22:37 ` Dan Williams
2024-07-17 3:40 ` [PATCH v2 02/10] x86/virt/tdx: Unbind global metadata read with 'struct tdx_tdmr_sysinfo' Kai Huang
2024-08-05 23:32 ` Dan Williams
2024-08-06 0:09 ` Huang, Kai
2024-08-06 1:13 ` Dan Williams
2024-08-07 12:09 ` Huang, Kai
2024-08-26 15:38 ` Adrian Hunter
2024-08-26 22:40 ` Huang, Kai
2024-08-27 4:54 ` Adrian Hunter
2024-08-27 7:22 ` Huang, Kai
2024-07-17 3:40 ` [PATCH v2 03/10] x86/virt/tdx: Support global metadata read for all element sizes Kai Huang
2024-08-05 23:45 ` Dan Williams
2024-07-17 3:40 ` [PATCH v2 04/10] x86/virt/tdx: Abstract reading multiple global metadata fields as a helper Kai Huang
2024-07-17 3:40 ` [PATCH v2 05/10] x86/virt/tdx: Move field mapping table of getting TDMR info to function local Kai Huang
2024-08-05 23:48 ` Dan Williams
2024-07-17 3:40 ` [PATCH v2 06/10] x86/virt/tdx: Refine a comment to reflect the latest TDX spec Kai Huang
2024-08-06 3:43 ` Dan Williams
2024-08-06 11:23 ` Huang, Kai
2024-08-06 19:06 ` Dan Williams
2024-08-06 21:01 ` Huang, Kai [this message]
2024-07-17 3:40 ` [PATCH v2 07/10] x86/virt/tdx: Start to track all global metadata in one structure Kai Huang
2024-08-06 3:51 ` Dan Williams
2024-08-06 11:29 ` Huang, Kai
2024-07-17 3:40 ` [PATCH v2 08/10] x86/virt/tdx: Print TDX module basic information Kai Huang
2024-08-06 4:19 ` Dan Williams
2024-08-06 11:51 ` Huang, Kai
2024-08-06 12:48 ` Huang, Kai
2024-08-07 21:56 ` Dan Williams
2024-08-07 22:32 ` Huang, Kai
2024-08-08 10:31 ` Chenyi Qiang
2024-08-08 23:52 ` Huang, Kai
2024-07-17 3:40 ` [PATCH v2 09/10] x86/virt/tdx: Reduce TDMR's reserved areas by using CMRs to find memory holes Kai Huang
2024-08-06 4:47 ` Dan Williams
2024-08-06 12:17 ` Huang, Kai
2024-08-20 18:38 ` Adrian Hunter
2024-08-27 7:24 ` Huang, Kai
2024-07-17 3:40 ` [PATCH v2 10/10] x86/virt/tdx: Don't initialize module that doesn't support NO_RBP_MOD feature Kai Huang
2024-08-06 4:55 ` Dan Williams
2024-08-06 12:18 ` Huang, Kai
2024-08-05 12:03 ` [PATCH v2 00/10] TDX host: metadata reading tweaks, bug fix and info dump Huang, Kai
2024-08-05 22:36 ` Dan Williams
2024-08-08 0:19 ` Huang, Kai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=152887381150e434e6080347abf23cec45ca6cf3.camel@intel.com \
--to=kai.huang@intel.com \
--cc=binbin.wu@linux.intel.com \
--cc=bp@alien8.de \
--cc=chao.gao@intel.com \
--cc=dan.j.williams@intel.com \
--cc=dave.hansen@intel.com \
--cc=hpa@zytor.com \
--cc=isaku.yamahata@intel.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peterz@infradead.org \
--cc=rick.p.edgecombe@intel.com \
--cc=seanjc@google.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®