2017-04-20 17:33:15

by Boris Ostrovsky

[permalink] [raw]
Subject: [PATCH] xen/pvh: Do not fill kernel's e820 map in init_pvh_bootparams()

e820 map is updated with information from the zeropage (i.e.
pvh_bootparams) by default_machine_specific_memory_setup().
With the way things are done now, we end up with a duplicated
e820 map.

Signed-off-by: Boris Ostrovsky <[email protected]>
---
This patch is against for-linus-4.12 branch. Since this is not
a critical issue I don't want to submit it to 4.11 at rc8 time
(plus it will require rebasing for-linus-4.12).


arch/x86/xen/enlighten_pvh.c | 6 ------
1 file changed, 6 deletions(-)

diff --git a/arch/x86/xen/enlighten_pvh.c b/arch/x86/xen/enlighten_pvh.c
index 331d769..7ce319a9 100644
--- a/arch/x86/xen/enlighten_pvh.c
+++ b/arch/x86/xen/enlighten_pvh.c
@@ -33,7 +33,6 @@ static void xen_pvh_arch_setup(void)
static void __init init_pvh_bootparams(void)
{
struct xen_memory_map memmap;
- unsigned int i;
int rc;

memset(&pvh_bootparams, 0, sizeof(pvh_bootparams));
@@ -60,12 +59,7 @@ static void __init init_pvh_bootparams(void)
sanitize_e820_map(pvh_bootparams.e820_map,
ARRAY_SIZE(pvh_bootparams.e820_map),
&memmap.nr_entries);
-
pvh_bootparams.e820_entries = memmap.nr_entries;
- for (i = 0; i < pvh_bootparams.e820_entries; i++)
- e820_add_region(pvh_bootparams.e820_map[i].addr,
- pvh_bootparams.e820_map[i].size,
- pvh_bootparams.e820_map[i].type);

pvh_bootparams.hdr.cmd_line_ptr =
pvh_start_info.cmdline_paddr;
--
2.7.4


2017-04-21 08:37:56

by Jürgen Groß

[permalink] [raw]
Subject: Re: [PATCH] xen/pvh: Do not fill kernel's e820 map in init_pvh_bootparams()

On 20/04/17 19:32, Boris Ostrovsky wrote:
> e820 map is updated with information from the zeropage (i.e.
> pvh_bootparams) by default_machine_specific_memory_setup().
> With the way things are done now, we end up with a duplicated
> e820 map.
>
> Signed-off-by: Boris Ostrovsky <[email protected]>

Reviewed-by: Juergen Gross <[email protected]>


Thanks,

Juergen

> ---
> This patch is against for-linus-4.12 branch. Since this is not
> a critical issue I don't want to submit it to 4.11 at rc8 time
> (plus it will require rebasing for-linus-4.12).
>
>
> arch/x86/xen/enlighten_pvh.c | 6 ------
> 1 file changed, 6 deletions(-)
>
> diff --git a/arch/x86/xen/enlighten_pvh.c b/arch/x86/xen/enlighten_pvh.c
> index 331d769..7ce319a9 100644
> --- a/arch/x86/xen/enlighten_pvh.c
> +++ b/arch/x86/xen/enlighten_pvh.c
> @@ -33,7 +33,6 @@ static void xen_pvh_arch_setup(void)
> static void __init init_pvh_bootparams(void)
> {
> struct xen_memory_map memmap;
> - unsigned int i;
> int rc;
>
> memset(&pvh_bootparams, 0, sizeof(pvh_bootparams));
> @@ -60,12 +59,7 @@ static void __init init_pvh_bootparams(void)
> sanitize_e820_map(pvh_bootparams.e820_map,
> ARRAY_SIZE(pvh_bootparams.e820_map),
> &memmap.nr_entries);
> -
> pvh_bootparams.e820_entries = memmap.nr_entries;
> - for (i = 0; i < pvh_bootparams.e820_entries; i++)
> - e820_add_region(pvh_bootparams.e820_map[i].addr,
> - pvh_bootparams.e820_map[i].size,
> - pvh_bootparams.e820_map[i].type);
>
> pvh_bootparams.hdr.cmd_line_ptr =
> pvh_start_info.cmdline_paddr;
>

2017-04-21 09:39:17

by Jürgen Groß

[permalink] [raw]
Subject: Re: [PATCH] xen/pvh: Do not fill kernel's e820 map in init_pvh_bootparams()

On 20/04/17 19:32, Boris Ostrovsky wrote:
> e820 map is updated with information from the zeropage (i.e.
> pvh_bootparams) by default_machine_specific_memory_setup().
> With the way things are done now, we end up with a duplicated
> e820 map.
>
> Signed-off-by: Boris Ostrovsky <[email protected]>
> ---
> This patch is against for-linus-4.12 branch. Since this is not
> a critical issue I don't want to submit it to 4.11 at rc8 time
> (plus it will require rebasing for-linus-4.12).
>
>
> arch/x86/xen/enlighten_pvh.c | 6 ------
> 1 file changed, 6 deletions(-)
>
> diff --git a/arch/x86/xen/enlighten_pvh.c b/arch/x86/xen/enlighten_pvh.c
> index 331d769..7ce319a9 100644
> --- a/arch/x86/xen/enlighten_pvh.c
> +++ b/arch/x86/xen/enlighten_pvh.c
> @@ -33,7 +33,6 @@ static void xen_pvh_arch_setup(void)
> static void __init init_pvh_bootparams(void)
> {
> struct xen_memory_map memmap;
> - unsigned int i;
> int rc;
>
> memset(&pvh_bootparams, 0, sizeof(pvh_bootparams));
> @@ -60,12 +59,7 @@ static void __init init_pvh_bootparams(void)
> sanitize_e820_map(pvh_bootparams.e820_map,
> ARRAY_SIZE(pvh_bootparams.e820_map),
> &memmap.nr_entries);

Sorry, only saw it now: can't you just delete the sanitize_e820_map()
call, too?


Juergen

> -
> pvh_bootparams.e820_entries = memmap.nr_entries;
> - for (i = 0; i < pvh_bootparams.e820_entries; i++)
> - e820_add_region(pvh_bootparams.e820_map[i].addr,
> - pvh_bootparams.e820_map[i].size,
> - pvh_bootparams.e820_map[i].type);
>
> pvh_bootparams.hdr.cmd_line_ptr =
> pvh_start_info.cmdline_paddr;
>