public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-devel] [PATCH edk2-platforms v4 0/4] Provide XHCI USB controller only for newer hardware
@ 2023-10-18 10:07 Marcin Juszkiewicz
  2023-10-18 10:07 ` [edk2-devel] [PATCH edk2-platforms v4 1/4] SbsaQemu: introduce macro to compare platform version Marcin Juszkiewicz
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Marcin Juszkiewicz @ 2023-10-18 10:07 UTC (permalink / raw)
  To: devel
  Cc: Leif Lindholm, Ard Biesheuvel, Jeremy Linton, Nhi Pham,
	Chuong Tran, Rebecca Cran, Marcin Juszkiewicz

Platform version 0.3 introduced XHCI USB controller instead of EHCI one.
But we did it in a way that there is no in-EDK2 check for platform
version (XHCI is always given).

This behaviour works with Linux as it complains about being unable to
initialize EHCI and goes on. Free/Net/Open BSD systems hang in such
situation.

Now we check are we on Platform Version 0.3 at least and then initialize
XHCI controller. Otherwise we disable it's node in DSDT table.

I checked several ways to handle the situation. 

SSDT overlay enabling with LocateAndInstallAcpiFromFvConfitional() was
first one but this function had only DBG2 and FACP tables.

Then looked at trying to detect XHCI from _STA method. But this is
sysbus device which is there or not without way to discover it.

Next attempt was to have variable in DSDT and to use it in _STA. Too
much trouble.

Then looked again at code from
Ampere/JadePkg/Drivers/AcpiPlatformDxe/AcpiDsdt.c and noticed
UpdateStatusMethodObject() function. Copied some code and it worked.

Booting OpenBSD reminded me to update table checksum.

Nhi Pham pointed me to AcpiLib/AcpiAmlObjectUpdateInteger() function. So
v3 got AML variable (called XHCI) which is set to 0xF (enabled, working)
by default or to 0x0 (disabled, ignore) on Platform Version below 0.3
one.

This allowed to remove copy of UpdateStatusMethodObject() function.

---
Changes in v4:
- make use of DisableXhciOnOlderPlatVer() return value

Changes in v3:
- use AML variable in DSDT

Changes in v2:
- XHCI initialized only on PlatVer 0.3+
- XHCI disabled in DSDT for older platforms
- no SSDT overlays for EHCI/XHCI
- no EHCI at all (it does not work anyway)
- no Pcd renaming

---
Marcin Juszkiewicz (4):
      SbsaQemu: introduce macro to compare platform version
      SbsaQemu: add AcpiLib
      SbsaQemu: initialize XHCI only if it exists
      SbsaQemu: disable XHCI in DSDT if not present

 Platform/Qemu/SbsaQemu/SbsaQemu.dsc                  |  2 +
 .../Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.inf      |  4 ++
 .../IndustryStandard/SbsaQemuPlatformVersion.h       | 25 ++++++++
 .../Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c        | 66 +++++++++++++++++++-
 .../SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.c        | 47 +++++++-------
 Silicon/Qemu/SbsaQemu/AcpiTables/Dsdt.asl            |  3 +-
 6 files changed, 123 insertions(+), 24 deletions(-)
---
base-commit: 06f6274d56422084281886fad447ab117fd0e487
change-id: 20231013-ehci-xhci-fix-c529356a7a8f

Best regards,
-- 
Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#109719): https://edk2.groups.io/g/devel/message/109719
Mute This Topic: https://groups.io/mt/102035950/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [edk2-devel] [PATCH edk2-platforms v4 1/4] SbsaQemu: introduce macro to compare platform version
  2023-10-18 10:07 [edk2-devel] [PATCH edk2-platforms v4 0/4] Provide XHCI USB controller only for newer hardware Marcin Juszkiewicz
@ 2023-10-18 10:07 ` Marcin Juszkiewicz
  2023-10-18 10:07 ` [edk2-devel] [PATCH edk2-platforms v4 2/4] SbsaQemu: add AcpiLib Marcin Juszkiewicz
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 12+ messages in thread
From: Marcin Juszkiewicz @ 2023-10-18 10:07 UTC (permalink / raw)
  To: devel
  Cc: Leif Lindholm, Ard Biesheuvel, Jeremy Linton, Nhi Pham,
	Chuong Tran, Rebecca Cran

We want to check "if platver < 0.3" in an easy way.
---
 .../IndustryStandard/SbsaQemuPlatformVersion.h       | 25 ++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/Silicon/Qemu/SbsaQemu/Include/IndustryStandard/SbsaQemuPlatformVersion.h b/Silicon/Qemu/SbsaQemu/Include/IndustryStandard/SbsaQemuPlatformVersion.h
new file mode 100644
index 000000000000..dd2483787002
--- /dev/null
+++ b/Silicon/Qemu/SbsaQemu/Include/IndustryStandard/SbsaQemuPlatformVersion.h
@@ -0,0 +1,25 @@
+/** @file
+*
+*  Copyright (c) Linaro Limited. All rights reserved.
+*
+*  SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+
+#ifndef SBSAQEMUPLATFORM_VERSION_H
+#define SBSAQEMUPLATFORM_VERSION_H
+
+/*
+ * Compare PlatformVersion
+ *
+ */
+
+#define PLATFORM_VERSION_LESS_THAN(Major, Minor) (     \
+  (                                                    \
+    ( PcdGet32 (PcdPlatformVersionMajor) < Major)   || \
+    (                                                  \
+      ( PcdGet32 (PcdPlatformVersionMajor) == Major) && \
+      ( PcdGet32 (PcdPlatformVersionMinor) < Minor)    \
+    )                                                  \
+  )                                                    \
+)
+#endif

-- 
2.41.0



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#109720): https://edk2.groups.io/g/devel/message/109720
Mute This Topic: https://groups.io/mt/102035951/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [edk2-devel] [PATCH edk2-platforms v4 2/4] SbsaQemu: add AcpiLib
  2023-10-18 10:07 [edk2-devel] [PATCH edk2-platforms v4 0/4] Provide XHCI USB controller only for newer hardware Marcin Juszkiewicz
  2023-10-18 10:07 ` [edk2-devel] [PATCH edk2-platforms v4 1/4] SbsaQemu: introduce macro to compare platform version Marcin Juszkiewicz
