How to set secondary core's registers from primary arm?

Hi all,

Im working on Keystone II Tci6638k2k(4arm+8dsp) custom design board with u-boot. I understand that how u-boot working.

U-boot gives entry point to other cores. Other cores take program counters with this way. But i want to give core registers too. Is it possible? Can primary arm access secondary arm's registers?

Best Regards.

Srt

Parents
  • Hello,

    you can independently set the register values for each core by using CPU ID register.

    For example, the following code will can be used.

    MRC p15,0,r0,c0,c0,5 @ returns CPU ID register
    and r0,r0,#0x3
    cmp r0,#0
    beq core0_set
    cmp r0,#1
    beq core1_set
    cmp r0,#2
    beq cpre2_set
    cmp r0,,#2
    beq core3_set
    ..........
    
    core0_set:
    <set core0 registers>
    
    core1_set:
    <set core1 registers>
    
    core2_set:
    <set core2 registers>
    
    core3_set:
    <set core3 registers>
    

    Isn't this your intention?

    Best regards,

    Yasuhiko Koumoto.

Reply
  • Hello,

    you can independently set the register values for each core by using CPU ID register.

    For example, the following code will can be used.

    MRC p15,0,r0,c0,c0,5 @ returns CPU ID register
    and r0,r0,#0x3
    cmp r0,#0
    beq core0_set
    cmp r0,#1
    beq core1_set
    cmp r0,#2
    beq cpre2_set
    cmp r0,,#2
    beq core3_set
    ..........
    
    core0_set:
    <set core0 registers>
    
    core1_set:
    <set core1 registers>
    
    core2_set:
    <set core2 registers>
    
    core3_set:
    <set core3 registers>
    

    Isn't this your intention?

    Best regards,

    Yasuhiko Koumoto.

Children
More questions in this forum