* [edk2-devel] question about cxl device enumeration in pci bus driver @ 2023-10-25 6:01 Yoshinoya 2023-10-25 10:13 ` Ni, Ray 2023-11-07 11:31 ` [edk2-devel] Use dynamic pcd in smm mode Yoshinoya 0 siblings, 2 replies; 24+ messages in thread From: Yoshinoya @ 2023-10-25 6:01 UTC (permalink / raw) To: devel [-- Attachment #1: Type: text/plain, Size: 466 bytes --] Hi, CXL devices are more polular. Is there any plan to add cxl device enumeration in pci bus driver? Thanks -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#110016): https://edk2.groups.io/g/devel/message/110016 Mute This Topic: https://groups.io/mt/102173204/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- [-- Attachment #2: Type: text/html, Size: 1074 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [edk2-devel] question about cxl device enumeration in pci bus driver 2023-10-25 6:01 [edk2-devel] question about cxl device enumeration in pci bus driver Yoshinoya @ 2023-10-25 10:13 ` Ni, Ray 2023-10-26 2:36 ` Yoshinoya 2023-11-07 11:31 ` [edk2-devel] Use dynamic pcd in smm mode Yoshinoya 1 sibling, 1 reply; 24+ messages in thread From: Ni, Ray @ 2023-10-25 10:13 UTC (permalink / raw) To: devel@edk2.groups.io, yoshinoyatoko@163.com [-- Attachment #1: Type: text/plain, Size: 999 bytes --] I think CXL device enumeration doesn't require extra logic in today's pci bus driver. But I might be wrong. Can you list any missing logic in pci bus driver? Thanks, Ray ________________________________ From: devel@edk2.groups.io <devel@edk2.groups.io> on behalf of Yoshinoya <yoshinoyatoko@163.com> Sent: Wednesday, October 25, 2023 2:01 PM To: devel@edk2.groups.io <devel@edk2.groups.io> Subject: [edk2-devel] question about cxl device enumeration in pci bus driver Hi, CXL devices are more polular. Is there any plan to add cxl device enumeration in pci bus driver? Thanks -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#110032): https://edk2.groups.io/g/devel/message/110032 Mute This Topic: https://groups.io/mt/102173204/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/leave/12367111/7686176/1913456212/xyzzy [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- [-- Attachment #2: Type: text/html, Size: 3182 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [edk2-devel] question about cxl device enumeration in pci bus driver 2023-10-25 10:13 ` Ni, Ray @ 2023-10-26 2:36 ` Yoshinoya 2023-10-26 8:33 ` Gerd Hoffmann 0 siblings, 1 reply; 24+ messages in thread From: Yoshinoya @ 2023-10-26 2:36 UTC (permalink / raw) To: Ni, Ray; +Cc: devel@edk2.groups.io [-- Attachment #1: Type: text/plain, Size: 1140 bytes --] Hi, Ray: For example: CXL Host Bridge / Root Port / Switch / Device enumeration / HDM Config, maybe could be integrated into pci drivers stack. Thanks At 2023-10-25 18:13:57, "Ni, Ray" <ray.ni@intel.com> wrote: I think CXL device enumeration doesn't require extra logic in today's pci bus driver. But I might be wrong. Can you list any missing logic in pci bus driver? Thanks, Ray From: devel@edk2.groups.io <devel@edk2.groups.io> on behalf of Yoshinoya <yoshinoyatoko@163.com> Sent: Wednesday, October 25, 2023 2:01 PM To: devel@edk2.groups.io <devel@edk2.groups.io> Subject: [edk2-devel] question about cxl device enumeration in pci bus driver Hi, CXL devices are more polular. Is there any plan to add cxl device enumeration in pci bus driver? Thanks -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#110069): https://edk2.groups.io/g/devel/message/110069 Mute This Topic: https://groups.io/mt/102173204/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- [-- Attachment #2: Type: text/html, Size: 3813 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [edk2-devel] question about cxl device enumeration in pci bus driver 2023-10-26 2:36 ` Yoshinoya @ 2023-10-26 8:33 ` Gerd Hoffmann 2023-10-26 9:49 ` Laszlo Ersek 0 siblings, 1 reply; 24+ messages in thread From: Gerd Hoffmann @ 2023-10-26 8:33 UTC (permalink / raw) To: devel, yoshinoyatoko; +Cc: Ni, Ray On Thu, Oct 26, 2023 at 10:36:35AM +0800, Yoshinoya wrote: > CXL Host Bridge / Root Port / Switch / Device enumeration / HDM Config, maybe could be integrated into pci drivers stack. Point being? Can or should the firmware do anything useful with the CXL hardware? If so, what exactly and why? Current state of affairs is that the PCI stack does the usual PCI initialization (enumerate, assign resources to PCI bars) and leaves everything else to the OS. take care, Gerd -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#110081): https://edk2.groups.io/g/devel/message/110081 Mute This Topic: https://groups.io/mt/102173204/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [edk2-devel] question about cxl device enumeration in pci bus driver 2023-10-26 8:33 ` Gerd Hoffmann @ 2023-10-26 9:49 ` Laszlo Ersek 2023-10-26 13:35 ` Jonathan Cameron via groups.io 0 siblings, 1 reply; 24+ messages in thread From: Laszlo Ersek @ 2023-10-26 9:49 UTC (permalink / raw) To: devel, kraxel, yoshinoyatoko; +Cc: Ni, Ray On 10/26/23 10:33, Gerd Hoffmann wrote: > On Thu, Oct 26, 2023 at 10:36:35AM +0800, Yoshinoya wrote: > >> CXL Host Bridge / Root Port / Switch / Device enumeration / HDM Config, maybe could be integrated into pci drivers stack. > > Point being? Can or should the firmware do anything useful with > the CXL hardware? If so, what exactly and why? > > Current state of affairs is that the PCI stack does the usual PCI > initialization (enumerate, assign resources to PCI bars) and leaves > everything else to the OS. (I don't know what "HDM Config" stands for.) The only utility for driving CXL devices from the firmware could be, AFAICT: - booting off of such a device (or at least "supporting OS boot" in some manner) - using such a device for UEFI console purposes Laszlo -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#110085): https://edk2.groups.io/g/devel/message/110085 Mute This Topic: https://groups.io/mt/102173204/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/leave/12367111/7686176/1913456212/xyzzy [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [edk2-devel] question about cxl device enumeration in pci bus driver 2023-10-26 9:49 ` Laszlo Ersek @ 2023-10-26 13:35 ` Jonathan Cameron via groups.io 2023-10-27 1:26 ` Yoshinoya [not found] ` <1791D2898E0C74CA.20272@groups.io> 0 siblings, 2 replies; 24+ messages in thread From: Jonathan Cameron via groups.io @ 2023-10-26 13:35 UTC (permalink / raw) To: Laszlo Ersek; +Cc: devel, kraxel, yoshinoyatoko, Ni, Ray, Sayanta Pattanayak On Thu, 26 Oct 2023 11:49:28 +0200 "Laszlo Ersek" <lersek@redhat.com> wrote: > On 10/26/23 10:33, Gerd Hoffmann wrote: > > On Thu, Oct 26, 2023 at 10:36:35AM +0800, Yoshinoya wrote: > > > >> CXL Host Bridge / Root Port / Switch / Device enumeration / HDM Config, maybe could be integrated into pci drivers stack. > > > > Point being? Can or should the firmware do anything useful with > > the CXL hardware? If so, what exactly and why? > > > > Current state of affairs is that the PCI stack does the usual PCI > > initialization (enumerate, assign resources to PCI bars) and leaves > > everything else to the OS. > > (I don't know what "HDM Config" stands for.) > > The only utility for driving CXL devices from the firmware could be, AFAICT: > > - booting off of such a device (or at least "supporting OS boot" in some > manner) > > - using such a device for UEFI console purposes There are different models for how to use CXL devices and what's possible depends on the version of CXL. CXL 1.1 wasn't great for standards defined discovery, so EDK2 platform logic basically has to do everything. The one mostly expected for early CXL servers, for backwards compatibility, makes setting up the CXL memory decoders (Host managed Device Memory - HDM) in all the components in the path to memory + locking them down an EDK2 problem. They are then presented in the memory map and in SRAT, HMAT etc the same as normal DDR memory. Idea being that an old OS will be fine with that and doesn't have to be CXL aware at all. Note this also involves walking the CDAT tables via DOE mailboxes in PCI config space to get the magic numbers needed to compute HMAT. The other model is to do very little in EDK2 and make entirely a problem for the OS. The logic is necessary anyway if you want to support hotplug etc, so use it for the cold plug paths 2. That's all we've currently supported on QEMU. There was a presentation at Linux Plumbers last year on some out of tree support from ARM for doing the setup on a CXL 2.0 platform (I think) in EDK2 https://lpc.events/event/16/contributions/1254/ But I guess it never went upstream. https://github.com/SayantaP-arm/edk2-platforms/tree/cxl-type-3 +CC Sayanta Jonathan > > Laszlo > > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#110100): https://edk2.groups.io/g/devel/message/110100 Mute This Topic: https://groups.io/mt/102173204/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [edk2-devel] question about cxl device enumeration in pci bus driver 2023-10-26 13:35 ` Jonathan Cameron via groups.io @ 2023-10-27 1:26 ` Yoshinoya [not found] ` <1791D2898E0C74CA.20272@groups.io> 1 sibling, 0 replies; 24+ messages in thread From: Yoshinoya @ 2023-10-27 1:26 UTC (permalink / raw) To: devel, jonathan.cameron; +Cc: Laszlo Ersek, kraxel, Ni, Ray, Sayanta Pattanayak [-- Attachment #1: Type: text/plain, Size: 3450 bytes --] Hi, Thanks for reply! I download code from this git https://github.com/SayantaP-arm/edk2-platforms/ For this ARM edk2 sample package, it provided cxldxe driver which being executed after UEFI DXE PciBus enumeration finishes. This ppt (https://lpc.events/event/16/contributions/1254/) describes good. Intel also provied a CXL Type 3 memory device software guide. This guide also describes system firmware boot sequence and uefi boot sequence. But i could match these describes with standard UEFI BIOS Boot flow, such as dxe phase's standard pci enumeration driver. It sees needing add some cxl discovery code into dxe pci bus driver. Thanks At 2023-10-26 21:35:38, "Jonathan Cameron via groups.io" <jonathan.cameron=huawei.com@groups.io> wrote: >On Thu, 26 Oct 2023 11:49:28 +0200 >"Laszlo Ersek" <lersek@redhat.com> wrote: > >> On 10/26/23 10:33, Gerd Hoffmann wrote: >> > On Thu, Oct 26, 2023 at 10:36:35AM +0800, Yoshinoya wrote: >> > >> >> CXL Host Bridge / Root Port / Switch / Device enumeration / HDM Config, maybe could be integrated into pci drivers stack. >> > >> > Point being? Can or should the firmware do anything useful with >> > the CXL hardware? If so, what exactly and why? >> > >> > Current state of affairs is that the PCI stack does the usual PCI >> > initialization (enumerate, assign resources to PCI bars) and leaves >> > everything else to the OS. >> >> (I don't know what "HDM Config" stands for.) >> >> The only utility for driving CXL devices from the firmware could be, AFAICT: >> >> - booting off of such a device (or at least "supporting OS boot" in some >> manner) >> >> - using such a device for UEFI console purposes > >There are different models for how to use CXL devices and what's possible depends on the >version of CXL. CXL 1.1 wasn't great for standards defined discovery, so >EDK2 platform logic basically has to do everything. > >The one mostly expected for early CXL servers, for backwards compatibility, makes >setting up the CXL memory decoders (Host managed Device Memory - HDM) in all the >components in the path to memory + locking them down an EDK2 problem. They are then >presented in the memory map and in SRAT, HMAT etc the same as normal DDR memory. >Idea being that an old OS will be fine with that and doesn't have to be CXL aware >at all. Note this also involves walking the CDAT tables via DOE mailboxes in PCI >config space to get the magic numbers needed to compute HMAT. > >The other model is to do very little in EDK2 and make entirely a problem for the OS. >The logic is necessary anyway if you want to support hotplug etc, so use it for the >cold plug paths 2. That's all we've currently supported on QEMU. > >There was a presentation at Linux Plumbers last year on some out of tree support >from ARM for doing the setup on a CXL 2.0 platform (I think) in EDK2 >https://lpc.events/event/16/contributions/1254/ >But I guess it never went upstream. >https://github.com/SayantaP-arm/edk2-platforms/tree/cxl-type-3 > >+CC Sayanta > >Jonathan >> >> Laszlo >> >> >> >> >> >> > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#110162): https://edk2.groups.io/g/devel/message/110162 Mute This Topic: https://groups.io/mt/102173204/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- [-- Attachment #2: Type: text/html, Size: 5837 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
[parent not found: <1791D2898E0C74CA.20272@groups.io>]
* Re: [edk2-devel] question about cxl device enumeration in pci bus driver [not found] ` <1791D2898E0C74CA.20272@groups.io> @ 2023-10-27 1:29 ` Yoshinoya 2023-10-27 5:49 ` Ni, Ray 2023-11-06 11:20 ` Yoshinoya 0 siblings, 2 replies; 24+ messages in thread From: Yoshinoya @ 2023-10-27 1:29 UTC (permalink / raw) To: devel; +Cc: jonathan.cameron, Laszlo Ersek, kraxel, Ni, Ray, Sayanta Pattanayak [-- Attachment #1: Type: text/plain, Size: 3458 bytes --] Hi, Thanks for reply! I download code from this git https://github.com/SayantaP-arm/edk2-platforms/ For this ARM edk2 sample package, it provided cxldxe driver which being executed after UEFI DXE PciBus enumeration finishes. This ppt (https://lpc.events/event/16/contributions/1254/) describes good. Intel also provied a CXL Type 3 memory device software guide. This guide also describes system firmware boot sequence and uefi boot sequence. But i could not match these describes with standard UEFI BIOS Boot flow, such as dxe phase's standard pci enumeration driver. It sees needing add some cxl discovery code into dxe pci bus driver. Thanks At 2023-10-26 21:35:38, "Jonathan Cameron via groups.io" <jonathan.cameron=huawei.com@groups.io> wrote: >On Thu, 26 Oct 2023 11:49:28 +0200 >"Laszlo Ersek" <lersek@redhat.com> wrote: > >> On 10/26/23 10:33, Gerd Hoffmann wrote: >> > On Thu, Oct 26, 2023 at 10:36:35AM +0800, Yoshinoya wrote: >> > >> >> CXL Host Bridge / Root Port / Switch / Device enumeration / HDM Config, maybe could be integrated into pci drivers stack. >> > >> > Point being? Can or should the firmware do anything useful with >> > the CXL hardware? If so, what exactly and why? >> > >> > Current state of affairs is that the PCI stack does the usual PCI >> > initialization (enumerate, assign resources to PCI bars) and leaves >> > everything else to the OS. >> >> (I don't know what "HDM Config" stands for.) >> >> The only utility for driving CXL devices from the firmware could be, AFAICT: >> >> - booting off of such a device (or at least "supporting OS boot" in some >> manner) >> >> - using such a device for UEFI console purposes > >There are different models for how to use CXL devices and what's possible depends on the >version of CXL. CXL 1.1 wasn't great for standards defined discovery, so >EDK2 platform logic basically has to do everything. > >The one mostly expected for early CXL servers, for backwards compatibility, makes >setting up the CXL memory decoders (Host managed Device Memory - HDM) in all the >components in the path to memory + locking them down an EDK2 problem. They are then >presented in the memory map and in SRAT, HMAT etc the same as normal DDR memory. >Idea being that an old OS will be fine with that and doesn't have to be CXL aware >at all. Note this also involves walking the CDAT tables via DOE mailboxes in PCI >config space to get the magic numbers needed to compute HMAT. > >The other model is to do very little in EDK2 and make entirely a problem for the OS. >The logic is necessary anyway if you want to support hotplug etc, so use it for the >cold plug paths 2. That's all we've currently supported on QEMU. > >There was a presentation at Linux Plumbers last year on some out of tree support >from ARM for doing the setup on a CXL 2.0 platform (I think) in EDK2 >https://lpc.events/event/16/contributions/1254/ >But I guess it never went upstream. >https://github.com/SayantaP-arm/edk2-platforms/tree/cxl-type-3 > >+CC Sayanta > >Jonathan >> >> Laszlo >> >> >> >> >> >> > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#110163): https://edk2.groups.io/g/devel/message/110163 Mute This Topic: https://groups.io/mt/102173204/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- [-- Attachment #2: Type: text/html, Size: 6060 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [edk2-devel] question about cxl device enumeration in pci bus driver 2023-10-27 1:29 ` Yoshinoya @ 2023-10-27 5:49 ` Ni, Ray 2023-11-06 11:20 ` Yoshinoya 1 sibling, 0 replies; 24+ messages in thread From: Ni, Ray @ 2023-10-27 5:49 UTC (permalink / raw) To: Yoshinoya, devel@edk2.groups.io, Nong, Foster Cc: jonathan.cameron@huawei.com, Laszlo Ersek, kraxel@redhat.com, Sayanta Pattanayak [-- Attachment #1: Type: text/plain, Size: 4124 bytes --] I am not sure which driver is responsible for producing the ACPI tables. + Foster Thanks, Ray ________________________________ From: Yoshinoya <yoshinoyatoko@163.com> Sent: Friday, October 27, 2023 9:29 AM To: devel@edk2.groups.io <devel@edk2.groups.io> Cc: jonathan.cameron@huawei.com <jonathan.cameron@huawei.com>; Laszlo Ersek <lersek@redhat.com>; kraxel@redhat.com <kraxel@redhat.com>; Ni, Ray <ray.ni@intel.com>; Sayanta Pattanayak <sayanta.pattanayak@arm.com> Subject: Re:Re: [edk2-devel] question about cxl device enumeration in pci bus driver Hi, Thanks for reply! I download code from this git https://github.com/SayantaP-arm/edk2-platforms/ For this ARM edk2 sample package, it provided cxldxe driver which being executed after UEFI DXE PciBus enumeration finishes. This ppt (https://lpc.events/event/16/contributions/1254/) describes good. Intel also provied a CXL Type 3 memory device software guide. This guide also describes system firmware boot sequence and uefi boot sequence. But i could not match these describes with standard UEFI BIOS Boot flow, such as dxe phase's standard pci enumeration driver. It sees needing add some cxl discovery code into dxe pci bus driver. Thanks At 2023-10-26 21:35:38, "Jonathan Cameron via groups.io" <jonathan.cameron=huawei.com@groups.io> wrote: >On Thu, 26 Oct 2023 11:49:28 +0200 >"Laszlo Ersek" <lersek@redhat.com> wrote: > >> On 10/26/23 10:33, Gerd Hoffmann wrote: >> > On Thu, Oct 26, 2023 at 10:36:35AM +0800, Yoshinoya wrote: >> > >> >> CXL Host Bridge / Root Port / Switch / Device enumeration / HDM Config, maybe could be integrated into pci drivers stack. >> > >> > Point being? Can or should the firmware do anything useful with >> > the CXL hardware? If so, what exactly and why? >> > >> > Current state of affairs is that the PCI stack does the usual PCI >> > initialization (enumerate, assign resources to PCI bars) and leaves >> > everything else to the OS. >> >> (I don't know what "HDM Config" stands for.) >> >> The only utility for driving CXL devices from the firmware could be, AFAICT: >> >> - booting off of such a device (or at least "supporting OS boot" in some >> manner) >> >> - using such a device for UEFI console purposes > >There are different models for how to use CXL devices and what's possible depends on the >version of CXL. CXL 1.1 wasn't great for standards defined discovery, so >EDK2 platform logic basically has to do everything. > >The one mostly expected for early CXL servers, for backwards compatibility, makes >setting up the CXL memory decoders (Host managed Device Memory - HDM) in all the >components in the path to memory + locking them down an EDK2 problem. They are then >presented in the memory map and in SRAT, HMAT etc the same as normal DDR memory. >Idea being that an old OS will be fine with that and doesn't have to be CXL aware >at all. Note this also involves walking the CDAT tables via DOE mailboxes in PCI >config space to get the magic numbers needed to compute HMAT. > >The other model is to do very little in EDK2 and make entirely a problem for the OS. >The logic is necessary anyway if you want to support hotplug etc, so use it for the >cold plug paths 2. That's all we've currently supported on QEMU. > >There was a presentation at Linux Plumbers last year on some out of tree support >from ARM for doing the setup on a CXL 2.0 platform (I think) in EDK2 >https://lpc.events/event/16/contributions/1254/ >But I guess it never went upstream. >https://github.com/SayantaP-arm/edk2-platforms/tree/cxl-type-3 > >+CC Sayanta > >Jonathan >> >> Laszlo >> >> >> >> >> >> > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#110191): https://edk2.groups.io/g/devel/message/110191 Mute This Topic: https://groups.io/mt/102173204/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/leave/12367111/7686176/1913456212/xyzzy [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- [-- Attachment #2: Type: text/html, Size: 8130 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [edk2-devel] question about cxl device enumeration in pci bus driver 2023-10-27 1:29 ` Yoshinoya 2023-10-27 5:49 ` Ni, Ray @ 2023-11-06 11:20 ` Yoshinoya 2023-11-07 21:54 ` Brian J. Johnson 1 sibling, 1 reply; 24+ messages in thread From: Yoshinoya @ 2023-11-06 11:20 UTC (permalink / raw) To: devel; +Cc: jonathan.cameron, Laszlo Ersek, kraxel, Ni, Ray, Sayanta Pattanayak [-- Attachment #1: Type: text/plain, Size: 3900 bytes --] Hi, I have a question about cxl memory device hot-plug. For example: 1. When cold boot, the platform has only 512GB cxl type-3 memory 2. During OS runtime, user hot-plug another cxl type-3 memory device expanding to 1TB. So, how did OS identify another 512GB space newly added without a reboot? Could anyone help to explain the procedure draftly? Thanks 在 2023-10-27 09:29:31,"Yoshinoya" <yoshinoyatoko@163.com> 写道: Hi, Thanks for reply! I download code from this git https://github.com/SayantaP-arm/edk2-platforms/ For this ARM edk2 sample package, it provided cxldxe driver which being executed after UEFI DXE PciBus enumeration finishes. This ppt (https://lpc.events/event/16/contributions/1254/) describes good. Intel also provied a CXL Type 3 memory device software guide. This guide also describes system firmware boot sequence and uefi boot sequence. But i could not match these describes with standard UEFI BIOS Boot flow, such as dxe phase's standard pci enumeration driver. It sees needing add some cxl discovery code into dxe pci bus driver. Thanks At 2023-10-26 21:35:38, "Jonathan Cameron via groups.io" <jonathan.cameron=huawei.com@groups.io> wrote: >On Thu, 26 Oct 2023 11:49:28 +0200 >"Laszlo Ersek" <lersek@redhat.com> wrote: > >> On 10/26/23 10:33, Gerd Hoffmann wrote: >> > On Thu, Oct 26, 2023 at 10:36:35AM +0800, Yoshinoya wrote: >> > >> >> CXL Host Bridge / Root Port / Switch / Device enumeration / HDM Config, maybe could be integrated into pci drivers stack. >> > >> > Point being? Can or should the firmware do anything useful with >> > the CXL hardware? If so, what exactly and why? >> > >> > Current state of affairs is that the PCI stack does the usual PCI >> > initialization (enumerate, assign resources to PCI bars) and leaves >> > everything else to the OS. >> >> (I don't know what "HDM Config" stands for.) >> >> The only utility for driving CXL devices from the firmware could be, AFAICT: >> >> - booting off of such a device (or at least "supporting OS boot" in some >> manner) >> >> - using such a device for UEFI console purposes > >There are different models for how to use CXL devices and what's possible depends on the >version of CXL. CXL 1.1 wasn't great for standards defined discovery, so >EDK2 platform logic basically has to do everything. > >The one mostly expected for early CXL servers, for backwards compatibility, makes >setting up the CXL memory decoders (Host managed Device Memory - HDM) in all the >components in the path to memory + locking them down an EDK2 problem. They are then >presented in the memory map and in SRAT, HMAT etc the same as normal DDR memory. >Idea being that an old OS will be fine with that and doesn't have to be CXL aware >at all. Note this also involves walking the CDAT tables via DOE mailboxes in PCI >config space to get the magic numbers needed to compute HMAT. > >The other model is to do very little in EDK2 and make entirely a problem for the OS. >The logic is necessary anyway if you want to support hotplug etc, so use it for the >cold plug paths 2. That's all we've currently supported on QEMU. > >There was a presentation at Linux Plumbers last year on some out of tree support >from ARM for doing the setup on a CXL 2.0 platform (I think) in EDK2 >https://lpc.events/event/16/contributions/1254/ >But I guess it never went upstream. >https://github.com/SayantaP-arm/edk2-platforms/tree/cxl-type-3 > >+CC Sayanta > >Jonathan >> >> Laszlo >> >> >> >> >> >> > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#110747): https://edk2.groups.io/g/devel/message/110747 Mute This Topic: https://groups.io/mt/102173204/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- [-- Attachment #2: Type: text/html, Size: 7241 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [edk2-devel] question about cxl device enumeration in pci bus driver 2023-11-06 11:20 ` Yoshinoya @ 2023-11-07 21:54 ` Brian J. Johnson 2023-11-17 1:41 ` Yoshinoya 0 siblings, 1 reply; 24+ messages in thread From: Brian J. Johnson @ 2023-11-07 21:54 UTC (permalink / raw) To: devel, yoshinoyatoko Cc: jonathan.cameron, Laszlo Ersek, kraxel, Ni, Ray, Sayanta Pattanayak [-- Attachment #1: Type: text/plain, Size: 5786 bytes --] I see a long discussion on lore.kernel.org: https://lore.kernel.org/linux-cxl/BYAPR12MB3336F5ADDEDBB6245BC2B48DBD489@BYAPR12MB3336.namprd12.prod.outlook.com/T/ This document also has some info on how CXL hotplug is handled: https://cdrdv2-public.intel.com/643805/643805_CXL%20Memory%20Device%20SW%20Guide_Rev1p0.pdf *Brian J. Johnson *Enterprise X86 Lab Hewlett Packard Enterprise ------------------------------------------------------------------------ *From:* Yoshinoya [mailto:yoshinoyatoko@163.com] *Sent:* Monday, November 6, 2023 at 5:20 AM *To:* devel@edk2.groups.io *Cc:* jonathan.cameron@huawei.com, Laszlo Ersek <lersek@redhat.com>, kraxel@redhat.com, Ni, Ray <ray.ni@intel.com>, Sayanta Pattanayak <sayanta.pattanayak@arm.com> *Subject:* [edk2-devel] question about cxl device enumeration in pci bus driver > Hi, > I have a question about cxl memory device hot-plug. > > For example: > 1. When cold boot, the platform has only 512GB cxl type-3 memory > 2. During OS runtime, user hot-plug another cxl type-3 memory device > expanding to 1TB. > > So, how did OS identify another 512GB space newly added without a reboot? > > Could anyone help to explain the procedure draftly? > > Thanks > > > > > 在 2023-10-27 09:29:31,"Yoshinoya" <yoshinoyatoko@163.com> 写道: > > > Hi, > Thanks for reply! > > I download code from this git > https://github.com/SayantaP-arm/edk2-platforms/ > > For this ARM edk2 sample package, it provided cxldxe driver > which being executed after UEFI DXE PciBus enumeration finishes. > This ppt (https://lpc.events/event/16/contributions/1254/ > <https://lpc.events/event/16/contributions/1254/>) > describes good. > > Intel also provied a CXL Type 3 memory device software guide. > This guide also describes system firmware boot sequence and > uefi boot sequence. > But i could not match these describes with standard UEFI BIOS > Boot flow, such as dxe phase's standard pci enumeration driver. > It sees needing add some cxl discovery code into dxe pci bus > driver. > > Thanks > > > > > > At 2023-10-26 21:35:38, "Jonathan Cameron via groups.io"<jonathan.cameron=huawei.com@groups.io> wrote: > >On Thu, 26 Oct 2023 11:49:28 +0200 > >"Laszlo Ersek" <lersek@redhat.com> wrote: > > > >> On 10/26/23 10:33, Gerd Hoffmann wrote: > >> > On Thu, Oct 26, 2023 at 10:36:35AM +0800, Yoshinoya wrote: > >> > > >> >> CXL Host Bridge / Root Port / Switch / Device enumeration / HDM Config, maybe could be integrated into pci drivers stack. > >> > > >> > Point being? Can or should the firmware do anything useful with > >> > the CXL hardware? If so, what exactly and why? > >> > > >> > Current state of affairs is that the PCI stack does the usual PCI > >> > initialization (enumerate, assign resources to PCI bars) and leaves > >> > everything else to the OS. > >> > >> (I don't know what "HDM Config" stands for.) > >> > >> The only utility for driving CXL devices from the firmware could be, AFAICT: > >> > >> - booting off of such a device (or at least "supporting OS boot" in some > >> manner) > >> > >> - using such a device for UEFI console purposes > > > >There are different models for how to use CXL devices and what's possible depends on the > >version of CXL. CXL 1.1 wasn't great for standards defined discovery, so > >EDK2 platform logic basically has to do everything. > > > >The one mostly expected for early CXL servers, for backwards compatibility, makes > >setting up the CXL memory decoders (Host managed Device Memory - HDM) in all the > >components in the path to memory + locking them down an EDK2 problem. They are then > >presented in the memory map and in SRAT, HMAT etc the same as normal DDR memory. > >Idea being that an old OS will be fine with that and doesn't have to be CXL aware > >at all. Note this also involves walking the CDAT tables via DOE mailboxes in PCI > >config space to get the magic numbers needed to compute HMAT. > > > >The other model is to do very little in EDK2 and make entirely a problem for the OS. > >The logic is necessary anyway if you want to support hotplug etc, so use it for the > >cold plug paths 2. That's all we've currently supported on QEMU. > > > >There was a presentation at Linux Plumbers last year on some out of tree support > >from ARM for doing the setup on a CXL 2.0 platform (I think) in EDK2 > >https://lpc.events/event/16/contributions/1254/ <https://lpc.events/event/16/contributions/1254/> > >But I guess it never went upstream. > >https://github.com/SayantaP-arm/edk2-platforms/tree/cxl-type-3 > > > >+CC Sayanta > > > >Jonathan > >> > >> Laszlo > >> > >> > >> > >> > >> > >> > > > > > > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#110877): https://edk2.groups.io/g/devel/message/110877 Mute This Topic: https://groups.io/mt/102173204/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- [-- Attachment #2: Type: text/html, Size: 12817 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [edk2-devel] question about cxl device enumeration in pci bus driver 2023-11-07 21:54 ` Brian J. Johnson @ 2023-11-17 1:41 ` Yoshinoya 0 siblings, 0 replies; 24+ messages in thread From: Yoshinoya @ 2023-11-17 1:41 UTC (permalink / raw) To: devel, brian.johnson Cc: jonathan.cameron, Laszlo Ersek, kraxel, Ni, Ray, Sayanta Pattanayak [-- Attachment #1: Type: text/plain, Size: 4947 bytes --] Hi, Brian: Thanks. That is helpful. It seems cxl device hot-plug feature depends on pcie bus native hot plug feature. Not need bios asl code or smm handler code attends it. OS kernel will cover all procedure. At 2023-11-08 05:54:01, "Brian J. Johnson" <brian.johnson@hpe.com> wrote: I see a long discussion on lore.kernel.org: https://lore.kernel.org/linux-cxl/BYAPR12MB3336F5ADDEDBB6245BC2B48DBD489@BYAPR12MB3336.namprd12.prod.outlook.com/T/ This document also has some info on how CXL hotplug is handled: https://cdrdv2-public.intel.com/643805/643805_CXL%20Memory%20Device%20SW%20Guide_Rev1p0.pdf Brian J. Johnson Enterprise X86 Lab Hewlett Packard Enterprise From: Yoshinoya [mailto:yoshinoyatoko@163.com] Sent: Monday, November 6, 2023 at 5:20 AM To:devel@edk2.groups.io Cc:jonathan.cameron@huawei.com, Laszlo Ersek <lersek@redhat.com>, kraxel@redhat.com, Ni, Ray <ray.ni@intel.com>, Sayanta Pattanayak <sayanta.pattanayak@arm.com> Subject: [edk2-devel] question about cxl device enumeration in pci bus driver Hi, I have a question about cxl memory device hot-plug. For example: 1. When cold boot, the platform has only 512GB cxl type-3 memory 2. During OS runtime, user hot-plug another cxl type-3 memory device expanding to 1TB. So, how did OS identify another 512GB space newly added without a reboot? Could anyone help to explain the procedure draftly? Thanks 在 2023-10-27 09:29:31,"Yoshinoya" <yoshinoyatoko@163.com> 写道: Hi, Thanks for reply! I download code from this git https://github.com/SayantaP-arm/edk2-platforms/ For this ARM edk2 sample package, it provided cxldxe driver which being executed after UEFI DXE PciBus enumeration finishes. This ppt (https://lpc.events/event/16/contributions/1254/) describes good. Intel also provied a CXL Type 3 memory device software guide. This guide also describes system firmware boot sequence and uefi boot sequence. But i could not match these describes with standard UEFI BIOS Boot flow, such as dxe phase's standard pci enumeration driver. It sees needing add some cxl discovery code into dxe pci bus driver. Thanks At 2023-10-26 21:35:38, "Jonathan Cameron via groups.io" <jonathan.cameron=huawei.com@groups.io> wrote: >On Thu, 26 Oct 2023 11:49:28 +0200 >"Laszlo Ersek" <lersek@redhat.com> wrote: > >> On 10/26/23 10:33, Gerd Hoffmann wrote: >> > On Thu, Oct 26, 2023 at 10:36:35AM +0800, Yoshinoya wrote: >> > >> >> CXL Host Bridge / Root Port / Switch / Device enumeration / HDM Config, maybe could be integrated into pci drivers stack. >> > >> > Point being? Can or should the firmware do anything useful with >> > the CXL hardware? If so, what exactly and why? >> > >> > Current state of affairs is that the PCI stack does the usual PCI >> > initialization (enumerate, assign resources to PCI bars) and leaves >> > everything else to the OS. >> >> (I don't know what "HDM Config" stands for.) >> >> The only utility for driving CXL devices from the firmware could be, AFAICT: >> >> - booting off of such a device (or at least "supporting OS boot" in some >> manner) >> >> - using such a device for UEFI console purposes > >There are different models for how to use CXL devices and what's possible depends on the >version of CXL. CXL 1.1 wasn't great for standards defined discovery, so >EDK2 platform logic basically has to do everything. > >The one mostly expected for early CXL servers, for backwards compatibility, makes >setting up the CXL memory decoders (Host managed Device Memory - HDM) in all the >components in the path to memory + locking them down an EDK2 problem. They are then >presented in the memory map and in SRAT, HMAT etc the same as normal DDR memory. >Idea being that an old OS will be fine with that and doesn't have to be CXL aware >at all. Note this also involves walking the CDAT tables via DOE mailboxes in PCI >config space to get the magic numbers needed to compute HMAT. > >The other model is to do very little in EDK2 and make entirely a problem for the OS. >The logic is necessary anyway if you want to support hotplug etc, so use it for the >cold plug paths 2. That's all we've currently supported on QEMU. > >There was a presentation at Linux Plumbers last year on some out of tree support >from ARM for doing the setup on a CXL 2.0 platform (I think) in EDK2 >https://lpc.events/event/16/contributions/1254/ >But I guess it never went upstream. >https://github.com/SayantaP-arm/edk2-platforms/tree/cxl-type-3 > >+CC Sayanta > >Jonathan >> >> Laszlo >> >> >> >> >> >> > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#111333): https://edk2.groups.io/g/devel/message/111333 Mute This Topic: https://groups.io/mt/102173204/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- [-- Attachment #2: Type: text/html, Size: 13348 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* [edk2-devel] Use dynamic pcd in smm mode 2023-10-25 6:01 [edk2-devel] question about cxl device enumeration in pci bus driver Yoshinoya 2023-10-25 10:13 ` Ni, Ray @ 2023-11-07 11:31 ` Yoshinoya 2023-11-07 12:45 ` Laszlo Ersek 2023-11-17 2:15 ` [edk2-devel] question about PrmPkg Yoshinoya 1 sibling, 2 replies; 24+ messages in thread From: Yoshinoya @ 2023-11-07 11:31 UTC (permalink / raw) To: devel [-- Attachment #1: Type: text/plain, Size: 504 bytes --] Hi, All: Could dynamic PCD be used in smm driver code? It seems pcd has pei/dxe drivers, but not have smm related infrastructur drivers. Thanks -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#110842): https://edk2.groups.io/g/devel/message/110842 Mute This Topic: https://groups.io/mt/102440663/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- [-- Attachment #2: Type: text/html, Size: 1149 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [edk2-devel] Use dynamic pcd in smm mode 2023-11-07 11:31 ` [edk2-devel] Use dynamic pcd in smm mode Yoshinoya @ 2023-11-07 12:45 ` Laszlo Ersek 2023-11-09 6:03 ` Yoshinoya 2023-11-17 2:15 ` [edk2-devel] question about PrmPkg Yoshinoya 1 sibling, 1 reply; 24+ messages in thread From: Laszlo Ersek @ 2023-11-07 12:45 UTC (permalink / raw) To: devel, yoshinoyatoko On 11/7/23 12:31, Yoshinoya wrote: > Hi, All: > Could dynamic PCD be used in smm driver code? > > It seems pcd has pei/dxe drivers, but not have smm related infrastructur > drivers. Dynamic PCDs (or more generally, DXE protocols) can be used in the entry point functions of DXE_SMM_DRIVER modules, to my understanding. Dynamic PCDs can't be used in any SMM services (callbacks, protocol member functions, SMI handlers, etc) that those modules provide (i.e., dynamic PCDs can't be used after the entry point function has returned). I'm not sure about MM_STANDALONE modules. The PI spec probably explains the environment in which the entry points of those modules are invoked. Laszlo -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#110848): https://edk2.groups.io/g/devel/message/110848 Mute This Topic: https://groups.io/mt/102440663/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/leave/12367111/7686176/1913456212/xyzzy [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [edk2-devel] Use dynamic pcd in smm mode 2023-11-07 12:45 ` Laszlo Ersek @ 2023-11-09 6:03 ` Yoshinoya 0 siblings, 0 replies; 24+ messages in thread From: Yoshinoya @ 2023-11-09 6:03 UTC (permalink / raw) To: devel, lersek [-- Attachment #1: Type: text/plain, Size: 1290 bytes --] Hi, Laszlo: Got it. Thanks a lot! I study the udk code, and find there are no smm pcd drivers, so can't use dynamic pcd in smm code. At 2023-11-07 20:45:16, "Laszlo Ersek" <lersek@redhat.com> wrote: >On 11/7/23 12:31, Yoshinoya wrote: >> Hi, All: >> Could dynamic PCD be used in smm driver code? >> >> It seems pcd has pei/dxe drivers, but not have smm related infrastructur >> drivers. > >Dynamic PCDs (or more generally, DXE protocols) can be used in the entry >point functions of DXE_SMM_DRIVER modules, to my understanding. Dynamic >PCDs can't be used in any SMM services (callbacks, protocol member >functions, SMI handlers, etc) that those modules provide (i.e., dynamic >PCDs can't be used after the entry point function has returned). > >I'm not sure about MM_STANDALONE modules. The PI spec probably explains >the environment in which the entry points of those modules are invoked. > >Laszlo > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#110950): https://edk2.groups.io/g/devel/message/110950 Mute This Topic: https://groups.io/mt/102440663/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- [-- Attachment #2: Type: text/html, Size: 2248 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* [edk2-devel] question about PrmPkg 2023-11-07 11:31 ` [edk2-devel] Use dynamic pcd in smm mode Yoshinoya 2023-11-07 12:45 ` Laszlo Ersek @ 2023-11-17 2:15 ` Yoshinoya 2023-11-17 8:42 ` Laszlo Ersek 2024-02-05 9:49 ` [edk2-devel] sctpackage failed to be compile with new udk codebase Yoshinoya 1 sibling, 2 replies; 24+ messages in thread From: Yoshinoya @ 2023-11-17 2:15 UTC (permalink / raw) To: devel [-- Attachment #1: Type: text/plain, Size: 596 bytes --] Hi, I find there is a PrmPkg in udk source code. Based on its Readme.md, its goal is to offload smm code to sci os mechanisms. So, is there any actual use case on real platform now? It seems it's just a conceptional prototype. Thanks -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#111334): https://edk2.groups.io/g/devel/message/111334 Mute This Topic: https://groups.io/mt/102640402/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- [-- Attachment #2: Type: text/html, Size: 1331 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [edk2-devel] question about PrmPkg 2023-11-17 2:15 ` [edk2-devel] question about PrmPkg Yoshinoya @ 2023-11-17 8:42 ` Laszlo Ersek 2023-11-17 16:04 ` Michael Kubacki 2024-02-05 9:49 ` [edk2-devel] sctpackage failed to be compile with new udk codebase Yoshinoya 1 sibling, 1 reply; 24+ messages in thread From: Laszlo Ersek @ 2023-11-17 8:42 UTC (permalink / raw) To: devel, yoshinoyatoko; +Cc: Michael Kubacki On 11/17/23 03:15, Yoshinoya wrote: > Hi, > I find there is a PrmPkg in udk source code. > Based on its Readme.md, its goal is to offload smm code to sci os > mechanisms. > > So, is there any actual use case on real platform now? > > It seems it's just a conceptional prototype. It's way too big for it to be unused. The original BZ was <https://bugzilla.tianocore.org/show_bug.cgi?id=3812>. I'm sure Microsoft uses it in production. Client code for this infrastructure may be present in Project Mu (I didn't try to check), or in proprietary repositories. Perhaps Michael (CC'd) can share some details. Laszlo -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#111341): https://edk2.groups.io/g/devel/message/111341 Mute This Topic: https://groups.io/mt/102640402/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/leave/12367111/7686176/1913456212/xyzzy [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [edk2-devel] question about PrmPkg 2023-11-17 8:42 ` Laszlo Ersek @ 2023-11-17 16:04 ` Michael Kubacki 2023-11-20 2:09 ` Yoshinoya 0 siblings, 1 reply; 24+ messages in thread From: Michael Kubacki @ 2023-11-17 16:04 UTC (permalink / raw) To: devel, lersek, yoshinoyatoko On 11/17/2023 3:42 AM, Laszlo Ersek wrote: > On 11/17/23 03:15, Yoshinoya wrote: >> Hi, >> I find there is a PrmPkg in udk source code. >> Based on its Readme.md, its goal is to offload smm code to sci os >> mechanisms. >> >> So, is there any actual use case on real platform now? >> >> It seems it's just a conceptional prototype. > > It's way too big for it to be unused. > > The original BZ was <https://bugzilla.tianocore.org/show_bug.cgi?id=3812>. > > I'm sure Microsoft uses it in production. Client code for this > infrastructure may be present in Project Mu (I didn't try to check), or > in proprietary repositories. Perhaps Michael (CC'd) can share some details. > I can't speak to how it is being used everywhere but it is used in production. Other vendors have been involved (at least at various points in time). The ACPI 6.4 spec reserved the PRMT table signature. The ACPI 6.5 spec defined the _SB._OSC bit for an OS to declare PRM compatibility and define a PRM OpRegion identifier. Support has been in iasl since 20200528. The PRM spec is on uefi.org. I believe this was ultimately pushed there by Intel. https://uefi.org/sites/default/files/resources/Platform%20Runtime%20Mechanism%20-%20with%20legal%20notice.pdf It was added to edk2 to provide code for specifications on uefi.org, make it available to vendors that do not use Mu but use it, and similarly, in response to interest from others. The Code in PrmPkg is infrastructure to support loading custom handlers so it is not expected to receive a large amount of churn. > Laszlo > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#111401): https://edk2.groups.io/g/devel/message/111401 Mute This Topic: https://groups.io/mt/102640402/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [edk2-devel] question about PrmPkg 2023-11-17 16:04 ` Michael Kubacki @ 2023-11-20 2:09 ` Yoshinoya 2023-11-20 13:58 ` Michael Kubacki 2024-02-27 10:06 ` [edk2-devel] Question about SMM code privilege switch Yoshinoya 0 siblings, 2 replies; 24+ messages in thread From: Yoshinoya @ 2023-11-20 2:09 UTC (permalink / raw) To: devel, mikuback; +Cc: lersek [-- Attachment #1: Type: text/plain, Size: 2311 bytes --] Hi, Michael: Got it. It seems linux kernel has introduced PRMT support default. And ARM vendors usually use this PRMT mechnism. So how aout x86 platform? Does Win11 have supported PRMT on any X86 platform? best wishes, At 2023-11-18 00:04:26, "Michael Kubacki" <mikuback@linux.microsoft.com> wrote: >On 11/17/2023 3:42 AM, Laszlo Ersek wrote: >> On 11/17/23 03:15, Yoshinoya wrote: >>> Hi, >>> I find there is a PrmPkg in udk source code. >>> Based on its Readme.md, its goal is to offload smm code to sci os >>> mechanisms. >>> >>> So, is there any actual use case on real platform now? >>> >>> It seems it's just a conceptional prototype. >> >> It's way too big for it to be unused. >> >> The original BZ was <https://bugzilla.tianocore.org/show_bug.cgi?id=3812>. >> >> I'm sure Microsoft uses it in production. Client code for this >> infrastructure may be present in Project Mu (I didn't try to check), or >> in proprietary repositories. Perhaps Michael (CC'd) can share some details. >> >I can't speak to how it is being used everywhere but it is used in >production. Other vendors have been involved (at least at various points >in time). > >The ACPI 6.4 spec reserved the PRMT table signature. The ACPI 6.5 spec >defined the _SB._OSC bit for an OS to declare PRM compatibility and >define a PRM OpRegion identifier. Support has been in iasl since 20200528. > >The PRM spec is on uefi.org. I believe this was ultimately pushed there >by Intel. > >https://uefi.org/sites/default/files/resources/Platform%20Runtime%20Mechanism%20-%20with%20legal%20notice.pdf > >It was added to edk2 to provide code for specifications on uefi.org, >make it available to vendors that do not use Mu but use it, and >similarly, in response to interest from others. > >The Code in PrmPkg is infrastructure to support loading custom handlers >so it is not expected to receive a large amount of churn. > >> Laszlo >> >> >> >> >> > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#111433): https://edk2.groups.io/g/devel/message/111433 Mute This Topic: https://groups.io/mt/102640402/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- [-- Attachment #2: Type: text/html, Size: 4081 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [edk2-devel] question about PrmPkg 2023-11-20 2:09 ` Yoshinoya @ 2023-11-20 13:58 ` Michael Kubacki 2024-02-27 10:06 ` [edk2-devel] Question about SMM code privilege switch Yoshinoya 1 sibling, 0 replies; 24+ messages in thread From: Michael Kubacki @ 2023-11-20 13:58 UTC (permalink / raw) To: devel, yoshinoyatoko; +Cc: lersek On 11/19/2023 9:09 PM, Yoshinoya wrote: > Hi, Michael: > Got it. > > It seems linux kernel has introduced PRMT support default. > And ARM vendors usually use this PRMT mechnism. > > So how aout x86 platform? > Does Win11 have supported PRMT on any X86 platform? > Yes, support is available in Windows 11 and Windows Server 2022. I requested open source Windows driver sample code to be made available here https://github.com/microsoft/Windows-driver-samples/issues/921. > > best wishes, > > > > > > At 2023-11-18 00:04:26, "Michael Kubacki" <mikuback@linux.microsoft.com> wrote: >>On 11/17/2023 3:42 AM, Laszlo Ersek wrote: >>> On 11/17/23 03:15, Yoshinoya wrote: >>>> Hi, >>>> I find there is a PrmPkg in udk source code. >>>> Based on its Readme.md, its goal is to offload smm code to sci os >>>> mechanisms. >>>> >>>> So, is there any actual use case on real platform now? >>>> >>>> It seems it's just a conceptional prototype. >>> >>> It's way too big for it to be unused. >>> >>> The original BZ was <https://bugzilla.tianocore.org/show_bug.cgi?id=3812>. >>> >>> I'm sure Microsoft uses it in production. Client code for this >>> infrastructure may be present in Project Mu (I didn't try to check), or >>> in proprietary repositories. Perhaps Michael (CC'd) can share some details. >>> >>I can't speak to how it is being used everywhere but it is used in >>production. Other vendors have been involved (at least at various points >>in time). >> >>The ACPI 6.4 spec reserved the PRMT table signature. The ACPI 6.5 spec >>defined the _SB._OSC bit for an OS to declare PRM compatibility and >>define a PRM OpRegion identifier. Support has been in iasl since 20200528. >> >>The PRM spec is on uefi.org. I believe this was ultimately pushed there >>by Intel. >> >>https://uefi.org/sites/default/files/resources/Platform%20Runtime%20Mechanism%20-%20with%20legal%20notice.pdf >> >>It was added to edk2 to provide code for specifications on uefi.org, >>make it available to vendors that do not use Mu but use it, and >>similarly, in response to interest from others. >> >>The Code in PrmPkg is infrastructure to support loading custom handlers >>so it is not expected to receive a large amount of churn. >> >>> Laszlo >>> >>> >>> >>> >>> >> >> >> >> > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#111481): https://edk2.groups.io/g/devel/message/111481 Mute This Topic: https://groups.io/mt/102640402/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply [flat|nested] 24+ messages in thread
* [edk2-devel] Question about SMM code privilege switch 2023-11-20 2:09 ` Yoshinoya 2023-11-20 13:58 ` Michael Kubacki @ 2024-02-27 10:06 ` Yoshinoya 2024-03-04 1:20 ` Yoshinoya 1 sibling, 1 reply; 24+ messages in thread From: Yoshinoya @ 2024-02-27 10:06 UTC (permalink / raw) To: devel [-- Attachment #1: Type: text/plain, Size: 547 bytes --] Hi,I found smm code privilege switch sample code in project mu.For example : switch ring0 to ring3 through tss gate call.So, is there any plan to introduce it to udk smm sample code? Thanks -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116017): https://edk2.groups.io/g/devel/message/116017 Mute This Topic: https://groups.io/mt/104600076/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- [-- Attachment #2: Type: text/html, Size: 1288 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* [edk2-devel] Question about SMM code privilege switch 2024-02-27 10:06 ` [edk2-devel] Question about SMM code privilege switch Yoshinoya @ 2024-03-04 1:20 ` Yoshinoya 2024-05-23 2:07 ` [edk2-devel] What PTSS abbreviation means Yoshinoya 0 siblings, 1 reply; 24+ messages in thread From: Yoshinoya @ 2024-03-04 1:20 UTC (permalink / raw) To: devel [-- Attachment #1: Type: text/plain, Size: 547 bytes --] Hi,I found smm code privilege switch sample code in project mu.For example : switch ring0 to ring3 through tss gate call.So, is there any plan to introduce it to udk smm sample code? Thanks -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116296): https://edk2.groups.io/g/devel/message/116296 Mute This Topic: https://groups.io/mt/104600076/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- [-- Attachment #2: Type: text/html, Size: 1497 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* [edk2-devel] What PTSS abbreviation means 2024-03-04 1:20 ` Yoshinoya @ 2024-05-23 2:07 ` Yoshinoya 0 siblings, 0 replies; 24+ messages in thread From: Yoshinoya @ 2024-05-23 2:07 UTC (permalink / raw) To: devel [-- Attachment #1: Type: text/plain, Size: 481 bytes --] Hello I find some data struct's name has PTSS abbreviation in KabylakeOpenBoardPkg. So, what does PTSS mean? Thanks -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#119125): https://edk2.groups.io/g/devel/message/119125 Mute This Topic: https://groups.io/mt/106255754/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- [-- Attachment #2: Type: text/html, Size: 2595 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* [edk2-devel] sctpackage failed to be compile with new udk codebase 2023-11-17 2:15 ` [edk2-devel] question about PrmPkg Yoshinoya 2023-11-17 8:42 ` Laszlo Ersek @ 2024-02-05 9:49 ` Yoshinoya 1 sibling, 0 replies; 24+ messages in thread From: Yoshinoya @ 2024-02-05 9:49 UTC (permalink / raw) To: devel [-- Attachment #1: Type: text/plain, Size: 468 bytes --] Hi, I tried to compile sctpkg with latest udk codebase, but failed. Has somebody meet same question? Thanks -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#115112): https://edk2.groups.io/g/devel/message/115112 Mute This Topic: https://groups.io/mt/104173023/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- [-- Attachment #2: Type: text/html, Size: 1113 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2024-05-23 2:07 UTC | newest] Thread overview: 24+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-10-25 6:01 [edk2-devel] question about cxl device enumeration in pci bus driver Yoshinoya 2023-10-25 10:13 ` Ni, Ray 2023-10-26 2:36 ` Yoshinoya 2023-10-26 8:33 ` Gerd Hoffmann 2023-10-26 9:49 ` Laszlo Ersek 2023-10-26 13:35 ` Jonathan Cameron via groups.io 2023-10-27 1:26 ` Yoshinoya [not found] ` <1791D2898E0C74CA.20272@groups.io> 2023-10-27 1:29 ` Yoshinoya 2023-10-27 5:49 ` Ni, Ray 2023-11-06 11:20 ` Yoshinoya 2023-11-07 21:54 ` Brian J. Johnson 2023-11-17 1:41 ` Yoshinoya 2023-11-07 11:31 ` [edk2-devel] Use dynamic pcd in smm mode Yoshinoya 2023-11-07 12:45 ` Laszlo Ersek 2023-11-09 6:03 ` Yoshinoya 2023-11-17 2:15 ` [edk2-devel] question about PrmPkg Yoshinoya 2023-11-17 8:42 ` Laszlo Ersek 2023-11-17 16:04 ` Michael Kubacki 2023-11-20 2:09 ` Yoshinoya 2023-11-20 13:58 ` Michael Kubacki 2024-02-27 10:06 ` [edk2-devel] Question about SMM code privilege switch Yoshinoya 2024-03-04 1:20 ` Yoshinoya 2024-05-23 2:07 ` [edk2-devel] What PTSS abbreviation means Yoshinoya 2024-02-05 9:49 ` [edk2-devel] sctpackage failed to be compile with new udk codebase Yoshinoya
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox