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

Setting PC for and waking up secondary cores from the primary core

Given a multiprocessor system, how are the PC values of secondary cores set from the primary core? I've read lots of threads stating it can be done but without any details. I could not find anything in the ARMv8 reference manual.

One might contrive a mailbox system where the secondary cores wfe and check the value of a mailbox address when woken up. But is there a supported method to directly write the secondary core PC before waking it up? What are the various methods for "waking up" a core?

Parents
  • Starting the secondary cores depends on the SoC. Some have a dedicated register which contains the start address. On some the core just starts at 0 and you have to store there a jump to the actual boot code for the secondary core.

    So, you have to check you SoC's manual.

    But you cannot write any of the registers of another core.

Reply
  • Starting the secondary cores depends on the SoC. Some have a dedicated register which contains the start address. On some the core just starts at 0 and you have to store there a jump to the actual boot code for the secondary core.

    So, you have to check you SoC's manual.

    But you cannot write any of the registers of another core.

Children