diff for duplicates of <1563810308843.1378@bt.com> diff --git a/a/2.bin b/a/2.bin deleted file mode 100644 index 7466fef..0000000 --- a/a/2.bin +++ /dev/null @@ -1,122 +0,0 @@ -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -<style type="text/css" style="display:none"><!-- P { margin-top: 0px; margin-bottom: 0px; } .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left-width: 2px; border-left-style: solid; border-left-color: rgb(128, 0, 0); }--></style> -</head> -<body dir="ltr" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;"> -<p></p> -<div><span style="font-size: 12pt;">Replacing size with size+sign+endianness (MemOp) will enable us to</span><br> -</div> -<div>collapse the two byte swaps, adjust_endianness and handle_bswap, along</div> -<div>the I/O path.</div> -<div><br> -</div> -<div>While interfaces are converted, callers will have existing unsigned</div> -<div>size coerced into a MemOp, and the callee will use this MemOp as an</div> -<div>unsigned size.</div> -<div><br> -</div> -<div>Signed-off-by: Tony Nguyen <tony.nguyen@bt.com></div> -<div>---</div> -<div> include/exec/memop.h | 4 ++++</div> -<div> include/exec/memory.h | 9 +++++----</div> -<div> memory.c | 7 +++++--</div> -<div> 3 files changed, 14 insertions(+), 6 deletions(-)</div> -<div><br> -</div> -<div>diff --git a/include/exec/memop.h b/include/exec/memop.h</div> -<div>index 43e99d7..73f1bf7 100644</div> -<div>--- a/include/exec/memop.h</div> -<div>+++ b/include/exec/memop.h</div> -<div>@@ -24,4 +24,8 @@ typedef enum MemOp {</div> -<div> MO_BSWAP = 8, /* Host reverse endian. */</div> -<div> } MemOp;</div> -<div> </div> -<div>+/* No-op while memory_region_dispatch_[read|write] is converted to MemOp */</div> -<div>+#define MEMOP_SIZE(op) (op) /* MemOp to size. */</div> -<div>+#define SIZE_MEMOP(ul) (ul) /* Size to MemOp. */</div> -<div>+</div> -<div> #endif</div> -<div>diff --git a/include/exec/memory.h b/include/exec/memory.h</div> -<div>index bb0961d..30b1c58 100644</div> -<div>--- a/include/exec/memory.h</div> -<div>+++ b/include/exec/memory.h</div> -<div>@@ -19,6 +19,7 @@</div> -<div> #include "exec/cpu-common.h"</div> -<div> #include "exec/hwaddr.h"</div> -<div> #include "exec/memattrs.h"</div> -<div>+#include "exec/memop.h"</div> -<div> #include "exec/ramlist.h"</div> -<div> #include "qemu/queue.h"</div> -<div> #include "qemu/int128.h"</div> -<div>@@ -1731,13 +1732,13 @@ void mtree_info(bool flatview, bool dispatch_tree, bool owner);</div> -<div> * @mr: #MemoryRegion to access</div> -<div> * @addr: address within that region</div> -<div> * @pval: pointer to uint64_t which the data is written to</div> -<div>- * @size: size of the access in bytes</div> -<div>+ * @op: encodes size of the access in bytes</div> -<div> * @attrs: memory transaction attributes to use for the access</div> -<div> */</div> -<div> MemTxResult memory_region_dispatch_read(MemoryRegion *mr,</div> -<div> hwaddr addr,</div> -<div> uint64_t *pval,</div> -<div>- unsigned size,</div> -<div>+ MemOp op,</div> -<div> MemTxAttrs attrs);</div> -<div> /**</div> -<div> * memory_region_dispatch_write: perform a write directly to the specified</div> -<div>@@ -1746,13 +1747,13 @@ MemTxResult memory_region_dispatch_read(MemoryRegion *mr,</div> -<div> * @mr: #MemoryRegion to access</div> -<div> * @addr: address within that region</div> -<div> * @data: data to write</div> -<div>- * @size: size of the access in bytes</div> -<div>+ * @op: encodes size of the access in bytes</div> -<div> * @attrs: memory transaction attributes to use for the access</div> -<div> */</div> -<div> MemTxResult memory_region_dispatch_write(MemoryRegion *mr,</div> -<div> hwaddr addr,</div> -<div> uint64_t data,</div> -<div>- unsigned size,</div> -<div>+ MemOp op,</div> -<div> MemTxAttrs attrs);</div> -<div> </div> -<div> /**</div> -<div>diff --git a/memory.c b/memory.c</div> -<div>index d4579bb..73cb345 100644</div> -<div>--- a/memory.c</div> -<div>+++ b/memory.c</div> -<div>@@ -1437,10 +1437,11 @@ static MemTxResult memory_region_dispatch_read1(MemoryRegion *mr,</div> -<div> MemTxResult memory_region_dispatch_read(MemoryRegion *mr,</div> -<div> hwaddr addr,</div> -<div> uint64_t *pval,</div> -<div>- unsigned size,</div> -<div>+ MemOp op,</div> -<div> MemTxAttrs attrs)</div> -<div> {</div> -<div> MemTxResult r;</div> -<div>+ unsigned size = MEMOP_SIZE(op);</div> -<div> </div> -<div> if (!memory_region_access_valid(mr, addr, size, false, attrs)) {</div> -<div> *pval = unassigned_mem_read(mr, addr, size);</div> -<div>@@ -1481,9 +1482,11 @@ static bool memory_region_dispatch_write_eventfds(MemoryRegion *mr,</div> -<div> MemTxResult memory_region_dispatch_write(MemoryRegion *mr,</div> -<div> hwaddr addr,</div> -<div> uint64_t data,</div> -<div>- unsigned size,</div> -<div>+ MemOp op,</div> -<div> MemTxAttrs attrs)</div> -<div> {</div> -<div>+ unsigned size = MEMOP_SIZE(op);</div> -<div>+</div> -<div> if (!memory_region_access_valid(mr, addr, size, true, attrs)) {</div> -<div> unassigned_mem_write(mr, addr, data, size);</div> -<div> return MEMTX_DECODE_ERROR;</div> -<div>-- </div> -<div>1.8.3.1</div> -<div><br> -<br> -</div> -<p><br> -</p> -</body> -</html> diff --git a/a/2.hdr b/a/2.hdr deleted file mode 100644 index e54d0ae..0000000 --- a/a/2.hdr +++ /dev/null @@ -1,2 +0,0 @@ -Content-Type: text/html; charset="iso-8859-1" -Content-Transfer-Encoding: quoted-printable diff --git a/a/content_digest b/N1/content_digest index 46d3a66..a59554d 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,34 +1,34 @@ "ref\0e9c6e5310b1a4863be45d45bf087fc3d@tpw09926dag18e.domain1.systemhost.net\0" "From\0<tony.nguyen@bt.com>\0" - "Subject\0[Qemu-riscv] [Qemu-devel] [PATCH v2 07/20] memory: Access MemoryRegion with MemOp\0" + "Subject\0[Qemu-devel] [PATCH v2 07/20] memory: Access MemoryRegion with MemOp\0" "Date\0Mon, 22 Jul 2019 15:45:09 +0000\0" "To\0<qemu-devel@nongnu.org>\0" - "Cc\0<peter.maydell@linaro.org>" - <walling@linux.ibm.com> - <david@redhat.com> - <palmer@sifive.com> - <mark.cave-ayland@ilande.co.uk> - <Alistair.Francis@wdc.com> - <arikalo@wavecomp.com> - <mst@redhat.com> - <pasic@linux.ibm.com> - <borntraeger@de.ibm.com> - <rth@twiddle.net> - <atar4qemu@gmail.com> - <ehabkost@redhat.com> - <sw@weilnetz.de> - <alex.williamson@redhat.com> - <qemu-arm@nongnu.org> - <david@gibson.dropbear.id.au> - <qemu-riscv@nongnu.org> - <cohuck@redhat.com> - <claudio.fontana@huawei.com> - <qemu-s390x@nongnu.org> - <qemu-ppc@nongnu.org> - <amarkovic@wavecomp.com> - <pbonzini@redhat.com> - " <aurelien@aurel32.net>\0" - "\01:1\0" + "Cc\0peter.maydell@linaro.org" + walling@linux.ibm.com + mst@redhat.com + palmer@sifive.com + mark.cave-ayland@ilande.co.uk + Alistair.Francis@wdc.com + arikalo@wavecomp.com + david@redhat.com + pasic@linux.ibm.com + borntraeger@de.ibm.com + rth@twiddle.net + atar4qemu@gmail.com + ehabkost@redhat.com + sw@weilnetz.de + qemu-s390x@nongnu.org + qemu-arm@nongnu.org + david@gibson.dropbear.id.au + qemu-riscv@nongnu.org + cohuck@redhat.com + claudio.fontana@huawei.com + alex.williamson@redhat.com + qemu-ppc@nongnu.org + amarkovic@wavecomp.com + pbonzini@redhat.com + " aurelien@aurel32.net\0" + "\00:1\0" "b\0" "Replacing size with size+sign+endianness (MemOp) will enable us to\n" "collapse the two byte swaps, adjust_endianness and handle_bswap, along\n" @@ -134,129 +134,5 @@ " return MEMTX_DECODE_ERROR;\n" "--\n" 1.8.3.1 - "\01:2\0" - "b\0" - "<html>\r\n" - "<head>\r\n" - "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\r\n" - "<style type=\"text/css\" style=\"display:none\"><!-- P { margin-top: 0px; margin-bottom: 0px; } .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left-width: 2px; border-left-style: solid; border-left-color: rgb(128, 0, 0); }--></style>\r\n" - "</head>\r\n" - "<body dir=\"ltr\" style=\"font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;\">\r\n" - "<p></p>\r\n" - "<div><span style=\"font-size: 12pt;\">Replacing size with size+sign+endianness (MemOp) will enable us to</span><br>\r\n" - "</div>\r\n" - "<div>collapse the two byte swaps, adjust_endianness and handle_bswap, along</div>\r\n" - "<div>the I/O path.</div>\r\n" - "<div><br>\r\n" - "</div>\r\n" - "<div>While interfaces are converted, callers will have existing unsigned</div>\r\n" - "<div>size coerced into a MemOp, and the callee will use this MemOp as an</div>\r\n" - "<div>unsigned size.</div>\r\n" - "<div><br>\r\n" - "</div>\r\n" - "<div>Signed-off-by: Tony Nguyen <tony.nguyen@bt.com></div>\r\n" - "<div>---</div>\r\n" - "<div> include/exec/memop.h | 4 ++++</div>\r\n" - "<div> include/exec/memory.h | 9 +++++----</div>\r\n" - "<div> memory.c | 7 +++++--</div>\r\n" - "<div> 3 files changed, 14 insertions(+), 6 deletions(-)</div>\r\n" - "<div><br>\r\n" - "</div>\r\n" - "<div>diff --git a/include/exec/memop.h b/include/exec/memop.h</div>\r\n" - "<div>index 43e99d7..73f1bf7 100644</div>\r\n" - "<div>--- a/include/exec/memop.h</div>\r\n" - "<div>+++ b/include/exec/memop.h</div>\r\n" - "<div>@@ -24,4 +24,8 @@ typedef enum MemOp {</div>\r\n" - "<div> MO_BSWAP = 8, /* Host reverse endian. */</div>\r\n" - "<div> } MemOp;</div>\r\n" - "<div> </div>\r\n" - "<div>+/* No-op while memory_region_dispatch_[read|write] is converted to MemOp */</div>\r\n" - "<div>+#define MEMOP_SIZE(op) (op) /* MemOp to size. */</div>\r\n" - "<div>+#define SIZE_MEMOP(ul) (ul) /* Size to MemOp. */</div>\r\n" - "<div>+</div>\r\n" - "<div> #endif</div>\r\n" - "<div>diff --git a/include/exec/memory.h b/include/exec/memory.h</div>\r\n" - "<div>index bb0961d..30b1c58 100644</div>\r\n" - "<div>--- a/include/exec/memory.h</div>\r\n" - "<div>+++ b/include/exec/memory.h</div>\r\n" - "<div>@@ -19,6 +19,7 @@</div>\r\n" - "<div> #include "exec/cpu-common.h"</div>\r\n" - "<div> #include "exec/hwaddr.h"</div>\r\n" - "<div> #include "exec/memattrs.h"</div>\r\n" - "<div>+#include "exec/memop.h"</div>\r\n" - "<div> #include "exec/ramlist.h"</div>\r\n" - "<div> #include "qemu/queue.h"</div>\r\n" - "<div> #include "qemu/int128.h"</div>\r\n" - "<div>@@ -1731,13 +1732,13 @@ void mtree_info(bool flatview, bool dispatch_tree, bool owner);</div>\r\n" - "<div> * @mr: #MemoryRegion to access</div>\r\n" - "<div> * @addr: address within that region</div>\r\n" - "<div> * @pval: pointer to uint64_t which the data is written to</div>\r\n" - "<div>- * @size: size of the access in bytes</div>\r\n" - "<div>+ * @op: encodes size of the access in bytes</div>\r\n" - "<div> * @attrs: memory transaction attributes to use for the access</div>\r\n" - "<div> */</div>\r\n" - "<div> MemTxResult memory_region_dispatch_read(MemoryRegion *mr,</div>\r\n" - "<div> hwaddr addr,</div>\r\n" - "<div> uint64_t *pval,</div>\r\n" - "<div>- unsigned size,</div>\r\n" - "<div>+ MemOp op,</div>\r\n" - "<div> MemTxAttrs attrs);</div>\r\n" - "<div> /**</div>\r\n" - "<div> * memory_region_dispatch_write: perform a write directly to the specified</div>\r\n" - "<div>@@ -1746,13 +1747,13 @@ MemTxResult memory_region_dispatch_read(MemoryRegion *mr,</div>\r\n" - "<div> * @mr: #MemoryRegion to access</div>\r\n" - "<div> * @addr: address within that region</div>\r\n" - "<div> * @data: data to write</div>\r\n" - "<div>- * @size: size of the access in bytes</div>\r\n" - "<div>+ * @op: encodes size of the access in bytes</div>\r\n" - "<div> * @attrs: memory transaction attributes to use for the access</div>\r\n" - "<div> */</div>\r\n" - "<div> MemTxResult memory_region_dispatch_write(MemoryRegion *mr,</div>\r\n" - "<div> hwaddr addr,</div>\r\n" - "<div> uint64_t data,</div>\r\n" - "<div>- unsigned size,</div>\r\n" - "<div>+ MemOp op,</div>\r\n" - "<div> MemTxAttrs attrs);</div>\r\n" - "<div> </div>\r\n" - "<div> /**</div>\r\n" - "<div>diff --git a/memory.c b/memory.c</div>\r\n" - "<div>index d4579bb..73cb345 100644</div>\r\n" - "<div>--- a/memory.c</div>\r\n" - "<div>+++ b/memory.c</div>\r\n" - "<div>@@ -1437,10 +1437,11 @@ static MemTxResult memory_region_dispatch_read1(MemoryRegion *mr,</div>\r\n" - "<div> MemTxResult memory_region_dispatch_read(MemoryRegion *mr,</div>\r\n" - "<div> hwaddr addr,</div>\r\n" - "<div> uint64_t *pval,</div>\r\n" - "<div>- unsigned size,</div>\r\n" - "<div>+ MemOp op,</div>\r\n" - "<div> MemTxAttrs attrs)</div>\r\n" - "<div> {</div>\r\n" - "<div> MemTxResult r;</div>\r\n" - "<div>+ unsigned size = MEMOP_SIZE(op);</div>\r\n" - "<div> </div>\r\n" - "<div> if (!memory_region_access_valid(mr, addr, size, false, attrs)) {</div>\r\n" - "<div> *pval = unassigned_mem_read(mr, addr, size);</div>\r\n" - "<div>@@ -1481,9 +1482,11 @@ static bool memory_region_dispatch_write_eventfds(MemoryRegion *mr,</div>\r\n" - "<div> MemTxResult memory_region_dispatch_write(MemoryRegion *mr,</div>\r\n" - "<div> hwaddr addr,</div>\r\n" - "<div> uint64_t data,</div>\r\n" - "<div>- unsigned size,</div>\r\n" - "<div>+ MemOp op,</div>\r\n" - "<div> MemTxAttrs attrs)</div>\r\n" - "<div> {</div>\r\n" - "<div>+ unsigned size = MEMOP_SIZE(op);</div>\r\n" - "<div>+</div>\r\n" - "<div> if (!memory_region_access_valid(mr, addr, size, true, attrs)) {</div>\r\n" - "<div> unassigned_mem_write(mr, addr, data, size);</div>\r\n" - "<div> return MEMTX_DECODE_ERROR;</div>\r\n" - "<div>-- </div>\r\n" - "<div>1.8.3.1</div>\r\n" - "<div><br>\r\n" - "<br>\r\n" - "</div>\r\n" - "<p><br>\r\n" - "</p>\r\n" - "</body>\r\n" - "</html>\r\n" -56d6ccbe9e0eaa43a95f48af663dad4761875a2df26da72d2badce603a2fde59 +32518d3121e27a1e216ec240afdd4f3c7efea839d976dc7db5ab85bb28bae414
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.