[PATCH v1 QEMU CXL modifications for openspdm 1/1] pcie/spdm: PCIe CMA implementation

2021-06-25 Thread Chris Browy
esponder to get the data object of SPDM/secured SPDM. Signed-off-by: hchkuo Signed-off-by: Chris Browy --- hw/mem/cxl_type3.c | 31 +++- hw/pci/Kconfig | 4 + hw/pci/SpdmEmuCommand.c | 319 hw/pci/meson.build

[PATCH v1 QEMU CXL modifications for openspdm 0/1] Testing PCIe DOE in QEMU CXL/PCIe Device using openspdm

2021-06-25 Thread Chris Browy
This patch series provides an implementation of the the Data Object Exchange (DOE) for Component Measurement and Authentication (CMA) of the Security Protocol and Data Model (SPDM). This patch is based on [1] [PATCH v1 openspdm on QEMU CXL/PCIe Device 0/2] Testing PCIe DOE in QEMU CXL/PCIe Devi

[PATCH v1 openspdm on QEMU CXL/PCIe Device 2/2] requester: Modified for QEMU emulation

2021-06-25 Thread Chris Browy
From: hchkuo The requester should be used as a PCIe app to access the SPDM object in the PCEe device. Signed-off-by: Chris Browy --- Include/IndustryStandard/PciDoeBinding.h| 27 +++ SpdmEmu/SpdmEmuCommon/SpdmEmu.c | 85 ++ SpdmEmu/SpdmEmuCommon

[PATCH v1 openspdm on QEMU CXL/PCIe Device 1/2] build: gcc to CC in GNUMakefile

2021-06-25 Thread Chris Browy
From: hchkuo Modified gcc to CC in GNUMakefile, so that we can specify the gcc version Signed-off-by: Chris Browy --- GNUmakefile.Flags | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/GNUmakefile.Flags b/GNUmakefile.Flags index 3586284..33baceb 100644 --- a

[PATCH v1 openspdm on QEMU CXL/PCIe Device 0/2] Testing PCIe DOE in QEMU CXL/PCIe Device using openspdm

2021-06-25 Thread Chris Browy
This patch series provides an implementation of the the Data Object Exchange (DOE) for Component Measurement and Authentication (CMA) of the Security Protocol and Data Model (SPDM). This patch is based on [1] Openspdm: https://github.com/jyao1/openspdm.git Openspdm is an emulator composed of an

[PATCH v6 cxl2.0-v6-doe 4/6] cxl/compliance: CXL Compliance Data Object Exchange implementation

2021-06-10 Thread Chris Browy
ned-off-by: Chris Browy --- hw/mem/cxl_type3.c | 147 include/hw/cxl/cxl_compliance.h | 293 include/hw/cxl/cxl_component.h | 3 + include/hw/cxl/cxl_device.h | 3 + include/hw/cxl/cxl_pci.h| 1 + 5 files ch

[PATCH v6 cxl2.0-v6-doe 6/6] test/cdat: CXL CDAT test data

2021-06-10 Thread Chris Browy
From: hchkuo Pre-built CDAT table for testing, contains one CDAT header and six CDAT entries: DSMAS, DSLBIS, DSMSCIS, DSIS, DSEMTS, and SSLBIS respectively. Signed-off-by: hchkuo Signed-off-by: Chris Browy --- tests/data/cdat/cdat.dat | Bin 0 -> 148 bytes 1 file changed, 0 insertions(+)

[PATCH v6 cxl2.0-v6-doe 3/6] hw/pci: PCIe Data Object Exchange implementation

2021-06-10 Thread Chris Browy
n will be early returned if not within the related DOE range. Signed-off-by: hchkuo Signed-off-by: Chris Browy --- MAINTAINERS | 7 + hw/pci/meson.build| 1 + hw/pci/pcie_doe.c | 374 ++ include/hw/pci/pcie.h | 1 +

[PATCH v6 cxl2.0-v6-doe 2/6] include/hw/pci: headers for PCIe DOE

2021-06-10 Thread Chris Browy
From: hchkuo Macros for the vender ID of PCI-SIG mentioned in "PCIe Data Object Exchange ECN, March 12, 2020" and the size of PCIe Data Object Exchange. Signed-off-by: hchkuo Signed-off-by: Chris Browy --- include/hw/pci/pci_ids.h | 3 +++ include/hw/pci/pcie_regs.h | 4 +++

[PATCH v6 cxl2.0-v6-doe 5/6] cxl/cdat: CXL CDAT Data Object Exchange implementation

2021-06-10 Thread Chris Browy
y of CDAT is added to hw/mem/cxl_type3.c with capability offset 0x190. The config read/write to this capability range can be generated in the OS to request the CDAT data. Signed-off-by: hchkuo Signed-off-by: Chris Browy --- hw/cxl/cxl-cdat.c | 139 ++ h

[PATCH v6 cxl2.0-v6-doe 1/6] standard-headers/linux/pci_regs: PCI header from Linux kernel

2021-06-10 Thread Chris Browy
From: hchkuo Linux standard header for the registers of PCI Data Object Exchange (DOE). This header might be generated via script. The DOE feature should be added in the future Linux release so this patch can be removed then. Signed-off-by: hchkuo Signed-off-by: Chris Browy --- include

[PATCH v6 cxl2.0-v6-doe 0/6] QEMU PCIe DOE for PCIe 4.0/5.0 and CXL 2.0

2021-06-10 Thread Chris Browy
This patch implements the PCIe Data Object Exchange (DOE) for PCIe 4.0/5.0 and later and CXL 2.0 "type-3" memory devices supporting the following protocols: 1: PCIe DOE Discovery protocol 2: CXL DOE Compliance Mode protocol 3: CXL DOE CDAT protocol Implementation is based on QEMU version which

[PATCH v5 cxl2.0-v3-doe 6/6] test/cdat: CXL CDAT test data

2021-04-26 Thread Chris Browy
From: hchkuo Pre-built CDAT table for testing, contains one CDAT header and six CDAT entries: DSMAS, DSLBIS, DSMSCIS, DSIS, DSEMTS, and SSLBIS respectively. Signed-off-by: Chris Browy --- tests/data/cdat/cdat.dat | Bin 0 -> 148 bytes 1 file changed, 0 insertions(+), 0 deletions(-) cre

[PATCH v5 cxl2.0-v3-doe 5/6] cxl/cdat: CXL CDAT Data Object Exchange implementation

2021-04-26 Thread Chris Browy
y of CDAT is added to hw/mem/cxl_type3.c with capability offset 0x190. The config read/write to this capability range can be generated in the OS to request the CDAT data. Signed-off-by: Chris Browy --- hw/cxl/cxl-cdat.c | 228 + hw/cxl/meson.

[PATCH v5 cxl2.0-v3-doe 4/6] cxl/compliance: CXL Compliance Data Object Exchange implementation

2021-04-26 Thread Chris Browy
ost of the compliance response is limited to returning corresponding length. A DOE capability of CXL Compliance is added to hw/mem/cxl_type3.c with capability offset 0x160. The config read/write to this capability range can be generated in the OS to request the Compliance info. Signed-off-by: Chris Brow

[PATCH v5 cxl2.0-v3-doe 3/6] hw/pci: PCIe Data Object Exchange implementation

2021-04-26 Thread Chris Browy
n will be early returned if not within the related DOE range. Signed-off-by: Chris Browy --- MAINTAINERS | 7 + hw/pci/meson.build| 1 + hw/pci/pcie_doe.c | 374 ++ include/hw/pci/pcie.h | 1 + include/hw/pci/p

[PATCH v5 cxl2.0-v3-doe 2/6] include/hw/pci: headers for PCIe DOE

2021-04-26 Thread Chris Browy
From: hchkuo Macros for the vender ID of PCI-SIG and the size of PCIe Data Object Exchange. Signed-off-by: Chris Browy --- include/hw/pci/pci_ids.h | 2 ++ include/hw/pci/pcie_regs.h | 3 +++ 2 files changed, 5 insertions(+) diff --git a/include/hw/pci/pci_ids.h b/include/hw/pci/pci_ids.h

[PATCH v5 cxl2.0-v3-doe 1/6] standard-headers/linux/pci_regs: PCI header from Linux kernel

2021-04-26 Thread Chris Browy
From: hchkuo Linux standard header for the registers of PCI Data Object Exchange (DOE). This header might be generated via script. The DOE feature should be added in the future Linux release so this patch can be removed then. Signed-off-by: Chris Browy --- include/standard-headers/linux

[PATCH v5 cxl2.0-v3-doe 0/6] QEMU PCIe DOE for PCIe 4.0/5.0 and CXL 2.0

2021-04-26 Thread Chris Browy
This patch implements the PCIe Data Object Exchange (DOE) for PCIe 4.0/5.0 and later and CXL 2.0 "type-3" memory devices supporting the following protocols: 1: PCIe DOE Discovery protocol 2: CXL DOE Compliance Mode protocol 3: CXL DOE CDAT protocol Implementation is based on QEMU version which

[PATCH v4 cxl-2.0-doe 3/3] PCIe standard header for DOE

2021-03-31 Thread Chris Browy
From: hchkuo Signed-off-by: hchkuo --- include/hw/pci/pci_ids.h | 2 ++ include/hw/pci/pcie_regs.h| 3 +++ include/standard-headers/linux/pci_regs.h | 3 ++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/include/hw/pci/pci_ids.h b/include/hw/pci/

[PATCH v4 cxl-2.0-doe 2/3] CXL Data Object Exchange implementation

2021-03-31 Thread Chris Browy
From: hchkuo Signed-off-by: hchkuo --- hw/cxl/cxl-cdat.c | 220 + hw/cxl/meson.build | 1 + hw/mem/cxl_type3.c | 200 +++ include/hw/cxl/cxl_cdat.h | 149 include/hw/cxl/cxl_

[PATCH v4 cxl-2.0-doe 1/3] PCIe Data Object Exchange implementation

2021-03-31 Thread Chris Browy
DOE +M: Huai-Cheng Kuo +M: Chris Browy +S: Supported +F: include/hw/pci/pcie_doe.h +F: hw/pci/pcie_doe.c + ACPI/SMBIOS M: Michael S. Tsirkin M: Igor Mammedov diff --git a/hw/pci/meson.build b/hw/pci/meson.build index 5c4bbac..115e502 100644 --- a/hw/pci/meson.build +++ b/hw/pci/meson.build

[PATCH v4 cxl-2.0-doe 0/3] QEMU PCIe DOE for PCIe and CXL2.0

2021-03-31 Thread Chris Browy
Version 4 patch series for PCIe DOE for PCIe and CXL 2.0 completes all planned functionality. Based on QEMU version: https://gitlab.com/bwidawsk/qemu/-/tree/cxl-2.0v4 Summary of changes: 1: PCIe DOE support for Discovery - Fix the alignment error in DOE config write - Fix the interr

[RFC PATCH v3 cxl-2.0-doe 2/2] CXL DOE support for CDAT and Compliance Mode

2021-03-09 Thread Chris Browy
--- hw/cxl/cxl-component-utils.c | 93 hw/mem/cxl_type3.c | 184 include/hw/cxl/cxl_cdat.h | 127 + include/hw/cxl/cxl_compl.h | 252 + include/hw/cxl/cxl_component.h | 74 ++ inc

[RFC PATCH v3 cxl-2.0-doe 1/2] Basic PCIe DOE support

2021-03-09 Thread Chris Browy
-configs/pci.mak +PCIE DOE +M: Huai-Cheng Kuo +M: Chris Browy +S: Supported +F: include/hw/pci/pcie_doe.h +F: hw/pci/pcie_doe.c + ACPI/SMBIOS M: Michael S. Tsirkin M: Igor Mammedov @@ -1764,7 +1752,6 @@ F: hw/ssi/xilinx_* SD (Secure Card) M: Philippe Mathieu-Daudé -M: Bin Meng L

