All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 0/2] efi_loader: implement deprecated Unicode collation protocol
@ 2019-05-16 17:34 Heinrich Schuchardt
  2019-05-16 17:34 ` [U-Boot] [PATCH 1/2] efi_loader: rename Unicode collation protocol 2 variables Heinrich Schuchardt
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Heinrich Schuchardt @ 2019-05-16 17:34 UTC (permalink / raw)
  To: u-boot

In EFI 1.10 a version of the Unicode collation protocol using ISO 639-2
language codes existed. This protocol is not part of the UEFI specification
any longer. Unfortunately it is required to run the UEFI Self Certification
Test (SCT) II, version 2.6, 2017. So we implement it here for the sole
purpose of running the SCT. It can be removed once a compliant SCT is
available.

The configuration option defaults to no.

Heinrich Schuchardt (2):
  efi_loader: rename Unicode collation protocol 2 variables
  efi_loader: implement deprecated Unicode collation protocol

 include/efi_api.h                      |  5 ++++
 include/efi_loader.h                   |  9 +++++--
 lib/efi_loader/Kconfig                 | 15 ++++++++++--
 lib/efi_loader/Makefile                |  2 +-
 lib/efi_loader/efi_root_node.c         |  7 +++++-
 lib/efi_loader/efi_unicode_collation.c | 33 +++++++++++++++++++++++---
 lib/efi_selftest/Makefile              |  3 ++-
 7 files changed, 64 insertions(+), 10 deletions(-)

--
2.20.1

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

* [U-Boot] [PATCH 1/2] efi_loader: rename Unicode collation protocol 2 variables
  2019-05-16 17:34 [U-Boot] [PATCH 0/2] efi_loader: implement deprecated Unicode collation protocol Heinrich Schuchardt
@ 2019-05-16 17:34 ` Heinrich Schuchardt
  2019-05-16 17:34 ` [U-Boot] [PATCH 2/2] efi_loader: implement deprecated Unicode collation protocol Heinrich Schuchardt
  2019-05-24  1:02 ` [U-Boot] [PATCH 0/2] " AKASHI Takahiro
  2 siblings, 0 replies; 10+ messages in thread
From: Heinrich Schuchardt @ 2019-05-16 17:34 UTC (permalink / raw)
  To: u-boot

Rename variables to make it clear they refer to the Unicode collation
protocol identified by the EFI_UNICODE_PROTOCOL2_GUID.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
---
 include/efi_loader.h                   | 4 ++--
 lib/efi_loader/Kconfig                 | 4 ++--
 lib/efi_loader/Makefile                | 2 +-
 lib/efi_loader/efi_root_node.c         | 6 +++---
 lib/efi_loader/efi_unicode_collation.c | 6 +++---
 lib/efi_selftest/Makefile              | 3 ++-
 6 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/include/efi_loader.h b/include/efi_loader.h
index 07ef14ba1c..835007e179 100644
--- a/include/efi_loader.h
+++ b/include/efi_loader.h
@@ -108,7 +108,7 @@ extern const struct efi_device_path_utilities_protocol
 					efi_device_path_utilities;
 /* Implementation of the EFI_UNICODE_COLLATION_PROTOCOL */
 extern const struct efi_unicode_collation_protocol
-					efi_unicode_collation_protocol;
+					efi_unicode_collation_protocol2;
 extern const struct efi_hii_config_routing_protocol efi_hii_config_routing;
 extern const struct efi_hii_config_access_protocol efi_hii_config_access;
 extern const struct efi_hii_database_protocol efi_hii_database;
@@ -146,7 +146,7 @@ extern const efi_guid_t efi_file_info_guid;
 extern const efi_guid_t efi_file_system_info_guid;
 extern const efi_guid_t efi_guid_device_path_utilities_protocol;
 /* GUID of the Unicode collation protocol */
-extern const efi_guid_t efi_guid_unicode_collation_protocol;
+extern const efi_guid_t efi_guid_unicode_collation_protocol2;
 extern const efi_guid_t efi_guid_hii_config_routing_protocol;
 extern const efi_guid_t efi_guid_hii_config_access_protocol;
 extern const efi_guid_t efi_guid_hii_database_protocol;
diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
index 6501ee56aa..7e13ee54b2 100644
--- a/lib/efi_loader/Kconfig
+++ b/lib/efi_loader/Kconfig
@@ -36,14 +36,14 @@ config EFI_LOADER_HII
 	  U-Boot implements enough of its features to be able to run the UEFI
 	  Shell, but not more than that.

