Thread (72 messages) 72 messages, 7 authors, 2016-01-22

[Xen-devel] [PATCH v2 08/16] xen/hvm/params: Add a new delivery type for event-channel in HVM_PARAM_CALLBACK_IRQ

From: Shannon Zhao <hidden>
Date: 2016-01-20 06:34:24
Also in: linux-devicetree, linux-efi, lkml


On 2016/1/18 20:52, Andrew Cooper wrote:
On 18/01/16 12:46, Stefano Stabellini wrote:
quoted
quoted
On Mon, 18 Jan 2016, Andrew Cooper wrote:
quoted
quoted
On 18/01/16 12:38, Stefano Stabellini wrote:
quoted
quoted
On Fri, 15 Jan 2016, Shannon Zhao wrote:
quoted
quoted
From: Shannon Zhao <redacted>

Add a new delivery type:
val[63:56] == 3: val[15:8] is flag: val[7:0] is a PPI.
To the flag, bit 0 stands the interrupt mode is edge(1) or level(0) and
bit 1 stands the interrupt polarity is active low(1) or high(0).

Signed-off-by: Shannon Zhao <redacted>
---
 include/xen/interface/hvm/params.h | 5 +++++
 1 file changed, 5 insertions(+)
diff --git a/include/xen/interface/hvm/params.h b/include/xen/interface/hvm/params.h
index a6c7991..550688a 100644
--- a/include/xen/interface/hvm/params.h
+++ b/include/xen/interface/hvm/params.h
@@ -34,6 +34,11 @@
  *                  Domain = val[47:32], Bus  = val[31:16],
  *                  DevFn  = val[15: 8], IntX = val[ 1: 0]
  * val[63:56] == 2: val[7:0] is a vector number.
+ * val[63:56] == 3: val[15:8] is flag of event-channel interrupt:
+ *                      bit 0: interrupt is edge(1) or level(0) triggered
+ *                      bit 1: interrupt is active low(1) or high(0)
+ *                  val[7:0] is PPI number used by event-channel.
+ *                  This is only used by ARM/ARM64.
  * If val == 0 then CPU0 event-channel notifications are not delivered.
  */
 #define HVM_PARAM_CALLBACK_IRQ 0
Andrew, I think that this patch is correct. Looking back at your
previous comment (http://marc.info/?l=devicetree&m=144804014214262&w=2),
is it possible that you were confused by enum callback_via_type, which
is internal to Xen and offset'ed by 1 compared to the described values
in xen/include/public/hvm/params.h?

If not, and indeed somebody introduced one more field but failed to
document it, then I suggest she sends a patch to fix the issue as soon
as possible.
I was indeed confused - the ABI is utterly mad.
All right. In that case, Shannon, you can add my

Reviewed-by: Stefano Stabellini <redacted>

quoted
quoted
However, this change does need rebasing over c/s ca5c54b, which was the
result of the original discussion.
c/s ca5c54b is for Xen, while this is a Linux patch (Linux has its own
set of Xen headers).
All ABI changes need to happen in the Xen public headers first.  This
patch cannot be accepted yet.
So you mean it should port c/s ca5c54b to Linux first? Then add this
change based on that?

Thanks,
-- 
Shannon
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help