| /linux/arch/arm/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 65 select GENERIC_CLOCKEVENTS_BROADCAST if SMP 66 select GENERIC_IRQ_IPI if SMP 132 select MMU_GATHER_RCU_TABLE_FREE if SMP && ARM_LPAE 162 The ARM series is a line of low-power-consumption RISC chip designs 164 handhelds such as the Compaq IPAQ. ARM-based PCs are no longer 165 manufactured, but legacy ARM-based PC hardware remains popular in 173 relocations. The combined range is -/+ 256 MiB, which is usually 266 Patch phys-to-virt and virt-to-phys translation functions at 270 This can only be used with non-XIP MMU kernels where the base [all …]
|
| /linux/arch/arm/mach-omap2/ |
| H A D | omap-smp.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * OMAP4 SMP source file. It contains platform specific functions 4 * needed for the linux smp kernel. 11 * Platform file needed for the OMAP4 SMP. This file is based on arm 12 * realview smp platform. 17 #include <linux/smp.h> 19 #include <linux/irqchip/arm-gic.h> 25 #include "omap-secure.h" 26 #include "omap-wakeupgen.h" 87 * BIT(27) - Disables streaming. All write-allocate lines allocate in in omap5_erratum_workaround_801819() [all …]
|
| H A D | omap-headsmp.S | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 5 * Copyright (C) 2009-2014 Texas Instruments, Inc. 10 * Interface functions needed for the SMP. This file is based on arm 11 * realview smp platform. 58 .arch armv7-a 113 * bit 1 == Non-Secure Enable 114 * The Non-Secure banked register has not changed 116 * GIC restoration will cause a problem to CPU0 Non-Secure SW. 120 * 2) CPU1 must re-enable the GIC distributor on
|
| /linux/Documentation/arch/x86/i386/ |
| H A D | IO-APIC.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 IO-APIC 9 Most (all) Intel-MP compliant SMP boards have the so-called 'IO-APIC', 12 IO-APIC, interrupts from hardware will be delivered only to the 15 Linux supports all variants of compliant SMP boards, including ones with 16 multiple IO-APICs. Multiple IO-APICs are used in high-end servers to 20 usually worked around by the kernel. If your MP-compliant SMP board does 21 not boot Linux, then consult the linux-smp mailing list archives first. 23 If your box boots fine with enabled IO-APIC IRQs, then your 28 0: 1360293 IO-APIC-edge timer [all …]
|
| /linux/include/linux/ |
| H A D | virtio_ring.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 11 * Barriers in virtio are tricky. Non-SMP virtio guests can't assume 12 * they're not on an SMP host system, so they need to assume real 13 * barriers. Non-SMP virti [all...] |
| H A D | smp.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 6 * Generic SMP support 60 * Architecture-dependent code may override them. 78 * @func: The function to run. This must be fast and non-blocking. 119 #include <asm/smp.h> 122 * main cross-CPU interfaces, handles INIT, TLB flush, STOP, etc. 137 * callsite IP should be sufficient for root-causing IPIs sent from here. 191 #else /* !SMP */ 196 * These macros fold the SMP functionality into a single CPU system 234 #endif /* !SMP */ [all …]
|
| /linux/arch/x86/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 4 bool "64-bit kernel" if "$(ARCH)" = "x86" 7 Say yes to build a 64-bit kernel - formerly known as x86_64 8 Say no to build a 32-bit kernel - formerly known as i386 13 # Options that are inherently 32-bit kernel only: 26 # Options that are inherently 64-bit kernel only: 48 in order to test the non static function tracing in the 56 # ported to 32-bit as well. ) 158 # Word-size accesses may read uninitialized data past the trailing \0 174 select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP [all …]
|
| /linux/kernel/ |
| H A D | smp.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Generic helpers for smp ipi calls 19 #include <linux/smp.h> 36 #include "sched/smp.h" 38 #define CSD_TYPE(_csd) ((_csd)->node.u_flags & CSD_FLAG_TYPE_MASK) 58 if (!zalloc_cpumask_var_node(&cfd->cpumask, GFP_KERNEL, in smpcfd_prepare_cpu() 60 return -ENOMEM; in smpcfd_prepare_cpu() 61 if (!zalloc_cpumask_var_node(&cfd->cpumask_ipi, GFP_KERNEL, in smpcfd_prepare_cpu() 63 free_cpumask_var(cfd->cpumask); in smpcfd_prepare_cpu() 64 return -ENOMEM; in smpcfd_prepare_cpu() [all …]
|
| /linux/drivers/gpu/drm/msm/disp/mdp5/ |
| H A D | mdp5_pipe.c | 1 // SPDX-License-Identifier: GPL-2.0-only 14 struct msm_drm_private *priv = s->dev->dev_private; in mdp5_pipe_assign() 15 struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(priv->kms)); in mdp5_pipe_assign() 27 old_state = &old_global_state->hwpipe; in mdp5_pipe_assign() 28 new_state = &new_global_state->hwpipe; in mdp5_pipe_assign() 30 for (i = 0; i < mdp5_kms->num_hwpipes; i++) { in mdp5_pipe_assign() 31 struct mdp5_hw_pipe *cur = mdp5_kms->hwpipes[i]; in mdp5_pipe_assign() 33 /* skip if already in-use.. check both new and old state, in mdp5_pipe_assign() 34 * since we cannot immediately re-use a pipe that is in mdp5_pipe_assign() 36 * (1) mdp5 can have SMP (non-double-buffered) in mdp5_pipe_assign() [all …]
|
| /linux/arch/arm/mm/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 17 A 32-bit RISC microprocessor based on the ARM7 processor core 36 A 32-bit RISC processor with 8kByte Cache, Write Buffer and 53 A 32-bit RISC processor with 8KB cache or 4KB variants, 69 A 32-bit RISC microprocessor based on the ARM9 processor core 182 ARM940T is a member of the ARM9TDMI family of general- 184 instruction and 4KB data cases, each with a 4-word line 190 # ARM946E-S 201 ARM946E-S is a member of the ARM9E-S family of high- 202 performance, 32-bit system-on-chip processor solutions. [all …]
|
| /linux/arch/arm/include/asm/ |
| H A D | smp.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * arch/arm/include/asm/smp.h 5 * Copyright (C) 2004-2005 ARM Ltd. 15 # error "<asm/smp.h> included in non-SMP build" 18 #define raw_smp_processor_id() (current_thread_info()->cpu) 38 * Register IPI interrupts with the arch SMP code 114 * set platform specific SMP operations
|
| /linux/kernel/irq/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 23 depends on SMP 51 # Generic irq_domain hw <--> linux irq number translation 66 # Support for obsolete non-mapping irq domains 78 depends on SMP 84 depends on SMP 121 out the interrupt descriptors in a more NUMA-friendly way. ) 149 imply SMP
|
| H A D | ipi.c | 1 // SPDX-License-Identifier: GPL-2.0 15 * irq_reserve_ipi() - Setup an IPI to destination cpumask 31 pr_warn("Reservation on a non IPI domain\n"); in irq_reserve_ipi() 32 return -EINVAL; in irq_reserve_ipi() 37 return -EINVAL; in irq_reserve_ipi() 43 return -EINVAL; in irq_reserve_ipi() 74 return -EINVAL; in irq_reserve_ipi() 78 virq = irq_domain_alloc_descs(-1, nr_irqs, 0, NUMA_NO_NODE, NULL); in irq_reserve_ipi() 81 return -ENOMEM; in irq_reserve_ipi() 94 cpumask_copy(data->common->affinity, dest); in irq_reserve_ipi() [all …]
|
| /linux/arch/powerpc/platforms/ |
| H A D | Kconfig.cputype | 1 # SPDX-License-Identifier: GPL-2.0 7 bool "64-bit kernel" 10 This option selects whether a 32-bit or a 64-bit kernel 267 default "-mtune=power10" if $(cc-option,-mtune=power10) 268 default "-mtune=power9" if $(cc-option,-mtune=power9) 269 default "-mtune=power8" if $(cc-option,-mtune=power8) 346 This option enables kernel support for larger than 32-bit physical 351 is platform-dependent. 367 any affect on a non-altivec cpu (it does, however add code to the 383 VSX (P7 and above), but does not have any affect on a non-VSX [all …]
|
| /linux/arch/mips/include/asm/mach-cavium-octeon/ |
| H A D | kernel-entry-init.h | 6 * Copyright (C) 2005-2008 Cavium Networks, Inc 48 xor t1, t1, 0x9000 # 63-P1 51 xor t1, t1, 0x9008 # 63-P2 54 xor t1, t1, 0x9100 # 68-P1 57 xor t1, t1, 0x9200 # 66-PX 60 slti t1, t1, 2 # 66-P1.2 and later good. 63 4: # core-16057 work around 66 5: # No core-16057 work around 77 sd $0, -32768(v0) 98 # All cores other than the master need to wait here for SMP bootstrap [all …]
|
| /linux/arch/arm/mach-mmp/ |
| H A D | platsmp.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 7 #include <asm/smp.h> 8 #include "addr-map.h" 16 * register becoming non-zero and then jumps to the address written in mmp3_boot_secondary() 32 CPU_METHOD_OF_DECLARE(mmp3_smp, "marvell,mmp3-smp", &mmp3_smp_ops);
|
| /linux/drivers/sh/intc/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 14 This enables support for hardware-assisted userspace hardirq 17 SH-4A and newer interrupt blocks all support a special shadowed 18 page with all non-masking registers obscured when mapped in to 26 depends on SMP && SUPERH && CPU_SHX3 28 This enables support for IRQ auto-distribution mode on SH-X3 29 SMP parts. All of the balancing and CPU wakeup decisions are 36 bool "Expose IRQ to per-controller id mapping via debugfs" 40 between system IRQs and the per-controller id tables.
|
| /linux/Documentation/devicetree/bindings/interrupt-controller/ |
| H A D | csky,mpintc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/interrupt-controller/csky,mpintc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: C-SKY Multi-processors Interrupt Controller 10 - Guo Ren <guoren@kernel.org> 13 C-SKY Multi-processors Interrupt Controller is designed for ck807/ck810/ck860 14 SMP soc, and it also could be used in non-SMP system. 17 0-15 : software irq, and we use 15 as our IPI_IRQ. 18 16-31 : private irq, and we use 16 as the co-processor timer. [all …]
|
| /linux/arch/powerpc/kernel/ |
| H A D | dbell.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 10 #include <linux/smp.h> 45 printk(KERN_WARNING "Received doorbell on non-smp system\n"); in DEFINE_INTERRUPT_HANDLER_ASYNC()
|
| /linux/arch/mips/bmips/ |
| H A D | setup.c | 20 #include <linux/smp.h> 24 #include <asm/cpu-type.h> 27 #include <asm/smp-ops.h> 40 * with "brcm,bmips-cbr-reg" in the "cpus" node. 65 * load address to a non-conflicting region (e.g. via in bcm3384_viper_quirks() 71 * smp-bmips.c (boot on TP1, but enable SMP, then TP0 becomes our in bcm3384_viper_quirks() 72 * logical CPU#1). For the Viper TP1 case, SMP is off limits. in bcm3384_viper_quirks() 112 * disable SMP for now in bcm6358_quirks() 131 { "brcm,bcm3384-viper", &bcm3384_viper_quirks }, 132 { "brcm,bcm33843-viper", &bcm3384_viper_quirks }, [all …]
|
| /linux/arch/x86/kernel/ |
| H A D | smp.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Intel SMP support routines. 6 * (c) 1998-99, 2000, 2009 Ingo Molnar <mingo@redhat.com> 40 * Some notes on x86 processor bugs affecting SMP operation: 43 * The Linux implications for SMP are handled as follows: 46 * None of the E1AP-E3AP errata are visible to the user. 53 * None of the A1AP-A3AP errata are visible to the user. 60 * None of 1AP-9AP errata are visible to the normal user, 62 * This is very rare and a non-problem. 64 * 1AP. Linux maps APIC as non-cacheable [all …]
|
| H A D | alternative.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 #define pr_fmt(fmt) "SMP alternatives: " fmt 10 #include <asm/text-patching.h> 20 #define MAX_PATCH_LEN (255-1) 41 __setup("debug-alternative", debug_alt); 50 __setup("noreplace-smp", setup_noreplace_smp); 67 for (j = 0; j < (len) - 1; j++) \ 127 void *tmp = krealloc(pages->pages, (pages->num+1) * sizeof(void *), in __its_alloc() 132 pages->pages = tmp; in __its_alloc() 133 pages->pages[pages->num++] = page; in __its_alloc() [all …]
|
| /linux/arch/loongarch/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 75 select ARCH_SUPPORTS_SCHED_SMT if SMP 76 select ARCH_SUPPORTS_SCHED_MC if SMP 250 # MIPS Loongson code, to preserve Loongson-specific code paths in drivers that 281 def_bool $(as-instr,x:pcalau12i \$t0$(comma)%pc_hi20(x)) 284 def_bool $(as-instr,movfcsr2gr \$t0$(comma)\$fcsr0) 287 def_bool $(cc-option,-Wa$(comma)-mthin-add-sub) || AS_IS_LLVM 290 def_bool $(as-instr,vld \$vr0$(comma)\$a0$(comma)0) 293 def_bool $(as-instr,xvld \$xr0$(comma)\$a0$(comma)0) 296 def_bool $(as-instr,movscr2gr \$a0$(comma)\$scr0) [all …]
|
| /linux/arch/powerpc/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 5 def_bool PPC64 && $(cc-option, -mabi=elfv2) 8 def_bool PPC64 && $(cc-option, -mcpu=power10 -mprefixed) 11 # Clang has a bug (https://github.com/llvm/llvm-project/issues/62372) 12 # where pcrel code is not generated if -msoft-float, -mno-altivec, or 13 # -mno-vsx options are also given. Without these options, fp/vec 16 def_bool PPC64 && CC_IS_GCC && $(cc-option, -mcpu=power10 -mpcrel) 35 # On Book3S 64, the default virtual address space for 64-bit processes 38 # between bottom-up and top-down allocations for applications that 41 default 29 if PPC_BOOK3S_64 && PPC_64K_PAGES # 29 = 45 (32T) - 16 (64K) [all …]
|
| /linux/arch/riscv/kernel/ |
| H A D | smpboot.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * SMP initialisation and IPI support 4 * Based on arch/arm64/kernel/smp.c 36 #include <asm/smp.h> 56 /* This covers non-smp usecase mandated by "nosmp" option */ in smp_prepare_cpus() 82 if (!(processor->flags & ACPI_MADT_ENABLED)) in acpi_parse_rintc() 86 return -EINVAL; in acpi_parse_rintc() 88 acpi_table_print_madt_entry(&header->common); in acpi_parse_rintc() 90 hart = processor->hart_id; in acpi_parse_rintc() 176 if (cpu_ops->cpu_start) in start_secondary_cpu() [all …]
|