[RFC PATCH v3 cxl-2.0-doe 0/2] Version 3 patch series for PCIe DOE for PCIe and CXL 2.0

2021-03-09 Thread Chris Browy
es/resources/Coherent%20Device%20Attribute%20Table_1.02.pdf --- Chris Browy (2): Basic PCIe DOE support CXL DOE support for CDAT and Compliance Mode MAINTAINERS | 49 +-- hw/cxl/cxl-component-utils.c | 93 + hw/mem/cxl_type3.c

Re: [RFC PATCH v2 1/2] Basic PCIe DOE support

2021-03-04 Thread Chris Browy
> On Mar 4, 2021, at 2:21 PM, Jonathan Cameron > wrote: > > On Tue, 9 Feb 2021 15:35:49 -0500 > Chris Browy wrote: > > Hi Chris, > > One more thing hit whilst debugging linux side of this. > >> +static void pcie_doe_irq_assert(DOECap *doe_cap) >>

Re: [RFC v2 2/2] Basic CXL DOE for CDAT and Compliance Mode

2021-02-18 Thread Chris Browy
> On Feb 18, 2021, at 2:15 PM, Jonathan Cameron > wrote: > > On Fri, 12 Feb 2021 17:26:50 -0500 > Chris Browy wrote: > >>> On Feb 12, 2021, at 12:23 PM, Jonathan Cameron >>> wrote: >>> >>> On Tue, 9 Feb 2021 15:36:03 -0500 >>&g

Re: [RFC PATCH v2 1/2] Basic PCIe DOE support

2021-02-18 Thread Chris Browy
> On Feb 18, 2021, at 2:11 PM, Jonathan Cameron > wrote: > > On Fri, 12 Feb 2021 16:58:21 -0500 > Chris Browy wrote: > >>> On Feb 12, 2021, at 11:24 AM, Jonathan Cameron >>> wrote: >>> >>> On Tue, 9 Feb 2021 15:35:49 -0500 >&g

Re: [RFC v2 2/2] Basic CXL DOE for CDAT and Compliance Mode

2021-02-12 Thread Chris Browy
> On Feb 12, 2021, at 12:23 PM, Jonathan Cameron > wrote: > > On Tue, 9 Feb 2021 15:36:03 -0500 > Chris Browy wrote: > > Split this into two patches for v3. CDAT in one, compliance mode in the > other. > Compliance mode is an optional feature. We’ll split i

Re: [RFC PATCH v2 1/2] Basic PCIe DOE support

2021-02-12 Thread Chris Browy
> On Feb 12, 2021, at 11:24 AM, Jonathan Cameron > wrote: > > On Tue, 9 Feb 2021 15:35:49 -0500 > Chris Browy wrote: > > Run ./scripts/checkpatch.pl over the patches and fix all the warnings before > posting. It will save time by clearing out most of the minor fo

Re: [RFC v2 2/2] Basic CXL DOE for CDAT and Compliance Mode

2021-02-09 Thread Chris Browy
ption rom to ct3d so UEFI could access CDAT through a EFI_ADAPTER_INFORMATION_PROTOCOL (CDAT type) entry. > > Thanks. > Ben > > On 21-02-09 15:36:03, Chris Browy wrote: >> --- >> hw/cxl/cxl-component-utils.c | 132 +++ >> hw/mem/cxl_type

Re: [RFC PATCH v2 1/2] Basic PCIe DOE support

2021-02-09 Thread Chris Browy
it compared to other areas ;) Review comments will be folded into next patch. > On Feb 9, 2021, at 4:42 PM, Ben Widawsky wrote: > > Have you/Jonathan come to consensus about which implementation is going > forward? > I'd rather not have to review two :D > > On 21-0

[RFC PATCH v2 1/2] Basic PCIe DOE support

