On 4/22/10, Richard Henderson <r...@twiddle.net> wrote:
> On 04/22/2010 12:38 PM, Blue Swirl wrote:
>  > Subpages are used when there are several devices on the same page.
>  > It's needed for at least Sparc32.
>
>
> That's fine.
>
>
>  > Subwidth (with NULL) is used mainly to indicate that the device does
>  > not accept accesses in some access widths. Sparc32 and Sparc64 need
>  > this (or some other way to signal bus errors for bad access widths).
>
>
> This is also fine.  Although by using NULL all you'd get is a qemu
>  null pointer dereference; I suppose this might get caught and
>  translated to an cpu exception, but I think it would be preferable
>  long-term to be more explicit about this and fill in the entries
>  with a function that would explicitly raise the exception.

Perhaps also the bus layer could do something here.

>  What this *does* confirm for me is that we don't need to support
>  multiple devices at the same address, differentiated by the size
>  of the reference.  Which is something that the current subpage
>  implementation actually supports.

Yes, I also agree it's a bit overkill.

>  I'll submit a patch to clean this up.
>
>
>  > In fact, many system devices on Sparc64 should only accept 64 bit
>  > accesses, but currently we can't enforce this.
>
>
> Cool.  This is something that should be fixed by the end result
>  of the driver interface re-design that pbrook and I have been
>  discussing on IRC.

Interesting. Could you make a summary of the design for the benefit of the list?


Reply via email to