From 38d40ff10f71657ea913a63d1f8477be368b92c1 Mon Sep 17 00:00:00 2001 From: Pavel Fedin Date: Wed, 27 May 2015 15:59:59 +0300 Subject: Add stream ID to MSI write GICv3 ITS distinguishes between devices by using hardwired device IDs passed on the bus. This patch implements passing these IDs in qemu. SMMU is also known to use stream IDs, therefore this addition can also be useful for implementing platforms with SMMU. Signed-off-by: Pavel Fedin Reviewed-by: Michael S. Tsirkin Changes from v1: - Added bus number to the stream ID - Added stream ID not only to MSI-X, but also to plain MSI. Some common code was made into msi_send_message() function. Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/exec/memattrs.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include/exec') diff --git a/include/exec/memattrs.h b/include/exec/memattrs.h index 1389b4b..96dc440 100644 --- a/include/exec/memattrs.h +++ b/include/exec/memattrs.h @@ -33,6 +33,8 @@ typedef struct MemTxAttrs { unsigned int secure:1; /* Memory access is usermode (unprivileged) */ unsigned int user:1; + /* Stream ID (for MSI for example) */ + unsigned int stream_id:16; } MemTxAttrs; /* Bus masters which don't specify any attributes will get this, -- cgit v1.1