-
Notifications
You must be signed in to change notification settings - Fork 286
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consecutive writes to rxmmu table results in system freeze #50
Comments
How are you writing? -dma, block mem copy, or a slow for loop of e-writes? What if any is the difference in behaviour between the three cases? 2016-02-16 10:32 GMT-05:00 Ola Jeppsson notifications@github.com:
Andreas Olofsson, CEO/Founder at Adapteva Linkedin: linkedin.com/in/andreasolofsson |
No dma, I only use dma_alloc_coherent() to allocate the memory region. It doesn't matter which value I write. It's a for loop around iowrite32() |
I stand corrected, not always on same addr .... |
Or rather, if I don't write to the high 32 bits, I get slightly further
Always the same address though. No difference if I have no sleep or 100 msec sleep between iterations. Looks like some queue is filling up? |
If I interleave with reads (ignoring writing to upper 32 bits)
|
@aolofsson |
Use static remapping & disable MMU until this is fixed: "Consecutive writes to rxmmu table results in system freeze" aolofsson/oh#50 This prevents weird memory corruption that can otherwise happen with faulty Epiphany programs. Signed-off-by: Ola Jeppsson <ola@adapteva.com>
Use static remapping & disable MMU until this is fixed: "Consecutive writes to rxmmu table results in system freeze" aolofsson/oh#50 This prevents weird memory corruption that can otherwise happen with faulty Epiphany programs. Signed-off-by: Ola Jeppsson <ola@adapteva.com>
Use static remapping & disable MMU until this is fixed: "Consecutive writes to rxmmu table results in system freeze" aolofsson/oh#50 This prevents weird memory corruption that can otherwise happen with faulty Epiphany programs. Signed-off-by: Ola Jeppsson <ola@adapteva.com>
Until MMU table entries have a valid bit we must initialize all RXMMU table entries to point to a safe 1MB region.
When I try to do that, the system freezes.
[0x31a00000-0x31b00000] is a 1MB contiguous reserved region (dma_alloc_coherent()).
This is reproducible, always gets stuck on the same write.
Inserting sleeps doesn't make any difference.
Log:
Hard freeze
The text was updated successfully, but these errors were encountered: