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

Re: [Xen-devel] [RFC][PATCH 3/5] tools:libxc: remove mmio BAR out of RMRR mappings



>>> On 07.08.14 at 13:02, <tiejun.chen@xxxxxxxxx> wrote:
> @@ -300,6 +302,30 @@ static int setup_guest(xc_interface *xch,
>          goto error_out;
>      }
>  
> +    /* We need to move mmio range out of RMRR mapping. */
> +    rc = xc_get_rmrr_map(xch, map, E820MAX);
> +    if (rc < 0)
> +    {
> +        PERROR("Could not get RMRR info on domain");
> +    }
> +    else if ( rc )
> +    {
> +        for ( i = 0; i < rc; i++ )
> +        {
> +            rmrr_end = map[i].addr + map[i].size + 1;
> +            if ( rmrr_end > mmio_start )
> +            {
> +                mmio_start = rmrr_end;
> +            }
> +        }

This seems way too simplistic - what if the RMRRs are referring to
memory regions extremely far apart?

> +        mmio_size = (1ull << 32) - mmio_start;

Limiting things to 4Gb?

> +        if ( mmio_size <= 0 )

mmio_size is an unsigned quantity, so this won't do what you intend.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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