-config EFI_UNICODE_COLLATION_PROTOCOL
+config EFI_UNICODE_COLLATION_PROTOCOL2
 	bool "Unicode collation protocol"
 	default y
 	help
 	  The Unicode collation protocol is used for lexical comparisons. It is
 	  required to run the UEFI shell.

-if EFI_UNICODE_COLLATION_PROTOCOL
+if EFI_UNICODE_COLLATION_PROTOCOL2

 config EFI_UNICODE_CAPITALIZATION
 	bool "Support Unicode capitalization"
diff --git a/lib/efi_loader/Makefile b/lib/efi_loader/Makefile
index f3d6773bf6..01769ea58b 100644
--- a/lib/efi_loader/Makefile
+++ b/lib/efi_loader/Makefile
@@ -30,7 +30,7 @@ obj-y += efi_memory.o
 obj-y += efi_root_node.o
 obj-y += efi_runtime.o
 obj-y += efi_setup.o
-obj-$(CONFIG_EFI_UNICODE_COLLATION_PROTOCOL) += efi_unicode_collation.o
+obj-$(CONFIG_EFI_UNICODE_COLLATION_PROTOCOL2) += efi_unicode_collation.o
 obj-y += efi_variable.o
 obj-y += efi_watchdog.o
 obj-$(CONFIG_LCD) += efi_gop.o
diff --git a/lib/efi_loader/efi_root_node.c b/lib/efi_loader/efi_root_node.c
index d8496cc3c2..2b7277de05 100644
--- a/lib/efi_loader/efi_root_node.c
+++ b/lib/efi_loader/efi_root_node.c
@@ -60,10 +60,10 @@ efi_status_t efi_root_node_register(void)
 			 /* Device path utilities protocol */
 			 &efi_guid_device_path_utilities_protocol,
 			 (void *)&efi_device_path_utilities,
-#if CONFIG_IS_ENABLED(EFI_UNICODE_COLLATION_PROTOCOL)
+#if CONFIG_IS_ENABLED(EFI_UNICODE_COLLATION_PROTOCOL2)
 			 /* Unicode collation protocol */
-			 &efi_guid_unicode_collation_protocol,
-			 (void *)&efi_unicode_collation_protocol,
+			 &efi_guid_unicode_collation_protocol2,
+			 (void *)&efi_unicode_collation_protocol2,
 #endif
 #if CONFIG_IS_ENABLED(EFI_LOADER_HII)
 			 /* HII string protocol */
diff --git a/lib/efi_loader/efi_unicode_collation.c b/lib/efi_loader/efi_unicode_collation.c
index 7f3ea3c77e..e04a4de5b7 100644
--- a/lib/efi_loader/efi_unicode_collation.c
+++ b/lib/efi_loader/efi_unicode_collation.c
@@ -26,8 +26,8 @@ static const u16 codepage[] = CP1250;
 static const u16 codepage[] = CP437;
 #endif

-/* GUID of the EFI_UNICODE_COLLATION_PROTOCOL */
-const efi_guid_t efi_guid_unicode_collation_protocol =
+/* GUID of the EFI_UNICODE_COLLATION_PROTOCOL2 */
+const efi_guid_t efi_guid_unicode_collation_protocol2 =
 	EFI_UNICODE_COLLATION_PROTOCOL2_GUID;

 /**
@@ -318,7 +318,7 @@ static bool EFIAPI efi_str_to_fat(struct efi_unicode_collation_protocol *this,
 	return ret;
 }

-const struct efi_unicode_collation_protocol efi_unicode_collation_protocol = {
+const struct efi_unicode_collation_protocol efi_unicode_collation_protocol2 = {
 	.stri_coll = efi_stri_coll,
 	.metai_match = efi_metai_match,
 	.str_lwr = efi_str_lwr,
diff --git a/lib/efi_selftest/Makefile b/lib/efi_selftest/Makefile
index d0bebc7d0c..cfbb40c891 100644
--- a/lib/efi_selftest/Makefile
+++ b/lib/efi_selftest/Makefile
@@ -38,7 +38,8 @@ efi_selftest_variables.o \
 efi_selftest_watchdog.o

 obj-$(CONFIG_EFI_DEVICE_PATH_TO_TEXT) += efi_selftest_devicepath.o
-obj-$(CONFIG_EFI_UNICODE_COLLATION_PROTOCOL) += efi_selftest_unicode_collation.o
+obj-$(CONFIG_EFI_UNICODE_COLLATION_PROTOCOL2) += \
+efi_selftest_unicode_collation.o

 obj-$(CONFIG_CPU_V7) += efi_selftest_unaligned.o
 obj-$(CONFIG_EFI_LOADER_HII) += efi_selftest_hii.o
--
2.20.1

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

* [U-Boot] [PATCH 2/2] efi_loader: implement deprecated Unicode collation protocol
  2019-05-16 17:34 [U-Boot] [PATCH 0/2] efi_loader: implement deprecated Unicode collation protocol Heinrich Schuchardt
  2019-05-16 17:34 ` [U-Boot] [PATCH 1/2] efi_loader: rename Unicode collation protocol 2 variables Heinrich Schuchardt
@ 2019-05-16 17:34 ` Heinrich Schuchardt
  2019-05-24  1:02 ` [U-Boot] [PATCH 0/2] " AKASHI Takahiro
  2 siblings, 0 replies; 10+ messages in thread
From: Heinrich Schuchardt @ 2019-05-16 17:34 UTC (permalink / raw)
  To: u-boot

In EFI 1.10 a version of the Unicode collation protocol using ISO 639-2
language codes existed. This protocol is not part of the UEFI specification
any longer. Unfortunately it is required to run the UEFI Self Certification
Test (SCT) II, version 2.6, 2017. So we implement it here for the sole
purpose of running the SCT. It can be removed once a compliant SCT is
available.

The configuration option defaults to no.

Signed-off-by: Rob Clark <robdclark@gmail.com>

Most of Rob's original patch is already merged. Only the deprecated
protocol is missing. Rebase it and make it configurable.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
---
 include/efi_api.h                      |  5 +++++
 include/efi_loader.h                   |  7 ++++++-
 lib/efi_loader/Kconfig                 | 11 +++++++++++
 lib/efi_loader/efi_root_node.c         |  7 ++++++-
 lib/efi_loader/efi_unicode_collation.c | 27 ++++++++++++++++++++++++++
 5 files changed, 55 insertions(+), 2 deletions(-)

diff --git a/include/efi_api.h b/include/efi_api.h
index 755c405793..7dcd82b681 100644
--- a/include/efi_api.h
+++ b/include/efi_api.h
@@ -1425,6 +1425,11 @@ struct efi_driver_binding_protocol {
 	efi_handle_t driver_binding_handle;
 };

+/* Deprecated version of the Unicode collation protocol */
+#define EFI_UNICODE_COLLATION_PROTOCOL_GUID \
+	EFI_GUID(0x1d85cd7f, 0xf43d, 0x11d2, \
+		 0x9a, 0x0c, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d)
+/* Current version of the Unicode collation protocol */
 #define EFI_UNICODE_COLLATION_PROTOCOL2_GUID \
 	EFI_GUID(0xa4c751fc, 0x23ae, 0x4c3e, \
 		 0x92, 0xe9, 0x49, 0x64, 0xcf, 0x63, 0xf3, 0x49)
diff --git a/include/efi_loader.h b/include/efi_loader.h
index 835007e179..8167e6ffcb 100644
--- a/include/efi_loader.h
+++ b/include/efi_loader.h
@@ -106,7 +106,10 @@ extern const struct efi_device_path_to_text_protocol efi_device_path_to_text;
 /* implementation of the EFI_DEVICE_PATH_UTILITIES_PROTOCOL */
 extern const struct efi_device_path_utilities_protocol
 					efi_device_path_utilities;
-/* Implementation of the EFI_UNICODE_COLLATION_PROTOCOL */
+/* deprecated version of the EFI_UNICODE_COLLATION_PROTOCOL */
+extern const struct efi_unicode_collation_protocol
+					efi_unicode_collation_protocol;
+/* current version of the EFI_UNICODE_COLLATION_PROTOCOL */
 extern const struct efi_unicode_collation_protocol
 					efi_unicode_collation_protocol2;
 extern const struct efi_hii_config_routing_protocol efi_hii_config_routing;
@@ -145,6 +148,8 @@ extern const efi_guid_t efi_file_info_guid;
 /* GUID for file system information */
 extern const efi_guid_t efi_file_system_info_guid;
 extern const efi_guid_t efi_guid_device_path_utilities_protocol;
+/* GUID of the deprecated Unicode collation protocol */
+extern const efi_guid_t efi_guid_unicode_collation_protocol;
 /* GUID of the Unicode collation protocol */
 extern const efi_guid_t efi_guid_unicode_collation_protocol2;
 extern const efi_guid_t efi_guid_hii_config_routing_protocol;
diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
index 7e13ee54b2..fc04ea39d0 100644
--- a/lib/efi_loader/Kconfig
+++ b/lib/efi_loader/Kconfig
@@ -54,6 +54,17 @@ config EFI_UNICODE_CAPITALIZATION
 	  set, only the the correct handling of the letters of the codepage
 	  used by the FAT file system is ensured.

