This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How to handle SCU at runtime on Cortex-A9

Hi there,

I'm working on altera cyclone V SoC equipped with a Dual Core Cortex-A9. It runs Linux socfpga 3.13. I'm trying to disable (and enable) the SCU at runtime, but I have a segmantation fault: unable to handle kernel paging requet at virtual address FFFEF1000.

I think that the conversion from virtual to physical address deny me to access a the SCU Control Register. Obviously, I cannot disable the MMU because I cannot flush caches.

Can anyone help me? How can I proceed?

Thanks in advance.

MI

Parents
  • Disabling the SCU while the kernel is running is a "really bad idea" (tm) - the entire software stack assumes SMP kernels are memory coherent so if you turn off coherency you're going to get all sorts of buggy behaviour. What are you trying to achieve?

    I can't entirely remember, but the SCU settings have a good chance that they are globally enabled or disabled from the TrustZone secure world only, so an operating running in "Normal World" may be forbidden from changing this setting.

    Cheers,
    Pete

Reply
  • Disabling the SCU while the kernel is running is a "really bad idea" (tm) - the entire software stack assumes SMP kernels are memory coherent so if you turn off coherency you're going to get all sorts of buggy behaviour. What are you trying to achieve?

    I can't entirely remember, but the SCU settings have a good chance that they are globally enabled or disabled from the TrustZone secure world only, so an operating running in "Normal World" may be forbidden from changing this setting.

    Cheers,
    Pete

Children