Skip to content
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

txmmu/rxmmu: Need valid bit in page table entries #48

Open
olajep opened this issue Feb 12, 2016 · 0 comments
Open

txmmu/rxmmu: Need valid bit in page table entries #48

olajep opened this issue Feb 12, 2016 · 0 comments

Comments

@olajep
Copy link
Contributor

olajep commented Feb 12, 2016

After I switched RX path to MMU from static remap, I started to see sporadic external fetch abort errors when running the mailbox test. (The only test that requires reading from the FPGA elink regs)
I think one error source was a flaky VDD_DSP so I took a step back and left the regulator always on, but there were still issues.
I've been all over the place but in the end I think it boils down to this one stupid line in the mailbox example. DOH!
Running exhaust test now, knock on wood.

e_open(&dev, 0, 0, platform.rows, platform.cols);
e_load_group("emain.elf", &dev, 0, 0, 1, 1, E_FALSE);
e_start_group(&dev);
e_open(&dev, 0, 0, 1, 1);
e_load_group("emain.elf", &dev, 0, 0, 1, 1, E_FALSE);
e_start_group(&dev);

So I loaded the program to core (0,0), but started all cores. Random SRAM data == random instructions == random off-chip access to an invalid address that causes the AXI slave to time out.
This wasn't visible with static remapping since all accesses was forced to [0x8e000000-0x90000000] by the mask.

At any rate, an invalid off-chip access from Epiphany should never bring down the entire system. It's an easy programming error, even I can do it ;)
("External Fetch Abort" in kernel when locks are held requires reboot)

// Ola

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant