|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v12.2 09/15] vpci/header: program p2m with guest BAR view
On Tue, Jan 16, 2024 at 10:01:24PM -0500, Stewart Hildebrand wrote:
> On 1/15/24 14:44, Stewart Hildebrand wrote:
> > diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> > index feccd070ddd0..8483404c5e91 100644
> > --- a/xen/drivers/vpci/header.c
> > +++ b/xen/drivers/vpci/header.c
> > @@ -41,13 +42,24 @@ static int cf_check map_range(
> > unsigned long s, unsigned long e, void *data, unsigned long *c)
> > {
> > const struct map_data *map = data;
> > + /* Start address of the BAR as seen by the guest. */
> > + unsigned long start_gfn = PFN_DOWN(map->bar->guest_addr);
> > + /* Physical start address of the BAR. */
> > + unsigned long start_mfn = PFN_DOWN(map->bar->addr);
> > int rc;
> >
> > for ( ; ; )
> > {
> > unsigned long size = e - s + 1;
> > + /*
> > + * Ranges to be mapped don't always start at the BAR start
> > address, as
> > + * there can be holes or partially consumed ranges. Account for the
> > + * offset of the current address from the BAR start.
> > + */
> > + unsigned long map_mfn = start_mfn + s - start_gfn;
> > + unsigned long m_end = map_mfn + size - 1;
> >
> > - if ( !iomem_access_permitted(map->d, s, e) )
> > + if ( !iomem_access_permitted(map->d, map_mfn, m_end) )
>
> Nit: since this check will now use map_mfn and m_end...
>
> > {
> > printk(XENLOG_G_WARNING
> > "%pd denied access to MMIO range [%#lx, %#lx]\n",
> > map->d, s, e);
>
> ... I'd like to also update the arguments passed to this print statement.
Indeed. You will need a new version.
Thanks, Roger.
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |