xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Bhupinder Thakur <bhupinder.thakur@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien.grall@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 0/1] xen/arm: Add pl011 uart support in Xen for guest domains
Date: Mon,  6 Feb 2017 23:39:07 +0530	[thread overview]
Message-ID: <1486404548-15062-1-git-send-email-bhupinder.thakur@linaro.org> (raw)

As per "VM System Specification for  ARM Processors", there is a requirement for Xen to support guest console
over pl011 UART, which is SBSA compliant. The changes in this patch implement the pl011 emulation in Xen
and a new pl011 console support in xenconsoled.

The following changes are still pending:

1. Xenconsoled is modified to handle only pl011 console. Changes are required to support another console 
   type "pl011" like "pv" and "serial" so that user can select any of the three (pv/serial/pl011) consoles.

2. The SPI VIRQ for pl011 is getting allocated dynamically currently instead of reserving a specific VIRQ. 
   Changes are required to reserve a range for SPI VIRQs.

3. Currently there is no validation that the hvm APIs for getting the SPI VIRQ, passing the pl011 PFN to Xen 
   are allowed from dom0 only. Those validation checks need to be added so the guests cannot use those APIs.

4. For receiving events from xenconsole, Xen uses the Xen events which are consumed by Xen itself. However, 
   such events (whose consumer is Xen) is not allowed to send events out. Since we need  the Xen to send the 
   events to xenconsoled, a check was added to bypass this restriction. This needs to be looked into more 
   detail in terms of whether it is better to introduce a customized evtchn_send() API, which will be used 
   only by Xen core.

5. There are some debug prints still left out in the code, which need to be cleaned up.


Bhupinder Thakur (1):
  xen/arm: Add pl011 uart support in Xen for guest domains

 tools/console/daemon/io.c       | 170 ++++++++++++++---
 tools/console/daemon/main.c     |  10 +
 tools/libxc/include/xc_dom.h    |   3 +
 tools/libxc/xc_dom_arm.c        |   7 +-
 tools/libxc/xc_dom_boot.c       |   3 +
 tools/libxc/xc_domain.c         |   3 -
 tools/libxl/libxl.c             |   4 +
 tools/libxl/libxl_arm.c         |  50 ++++-
 tools/libxl/libxl_dom.c         |   9 +-
 tools/libxl/libxl_internal.h    |   2 +
 xen/arch/arm/Makefile           |   1 +
 xen/arch/arm/domain.c           |   7 +
 xen/arch/arm/hvm.c              |  22 ++-
 xen/arch/arm/setup.c            |   1 +
 xen/arch/arm/vgic.c             |   7 +
 xen/arch/arm/vpl011.c           | 391 ++++++++++++++++++++++++++++++++++++++++
 xen/common/event_channel.c      |  11 +-
 xen/include/asm-arm/domain.h    |  14 ++
 xen/include/public/arch-arm.h   |   5 +
 xen/include/public/hvm/params.h |  10 +-
 xen/include/xen/vpl011.h        | 146 +++++++++++++++
 21 files changed, 832 insertions(+), 44 deletions(-)
 create mode 100644 xen/arch/arm/vpl011.c
 create mode 100644 xen/include/xen/vpl011.h

-- 
2.7.4


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

             reply	other threads:[~2017-02-06 18:09 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-06 18:09 Bhupinder Thakur [this message]
2017-02-06 18:09 ` [PATCH 1/1] xen/arm: Add pl011 uart support in Xen for guest domains Bhupinder Thakur
2017-02-06 18:30   ` Julien Grall
2017-02-06 18:35   ` Konrad Rzeszutek Wilk
2017-02-15  7:23     ` Bhupinder Thakur
2017-02-15 15:38       ` Konrad Rzeszutek Wilk
2017-02-16 14:34         ` Julien Grall
2017-02-17 12:35           ` Bhupinder Thakur
2017-02-17 15:29             ` Konrad Rzeszutek Wilk
2017-02-20 15:23               ` Bhupinder Thakur
2017-02-28 21:21                 ` Konrad Rzeszutek Wilk
2017-02-17 15:27           ` Konrad Rzeszutek Wilk
2017-02-26 20:50             ` Julien Grall
2017-02-28 21:22               ` Konrad Rzeszutek Wilk
2017-03-01 10:51                 ` Bhupinder Thakur
2017-03-01 16:44                   ` Julien Grall

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=1486404548-15062-1-git-send-email-bhupinder.thakur@linaro.org \
    --to=bhupinder.thakur@linaro.org \
    --cc=julien.grall@arm.com \
    --cc=sstabellini@kernel.org \
    --cc=xen-devel@lists.xenproject.org \
    /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).