On Tue, Nov 05, 2024 at 01:23:32AM -0500, Xiaoyao Li wrote: > The TD HOB list is used to pass the information from VMM to TDVF. The TD > HOB must include PHIT HOB and Resource Descriptor HOB. More details can > be found in TDVF specification and PI specification. > > Build the TD HOB in TDX's machine_init_done callback. > > Co-developed-by: Isaku Yamahata <isaku.yamahata@xxxxxxxxx> > Signed-off-by: Isaku Yamahata <isaku.yamahata@xxxxxxxxx> > Co-developed-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx> > Signed-off-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx> > Signed-off-by: Xiaoyao Li <xiaoyao.li@xxxxxxxxx> > Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> > > --- > Changes in v1: > - drop the code of adding mmio resources since OVMF prepares all the > MMIO hob itself. > --- > hw/i386/meson.build | 2 +- > hw/i386/tdvf-hob.c | 147 ++++++++++++++++++++++++++++++++++++++++++ > hw/i386/tdvf-hob.h | 24 +++++++ > target/i386/kvm/tdx.c | 16 +++++ > 4 files changed, 188 insertions(+), 1 deletion(-) > create mode 100644 hw/i386/tdvf-hob.c > create mode 100644 hw/i386/tdvf-hob.h > > diff --git a/hw/i386/meson.build b/hw/i386/meson.build > index 3bc1da2b6eb4..7896f348cff8 100644 > --- a/hw/i386/meson.build > +++ b/hw/i386/meson.build > @@ -32,7 +32,7 @@ i386_ss.add(when: 'CONFIG_PC', if_true: files( > 'port92.c')) > i386_ss.add(when: 'CONFIG_X86_FW_OVMF', if_true: files('pc_sysfw_ovmf.c'), > if_false: files('pc_sysfw_ovmf-stubs.c')) > -i386_ss.add(when: 'CONFIG_TDX', if_true: files('tdvf.c')) > +i386_ss.add(when: 'CONFIG_TDX', if_true: files('tdvf.c', 'tdvf-hob.c')) > > subdir('kvm') > subdir('xen') > diff --git a/hw/i386/tdvf-hob.c b/hw/i386/tdvf-hob.c > new file mode 100644 > index 000000000000..e00de256ea8c > --- /dev/null > +++ b/hw/i386/tdvf-hob.c > @@ -0,0 +1,147 @@ > +/* > + * SPDX-License-Identifier: GPL-2.0-or-later > + > + * Copyright (c) 2020 Intel Corporation > + * Author: Isaku Yamahata <isaku.yamahata at gmail.com> > + * <isaku.yamahata at intel.com> > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License as published by > + * the Free Software Foundation; either version 2 of the License, or > + * (at your option) any later version. > + > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + > + * You should have received a copy of the GNU General Public License along > + * with this program; if not, see <http://www.gnu.org/licenses/>. > + */ Remove the boilerplate in favour of the SPDX tag. > diff --git a/hw/i386/tdvf-hob.h b/hw/i386/tdvf-hob.h > new file mode 100644 > index 000000000000..1b737e946a8d > --- /dev/null > +++ b/hw/i386/tdvf-hob.h > @@ -0,0 +1,24 @@ > +#ifndef HW_I386_TD_HOB_H > +#define HW_I386_TD_HOB_H Add the SPDX tag to this file With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|