diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-08-01 08:42:45 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-08-22 16:27:02 +0200 |
commit | f14da4517f8297f5bcf4a125f8357da73111981f (patch) | |
tree | 6e2ec559fc5fde1e8dec53bad854867a40eb6bde /c/src/lib/libbsp/powerpc/qoriq/startup/bspsmp.c | |
parent | bsp/qoriq: Copy FDT later (diff) | |
download | rtems-f14da4517f8297f5bcf4a125f8357da73111981f.tar.bz2 |
bsp/qoriq: 64-bit support for spin table
Update #3082.
Diffstat (limited to 'c/src/lib/libbsp/powerpc/qoriq/startup/bspsmp.c')
-rw-r--r-- | c/src/lib/libbsp/powerpc/qoriq/startup/bspsmp.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/c/src/lib/libbsp/powerpc/qoriq/startup/bspsmp.c b/c/src/lib/libbsp/powerpc/qoriq/startup/bspsmp.c index b0342ec9ec..b99a5b4f65 100644 --- a/c/src/lib/libbsp/powerpc/qoriq/startup/bspsmp.c +++ b/c/src/lib/libbsp/powerpc/qoriq/startup/bspsmp.c @@ -79,7 +79,7 @@ static void start_thread_if_necessary(uint32_t cpu_index_self) && _SMP_Should_start_processor(cpu_index_next) ) { /* Thread Initial Next Instruction Address (INIA) */ - PPC_SET_THREAD_MGMT_REGISTER(321, (uint32_t) _start_thread); + PPC_SET_THREAD_MGMT_REGISTER(321, (uintptr_t) _start_thread); /* Thread Initial Machine State (IMSR) */ PPC_SET_THREAD_MGMT_REGISTER(289, QORIQ_INITIAL_MSR); @@ -158,11 +158,10 @@ static bool release_processor( const Per_CPU_Control *cpu = _Per_CPU_Get_by_index(cpu_index); spin_table->pir = cpu_index; - spin_table->r3_lower = (uint32_t) cpu->interrupt_stack_high; - spin_table->addr_upper = 0; + spin_table->r3 = (uintptr_t) cpu->interrupt_stack_high; rtems_cache_flush_multiple_data_lines(spin_table, sizeof(*spin_table)); ppc_synchronize_data(); - spin_table->addr_lower = (uint32_t) _start_secondary_processor; + spin_table->addr = (uintptr_t) _start_secondary_processor; rtems_cache_flush_multiple_data_lines(spin_table, sizeof(*spin_table)); } |