All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@linaro.org>
To: Ian Campbell <ian.campbell@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Frediano Ziglio <frediano.ziglio@huawei.com>,
	Tim Deegan <tim@xen.org>,
	zoltan.kiss@huawei.com,
	Stefano Stabellini <stefano.stabellini@citrix.com>,
	xen-devel@lists.xen.org
Subject: Re: [PATCH v5.99.1 RFC 1/4] xen/arm: Duplicate gic-v2.c file to support hip04 platform version
Date: Thu, 26 Feb 2015 13:54:59 +0000	[thread overview]
Message-ID: <54EF25B3.4050204@linaro.org> (raw)
In-Reply-To: <1424954643.14641.73.camel@citrix.com>

Hi Ian,

On 26/02/15 12:44, Ian Campbell wrote:
> The set of hardware which Xen needs to be able to drive (rather than
> give to a hardware domain) is:
> 
>       * CPUs
>       * Host interrupt controllers
>       * Host timers
>       * A UART
>       * Second-state MMUs
>       * Second-stage SMMUs/IOMMU (First-stage used by domains)
>       * PCI host bridges (in the near future)
> 
> (did I forget any?)

I think everything is there.

> NB: I'm only considering host level stuff here. Our virtualised hardware
> as exposed to the guest is well defined right now and any conversation
> about deviating from the set of hardware (e.g. providing a guest view to
> a non-GIC compliant virtual interrupt controller) would be part of a
> separate larger conversation about "hvm" style guests (and I'd, as you
> might imagine, be very reluctant to code to Xen itself to support
> non-standard vGICs in particular).

That would mean on platform such as Hisilicon, Guest (including DOM0)
won't be able to use more than 8 CPUs. But I guess this is a fair trade
for having a GIC which differs from the spec.

> From a "what does 'standards compliant' mean" PoV we have:
> 
> CPUs:
> 
>         Specified in the ARM ARM (v7=ARM DDI 0406, v8=ARM DDI 0487).
>         
>         Uncontroversial, I hope!
>         
> Host interrupt controllers:
> 
>         Defined in "ARM Generic Interrupt Controller Architecture
>         Specification" (v2=ARM IHI 0048B, v3=???).

AFAICT, for GICv3 there is a hardware spec available (though not
publicly) but no developer spec.

