]> Git Repo - J-u-boot.git/blobdiff - lib/efi_loader/efi_setup.c
efi_loader: variables PlatformLang and PlatformLangCodes
[J-u-boot.git] / lib / efi_loader / efi_setup.c
index 8266d06c2efc8ff1607b725e0497b618968d568b..a908843d87ab50d0fd989c160890fc7354905321 100644 (file)
@@ -10,6 +10,9 @@
 
 #define OBJ_LIST_NOT_INITIALIZED 1
 
+/* Language code for American English according to RFC 4646 */
+#define EN_US L"en-US"
+
 static efi_status_t efi_obj_list_initialized = OBJ_LIST_NOT_INITIALIZED;
 
 /* Initialize and populate EFI object list */
@@ -24,6 +27,30 @@ efi_status_t efi_init_obj_list(void)
         */
        efi_save_gd();
 
+       /*
+        * Variable PlatformLang defines the language that the machine has been
+        * configured for.
+        */
+       ret = EFI_CALL(efi_set_variable(L"PlatformLang",
+                                       &efi_global_variable_guid,
+                                       EFI_VARIABLE_BOOTSERVICE_ACCESS |
+                                       EFI_VARIABLE_RUNTIME_ACCESS,
+                                       sizeof(EN_US), EN_US));
+       if (ret != EFI_SUCCESS)
+               goto out;
+
+       /*
+        * Variable PlatformLangCodes defines the language codes that the
+        * machine can support.
+        */
+       ret = EFI_CALL(efi_set_variable(L"PlatformLangCodes",
+                                       &efi_global_variable_guid,
+                                       EFI_VARIABLE_BOOTSERVICE_ACCESS |
+                                       EFI_VARIABLE_RUNTIME_ACCESS,
+                                       sizeof(EN_US), EN_US));
+       if (ret != EFI_SUCCESS)
+               goto out;
+
        /* Initialize once only */
        if (efi_obj_list_initialized != OBJ_LIST_NOT_INITIALIZED)
                return efi_obj_list_initialized;
This page took 0.026009 seconds and 4 git commands to generate.