|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] IOREQ server on Arm
>>> On 26.09.18 at 13:02, <Paul.Durrant@xxxxxxxxxx> wrote:
> --- a/xen/common/memory.c
> +++ b/xen/common/memory.c
> @@ -1105,8 +1105,11 @@ static int acquire_resource(
>
> for ( i = 0; !rc && i < xmar.nr_frames; i++ )
> {
> - rc = set_foreign_p2m_entry(currd, gfn_list[i],
> - _mfn(mfn_list[i]));
> + rc = (xmar.flags & XENMEM_rsrc_acq_caller_owned) ?
> + guest_physmap_add_entry(currd, gfn_list[i],
> + _mfn(mfn_list[i]), 0, p2m_ram_rw) :
> + set_foreign_p2m_entry(currd, gfn_list[i],
> + _mfn(mfn_list[i]));
> /* rc should be -EIO for any iteration other than the first */
> if ( rc && i )
> rc = -EIO;
>
> But the guest_physmap_add_entry() is problematic as it will IOMMU map pages
> as well, which is probably not wanted.
Yeah, I'd prefer if we avoided establishing IOMMU mappings here.
How about transforming set_foreign_p2m_entry() into
set_special_p2m_entry(), with a type passed in?
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |