smp.c (8b3f6af86378d0a10ca2f1ded1da124aef13b62c) | smp.c (e616c591405c168f6dc3dfd1221e105adfe49b8d) |
---|---|
1/* 2 * linux/arch/arm/kernel/smp.c 3 * 4 * Copyright (C) 2002 ARM Limited, All Rights Reserved. 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 2 as 8 * published by the Free Software Foundation. --- 22 unchanged lines hidden (view full) --- 31#include <asm/cputype.h> 32#include <asm/mmu_context.h> 33#include <asm/pgtable.h> 34#include <asm/pgalloc.h> 35#include <asm/processor.h> 36#include <asm/tlbflush.h> 37#include <asm/ptrace.h> 38#include <asm/localtimer.h> | 1/* 2 * linux/arch/arm/kernel/smp.c 3 * 4 * Copyright (C) 2002 ARM Limited, All Rights Reserved. 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 2 as 8 * published by the Free Software Foundation. --- 22 unchanged lines hidden (view full) --- 31#include <asm/cputype.h> 32#include <asm/mmu_context.h> 33#include <asm/pgtable.h> 34#include <asm/pgalloc.h> 35#include <asm/processor.h> 36#include <asm/tlbflush.h> 37#include <asm/ptrace.h> 38#include <asm/localtimer.h> |
39#include <asm/smp_plat.h> |
|
39 40/* 41 * as from 2.5, kernels no longer have an init_tasks structure 42 * so we need some other way of telling a new secondary core 43 * where to place its SVC stack 44 */ 45struct secondary_data secondary_data; 46 --- 534 unchanged lines hidden (view full) --- 581 * TLB operations 582 */ 583struct tlb_args { 584 struct vm_area_struct *ta_vma; 585 unsigned long ta_start; 586 unsigned long ta_end; 587}; 588 | 40 41/* 42 * as from 2.5, kernels no longer have an init_tasks structure 43 * so we need some other way of telling a new secondary core 44 * where to place its SVC stack 45 */ 46struct secondary_data secondary_data; 47 --- 534 unchanged lines hidden (view full) --- 582 * TLB operations 583 */ 584struct tlb_args { 585 struct vm_area_struct *ta_vma; 586 unsigned long ta_start; 587 unsigned long ta_end; 588}; 589 |
589/* all SMP configurations have the extended CPUID registers */ 590static inline int tlb_ops_need_broadcast(void) 591{ 592 return ((read_cpuid_ext(CPUID_EXT_MMFR3) >> 12) & 0xf) < 2; 593} 594 | |
595static inline void ipi_flush_tlb_all(void *ignored) 596{ 597 local_flush_tlb_all(); 598} 599 600static inline void ipi_flush_tlb_mm(void *arg) 601{ 602 struct mm_struct *mm = (struct mm_struct *)arg; --- 92 unchanged lines hidden --- | 590static inline void ipi_flush_tlb_all(void *ignored) 591{ 592 local_flush_tlb_all(); 593} 594 595static inline void ipi_flush_tlb_mm(void *arg) 596{ 597 struct mm_struct *mm = (struct mm_struct *)arg; --- 92 unchanged lines hidden --- |