[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Xen-devel] [Qemu-devel] [PATCH v6 20/26] memory: Access MemoryRegion with endianness
- To: tony.nguyen@xxxxxx, qemu-devel@xxxxxxxxxx
- From: Richard Henderson <richard.henderson@xxxxxxxxxx>
- Date: Wed, 7 Aug 2019 10:49:29 -0700
- Cc: fam@xxxxxxxxxx, peter.maydell@xxxxxxxxxx, walling@xxxxxxxxxxxxx, dmitry.fleytman@xxxxxxxxx, imammedo@xxxxxxxxxx, sagark@xxxxxxxxxxxxxxxxx, david@xxxxxxxxxx, jasowang@xxxxxxxxxx, palmer@xxxxxxxxxx, mark.cave-ayland@xxxxxxxxxxxx, laurent@xxxxxxxxx, keith.busch@xxxxxxxxx, jcmvbkbc@xxxxxxxxx, frederic.konrad@xxxxxxxxxxx, pbonzini@xxxxxxxxxx, kraxel@xxxxxxxxxx, edgar.iglesias@xxxxxxxxx, gxt@xxxxxxxxxxxxxxx, pburton@xxxxxxxxxxxx, marex@xxxxxxx, robh@xxxxxxxxxx, hare@xxxxxxxx, sstabellini@xxxxxxxxxx, berto@xxxxxxxxxx, proljc@xxxxxxxxx, qemu-block@xxxxxxxxxx, arikalo@xxxxxxxxxxxx, jslaby@xxxxxxx, deller@xxxxxx, mst@xxxxxxxxxx, magnus.damm@xxxxxxxxx, pasic@xxxxxxxxxxxxx, borntraeger@xxxxxxxxxx, mreitz@xxxxxxxxxx, hpoussin@xxxxxxxxxxx, joel@xxxxxxxxx, anthony.perard@xxxxxxxxxx, xen-devel@xxxxxxxxxxxxxxxxxxxx, rth@xxxxxxxxxxx, philmd@xxxxxxxxxx, green@xxxxxxxxxxxxxx, atar4qemu@xxxxxxxxx, antonynpavlov@xxxxxxxxx, jiri@xxxxxxxxxxx, ehabkost@xxxxxxxxxx, minyard@xxxxxxx, sw@xxxxxxxxxxx, alistair@xxxxxxxxxxxxx, chouteau@xxxxxxxxxxx, b.galvani@xxxxxxxxx, eric.auger@xxxxxxxxxx, qemu-s390x@xxxxxxxxxx, qemu-arm@xxxxxxxxxx, peter.chubb@xxxxxxxxxxxx, yuval.shaia@xxxxxxxxxx, stefanha@xxxxxxxxxx, marcandre.lureau@xxxxxxxxxx, shorne@xxxxxxxxx, sundeep.lkml@xxxxxxxxx, jsnow@xxxxxxxxxx, david@xxxxxxxxxxxxxxxxxxxxx, kwolf@xxxxxxxxxx, crwulff@xxxxxxxxx, qemu-riscv@xxxxxxxxxx, xiaoguangrong.eric@xxxxxxxxx, i.mitsyanko@xxxxxxxxx, lersek@xxxxxxxxxx, cohuck@xxxxxxxxxx, alex.williamson@xxxxxxxxxx, Andrew.Baumann@xxxxxxxxxxxxx, jcd@xxxxxxxxxxxxxxx, andrew@xxxxxxxx, michael@xxxxxxxx, paul.durrant@xxxxxxxxxx, qemu-ppc@xxxxxxxxxx, huth@xxxxxxxxxxxxx, amarkovic@xxxxxxxxxxxx, kbastian@xxxxxxxxxxxxxxxxxxxxx, jan.kiszka@xxxxxx, stefanb@xxxxxxxxxxxxx, andrew.smirnov@xxxxxxxxx, aurelien@xxxxxxxxxxx, clg@xxxxxxxx
- Delivery-date: Wed, 07 Aug 2019 17:49:52 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
- Openpgp: preference=signencrypt
On 8/7/19 1:33 AM, tony.nguyen@xxxxxx wrote:
> @@ -551,6 +551,7 @@ void virtio_address_space_write(VirtIOPCIProxy *proxy,
> hwaddr addr,
> /* As length is under guest control, handle illegal values. */
> return;
> }
> + /* FIXME: memory_region_dispatch_write ignores MO_BSWAP. */
> memory_region_dispatch_write(mr, addr, val, size_memop(len),
> MEMTXATTRS_UNSPECIFIED);
> }
Here is an example of where Paolo is quite right -- you cannot simply add MO_TE
via size_memop(). In patch 22 we see
> @@ -542,16 +542,15 @@ void virtio_address_space_write(VirtIOPCIProxy *proxy,
> hwaddr addr,
> val = pci_get_byte(buf);
> break;
> case 2:
> - val = cpu_to_le16(pci_get_word(buf));
> + val = pci_get_word(buf);
> break;
> case 4:
> - val = cpu_to_le32(pci_get_long(buf));
> + val = pci_get_long(buf);
> break;
> default:
> /* As length is under guest control, handle illegal values. */
> return;
> }
> - /* FIXME: memory_region_dispatch_write ignores MO_BSWAP. */
> memory_region_dispatch_write(mr, addr, val, size_memop(len),
> MEMTXATTRS_UNSPECIFIED);
This is a little-endian store -- MO_LE not MO_TE.
r~
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|