[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 3/9] arm: add missing v7 cp15 registers
From: |
Avi Kivity |
Subject: |
Re: [Qemu-devel] [PATCH 3/9] arm: add missing v7 cp15 registers |
Date: |
Thu, 22 Dec 2011 12:14:56 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:8.0) Gecko/20111115 Thunderbird/8.0 |
On 12/21/2011 11:10 PM, Peter Maydell wrote:
> On 21 December 2011 16:37, Mark Langsdorf <address@hidden> wrote:
> > On 12/20/2011 01:48 PM, Peter Maydell wrote:
> >> This commit leaves the register with a reset value of 0, which
> >> isn't right (we only implement A9MP, not A9UP, so the reset value
> >> should be settable by the board at init time somehow depending
> >> where the a9mpcore_priv device is mapped. Not sure what the
> >> cleanest way to do that is.)
> >
> > I can add a DEFINE_PROP_UINT32 to a9mpcore_priv, which would give
> > anyone who wants to set the property an easy way to do so. I'm
> > not sure how to hook the a9mpcore_priv to the CPUARMState, though.
> > They don't appear to reference each other.
>
> Yes, we don't really model the private peripherals very sensibly:
> they should be an integral part of the CPU but for historical
> reasons they've been done as a totally separate device. I don't
> think a property is the right thing, though -- ideally the a9mpcore
> device should be able to find out for itself where it was mapped.
>
> Avi: is there a way for a device (sysbus device in this case) to
> find out for one of its memory regions where it has been mapped
> in the address space?
Where and if.
> The context here is that the Cortex-A9
> has a cp15 register whose value is "base address of the private
> peripherals", and it would be nice not to have to have boards
> saying both "map mmio region at X" and "set property so register
> reads as X"... [You could argue that hardware implementations
> have to do the equivalent of both of these things separately,
> I suppose, but it's still not very pretty.]
I don't really follow, can you explain?
Anyway, with the new MemoryListener API (not yet merged), you can
register a callback to be called when MemoryRegions become visible or
invisible. You can filter there for your pet region and get all the
info about it.
--
error compiling committee.c: too many arguments to function
- [Qemu-devel] [PATCH 3/9] arm: add missing v7 cp15 registers, Mark Langsdorf, 2011/12/20
- Re: [Qemu-devel] [PATCH 3/9] arm: add missing v7 cp15 registers, Peter Maydell, 2011/12/20
- Re: [Qemu-devel] [PATCH 3/9] arm: add missing v7 cp15 registers, Mark Langsdorf, 2011/12/21
- Re: [Qemu-devel] [PATCH 3/9] arm: add missing v7 cp15 registers, Peter Maydell, 2011/12/21
- Re: [Qemu-devel] [PATCH 3/9] arm: add missing v7 cp15 registers,
Avi Kivity <=
- Re: [Qemu-devel] [PATCH 3/9] arm: add missing v7 cp15 registers, Peter Maydell, 2011/12/22
- Re: [Qemu-devel] [PATCH 3/9] arm: add missing v7 cp15 registers, Avi Kivity, 2011/12/22
- Re: [Qemu-devel] [PATCH 3/9] arm: add missing v7 cp15 registers, Anthony Liguori, 2011/12/22
- Re: [Qemu-devel] [PATCH 3/9] arm: add missing v7 cp15 registers, Peter Maydell, 2011/12/22