@ 2023-10-18 10:07 ` Marcin Juszkiewicz
  2023-10-18 10:07 ` [edk2-devel] [PATCH edk2-platforms v4 3/4] SbsaQemu: initialize XHCI only if it exists Marcin Juszkiewicz
  2023-10-18 10:07 ` [edk2-devel] [PATCH edk2-platforms v4 4/4] SbsaQemu: disable XHCI in DSDT if not present Marcin Juszkiewicz
  3 siblings, 0 replies; 12+ messages in thread
From: Marcin Juszkiewicz @ 2023-10-18 10:07 UTC (permalink / raw)
  To: devel
  Cc: Leif Lindholm, Ard Biesheuvel, Jeremy Linton, Nhi Pham,
	Chuong Tran, Rebecca Cran, Marcin Juszkiewicz

It will be needed for playing with disabling XHCI later.

Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
---
 Platform/Qemu/SbsaQemu/SbsaQemu.dsc | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Platform/Qemu/SbsaQemu/SbsaQemu.dsc b/Platform/Qemu/SbsaQemu/SbsaQemu.dsc
index 36723e21d7b5..1e650350cb63 100644
--- a/Platform/Qemu/SbsaQemu/SbsaQemu.dsc
+++ b/Platform/Qemu/SbsaQemu/SbsaQemu.dsc
@@ -172,6 +172,8 @@ [LibraryClasses.common]
 
   ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
 
+  AcpiLib|EmbeddedPkg/Library/AcpiLib/AcpiLib.inf
+
   ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
   ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
 

-- 
2.41.0



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#109722): https://edk2.groups.io/g/devel/message/109722
Mute This Topic: https://groups.io/mt/102035953/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [edk2-devel] [PATCH edk2-platforms v4 3/4] SbsaQemu: initialize XHCI only if it exists
  2023-10-18 10:07 [edk2-devel] [PATCH edk2-platforms v4 0/4] Provide XHCI USB controller only for newer hardware Marcin Juszkiewicz
  2023-10-18 10:07 ` [edk2-devel] [PATCH edk2-platforms v4 1/4] SbsaQemu: introduce macro to compare platform version Marcin Juszkiewicz
  2023-10-18 10:07 ` [edk2-devel] [PATCH edk2-platforms v4 2/4] SbsaQemu: add AcpiLib Marcin Juszkiewicz
@ 2023-10-18 10:07 ` Marcin Juszkiewicz
  2023-10-18 10:07 ` [edk2-devel] [PATCH edk2-platforms v4 4/4] SbsaQemu: disable XHCI in DSDT if not present Marcin Juszkiewicz
  3 siblings, 0 replies; 12+ messages in thread
From: Marcin Juszkiewicz @ 2023-10-18 10:07 UTC (permalink / raw)
  To: devel
  Cc: Leif Lindholm, Ard Biesheuvel, Jeremy Linton, Nhi Pham,
	Chuong Tran, Rebecca Cran, Marcin Juszkiewicz

We need platform version to be at least 0.3 to have XHCI
in virtual hardware. On older platforms there is non-working
EHCI which we ignore.

Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
---
 .../SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.c        | 47 +++++++++++---------
 1 file changed, 25 insertions(+), 22 deletions(-)

diff --git a/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.c b/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.c
index 36ada4270bbf..76a9cd62d4a4 100644
--- a/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.c
+++ b/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.c
@@ -15,6 +15,7 @@
 #include <Library/UefiBootServicesTableLib.h>
 #include <Library/UefiDriverEntryPoint.h>
 #include <IndustryStandard/SbsaQemuSmc.h>
+#include <IndustryStandard/SbsaQemuPlatformVersion.h>
 
 #include <Protocol/FdtClient.h>
 
@@ -57,28 +58,6 @@ InitializeSbsaQemuPlatformDxe (
     return Status;
   }
 
-  Base = (VOID*)(UINTN)PcdGet64 (PcdPlatformXhciBase);
-  ASSERT (Base != NULL);
-  Size = (UINTN)PcdGet32 (PcdPlatformXhciSize);
-  ASSERT (Size != 0);
-
-  DEBUG ((DEBUG_INFO, "%a: Got platform XHCI %llx %u\n",
-          __FUNCTION__, Base, Size));
-
-  Status = RegisterNonDiscoverableMmioDevice (
-                   NonDiscoverableDeviceTypeXhci,
-                   NonDiscoverableDeviceDmaTypeCoherent,
-                   NULL,
-                   NULL,
-                   1,
-                   Base, Size);
-
-  if (EFI_ERROR(Status)) {
-    DEBUG ((DEBUG_ERROR, "%a: NonDiscoverable: Cannot install XHCI device @%p (Staus == %r)\n",
-            __FUNCTION__, Base, Status));
-    return Status;
-  }
-
   SmcResult = ArmCallSmc0 (SIP_SVC_VERSION, &Arg0, &Arg1, NULL);
   if (SmcResult == SMC_ARCH_CALL_SUCCESS) {
     Result = PcdSet32S (PcdPlatformVersionMajor, Arg0);
@@ -118,5 +97,29 @@ InitializeSbsaQemuPlatformDxe (
 
   DEBUG ((DEBUG_INFO, "GICI base: 0x%x\n", Arg0));
 
+  if (! PLATFORM_VERSION_LESS_THAN(0, 3) ) {
+    Base = (VOID*)(UINTN)PcdGet64 (PcdPlatformXhciBase);
+    ASSERT (Base != NULL);
+    Size = (UINTN)PcdGet32 (PcdPlatformXhciSize);
+    ASSERT (Size != 0);
+
+    DEBUG ((DEBUG_INFO, "%a: Got platform XHCI %llx %u\n",
+            __FUNCTION__, Base, Size));
+
+    Status = RegisterNonDiscoverableMmioDevice (
+                     NonDiscoverableDeviceTypeXhci,
+                     NonDiscoverableDeviceDmaTypeCoherent,
+                     NULL,
+                     NULL,
+                     1,
+                     Base, Size);
+
+    if (EFI_ERROR(Status)) {
+    DEBUG ((DEBUG_ERROR, "%a: NonDiscoverable: Cannot install XHCI device @%p (Staus == %r)\n",
+            __FUNCTION__, Base, Status));
+    return Status;
+    }
+  }
+
   return EFI_SUCCESS;
 }

-- 
2.41.0



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#109721): https://edk2.groups.io/g/devel/message/109721
Mute This Topic: https://groups.io/mt/102035952/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [edk2-devel] [PATCH edk2-platforms v4 4/4] SbsaQemu: disable XHCI in DSDT if not present
  2023-10-18 10:07 [edk2-devel] [PATCH edk2-platforms v4 0/4] Provide XHCI USB controller only for newer hardware Marcin Juszkiewicz
                   ` (2 preceding siblings ...)
  2023-10-18 10:07 ` [edk2-devel] [PATCH edk2-platforms v4 3/4] SbsaQemu: initialize XHCI only if it exists Marcin Juszkiewicz
@ 2023-10-18 10:07 ` Marcin Juszkiewicz
  2023-10-18 10:32   ` Nhi Pham via groups.io
  3 siblings, 1 reply; 12+ messages in thread
From: Marcin Juszkiewicz @ 2023-10-18 10:07 UTC (permalink / raw)
  To: devel
  Cc: Leif Lindholm, Ard Biesheuvel, Jeremy Linton, Nhi Pham,
	Chuong Tran, Rebecca Cran, Marcin Juszkiewicz

We need platform version to be at least 0.3 to have XHCI
in virtual hardware. On older platforms there is non-working
EHCI which we ignore.

Set DSDT node to be disabled so operating system will not try
to initialize not-existing hardware.

Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
---
 .../Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.inf      |  4 ++
 .../Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c        | 66 +++++++++++++++++++-
 Silicon/Qemu/SbsaQemu/AcpiTables/Dsdt.asl            |  3 +-
 3 files changed, 71 insertions(+), 2 deletions(-)

diff --git a/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.inf b/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.inf
index 7c7e08e0fd3a..d5ded892d6ea 100644
--- a/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.inf
+++ b/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.inf
@@ -29,6 +29,7 @@ [Packages]
   Silicon/Qemu/SbsaQemu/SbsaQemu.dec
 
 [LibraryClasses]
+  AcpiLib
   ArmLib
   BaseMemoryLib
   BaseLib
@@ -50,6 +51,8 @@ [Pcd]
   gArmTokenSpaceGuid.PcdGicRedistributorsBase
   gArmVirtSbsaQemuPlatformTokenSpaceGuid.PcdGicItsBase
   gArmVirtSbsaQemuPlatformTokenSpaceGuid.PcdSmmuBase
+  gArmVirtSbsaQemuPlatformTokenSpaceGuid.PcdPlatformVersionMajor
+  gArmVirtSbsaQemuPlatformTokenSpaceGuid.PcdPlatformVersionMinor
 
 [Depex]
   gEfiAcpiTableProtocolGuid                       ## CONSUMES
@@ -59,6 +62,7 @@ [Guids]
 
 [Protocols]
   gEfiAcpiTableProtocolGuid                       ## CONSUMES
+  gEfiAcpiSdtProtocolGuid
 
 [FixedPcd]
   gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorId
diff --git a/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c b/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c
index fd849ca1594b..4d8a57d5a8e4 100644
--- a/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c
+++ b/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c
@@ -10,6 +10,7 @@
 #include <IndustryStandard/AcpiAml.h>
 #include <IndustryStandard/IoRemappingTable.h>
 #include <IndustryStandard/SbsaQemuAcpi.h>
+#include <IndustryStandard/SbsaQemuPlatformVersion.h>
 #include <Library/AcpiLib.h>
 #include <Library/ArmLib.h>
 #include <Library/BaseMemoryLib.h>
@@ -682,6 +683,69 @@ AddGtdtTable (
   return Status;
 }
 
+EFI_STATUS
+DisableXhciOnOlderPlatVer (
+  VOID
+  )
+{
+  EFI_STATUS            Status;
+  EFI_ACPI_SDT_PROTOCOL                       *AcpiSdtProtocol;
+  EFI_ACPI_DESCRIPTION_HEADER                 *Table;
+  UINTN                                       TableKey;
+  UINTN                                       TableIndex;
+  EFI_ACPI_HANDLE                             TableHandle;
+
+  Status = EFI_SUCCESS;
+
+  if ( PLATFORM_VERSION_LESS_THAN(0, 3) ) {
+    DEBUG ((DEBUG_ERROR, "Platform Version < 0.3 - disabling XHCI\n"));
+    Status = gBS->LocateProtocol (
+                    &gEfiAcpiSdtProtocolGuid,
+                    NULL,
+                    (VOID **)&AcpiSdtProtocol
+                    );
+    if (EFI_ERROR (Status)) {
+      DEBUG ((DEBUG_ERROR, "Unable to locate ACPI table protocol\n"));
+      return Status;
+    }
+
+    TableIndex = 0;
+    Status = AcpiLocateTableBySignature (
+               AcpiSdtProtocol,
+               EFI_ACPI_6_3_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE,
+               &TableIndex,
+               &Table,
+               &TableKey
+               );
+    if (EFI_ERROR (Status)) {
+      DEBUG ((DEBUG_ERROR, "ACPI DSDT table not found!\n"));
+      ASSERT_EFI_ERROR (Status);
+      return Status;
+    }
+
+    Status = AcpiSdtProtocol->OpenSdt (TableKey, &TableHandle);
+    if (EFI_ERROR (Status)) {
+      ASSERT_EFI_ERROR (Status);
+      AcpiSdtProtocol->Close (TableHandle);
+      return Status;
+    }
+
+    Status = AcpiAmlObjectUpdateInteger (AcpiSdtProtocol, TableHandle, "\\_SB.USB0.XHCI", 0x0);
+    if (EFI_ERROR (Status)) {
+      DEBUG ((DEBUG_ERROR, "Failed to disable XHCI!\n"));
+      ASSERT_EFI_ERROR (Status);
+      AcpiSdtProtocol->Close (TableHandle);
+      return Status;
+    }
+
+    AcpiSdtProtocol->Close (TableHandle);
+    AcpiUpdateChecksum ((UINT8 *)Table, Table->Length);
+  }
+
+  return Status;
+}
+
+
 EFI_STATUS
 EFIAPI
 InitializeSbsaQemuAcpiDxe (
@@ -738,5 +802,5 @@ InitializeSbsaQemuAcpiDxe (
     DEBUG ((DEBUG_ERROR, "Failed to add GTDT table\n"));
   }
 
-  return EFI_SUCCESS;
+  return DisableXhciOnOlderPlatVer ();
 }
diff --git a/Silicon/Qemu/SbsaQemu/AcpiTables/Dsdt.asl b/Silicon/Qemu/SbsaQemu/AcpiTables/Dsdt.asl
index 543b5782580a..ba3eefc975a5 100644
--- a/Silicon/Qemu/SbsaQemu/AcpiTables/Dsdt.asl
+++ b/Silicon/Qemu/SbsaQemu/AcpiTables/Dsdt.asl
@@ -73,8 +73,9 @@ DefinitionBlock ("DsdtTable.aml", "DSDT",
         Name (_HID, "PNP0D10")      // _HID: Hardware ID
         Name (_UID, 0x00)            // _UID: Unique ID
         Name (_CCA, 0x01)            // _CCA: Cache Coherency Attribute
+        Name (XHCI, 0xF)            // will be set using AcpiLib
         Method (_STA) {
-          Return (0xF)
+          Return (XHCI)
         }
         Method (_CRS, 0x0, Serialized) {
             Name (RBUF, ResourceTemplate() {

-- 
2.41.0



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#109723): https://edk2.groups.io/g/devel/message/109723
Mute This Topic: https://groups.io/mt/102035954/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [edk2-devel] [PATCH edk2-platforms v4 4/4] SbsaQemu: disable XHCI in DSDT if not present
  2023-10-18 10:07 ` [edk2-devel] [PATCH edk2-platforms v4 4/4] SbsaQemu: disable XHCI in DSDT if not present Marcin Juszkiewicz
