xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Shannon Zhao <shannon.zhao@linaro.org>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Julien Grall <julien.grall@arm.com>
Cc: xen-devel@lists.xen.org, stefano.stabellini@citrix.com,
	peter.huangpeng@huawei.com,
	Shannon Zhao <zhaoshenglong@huawei.com>
Subject: Re: [PATCH v6 17/22] arm/gic: Add a new callback to deny Dom0 access to GIC regions
Date: Thu, 24 Mar 2016 23:03:55 +0800	[thread overview]
Message-ID: <56F401DB.9030508@linaro.org> (raw)
In-Reply-To: <alpine.DEB.2.02.1603241243500.18380@kaball.uk.xensource.com>

On 2016年03月24日 20:45, Stefano Stabellini wrote:
> On Tue, 22 Mar 2016, Julien Grall wrote:
>> > Hi Shannon,
>> > 
>> > On 17/03/16 09:41, Shannon Zhao wrote:
>>> > > From: Shannon Zhao <shannon.zhao@linaro.org>
>>> > > 
>>> > > Add a new member in gic_hw_operations which is used to deny Dom0 access
>>> > > to GIC regions.
>>> > > 
>>> > > Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
>>> > > ---
>>> > > v6: use SZ_64K for GICv3 distributor
>>> > > ---
>>> > >   xen/arch/arm/gic-v2.c     | 31 +++++++++++++++++++++++++++++++
>>> > >   xen/arch/arm/gic-v3.c     | 45
>>> > > +++++++++++++++++++++++++++++++++++++++++++++
>>> > >   xen/arch/arm/gic.c        |  5 +++++
>>> > >   xen/include/asm-arm/gic.h |  3 +++
>>> > >   4 files changed, 84 insertions(+)
>>> > > 
>>> > > diff --git a/xen/arch/arm/gic-v2.c b/xen/arch/arm/gic-v2.c
>>> > > index 02db5f2..186f944 100644
>>> > > --- a/xen/arch/arm/gic-v2.c
>>> > > +++ b/xen/arch/arm/gic-v2.c
>>> > > @@ -22,6 +22,7 @@
>>> > >   #include <xen/init.h>
>>> > >   #include <xen/mm.h>
>>> > >   #include <xen/irq.h>
>>> > > +#include <xen/iocap.h>
>>> > >   #include <xen/sched.h>
>>> > >   #include <xen/errno.h>
>>> > >   #include <xen/softirq.h>
>>> > > @@ -714,6 +715,31 @@ static u32 gicv2_make_hwdom_madt(const struct domain
>>> > > *d, u32 offset)
>>> > >       return table_len;
>>> > >   }
>>> > > 
>>> > > +static int gicv2_iomem_deny_access(const struct domain *d)
>>> > > +{
>>> > > +    int rc;
>>> > > +    unsigned long gfn, nr;
>>> > > +
>>> > > +    gfn = dbase >> PAGE_SHIFT;
>>> > > +    rc = iomem_deny_access(d, gfn, gfn + 1);
>>> > > +    if ( rc )
>>> > > +        return rc;
>>> > > +
>>> > > +    gfn = hbase >> PAGE_SHIFT;
>>> > > +    rc = iomem_deny_access(d, gfn, gfn + 1);
>>> > > +    if ( rc )
>>> > > +        return rc;
>>> > > +
>>> > > +    gfn = cbase >> PAGE_SHIFT;
>>> > > +    nr = DIV_ROUND_UP(csize, PAGE_SIZE);
>>> > > +    rc = iomem_deny_access(d, gfn, gfn + nr);
>>> > > +    if ( rc )
>>> > > +        return rc;
>>> > > +
>>> > > +    gfn = vbase >> PAGE_SHIFT;
>>> > > +    return iomem_deny_access(d, gfn, gfn + nr);
>>> > > +}
>>> > > +
>>> > >   static int __init
>>> > >   gic_acpi_parse_madt_cpu(struct acpi_subtable_header *header,
>>> > >                           const unsigned long end)
>>> > > @@ -809,6 +835,10 @@ static u32 gicv2_make_hwdom_madt(const struct domain
>>> > > *d, u32 offset)
>>> > >   {
>>> > >       return 0;
>>> > >   }
>>> > > +static int gicv2_iomem_deny_access(const struct domain *d)
>>> > > +{
>>> > > +    return 0;
>>> > > +}
>> > 
>> > I don't see any benefits to have iomem_deny_access only implemented when
>> > CONFIG_ACPI is built.
>> > 
>> > Because in this case, you will also deny the iomem when Xen is booting using
>> > device tree.
> That's true, it would be better to do that for device tree too.
> 
Ok, I'll move it out of the CONFIG_ACPI. But calling it for device tree
would be another patch I think.

Thanks,
-- 
Shannon

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

  reply	other threads:[~2016-03-24 15:03 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-17  9:40 [PATCH v6 00/22] Prepare UEFI and ACPI tables for Dom0 on ARM64 Shannon Zhao
2016-03-17  9:40 ` [PATCH v6 01/22] arm/acpi: Estimate memory required for acpi/efi tables Shannon Zhao
2016-03-18 18:44   ` Julien Grall
2016-03-21 13:01     ` Jan Beulich
2016-03-22 13:01     ` Shannon Zhao
2016-03-22  0:28   ` Julien Grall
2016-03-24 12:36   ` Stefano Stabellini
2016-03-17  9:40 ` [PATCH v6 02/22] arm/acpi: Add a helper function to get the acpi table offset Shannon Zhao
2016-03-21 12:16   ` Julien Grall
2016-03-24 12:32   ` Stefano Stabellini
2016-03-17  9:40 ` [PATCH v6 03/22] arm/acpi: Prepare FADT table for Dom0 Shannon Zhao
2016-03-21 12:25   ` Julien Grall
2016-03-17  9:40 ` [PATCH v6 04/22] arm/gic: Add a new callback for creating MADT " Shannon Zhao
2016-03-21 15:18   ` Julien Grall
2016-03-17  9:40 ` [PATCH v6 05/22] arm/acpi: Prepare " Shannon Zhao
2016-03-21 15:26   ` Julien Grall
2016-03-21 15:51     ` Jan Beulich
2016-03-17  9:40 ` [PATCH v6 06/22] arm/acpi: Prepare STAO " Shannon Zhao
2016-03-21 15:31   ` Julien Grall
2016-03-17  9:40 ` [PATCH v6 07/22] arm/acpi: Prepare XSDT " Shannon Zhao
2016-03-21 15:43   ` Julien Grall
2016-03-17  9:40 ` [PATCH v6 08/22] arm/acpi: Prepare RSDP " Shannon Zhao
2016-03-21 15:47   ` Julien Grall
2016-03-17  9:40 ` [PATCH v6 09/22] arm/p2m: Add helper functions to map memory regions Shannon Zhao
2016-03-21 15:52   ` Julien Grall
2016-03-22 13:05     ` Shannon Zhao
2016-03-22 15:59       ` Julien Grall
2016-03-17  9:40 ` [PATCH v6 10/22] arm/acpi: Map all other tables for Dom0 Shannon Zhao
2016-03-21 15:57   ` Julien Grall
2016-03-17  9:40 ` [PATCH v6 11/22] arm/acpi: Prepare EFI system table " Shannon Zhao
2016-03-21 16:10   ` Julien Grall
2016-03-22 13:06     ` Shannon Zhao
2016-03-22 13:24       ` Jan Beulich
2016-03-17  9:40 ` [PATCH v6 12/22] arm/acpi: Prepare EFI memory descriptor " Shannon Zhao
2016-03-21 16:51   ` Julien Grall
2016-03-22 13:16     ` Shannon Zhao
2016-03-22 16:04       ` Julien Grall
2016-03-24 15:06         ` Shannon Zhao
2016-03-24 15:23           ` Julien Grall
2016-03-24 12:39   ` Stefano Stabellini
2016-03-17  9:40 ` [PATCH v6 13/22] arm/acpi: Map the new created EFI and ACPI tables to Dom0 Shannon Zhao
2016-03-22  0:42   ` Julien Grall
2016-03-22 13:18     ` Shannon Zhao
2016-03-22 16:16       ` Julien Grall
2016-03-24 14:59         ` Shannon Zhao
2016-03-24 15:35           ` Julien Grall
2016-03-17  9:41 ` [PATCH v6 14/22] arm/acpi: Create min DT stub for Dom0 Shannon Zhao
2016-03-22  1:07   ` Julien Grall
2016-03-22 13:23     ` Shannon Zhao
2016-03-17  9:41 ` [PATCH v6 15/22] arm/acpi: Permit access all Xen unused SPIs " Shannon Zhao
2016-03-22 18:18   ` Julien Grall
2016-03-24 15:01     ` Shannon Zhao
2016-03-24 15:37       ` Julien Grall
2016-03-25  7:13         ` Shannon Zhao
2016-03-17  9:41 ` [PATCH v6 16/22] arm/acpi: Configure SPI interrupt type and route to Dom0 dynamically Shannon Zhao
2016-03-22 19:17   ` Julien Grall
2016-03-24 12:41   ` Stefano Stabellini
2016-03-17  9:41 ` [PATCH v6 17/22] arm/gic: Add a new callback to deny Dom0 access to GIC regions Shannon Zhao
2016-03-22 19:33   ` Julien Grall
2016-03-24 12:45     ` Stefano Stabellini
2016-03-24 15:03       ` Shannon Zhao [this message]
2016-03-24 15:39         ` Julien Grall
2016-03-17  9:41 ` [PATCH v6 18/22] arm/acpi: Permit MMIO access of Xen unused devices for Dom0 Shannon Zhao
2016-03-23 11:50   ` Julien Grall
2016-03-17  9:41 ` [PATCH v6 19/22] hvm/params: Add a new delivery type for event-channel in HVM_PARAM_CALLBACK_IRQ Shannon Zhao
2016-03-17 10:42   ` Jan Beulich
2016-03-17 11:04     ` Shannon Zhao
2016-03-17 11:29       ` Jan Beulich
2016-03-17 11:56         ` Shannon Zhao
2016-03-17 12:42           ` Jan Beulich
2016-03-17  9:41 ` [PATCH v6 20/22] xen/acpi: Fix event-channel interrupt when booting with ACPI Shannon Zhao
2016-03-23 12:15   ` Julien Grall
2016-03-17  9:41 ` [PATCH v6 21/22] xen/arm: Add a hypercall for device mmio mapping Shannon Zhao
2016-03-17  9:41 ` [PATCH v6 22/22] xen/arm64: Add ACPI support Shannon Zhao
2016-03-17 10:52   ` Jan Beulich
2016-03-17 11:03     ` Shannon Zhao
2016-03-17 11:31       ` Jan Beulich
2016-03-17 13:10         ` Shannon Zhao
2016-03-17 13:24           ` Jan Beulich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56F401DB.9030508@linaro.org \
    --to=shannon.zhao@linaro.org \
    --cc=julien.grall@arm.com \
    --cc=peter.huangpeng@huawei.com \
    --cc=stefano.stabellini@citrix.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=xen-devel@lists.xen.org \
    --cc=zhaoshenglong@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).