+config EFI_UNICODE_COLLATION_PROTOCOL
+	bool "Deprecated version of the Unicode collation protocol"
+	default n
+	help
+	  In EFI 1.10 a version of the Unicode collation protocol using ISO
+	  639-2 language codes existed. This protocol is not part of the UEFI
+	  specification any longer. Unfortunately it is required to run the
+	  UEFI Self Certification Test (SCT) II, version 2.6, 2017.
+
+	  Choose this option for testing only. It is bound to be removed.
+
 endif

 config EFI_LOADER_BOUNCE_BUFFER
diff --git a/lib/efi_loader/efi_root_node.c b/lib/efi_loader/efi_root_node.c
index 2b7277de05..f68b0fdc61 100644
--- a/lib/efi_loader/efi_root_node.c
+++ b/lib/efi_loader/efi_root_node.c
@@ -61,7 +61,12 @@ efi_status_t efi_root_node_register(void)
 			 &efi_guid_device_path_utilities_protocol,
 			 (void *)&efi_device_path_utilities,
 #if CONFIG_IS_ENABLED(EFI_UNICODE_COLLATION_PROTOCOL2)
-			 /* Unicode collation protocol */
+#if CONFIG_IS_ENABLED(EFI_UNICODE_COLLATION_PROTOCOL)
+			 /* Deprecated Unicode collation protocol */
+			 &efi_guid_unicode_collation_protocol,
+			 (void *)&efi_unicode_collation_protocol,
+#endif
+			 /* Current Unicode collation protocol */
 			 &efi_guid_unicode_collation_protocol2,
 			 (void *)&efi_unicode_collation_protocol2,
 #endif
diff --git a/lib/efi_loader/efi_unicode_collation.c b/lib/efi_loader/efi_unicode_collation.c
index e04a4de5b7..06fddca1c4 100644
--- a/lib/efi_loader/efi_unicode_collation.c
+++ b/lib/efi_loader/efi_unicode_collation.c
@@ -327,3 +327,30 @@ const struct efi_unicode_collation_protocol efi_unicode_collation_protocol2 = {
 	.str_to_fat = efi_str_to_fat,
 	.supported_languages = "en",
 };
+
+/*
+ * In EFI 1.10 a version of the Unicode collation protocol using ISO 639-2
+ * language codes existed. This protocol is not part of the UEFI specification
+ * any longer. Unfortunately it is required to run the UEFI Self Certification
+ * Test (SCT) II, version 2.6, 2017. So we implement it here for the sole
+ * purpose of running the SCT. It can be removed when a compliant SCT is
+ * available.
+ */
+#if CONFIG_IS_ENABLED(EFI_UNICODE_COLLATION_PROTOCOL)
+
+/* GUID of the EFI_UNICODE_COLLATION_PROTOCOL */
+const efi_guid_t efi_guid_unicode_collation_protocol =
+	EFI_UNICODE_COLLATION_PROTOCOL_GUID;
+
+const struct efi_unicode_collation_protocol efi_unicode_collation_protocol = {
+	.stri_coll = efi_stri_coll,
+	.metai_match = efi_metai_match,
+	.str_lwr = efi_str_lwr,
+	.str_upr = efi_str_upr,
+	.fat_to_str = efi_fat_to_str,
+	.str_to_fat = efi_str_to_fat,
+	/* ISO 639-2 language code */
+	.supported_languages = "eng",
+};
+
+#endif
--
2.20.1

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

* [U-Boot] [PATCH 0/2] efi_loader: implement deprecated Unicode collation protocol
  2019-05-16 17:34 [U-Boot] [PATCH 0/2] efi_loader: implement deprecated Unicode collation protocol Heinrich Schuchardt
  2019-05-16 17:34 ` [U-Boot] [PATCH 1/2] efi_loader: rename Unicode collation protocol 2 variables Heinrich Schuchardt
  2019-05-16 17:34 ` [U-Boot] [PATCH 2/2] efi_loader: implement deprecated Unicode collation protocol Heinrich Schuchardt
@ 2019-05-24  1:02 ` AKASHI Takahiro
  2019-05-24  5:12   ` Heinrich Schuchardt
  2 siblings, 1 reply; 10+ messages in thread
From: AKASHI Takahiro @ 2019-05-24  1:02 UTC (permalink / raw)
  To: u-boot

Heinrich,

On Thu, May 16, 2019 at 07:34:54PM +0200, Heinrich Schuchardt wrote:
> In EFI 1.10 a version of the Unicode collation protocol using ISO 639-2
> language codes existed. This protocol is not part of the UEFI specification
> any longer. Unfortunately it is required to run the UEFI Self Certification
> Test (SCT) II, version 2.6, 2017. So we implement it here for the sole
> purpose of running the SCT. It can be removed once a compliant SCT is
> available.

I remember that Alex always rejected this kind of patch, saying
that an upstream (SCT in this case) should be fixed in the first place.

Do you want to change this policy?
(I'm just asking.)

-Takahiro Akashi

> The configuration option defaults to no.
> 
> Heinrich Schuchardt (2):
>   efi_loader: rename Unicode collation protocol 2 variables
>   efi_loader: implement deprecated Unicode collation protocol
> 
>  include/efi_api.h                      |  5 ++++
>  include/efi_loader.h                   |  9 +++++--
>  lib/efi_loader/Kconfig                 | 15 ++++++++++--
>  lib/efi_loader/Makefile                |  2 +-
>  lib/efi_loader/efi_root_node.c         |  7 +++++-
>  lib/efi_loader/efi_unicode_collation.c | 33 +++++++++++++++++++++++---
>  lib/efi_selftest/Makefile              |  3 ++-
>  7 files changed, 64 insertions(+), 10 deletions(-)
> 
> --
> 2.20.1
> 

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

* [U-Boot] [PATCH 0/2] efi_loader: implement deprecated Unicode collation protocol
  2019-05-24  1:02 ` [U-Boot] [PATCH 0/2] " AKASHI Takahiro
@ 2019-05-24  5:12   ` Heinrich Schuchardt
  2019-05-24  7:22     ` AKASHI Takahiro
  2019-05-24 13:30     ` Peter Robinson
  0 siblings, 2 replies; 10+ messages in thread
From: Heinrich Schuchardt @ 2019-05-24  5:12 UTC (permalink / raw)
  To: u-boot

On 5/24/19 3:02 AM, AKASHI Takahiro wrote:
> Heinrich,
>
> On Thu, May 16, 2019 at 07:34:54PM +0200, Heinrich Schuchardt wrote:
>> In EFI 1.10 a version of the Unicode collation protocol using ISO 639-2
>> language codes existed. This protocol is not part of the UEFI specification
>> any longer. Unfortunately it is required to run the UEFI Self Certification
>> Test (SCT) II, version 2.6, 2017. So we implement it here for the sole
>> purpose of running the SCT. It can be removed once a compliant SCT is
>> available.
>
> I remember that Alex always rejected this kind of patch, saying
> that an upstream (SCT in this case) should be fixed in the first place.
>
> Do you want to change this policy?
> (I'm just asking.)

I am using SCT a lot to test my patches. I want to be able to run the
tests on the final code.

I have raised a ticket for upstream SCT but did not see any reaction up
to now.

Making this deprecated protocol a config option deselected by default is
the most plausible solution to me. In the Kconfig comment I made it
clear that this protocol is going to be removed when the SCT has been
corrected.

Best regards

Heinrich

>
> -Takahiro Akashi
>
>> The configuration option defaults to no.
>>
>> Heinrich Schuchardt (2):
>>   efi_loader: rename Unicode collation protocol 2 variables
>>   efi_loader: implement deprecated Unicode collation protocol
>>
>>  include/efi_api.h                      |  5 ++++
>>  include/efi_loader.h                   |  9 +++++--
>>  lib/efi_loader/Kconfig                 | 15 ++++++++++--
>>  lib/efi_loader/Makefile                |  2 +-
>>  lib/efi_loader/efi_root_node.c         |  7 +++++-
>>  lib/efi_loader/efi_unicode_collation.c | 33 +++++++++++++++++++++++---
>>  lib/efi_selftest/Makefile              |  3 ++-
>>  7 files changed, 64 insertions(+), 10 deletions(-)
>>
>> --
>> 2.20.1
>>
>

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

* [U-Boot] [PATCH 0/2] efi_loader: implement deprecated Unicode collation protocol
  2019-05-24  5:12   ` Heinrich Schuchardt
@ 2019-05-24  7:22     ` AKASHI Takahiro
  2019-05-24 13:30     ` Peter Robinson
  1 sibling, 0 replies; 10+ messages in thread
From: AKASHI Takahiro @ 2019-05-24  7:22 UTC (permalink / raw)
  To: u-boot

On Fri, May 24, 2019 at 07:12:37AM +0200, Heinrich Schuchardt wrote:
> On 5/24/19 3:02 AM, AKASHI Takahiro wrote:
> > Heinrich,
> >
> > On Thu, May 16, 2019 at 07:34:54PM +0200, Heinrich Schuchardt wrote:
> >> In EFI 1.10 a version of the Unicode collation protocol using ISO 639-2
> >> language codes existed. This protocol is not part of the UEFI specification
> >> any longer. Unfortunately it is required to run the UEFI Self Certification
> >> Test (SCT) II, version 2.6, 2017. So we implement it here for the sole
> >> purpose of running the SCT. It can be removed once a compliant SCT is
> >> available.
> >
> > I remember that Alex always rejected this kind of patch, saying
> > that an upstream (SCT in this case) should be fixed in the first place.
> >
> > Do you want to change this policy?
> > (I'm just asking.)
> 
> I am using SCT a lot to test my patches. I want to be able to run the
> tests on the final code.
> 
> I have raised a ticket for upstream SCT but did not see any reaction up
> to now.

but less than two weeks have passed. Why not ping again?

> Making this deprecated protocol a config option deselected by default is
> the most plausible solution to me. In the Kconfig comment I made it
> clear that this protocol is going to be removed when the SCT has been
> corrected.

It is likely that your patch will be reverted soon in 2019.09.
(I don't know release cycle of UEFI SCT though.)
I believe that such a patch should be maintained only in your local repository.

-Takahiro Akashi


> Best regards
> 
> Heinrich
> 
> >
> > -Takahiro Akashi
> >
> >> The configuration option defaults to no.
> >>
> >> Heinrich Schuchardt (2):
> >>   efi_loader: rename Unicode collation protocol 2 variables
> >>   efi_loader: implement deprecated Unicode collation protocol
> >>
> >>  include/efi_api.h                      |  5 ++++
> >>  include/efi_loader.h                   |  9 +++++--
> >>  lib/efi_loader/Kconfig                 | 15 ++++++++++--
> >>  lib/efi_loader/Makefile                |  2 +-
> >>  lib/efi_loader/efi_root_node.c         |  7 +++++-
> >>  lib/efi_loader/efi_unicode_collation.c | 33 +++++++++++++++++++++++---
> >>  lib/efi_selftest/Makefile              |  3 ++-
> >>  7 files changed, 64 insertions(+), 10 deletions(-)
> >>
> >> --
> >> 2.20.1
> >>
> >
> 

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

* [U-Boot] [PATCH 0/2] efi_loader: implement deprecated Unicode collation protocol
  2019-05-24  5:12   ` Heinrich Schuchardt
  2019-05-24  7:22     ` AKASHI Takahiro
@ 2019-05-24 13:30     ` Peter Robinson
  2019-05-24 18:52       ` Heinrich Schuchardt
  2019-05-29 10:09       ` Alexander Graf
  1 sibling, 2 replies; 10+ messages in thread
From: Peter Robinson @ 2019-05-24 13:30 UTC (permalink / raw)
  To: u-boot

On Fri, May 24, 2019 at 6:19 AM Heinrich Schuchardt <xypron.glpk@gmx.de> wrote:
>
> On 5/24/19 3:02 AM, AKASHI Takahiro wrote:
> > Heinrich,
> >
> > On Thu, May 16, 2019 at 07:34:54PM +0200, Heinrich Schuchardt wrote:
> >> In EFI 1.10 a version of the Unicode collation protocol using ISO 639-2
> >> language codes existed. This protocol is not part of the UEFI specification
> >> any longer. Unfortunately it is required to run the UEFI Self Certification
> >> Test (SCT) II, version 2.6, 2017. So we implement it here for the sole
> >> purpose of running the SCT. It can be removed once a compliant SCT is
> >> available.
> >
> > I remember that Alex always rejected this kind of patch, saying
> > that an upstream (SCT in this case) should be fixed in the first place.
> >
> > Do you want to change this policy?
> > (I'm just asking.)
>
> I am using SCT a lot to test my patches. I want to be able to run the
> tests on the final code.

Wouldn't it be better to patch/fork the upstream SCT that blindly
pulling in obsolete code that is basically already dead?

> I have raised a ticket for upstream SCT but did not see any reaction up
> to now.

Got a reference to the ticket?

> Making this deprecated protocol a config option deselected by default is
> the most plausible solution to me. In the Kconfig comment I made it
> clear that this protocol is going to be removed when the SCT has been
> corrected.

I disagree, I think if it's obsolete not having the code in the first
case in the most plausible option IMO.

> Best regards
>
> Heinrich
>
> >
> > -Takahiro Akashi
> >
> >> The configuration option defaults to no.
> >>
> >> Heinrich Schuchardt (2):
> >>   efi_loader: rename Unicode collation protocol 2 variables
> >>   efi_loader: implement deprecated Unicode collation protocol
> >>
> >>  include/efi_api.h                      |  5 ++++
> >>  include/efi_loader.h                   |  9 +++++--
> >>  lib/efi_loader/Kconfig                 | 15 ++++++++++--
> >>  lib/efi_loader/Makefile                |  2 +-
> >>  lib/efi_loader/efi_root_node.c         |  7 +++++-
> >>  lib/efi_loader/efi_unicode_collation.c | 33 +++++++++++++++++++++++---
> >>  lib/efi_selftest/Makefile              |  3 ++-
> >>  7 files changed, 64 insertions(+), 10 deletions(-)
> >>
> >> --
> >> 2.20.1
> >>
> >
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot

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

* [U-Boot] [PATCH 0/2] efi_loader: implement deprecated Unicode collation protocol
  2019-05-24 13:30     ` Peter Robinson
@ 2019-05-24 18:52       ` Heinrich Schuchardt
  2019-05-29 10:09       ` Alexander Graf
  1 sibling, 0 replies; 10+ messages in thread
From: Heinrich Schuchardt @ 2019-05-24 18:52 UTC (permalink / raw)
  To: u-boot

On 5/24/19 3:30 PM, Peter Robinson wrote:
> On Fri, May 24, 2019 at 6:19 AM Heinrich Schuchardt <xypron.glpk@gmx.de> wrote:
>>
>> On 5/24/19 3:02 AM, AKASHI Takahiro wrote:
>>> Heinrich,
>>>
>>> On Thu, May 16, 2019 at 07:34:54PM +0200, Heinrich Schuchardt wrote:
>>>> In EFI 1.10 a version of the Unicode collation protocol using ISO 639-2
>>>> language codes existed. This protocol is not part of the UEFI specification
>>>> any longer. Unfortunately it is required to run the UEFI Self Certification
>>>> Test (SCT) II, version 2.6, 2017. So we implement it here for the sole
>>>> purpose of running the SCT. It can be removed once a compliant SCT is
>>>> available.
>>>
>>> I remember that Alex always rejected this kind of patch, saying
>>> that an upstream (SCT in this case) should be fixed in the first place.
>>>
>>> Do you want to change this policy?
>>> (I'm just asking.)
>>
>> I am using SCT a lot to test my patches. I want to be able to run the
>> tests on the final code.
>
> Wouldn't it be better to patch/fork the upstream SCT that blindly
> pulling in obsolete code that is basically already dead?

If you could submit a patch for SCT, that surely would help.

>
>> I have raised a ticket for upstream SCT but did not see any reaction up
>> to now.
>
> Got a reference to the ticket?

https://bugzilla.tianocore.org/show_bug.cgi?id=1802

Best regards

Heinrich

>
>> Making this deprecated protocol a config option deselected by default is
>> the most plausible solution to me. In the Kconfig comment I made it
>> clear that this protocol is going to be removed when the SCT has been
>> corrected.
>
> I disagree, I think if it's obsolete not having the code in the first
> case in the most plausible option IMO.
>
>> Best regards
>>
>> Heinrich
>>
>>>
>>> -Takahiro Akashi
>>>
>>>> The configuration option defaults to no.
>>>>
>>>> Heinrich Schuchardt (2):
>>>>   efi_loader: rename Unicode collation protocol 2 variables
>>>>   efi_loader: implement deprecated Unicode collation protocol
>>>>
>>>>  include/efi_api.h                      |  5 ++++
>>>>  include/efi_loader.h                   |  9 +++++--
>>>>  lib/efi_loader/Kconfig                 | 15 ++++++++++--
>>>>  lib/efi_loader/Makefile                |  2 +-
>>>>  lib/efi_loader/efi_root_node.c         |  7 +++++-
>>>>  lib/efi_loader/efi_unicode_collation.c | 33 +++++++++++++++++++++++---
>>>>  lib/efi_selftest/Makefile              |  3 ++-
>>>>  7 files changed, 64 insertions(+), 10 deletions(-)
>>>>
>>>> --
>>>> 2.20.1
>>>>
>>>
>>
>> _______________________________________________
>> U-Boot mailing list
>> U-Boot at lists.denx.de
>> https://lists.denx.de/listinfo/u-boot
>

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

* [U-Boot] [PATCH 0/2] efi_loader: implement deprecated Unicode collation protocol
  2019-05-24 13:30     ` Peter Robinson
  2019-05-24 18:52       ` Heinrich Schuchardt
@ 2019-05-29 10:09       ` Alexander Graf
  2019-05-29 10:33         ` Leif Lindholm
  1 sibling, 1 reply; 10+ messages in thread
From: Alexander Graf @ 2019-05-29 10:09 UTC (permalink / raw)
  To: u-boot


On 24.05.19 15:30, Peter Robinson wrote:
> On Fri, May 24, 2019 at 6:19 AM Heinrich Schuchardt <xypron.glpk@gmx.de> wrote:
>> On 5/24/19 3:02 AM, AKASHI Takahiro wrote:
>>> Heinrich,
>>>
>>> On Thu, May 16, 2019 at 07:34:54PM +0200, Heinrich Schuchardt wrote:
>>>> In EFI 1.10 a version of the Unicode collation protocol using ISO 639-2
>>>> language codes existed. This protocol is not part of the UEFI specification
>>>> any longer. Unfortunately it is required to run the UEFI Self Certification
>>>> Test (SCT) II, version 2.6, 2017. So we implement it here for the sole
>>>> purpose of running the SCT. It can be removed once a compliant SCT is
>>>> available.
>>> I remember that Alex always rejected this kind of patch, saying
>>> that an upstream (SCT in this case) should be fixed in the first place.
>>>
>>> Do you want to change this policy?
>>> (I'm just asking.)
>> I am using SCT a lot to test my patches. I want to be able to run the
>> tests on the final code.
> Wouldn't it be better to patch/fork the upstream SCT that blindly
> pulling in obsolete code that is basically already dead?
>
>> I have raised a ticket for upstream SCT but did not see any reaction up
>> to now.
> Got a reference to the ticket?
>
>> Making this deprecated protocol a config option deselected by default is
>> the most plausible solution to me. In the Kconfig comment I made it
>> clear that this protocol is going to be removed when the SCT has been
>> corrected.
> I disagree, I think if it's obsolete not having the code in the first
> case in the most plausible option IMO.


Since it's hidden behind a default-n config option, I'd not be terribly 
opposed to it. I do agree that fixing SCT is the better path forward.

Leif, how long do you think fixing this properly in SCT is going to take?


Alex

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

* [U-Boot] [PATCH 0/2] efi_loader: implement deprecated Unicode collation protocol
  2019-05-29 10:09       ` Alexander Graf
@ 2019-05-29 10:33         ` Leif Lindholm
  0 siblings, 0 replies; 10+ messages in thread
From: Leif Lindholm @ 2019-05-29 10:33 UTC (permalink / raw)
  To: u-boot

On Wed, May 29, 2019 at 12:09:43PM +0200, Alexander Graf wrote:
> > > > Do you want to change this policy?
> > > > (I'm just asking.)
> > > I am using SCT a lot to test my patches. I want to be able to run the
> > > tests on the final code.
> > Wouldn't it be better to patch/fork the upstream SCT that blindly
> > pulling in obsolete code that is basically already dead?
> > 
> > > I have raised a ticket for upstream SCT but did not see any reaction up
> > > to now.
> > Got a reference to the ticket?
> > 
> > > Making this deprecated protocol a config option deselected by default is
> > > the most plausible solution to me. In the Kconfig comment I made it
> > > clear that this protocol is going to be removed when the SCT has been
> > > corrected.
> > I disagree, I think if it's obsolete not having the code in the first
> > case in the most plausible option IMO.
> 
> Since it's hidden behind a default-n config option, I'd not be terribly
> opposed to it. I do agree that fixing SCT is the better path forward.
> 
> Leif, how long do you think fixing this properly in SCT is going to take?

Well, as usual, patches welcome :)

However, I think the problem is more that the separate SCT area of
bugzilla is a fairly recent addition and they forgot to change the
default assignee to someone who actually works on SCT...

I have now added the SCT maintainers to cc on
https://bugzilla.tianocore.org/show_bug.cgi?id=1802

/
    Leif

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

end of thread, other threads:[~2019-05-29 10:33 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-16 17:34 [U-Boot] [PATCH 0/2] efi_loader: implement deprecated Unicode collation protocol Heinrich Schuchardt
2019-05-16 17:34 ` [U-Boot] [PATCH 1/2] efi_loader: rename Unicode collation protocol 2 variables Heinrich Schuchardt
2019-05-16 17:34 ` [U-Boot] [PATCH 2/2] efi_loader: implement deprecated Unicode collation protocol Heinrich Schuchardt
2019-05-24  1:02 ` [U-Boot] [PATCH 0/2] " AKASHI Takahiro
2019-05-24  5:12   ` Heinrich Schuchardt
2019-05-24  7:22     ` AKASHI Takahiro
2019-05-24 13:30     ` Peter Robinson
2019-05-24 18:52       ` Heinrich Schuchardt
2019-05-29 10:09       ` Alexander Graf
2019-05-29 10:33         ` Leif Lindholm

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.