ARMv7 "write buffer" issue

Note: This was originally posted on 3rd July 2012 at http://forums.arm.com

Hi All,

I have a question about the "write buffer" for ARMv7 processor.

Write buffer is explicitly described in TRM(tech reference manual) prior to ARMv6. E.g, how to enable/disable it, how to configure it in a MMU page table descriptor etc.

However, it looks to me that write buffer is not explicitly described in TRM of ARMv7. So I have some questsions below. Could someone confirm if my understanding is correct.

For ARMv7 processor:

1. Write buffer is only used by "Normal" memory , "strongly-ordered" and "device" memory have nothing do do with it. Is this correct?
2. For the normal memory, despite the cacheability configuration, write buffer will always be used? Is this correct?

Thanks in advance.
-Jerry
Parents
  • Note: This was originally posted on 3rd July 2012 at http://forums.arm.com

    AFAIK marking an address range as Device/Strongly ordered only prevents caching, speculation and adds ordering constraints.  Architecturally buffering of writes is allowed to any memory type.  (Which is different from saying that a particular processor _will_ buffer, just that it would be allowed to do so).

    If you need the write to have happened you need a DSB.
Reply
  • Note: This was originally posted on 3rd July 2012 at http://forums.arm.com

    AFAIK marking an address range as Device/Strongly ordered only prevents caching, speculation and adds ordering constraints.  Architecturally buffering of writes is allowed to any memory type.  (Which is different from saying that a particular processor _will_ buffer, just that it would be allowed to do so).

    If you need the write to have happened you need a DSB.
Children
No Data