[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-arm] [PATCH 3/8] cputlb: Support generating CPU exceptions on
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-arm] [PATCH 3/8] cputlb: Support generating CPU exceptions on memory transaction failures |
Date: |
Thu, 14 Dec 2017 10:03:18 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 |
On 13/12/2017 17:39, Peter Maydell wrote:
> I was looking at a bug that involved stepping through this function,
> and it turns out that the value in the variable "physaddr" here is
> not in fact the physical address of the access. It's just the offset
> into the memory region.
>
> This doesn't matter for Arm or Alpha, which don't actually need the
> physaddr for reporting the exceptions, and those are the only
> current implementations of the transaction_failed hook.
> But we should fix this so it doesn't bite us when we do eventually
> have a cpu that needs the physaddr...
>
> If we have a CPUIOTLBEntry how do we get back to the physaddr for it?
iotlb_to_region only gets the MemoryRegion from the MemoryRegionSection,
but you could actually make it return the whole MRS. Then you can sum
the MRS's offset_with_address_space.
Thanks,
Paolo