2021-02-09 Thread Chris Browy
create mode 100644 include/hw/pci/pcie_doe.h diff --git a/MAINTAINERS b/MAINTAINERS index 981dc92..4fb865e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1655,6 +1655,13 @@ F: docs/pci* F: docs/specs/*pci* F: default-configs/pci.mak +PCIE DOE +M: Huai-Cheng Kuo +M: Chris Browy +S: Supported +F

[RFC v2 2/2] Basic CXL DOE for CDAT and Compliance Mode

2021-02-09 Thread Chris Browy
--- hw/cxl/cxl-component-utils.c | 132 +++ hw/mem/cxl_type3.c | 172 include/hw/cxl/cxl_cdat.h | 120 + include/hw/cxl/cxl_compl.h | 289 + include/hw/cxl/cxl_component.h | 126

[RFC PATCH v2 0/2] PCIe DOE for PCIe and CXL 2.0 v2 release

2021-02-09 Thread Chris Browy
Attribute Table CDAT 1.02 https://uefi.org/sites/default/files/resources/Coherent%20Device%20Attribute%20Table_1.02.pdf --- Chris Browy (2): Basic PCIe DOE support Basic CXL DOE for CDAT and Compliance Mode MAINTAINERS | 7 + hw/cxl/cxl-component-utils.c

Re: [RFC PATCH v1 01/01] PCIe DOE for PCIe and CXL 2.0

2021-02-05 Thread Chris Browy
> On Feb 5, 2021, at 1:49 PM, Jonathan Cameron > wrote: > > On Fri, 5 Feb 2021 09:19:36 -0800 > Ben Widawsky wrote: > >> On 21-02-05 16:09:54, Jonathan Cameron wrote: >>> On Wed, 3 Feb 2021 23:53:53 -0500 >>> Chris Browy wrote: >>>

Re: [RFC PATCH v1 01/01] PCIe DOE for PCIe and CXL 2.0

2021-02-03 Thread Chris Browy
be a --in-replies-to issue. I’ve restored that here in this email reply. Best Regards, Chris On 2/3/21, 12:19 PM, "Jonathan Cameron" wrote: On Tue, 2 Feb 2021 15:43:28 -0500 Chris Browy wrote: Hi Chris, Whilst I appreciate that this is very much an RFC and so

[RFC PATCH v1 00/01] PCIe DOE for PCIe and CXL 2.0

2021-02-02 Thread Chris Browy
PCIe Data Object Exchange (DOE) protocol for PCIe and CXL is available https://gitlab.com/avery-qemu/cxl2.0-v3-doe/ based on Ben Widawsky's CXL QEMU cxl2.0-v3 gitlab branch https://lore.kernel.org/qemu-devel/20210202005948.241655-1-ben.widaw...@intel.com which is located at https://gitlab.c

Re: [RFC PATCH v1 01/01] PCIe DOE for PCIe and CXL 2.0

2021-02-02 Thread Chris Browy
diff --git a/MAINTAINERS b/MAINTAINERS index 981dc92e25..4fb865e0b3 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1655,6 +1655,13 @@ F: docs/pci* F: docs/specs/*pci* F: default-configs/pci.mak +PCIE DOE +M: Huai-Cheng Kuo +M: Chris Browy +S: Supported +F: include/hw/pci/pcie_doe.h +F: hw

[RFC PATCH v1 00/01] PCIe DOE for PCIe and CXL 2.0

2021-02-02 Thread Chris Browy
PCIe Data Object Exchange (DOE) protocol for PCIe and CXL is available https://gitlab.com/avery-qemu/cxl2.0-v3-doe/ based on Ben Widawsky's CXL QEMU cxl2.0-v3 gitlab branch https://lore.kernel.org/qemu-devel/20210202005948.241655-1-ben.widaw...@intel.com which is located at https://gitlab.com

Re: [RFC PATCH 00/25] Introduce CXL 2.0 Emulation

2020-12-04 Thread Chris Browy
at are the userspace system APIs for targeting CXL HDM address domain? Usually you can mmap a SPA if you know how to look it up. Best Regards, Chris Browy