@ 2023-10-18 10:32   ` Nhi Pham via groups.io
  2023-10-18 11:16     ` Marcin Juszkiewicz
  0 siblings, 1 reply; 12+ messages in thread
From: Nhi Pham via groups.io @ 2023-10-18 10:32 UTC (permalink / raw)
  To: Marcin Juszkiewicz, devel
  Cc: Leif Lindholm, Ard Biesheuvel, Jeremy Linton, Chuong Tran,
	Rebecca Cran

Acked-by: Nhi Pham <nhi@os.amperecomputing.com>

Nit: I think you want to run uncrustify for Patch 3 as well :)

Regards,
Nhi

On 10/18/2023 5:07 PM, Marcin Juszkiewicz wrote:
> We need platform version to be at least 0.3 to have XHCI
> in virtual hardware. On older platforms there is non-working
> EHCI which we ignore.
> 
> Set DSDT node to be disabled so operating system will not try
> to initialize not-existing hardware.
> 
> Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
> ---
>   .../Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.inf      |  4 ++
>   .../Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c        | 66 +++++++++++++++++++-
>   Silicon/Qemu/SbsaQemu/AcpiTables/Dsdt.asl            |  3 +-
>   3 files changed, 71 insertions(+), 2 deletions(-)
> 
> diff --git a/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.inf b/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.inf
> index 7c7e08e0fd3a..d5ded892d6ea 100644
> --- a/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.inf
> +++ b/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.inf
> @@ -29,6 +29,7 @@ [Packages]
>     Silicon/Qemu/SbsaQemu/SbsaQemu.dec
>   
>   [LibraryClasses]
> +  AcpiLib
>     ArmLib
>     BaseMemoryLib
>     BaseLib
> @@ -50,6 +51,8 @@ [Pcd]
>     gArmTokenSpaceGuid.PcdGicRedistributorsBase
>     gArmVirtSbsaQemuPlatformTokenSpaceGuid.PcdGicItsBase
>     gArmVirtSbsaQemuPlatformTokenSpaceGuid.PcdSmmuBase
> +  gArmVirtSbsaQemuPlatformTokenSpaceGuid.PcdPlatformVersionMajor
> +  gArmVirtSbsaQemuPlatformTokenSpaceGuid.PcdPlatformVersionMinor
>   
>   [Depex]
>     gEfiAcpiTableProtocolGuid                       ## CONSUMES
> @@ -59,6 +62,7 @@ [Guids]
>   
>   [Protocols]
>     gEfiAcpiTableProtocolGuid                       ## CONSUMES
> +  gEfiAcpiSdtProtocolGuid
>   
>   [FixedPcd]
>     gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorId
> diff --git a/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c b/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c
> index fd849ca1594b..4d8a57d5a8e4 100644
> --- a/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c
> +++ b/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c
> @@ -10,6 +10,7 @@
>   #include <IndustryStandard/AcpiAml.h>
>   #include <IndustryStandard/IoRemappingTable.h>
>   #include <IndustryStandard/SbsaQemuAcpi.h>
> +#include <IndustryStandard/SbsaQemuPlatformVersion.h>
>   #include <Library/AcpiLib.h>
>   #include <Library/ArmLib.h>
>   #include <Library/BaseMemoryLib.h>
> @@ -682,6 +683,69 @@ AddGtdtTable (
>     return Status;
>   }
>   
> +EFI_STATUS
> +DisableXhciOnOlderPlatVer (
> +  VOID
> +  )
> +{
> +  EFI_STATUS            Status;
> +  EFI_ACPI_SDT_PROTOCOL                       *AcpiSdtProtocol;
> +  EFI_ACPI_DESCRIPTION_HEADER                 *Table;
> +  UINTN                                       TableKey;
> +  UINTN                                       TableIndex;
> +  EFI_ACPI_HANDLE                             TableHandle;
> +
> +  Status = EFI_SUCCESS;
> +
> +  if ( PLATFORM_VERSION_LESS_THAN(0, 3) ) {
> +    DEBUG ((DEBUG_ERROR, "Platform Version < 0.3 - disabling XHCI\n"));
> +    Status = gBS->LocateProtocol (
> +                    &gEfiAcpiSdtProtocolGuid,
> +                    NULL,
> +                    (VOID **)&AcpiSdtProtocol
> +                    );
> +    if (EFI_ERROR (Status)) {
> +      DEBUG ((DEBUG_ERROR, "Unable to locate ACPI table protocol\n"));
> +      return Status;
> +    }
> +
> +    TableIndex = 0;
> +    Status = AcpiLocateTableBySignature (
> +               AcpiSdtProtocol,
> +               EFI_ACPI_6_3_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE,
> +               &TableIndex,
> +               &Table,
> +               &TableKey
> +               );
> +    if (EFI_ERROR (Status)) {
> +      DEBUG ((DEBUG_ERROR, "ACPI DSDT table not found!\n"));
> +      ASSERT_EFI_ERROR (Status);
> +      return Status;
> +    }
> +
> +    Status = AcpiSdtProtocol->OpenSdt (TableKey, &TableHandle);
> +    if (EFI_ERROR (Status)) {
> +      ASSERT_EFI_ERROR (Status);
> +      AcpiSdtProtocol->Close (TableHandle);
> +      return Status;
> +    }
> +
> +    Status = AcpiAmlObjectUpdateInteger (AcpiSdtProtocol, TableHandle, "\\_SB.USB0.XHCI", 0x0);
> +    if (EFI_ERROR (Status)) {
> +      DEBUG ((DEBUG_ERROR, "Failed to disable XHCI!\n"));
> +      ASSERT_EFI_ERROR (Status);
> +      AcpiSdtProtocol->Close (TableHandle);
> +      return Status;
> +    }
> +
> +    AcpiSdtProtocol->Close (TableHandle);
> +    AcpiUpdateChecksum ((UINT8 *)Table, Table->Length);
> +  }
> +
> +  return Status;
> +}
> +
> +
>   EFI_STATUS
>   EFIAPI
>   InitializeSbsaQemuAcpiDxe (
> @@ -738,5 +802,5 @@ InitializeSbsaQemuAcpiDxe (
>       DEBUG ((DEBUG_ERROR, "Failed to add GTDT table\n"));
>     }
>   
> -  return EFI_SUCCESS;
> +  return DisableXhciOnOlderPlatVer ();
>   }
> diff --git a/Silicon/Qemu/SbsaQemu/AcpiTables/Dsdt.asl b/Silicon/Qemu/SbsaQemu/AcpiTables/Dsdt.asl
> index 543b5782580a..ba3eefc975a5 100644
> --- a/Silicon/Qemu/SbsaQemu/AcpiTables/Dsdt.asl
> +++ b/Silicon/Qemu/SbsaQemu/AcpiTables/Dsdt.asl
> @@ -73,8 +73,9 @@ DefinitionBlock ("DsdtTable.aml", "DSDT",
>           Name (_HID, "PNP0D10")      // _HID: Hardware ID
>           Name (_UID, 0x00)            // _UID: Unique ID
>           Name (_CCA, 0x01)            // _CCA: Cache Coherency Attribute
> +        Name (XHCI, 0xF)            // will be set using AcpiLib
>           Method (_STA) {
> -          Return (0xF)
> +          Return (XHCI)
>           }
>           Method (_CRS, 0x0, Serialized) {
>               Name (RBUF, ResourceTemplate() {
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#109726): https://edk2.groups.io/g/devel/message/109726
Mute This Topic: https://groups.io/mt/102035954/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [edk2-devel] [PATCH edk2-platforms v4 4/4] SbsaQemu: disable XHCI in DSDT if not present
  2023-10-18 10:32   ` Nhi Pham via groups.io
@ 2023-10-18 11:16     ` Marcin Juszkiewicz
  2023-10-18 11:23       ` Pedro Falcato
  0 siblings, 1 reply; 12+ messages in thread
From: Marcin Juszkiewicz @ 2023-10-18 11:16 UTC (permalink / raw)
  To: Nhi Pham, devel
  Cc: Leif Lindholm, Ard Biesheuvel, Jeremy Linton, Chuong Tran,
	Rebecca Cran

W dniu 18.10.2023 o 12:32, Nhi Pham pisze:
> Acked-by: Nhi Pham <nhi@os.amperecomputing.com>
> 
> Nit: I think you want to run uncrustify for Patch 3 as well :)

Done, will check other changes too.

I have a strong feeling that Qemu part of EDK2 needs a bit
bigger patch when it comes to formatting:

  Platform/Qemu/QemuOpenBoardPkg/Include/Library/QemuOpenFwCfgLib.h                 |   7 +-
  Platform/Qemu/QemuOpenBoardPkg/Library/PeiReportFvLib/PeiReportFvLib.c            |  33 +-
  Platform/Qemu/QemuOpenBoardPkg/Library/PlatformSecLib/Ia32/SecEntry.nasm          |  99 ++-
  Platform/Qemu/QemuOpenBoardPkg/PlatformInitPei/Memory.c                           | 108 +--
  Platform/Qemu/QemuOpenBoardPkg/PlatformInitPei/Pcie.c                             |  30 +-
  Platform/Qemu/QemuOpenBoardPkg/README.md                                          |  43 +-
  Platform/Qemu/SbsaQemu/OemMiscLib/OemMiscLib.c                                    |  78 +-
  Silicon/Qemu/SbsaQemu/AcpiTables/Dbg2.aslc                                        |  31 +-
  Silicon/Qemu/SbsaQemu/AcpiTables/Dsdt.asl                                         | 808 +++++++++++---------
  Silicon/Qemu/SbsaQemu/AcpiTables/Fadt.aslc                                        |  14 +-
  Silicon/Qemu/SbsaQemu/AcpiTables/Mcfg.aslc                                        |  15 +-
  Silicon/Qemu/SbsaQemu/AcpiTables/Spcr.aslc                                        |  37 +-
  Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.c           |  48 +-
  Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuSmbiosDxe/SbsaQemuSmbiosDxe.c               | 112 ++-
  Silicon/Qemu/SbsaQemu/Include/IndustryStandard/SbsaQemuAcpi.h                     |  86 +--
  Silicon/Qemu/SbsaQemu/Include/IndustryStandard/SbsaQemuPlatformVersion.h          |  50 +-
  Silicon/Qemu/SbsaQemu/Include/IndustryStandard/SbsaQemuSmc.h                      |   4 +-
  Silicon/Qemu/SbsaQemu/Include/Library/FdtHelperLib.h                              |   2 +-
  Silicon/Qemu/SbsaQemu/Library/FdtHelperLib/FdtHelperLib.c                         |  37 +-
  Silicon/Qemu/SbsaQemu/Library/SbsaQemuLib/SbsaQemuLib.c                           |  23 +-
  Silicon/Qemu/SbsaQemu/Library/SbsaQemuLib/SbsaQemuMem.c                           |  57 +-
  Silicon/Qemu/SbsaQemu/Library/SbsaQemuNorFlashLib/SbsaQemuNorFlashLib.c           |  14 +-
  Silicon/Qemu/SbsaQemu/Library/SbsaQemuPciHostBridgeLib/SbsaQemuPciHostBridgeLib.c |  76 +-
  23 files changed, 982 insertions(+), 830 deletions(-)


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#109728): https://edk2.groups.io/g/devel/message/109728
Mute This Topic: https://groups.io/mt/102035954/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [edk2-devel] [PATCH edk2-platforms v4 4/4] SbsaQemu: disable XHCI in DSDT if not present
  2023-10-18 11:16     ` Marcin Juszkiewicz
@ 2023-10-18 11:23       ` Pedro Falcato
  2023-10-18 11:28         ` Marcin Juszkiewicz
  0 siblings, 1 reply; 12+ messages in thread
From: Pedro Falcato @ 2023-10-18 11:23 UTC (permalink / raw)
  To: devel, marcin.juszkiewicz
  Cc: Nhi Pham, Leif Lindholm, Ard Biesheuvel, Jeremy Linton,
	Chuong Tran, Rebecca Cran

On Wed, Oct 18, 2023 at 12:16 PM Marcin Juszkiewicz
<marcin.juszkiewicz@linaro.org> wrote:
>
> W dniu 18.10.2023 o 12:32, Nhi Pham pisze:
> > Acked-by: Nhi Pham <nhi@os.amperecomputing.com>
> >
> > Nit: I think you want to run uncrustify for Patch 3 as well :)
>
> Done, will check other changes too.
>
> I have a strong feeling that Qemu part of EDK2 needs a bit
> bigger patch when it comes to formatting:
>
>   Platform/Qemu/QemuOpenBoardPkg/Include/Library/QemuOpenFwCfgLib.h                 |   7 +-
>   Platform/Qemu/QemuOpenBoardPkg/Library/PeiReportFvLib/PeiReportFvLib.c            |  33 +-
>   Platform/Qemu/QemuOpenBoardPkg/Library/PlatformSecLib/Ia32/SecEntry.nasm          |  99 ++-
>   Platform/Qemu/QemuOpenBoardPkg/PlatformInitPei/Memory.c                           | 108 +--
>   Platform/Qemu/QemuOpenBoardPkg/PlatformInitPei/Pcie.c                             |  30 +-
>   Platform/Qemu/QemuOpenBoardPkg/README.md                                          |  43 +-

Something must be wrong with your config because QemuOpenBoardPkg is
and was, AFAIK, all formatted using uncrustify. And if I run it
locally, it seems to agree with me.

-- 
Pedro


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#109730): https://edk2.groups.io/g/devel/message/109730
Mute This Topic: https://groups.io/mt/102035954/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [edk2-devel] [PATCH edk2-platforms v4 4/4] SbsaQemu: disable XHCI in DSDT if not present
  2023-10-18 11:23       ` Pedro Falcato
@ 2023-10-18 11:28         ` Marcin Juszkiewicz
  2023-10-18 11:38           ` Pedro Falcato
  2023-10-18 13:36           ` Laszlo Ersek
  0 siblings, 2 replies; 12+ messages in thread
From: Marcin Juszkiewicz @ 2023-10-18 11:28 UTC (permalink / raw)
  To: Pedro Falcato, devel
  Cc: Nhi Pham, Leif Lindholm, Ard Biesheuvel, Jeremy Linton,
	Chuong Tran, Rebecca Cran

W dniu 18.10.2023 o 13:23, Pedro Falcato pisze:
> On Wed, Oct 18, 2023 at 12:16 PM Marcin Juszkiewicz
> <marcin.juszkiewicz@linaro.org> wrote:
>>
>> W dniu 18.10.2023 o 12:32, Nhi Pham pisze:
>>> Acked-by: Nhi Pham <nhi@os.amperecomputing.com>
>>>
>>> Nit: I think you want to run uncrustify for Patch 3 as well :)
>>
>> Done, will check other changes too.
>>
>> I have a strong feeling that Qemu part of EDK2 needs a bit
>> bigger patch when it comes to formatting:
>>
>>    Platform/Qemu/QemuOpenBoardPkg/Include/Library/QemuOpenFwCfgLib.h                 |   7 +-
>>    Platform/Qemu/QemuOpenBoardPkg/Library/PeiReportFvLib/PeiReportFvLib.c            |  33 +-
>>    Platform/Qemu/QemuOpenBoardPkg/Library/PlatformSecLib/Ia32/SecEntry.nasm          |  99 ++-
>>    Platform/Qemu/QemuOpenBoardPkg/PlatformInitPei/Memory.c                           | 108 +--
>>    Platform/Qemu/QemuOpenBoardPkg/PlatformInitPei/Pcie.c                             |  30 +-
>>    Platform/Qemu/QemuOpenBoardPkg/README.md                                          |  43 +-
> 
> Something must be wrong with your config because QemuOpenBoardPkg is
> and was, AFAIK, all formatted using uncrustify. And if I run it
> locally, it seems to agree with me.

EDK2 expects some random version of uncrustify.

It is not part of BaseTools so I use upstream version. And it looks like 
they format in different way using the same config file.




-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#109731): https://edk2.groups.io/g/devel/message/109731
Mute This Topic: https://groups.io/mt/102035954/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [edk2-devel] [PATCH edk2-platforms v4 4/4] SbsaQemu: disable XHCI in DSDT if not present
  2023-10-18 11:28         ` Marcin Juszkiewicz
@ 2023-10-18 11:38           ` Pedro Falcato
  2023-10-18 13:36           ` Laszlo Ersek
  1 sibling, 0 replies; 12+ messages in thread
From: Pedro Falcato @ 2023-10-18 11:38 UTC (permalink / raw)
  To: Marcin Juszkiewicz
  Cc: devel, Nhi Pham, Leif Lindholm, Ard Biesheuvel, Jeremy Linton,
	Chuong Tran, Rebecca Cran

On Wed, Oct 18, 2023 at 12:28 PM Marcin Juszkiewicz
<marcin.juszkiewicz@linaro.org> wrote:
>
> W dniu 18.10.2023 o 13:23, Pedro Falcato pisze:
> > On Wed, Oct 18, 2023 at 12:16 PM Marcin Juszkiewicz
> > <marcin.juszkiewicz@linaro.org> wrote:
> >>
> >> W dniu 18.10.2023 o 12:32, Nhi Pham pisze:
> >>> Acked-by: Nhi Pham <nhi@os.amperecomputing.com>
> >>>
> >>> Nit: I think you want to run uncrustify for Patch 3 as well :)
> >>
> >> Done, will check other changes too.
> >>
> >> I have a strong feeling that Qemu part of EDK2 needs a bit
> >> bigger patch when it comes to formatting:
> >>
> >>    Platform/Qemu/QemuOpenBoardPkg/Include/Library/QemuOpenFwCfgLib.h                 |   7 +-
> >>    Platform/Qemu/QemuOpenBoardPkg/Library/PeiReportFvLib/PeiReportFvLib.c            |  33 +-
> >>    Platform/Qemu/QemuOpenBoardPkg/Library/PlatformSecLib/Ia32/SecEntry.nasm          |  99 ++-
> >>    Platform/Qemu/QemuOpenBoardPkg/PlatformInitPei/Memory.c                           | 108 +--
> >>    Platform/Qemu/QemuOpenBoardPkg/PlatformInitPei/Pcie.c                             |  30 +-
> >>    Platform/Qemu/QemuOpenBoardPkg/README.md                                          |  43 +-
> >
> > Something must be wrong with your config because QemuOpenBoardPkg is
> > and was, AFAIK, all formatted using uncrustify. And if I run it
> > locally, it seems to agree with me.
>
> EDK2 expects some random version of uncrustify.
>
> It is not part of BaseTools so I use upstream version. And it looks like
> they format in different way using the same config file.

Right. But we used the correct uncrustify version, so things are well
formatted. I don't see the point in formatting with upstream
uncrustify, you're just going to end up misformatting everything.

Whether the current sanctioned solution is any sane at all (it is not)
is another matter, but I seriously have no stamina to discuss these
kinds of changes anymore.


-- 
Pedro


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#109733): https://edk2.groups.io/g/devel/message/109733
Mute This Topic: https://groups.io/mt/102035954/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [edk2-devel] [PATCH edk2-platforms v4 4/4] SbsaQemu: disable XHCI in DSDT if not present
  2023-10-18 11:28         ` Marcin Juszkiewicz
  2023-10-18 11:38           ` Pedro Falcato
@ 2023-10-18 13:36           ` Laszlo Ersek
  2023-10-18 14:27             ` Marcin Juszkiewicz
  1 sibling, 1 reply; 12+ messages in thread
From: Laszlo Ersek @ 2023-10-18 13:36 UTC (permalink / raw)
  To: devel, marcin.juszkiewicz, Pedro Falcato
  Cc: Nhi Pham, Leif Lindholm, Ard Biesheuvel, Jeremy Linton,
	Chuong Tran, Rebecca Cran

On 10/18/23 13:28, Marcin Juszkiewicz wrote:
> W dniu 18.10.2023 o 13:23, Pedro Falcato pisze:
>> On Wed, Oct 18, 2023 at 12:16 PM Marcin Juszkiewicz
>> <marcin.juszkiewicz@linaro.org> wrote:
>>>
>>> W dniu 18.10.2023 o 12:32, Nhi Pham pisze:
>>>> Acked-by: Nhi Pham <nhi@os.amperecomputing.com>
>>>>
>>>> Nit: I think you want to run uncrustify for Patch 3 as well :)
>>>
>>> Done, will check other changes too.
>>>
>>> I have a strong feeling that Qemu part of EDK2 needs a bit
>>> bigger patch when it comes to formatting:
>>>
>>>   
>>> Platform/Qemu/QemuOpenBoardPkg/Include/Library/QemuOpenFwCfgLib.h                 |   7 +-
>>>   
>>> Platform/Qemu/QemuOpenBoardPkg/Library/PeiReportFvLib/PeiReportFvLib.c            |  33 +-
>>>   
>>> Platform/Qemu/QemuOpenBoardPkg/Library/PlatformSecLib/Ia32/SecEntry.nasm          |  99 ++-
>>>   
>>> Platform/Qemu/QemuOpenBoardPkg/PlatformInitPei/Memory.c                           | 108 +--
>>>   
>>> Platform/Qemu/QemuOpenBoardPkg/PlatformInitPei/Pcie.c                             |  30 +-
>>>   
>>> Platform/Qemu/QemuOpenBoardPkg/README.md                                          |  43 +-
>>
>> Something must be wrong with your config because QemuOpenBoardPkg is
>> and was, AFAIK, all formatted using uncrustify. And if I run it
>> locally, it seems to agree with me.
> 
> EDK2 expects some random version of uncrustify.
> 
> It is not part of BaseTools so I use upstream version. And it looks like
> they format in different way using the same config file.

Project URL (to clone and build):

  https://projectmu@dev.azure.com/projectmu/Uncrustify/_git/Uncrustify

Command line options to pass to the binary:

  -c ${EDK2_ROOT}/.pytool/Plugin/UncrustifyCheck/uncrustify.cfg \
  --replace \
  --no-backup \
  --if-changed \

You can specify the pathnames to reformat as operands, or you can
additionally pass the "-F -" option, and then the pathnames will be read
from stdin.

Make sure you have committed or at least staged your changes, before
running this command, because these options will update the files in-place.

The only really important option is of course the "-c" one.

Laszlo



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#109748): https://edk2.groups.io/g/devel/message/109748
Mute This Topic: https://groups.io/mt/102035954/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] 12+ messages in thread

* Re: [edk2-devel] [PATCH edk2-platforms v4 4/4] SbsaQemu: disable XHCI in DSDT if not present
  2023-10-18 13:36           ` Laszlo Ersek
@ 2023-10-18 14:27             ` Marcin Juszkiewicz
  0 siblings, 0 replies; 12+ messages in thread
From: Marcin Juszkiewicz @ 2023-10-18 14:27 UTC (permalink / raw)
  To: Laszlo Ersek, devel

W dniu 18.10.2023 o 15:36, Laszlo Ersek pisze:
>> EDK2 expects some random version of uncrustify.
>>
>> It is not part of BaseTools so I use upstream version. And it looks like
>> they format in different way using the same config file.
> Project URL (to clone and build):
> 
>    https://projectmu@dev.azure.com/projectmu/Uncrustify/_git/Uncrustify
> 
> Command line options to pass to the binary:
> 
>    -c ${EDK2_ROOT}/.pytool/Plugin/UncrustifyCheck/uncrustify.cfg \
>    --replace \
>    --no-backup \
>    --if-changed \
> 
> You can specify the pathnames to reformat as operands, or you can
> additionally pass the "-F -" option, and then the pathnames will be read
> from stdin.
> 
> Make sure you have committed or at least staged your changes, before
> running this command, because these options will update the files in-place.
> 
> The only really important option is of course the "-c" one.

Thanks!


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#109755): https://edk2.groups.io/g/devel/message/109755
Mute This Topic: https://groups.io/mt/102035954/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2023-10-18 14:27 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-18 10:07 [edk2-devel] [PATCH edk2-platforms v4 0/4] Provide XHCI USB controller only for newer hardware Marcin Juszkiewicz
2023-10-18 10:07 ` [edk2-devel] [PATCH edk2-platforms v4 1/4] SbsaQemu: introduce macro to compare platform version Marcin Juszkiewicz
2023-10-18 10:07 ` [edk2-devel] [PATCH edk2-platforms v4 2/4] SbsaQemu: add AcpiLib Marcin Juszkiewicz
2023-10-18 10:07 ` [edk2-devel] [PATCH edk2-platforms v4 3/4] SbsaQemu: initialize XHCI only if it exists Marcin Juszkiewicz
2023-10-18 10:07 ` [edk2-devel] [PATCH edk2-platforms v4 4/4] SbsaQemu: disable XHCI in DSDT if not present Marcin Juszkiewicz
2023-10-18 10:32   ` Nhi Pham via groups.io
2023-10-18 11:16     ` Marcin Juszkiewicz
2023-10-18 11:23       ` Pedro Falcato
2023-10-18 11:28         ` Marcin Juszkiewicz
2023-10-18 11:38           ` Pedro Falcato
2023-10-18 13:36           ` Laszlo Ersek
2023-10-18 14:27             ` Marcin Juszkiewicz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox