[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2] x86/dom0: add extra RAM regions as UNUSABLE for PVH memory map



>>> On 03.05.18 at 16:13, <roger.pau@xxxxxxxxxx> wrote:
> Changes since v1:
>  - Report the ranges as UNUSABLE instead of RESERVED.

Ehem:

> --- a/xen/arch/x86/hvm/dom0_build.c
> +++ b/xen/arch/x86/hvm/dom0_build.c
> @@ -314,8 +314,10 @@ static __init void pvh_setup_e820(struct domain *d, 
> unsigned long nr_pages)
>  
>      /*
>       * Craft the e820 memory map for Dom0 based on the hardware e820 map.
> +     * Add an extra entry in case we have to split a RAM entry into a RAM 
> and a
> +     * RESERVED one in order to truncate it.

Here.

> @@ -323,19 +325,20 @@ static __init void pvh_setup_e820(struct domain *d, 
> unsigned long nr_pages)
>      /* Clamp e820 memory map to match the memory assigned to Dom0 */
>      for ( i = 0, entry = e820.map; i < e820.nr_map; i++, entry++ )
>      {
> +        *entry_guest = *entry;
> +
>          if ( entry->type != E820_RAM )
> -        {
> -            *entry_guest = *entry;
>              goto next;
> -        }
>  
>          if ( nr_pages == cur_pages )
>          {
>              /*
> -             * We already have all the assigned memory,
> -             * skip this entry
> +             * We already have all the requested memory, turn this RAM region
> +             * into a RESERVED region in order to prevent Dom0 from placing

And here.

> +             * BARs in this area.
>               */
> -            continue;
> +            entry_guest->type = E820_RESERVED;

And here.

> @@ -358,6 +361,12 @@ static __init void pvh_setup_e820(struct domain *d, 
> unsigned long nr_pages)
>          {
>              /* Truncate region */
>              entry_guest->size = (nr_pages - cur_pages) << PAGE_SHIFT;
> +            /* Add the remaining of the RAM region as RESERVED. */
> +            entry_guest++;
> +            d->arch.nr_e820++;
> +            entry_guest->type = E820_RESERVED;

And yet one more.

Jan



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.