wok diff linux/stuff/linux-efi.u @ rev 20334
Do not use efi shell (again)
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sat Jun 02 16:13:06 2018 +0200 (2018-06-02) |
parents | 99a7a1e955d4 |
children | 5546d3d1350b |
line diff
1.1 --- a/linux/stuff/linux-efi.u Sat Jun 02 13:53:27 2018 +0200 1.2 +++ b/linux/stuff/linux-efi.u Sat Jun 02 16:13:06 2018 +0200 1.3 @@ -103,20 +103,9 @@ 1.4 if (status != EFI_SUCCESS) 1.5 goto close_handles; 1.6 1.7 -@@ -433,8 +500,6 @@ 1.8 - } 1.9 +@@ -456,28 +523,11 @@ 1.10 1.11 - if (file_size_total) { 1.12 -- unsigned long addr; 1.13 -- 1.14 - /* 1.15 - * Multiple files need to be at consecutive addresses in memory, 1.16 - * so allocate enough memory for all the files. This is used 1.17 -@@ -454,30 +519,10 @@ 1.18 - goto free_file_total; 1.19 - } 1.20 - 1.21 -- addr = file_addr; 1.22 + addr = file_addr; 1.23 for (j = 0; j < nr_files; j++) { 1.24 - unsigned long size; 1.25 - 1.26 @@ -140,13 +129,15 @@ 1.27 - } 1.28 - 1.29 - efi_file_close(files[j].handle); 1.30 -+ status = read_efi_file(sys_table_arg, &files[j], file_addr, files[j].size); 1.31 ++ status = read_efi_file(sys_table_arg, &files[j], addr, files[j].size); 1.32 + if (status != EFI_SUCCESS) 1.33 + goto free_file_total; 1.34 ++ addr += files[j].size + 3; 1.35 ++ addr &= 0xFFFFFFFCUL; 1.36 } 1.37 1.38 } 1.39 -@@ -649,6 +694,30 @@ 1.40 +@@ -649,6 +699,30 @@ 1.41 } 1.42 1.43 if (!options_chars) { 1.44 @@ -177,7 +168,7 @@ 1.45 /* No command line options, so return empty string*/ 1.46 options = &zero; 1.47 } 1.48 -@@ -665,6 +734,7 @@ 1.49 +@@ -665,6 +739,7 @@ 1.50 s1 = efi_utf16_to_utf8(s1, s2, options_chars); 1.51 *s1 = '\0'; 1.52