[Linaro-uefi,v7,1/3] arm64: add "--nounzip" option support in xen_module command

Message ID 20170502070627.11389-2-fu.wei@linaro.org
State New
Headers show
Series
  • arm64, xen: add xen_boot support into grup-mkconfig
Related show

Commit Message

Fu Wei May 2, 2017, 7:06 a.m.
From: Fu Wei <fu.wei@linaro.org>

This patch adds "--nounzip" option support in order to
be compatible with the module command of multiboot on other architecture,
by this way we can simplify grub-mkconfig support code.

This patch also allow us to use zip compressed module(like Linux kernel
"vmlinuz*" for Dom0).

Signed-off-by: Fu Wei <fu.wei@linaro.org>
---
 grub-core/loader/arm64/xen_boot.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

Comments

Vladimir 'phcoder' Serbinenko May 9, 2017, 6:56 a.m. | #1
Le Tue, May 2, 2017 à 9:06 AM, <fu.wei@linaro.org> a écrit :

> From: Fu Wei <fu.wei@linaro.org>

>

> This patch adds "--nounzip" option support in order to

> be compatible with the module command of multiboot on other architecture,

> by this way we can simplify grub-mkconfig support code.

>

> This patch also allow us to use zip compressed module(like Linux kernel

> "vmlinuz*" for Dom0).

>

> Signed-off-by: Fu Wei <fu.wei@linaro.org>

> ---

>  grub-core/loader/arm64/xen_boot.c | 17 +++++++++++++++++

>  1 file changed, 17 insertions(+)

>

> diff --git a/grub-core/loader/arm64/xen_boot.c

> b/grub-core/loader/arm64/xen_boot.c

> index a914eb8..0878364 100644

> --- a/grub-core/loader/arm64/xen_boot.c

> +++ b/grub-core/loader/arm64/xen_boot.c

> @@ -20,6 +20,7 @@

>  #include <grub/charset.h>

>  #include <grub/command.h>

>  #include <grub/err.h>

> +#include <grub/env.h>

>

This looks like spurious hunk.

>  #include <grub/file.h>

>  #include <grub/fdt.h>

>  #include <grub/list.h>

> @@ -379,6 +380,20 @@ grub_cmd_xen_module (grub_command_t cmd

> __attribute__((unused)),

>

>    struct xen_boot_binary *module = NULL;

>    grub_file_t file = 0;

> +  int nounzip = 0;

> +

> +  if (!argc)

> +    {

> +      grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected"));

> +      goto fail;

> +    }

> +

> +  if (grub_strcmp (argv[0], "--nounzip") == 0)

> +    {

> +      argv++;

> +      argc--;

> +      nounzip = 1;

> +    }

>

>    if (!argc)

>      {

> @@ -403,6 +418,8 @@ grub_cmd_xen_module (grub_command_t cmd

> __attribute__((unused)),

>

>    grub_dprintf ("xen_loader", "Init module and node info\n");

>

> +  if (nounzip)

> +    grub_file_filter_disable_compression ();

>    file = grub_file_open (argv[0]);

>    if (!file)

>      goto fail;

> --

> 2.9.3

>

>
Fu Wei May 9, 2017, 8:42 a.m. | #2
Hi Vladimir,

On 9 May 2017 at 14:56, Vladimir 'phcoder' Serbinenko <phcoder@gmail.com> wrote:
>
>
> Le Tue, May 2, 2017 à 9:06 AM, <fu.wei@linaro.org> a écrit :
>>
>> From: Fu Wei <fu.wei@linaro.org>
>>
>> This patch adds "--nounzip" option support in order to
>> be compatible with the module command of multiboot on other architecture,
>> by this way we can simplify grub-mkconfig support code.
>>
>> This patch also allow us to use zip compressed module(like Linux kernel
>> "vmlinuz*" for Dom0).
>>
>> Signed-off-by: Fu Wei <fu.wei@linaro.org>
>> ---
>>  grub-core/loader/arm64/xen_boot.c | 17 +++++++++++++++++
>>  1 file changed, 17 insertions(+)
>>
>> diff --git a/grub-core/loader/arm64/xen_boot.c
>> b/grub-core/loader/arm64/xen_boot.c
>> index a914eb8..0878364 100644
>> --- a/grub-core/loader/arm64/xen_boot.c
>> +++ b/grub-core/loader/arm64/xen_boot.c
>> @@ -20,6 +20,7 @@
>>  #include <grub/charset.h>
>>  #include <grub/command.h>
>>  #include <grub/err.h>
>> +#include <grub/env.h>
>
> This looks like spurious hunk.

Yes, we don't need this headfile to build xen_boot.
will delete it
Thanks,

>>
>>  #include <grub/file.h>
>>  #include <grub/fdt.h>
>>  #include <grub/list.h>
>> @@ -379,6 +380,20 @@ grub_cmd_xen_module (grub_command_t cmd
>> __attribute__((unused)),
>>
>>    struct xen_boot_binary *module = NULL;
>>    grub_file_t file = 0;
>> +  int nounzip = 0;
>> +
>> +  if (!argc)
>> +    {
>> +      grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected"));
>> +      goto fail;
>> +    }
>> +
>> +  if (grub_strcmp (argv[0], "--nounzip") == 0)
>> +    {
>> +      argv++;
>> +      argc--;
>> +      nounzip = 1;
>> +    }
>>
>>    if (!argc)
>>      {
>> @@ -403,6 +418,8 @@ grub_cmd_xen_module (grub_command_t cmd
>> __attribute__((unused)),
>>
>>    grub_dprintf ("xen_loader", "Init module and node info\n");
>>
>> +  if (nounzip)
>> +    grub_file_filter_disable_compression ();
>>    file = grub_file_open (argv[0]);
>>    if (!file)
>>      goto fail;
>> --
>> 2.9.3
>>
>

Patch hide | download patch | download mbox

diff --git a/grub-core/loader/arm64/xen_boot.c b/grub-core/loader/arm64/xen_boot.c
index a914eb8..0878364 100644
--- a/grub-core/loader/arm64/xen_boot.c
+++ b/grub-core/loader/arm64/xen_boot.c
@@ -20,6 +20,7 @@ 
 #include <grub/charset.h>
 #include <grub/command.h>
 #include <grub/err.h>
+#include <grub/env.h>
 #include <grub/file.h>
 #include <grub/fdt.h>
 #include <grub/list.h>
@@ -379,6 +380,20 @@  grub_cmd_xen_module (grub_command_t cmd __attribute__((unused)),
 
   struct xen_boot_binary *module = NULL;
   grub_file_t file = 0;
+  int nounzip = 0;
+
+  if (!argc)
+    {
+      grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected"));
+      goto fail;
+    }
+
+  if (grub_strcmp (argv[0], "--nounzip") == 0)
+    {
+      argv++;
+      argc--;
+      nounzip = 1;
+    }
 
   if (!argc)
     {
@@ -403,6 +418,8 @@  grub_cmd_xen_module (grub_command_t cmd __attribute__((unused)),
 
   grub_dprintf ("xen_loader", "Init module and node info\n");
 
+  if (nounzip)
+    grub_file_filter_disable_compression ();
   file = grub_file_open (argv[0]);
   if (!file)
     goto fail;