>         Referenced from ARMv8 ARM (but not required AFAICT) but
>         nonetheless this is what we consider when we talk about the
>         "standard interrupt controller".
>         
> Host timers:
> 
>         Defined in the ARMv8 ARM "Generic Timers" chapter.
>         
>         Defined as an extension to ARMv7 (don't have doc ref handy). For
>         our purposes such extensions are considered standardized[*].

It's worth to mention that we don't support generic memory mapped timer
for now. I don't know if we aim to support it.

> UARTS:
> 
>         SBSA defines some (pl011 only?), but there are lots, including
>         8250-alike ones (ns16550 etc) which is a well established
>         standard (from x86).
>         
>         Given that UART drivers are generally small and pretty trivial I
>         think we can tolerate "non-standard" (i.e. non-SBSA, non-8250)
>         ones, so long as they are able to support our vuart interface.
>         
>         I think the non-{pl011,8250} ones should be subject to non-core
>         (i.e. community) maintenance as I mentioned previously, i.e
>         should be listed in MAINTAINERS other than under the core ARM
>         entry. If we decide to go ahead with this approach I'll ask the
>         appropriate people to update MAINTAINERS.

At that time we have 3 "non-compliant" UART in Xen: exynos4210, scif and
omap.

Having maintainers per non-compliant UART would make some generic more
complicate to upstream. Indeed, it would require all the ack.

> 
> Second stage MMU:
> 
>         Defined in the ARMv8 ARM, or the ARMv7 LPAE extensions[*, **].
>         
> Second stage SMMU/IOMMU:
> 
>         Defined in "ARM System Memory Management Unit Architecture
>         Specification" (ARM IHI 0062D?)

The D is the revision, so this would be ARM IHI 0062 for all the SMMUs.

[..]

> I think the above is a workable definition of what it is reasonable to
> expect the core Xen/ARM maintainers to look after (with that particular
> hat on) vs. what it should be expected for interested members of the
> community to step up and maintain (where the people who happen to be
> core Xen/ARM maintainers may occasionally chose to have such a hat too.)

I got few questions about it:
	-  What happen if the maintainers of a specific driver (UART/IRQ
controller) doesn't answer?
	- How do we handle possible security issue related to a specific
driver? Is it even considered as a security one?
	- As a new drivers would tight to a new set of maintainers, how do we
decide that a new drivers is accepted in Xen?

Given the governance spec [1], we may decide to reject a maintainers for
some reason. Does it mean the drivers is rejected too?

Overall, I think we should clearly define the condition of
acceptance/maintenance of a specific driver.

[..]

> [**] The LPAE extensions include/are mixed with the hyp mode page table
> format, so we pretty certainly need it.

Rigth, the ARM spec required LPAE extensions when virtualization is
supported.

Regards,

-- 
Julien Grall

  reply	other threads:[~2015-02-26 13:54 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-20  9:56 [PATCH v5] xen/arm: Add support for Huawei hip04-d01 platform Frediano Ziglio
2015-02-20  9:56 ` [PATCH v5 1/4] xen/arm: Make gic-v2 code handle " Frediano Ziglio
2015-02-24 16:16   ` Ian Campbell
2015-02-25 15:28     ` [PATCH v5.99.1 RFC 0/4] xen/arm: Add support for Huawei " Frediano Ziglio
2015-02-25 15:28       ` [PATCH v5.99.1 RFC 1/4] xen/arm: Duplicate gic-v2.c file to support hip04 platform version Frediano Ziglio
2015-02-25 15:34         ` Julien Grall
2015-02-25 15:42           ` Frediano Ziglio
2015-02-25 15:46           ` Ian Campbell
2015-02-25 15:47           ` Frediano Ziglio
2015-02-25 16:34         ` Stefano Stabellini
2015-02-25 16:59           ` Ian Campbell
2015-02-26 12:44             ` Ian Campbell
2015-02-26 13:54               ` Julien Grall [this message]
2015-02-26 15:28                 ` Ian Campbell
2015-02-26 17:39           ` Ian Campbell
2015-02-26 17:59             ` Stefano Stabellini
2015-02-25 15:28       ` [PATCH v5.99.1 RFC 2/4] xen/arm: Make gic-v2 code handle hip04-d01 platform Frediano Ziglio
2015-02-25 16:53         ` Stefano Stabellini
2015-02-26  9:54           ` Frediano Ziglio
2015-02-25 15:28       ` [PATCH v5.99.1 RFC 3/4] xen/arm: handle GICH register changes for " Frediano Ziglio
2015-02-25 16:53         ` Stefano Stabellini
2015-02-25 15:28       ` [PATCH v5.99.1 RFC 4/4] xen/arm: Force dom0 to use normal GICv2 driver on Hip04 platform Frediano Ziglio
2015-02-25 16:54         ` Stefano Stabellini
2015-02-20  9:56 ` [PATCH v5 2/4] xen/arm: Add support for DTBs with strange names of Hip04 GICv2 Frediano Ziglio
2015-02-24 14:19   ` Julien Grall
2015-02-24 16:13     ` Ian Campbell
2015-02-24 16:38       ` Frediano Ziglio
2015-02-24 14:19   ` Julien Grall
2015-02-20  9:56 ` [PATCH v5 3/4] xen/arm: handle GICH register changes for hip04-d01 platform Frediano Ziglio
2015-02-20  9:56 ` [PATCH v5 4/4] xen/arm: Force dom0 to use normal GICv2 driver on Hip04 platform Frediano Ziglio
2015-02-25 16:43 ` [PATCH v5] xen/arm: Add support for Huawei hip04-d01 platform Ian Campbell
2015-02-25 17:10   ` Frediano Ziglio

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=54EF25B3.4050204@linaro.org \
    --to=julien.grall@linaro.org \
    --cc=frediano.ziglio@huawei.com \
    --cc=ian.campbell@citrix.com \
    --cc=stefano.stabellini@citrix.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=tim@xen.org \
    --cc=xen-devel@lists.xen.org \
    --cc=zoltan.kiss@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.