/Linux-v5.15/arch/riscv/kernel/ |
D | cpu.c | 12 * Returns the hart ID of the given device tree node, or -ENODEV if the node 13 * isn't an enabled and valid RISC-V hart node. 18 u32 hart; in riscv_of_processor_hartid() local 25 if (of_property_read_u32(node, "reg", &hart)) { in riscv_of_processor_hartid() 26 pr_warn("Found CPU without hart ID\n"); in riscv_of_processor_hartid() 31 pr_info("CPU with hartid=%d is not available\n", hart); in riscv_of_processor_hartid() 36 pr_warn("CPU with hartid=%d has no \"riscv,isa\" property\n", hart); in riscv_of_processor_hartid() 40 pr_warn("CPU with hartid=%d has an invalid ISA of \"%s\"\n", hart, isa); in riscv_of_processor_hartid() 44 return hart; in riscv_of_processor_hartid() 48 * Find hart ID of the CPU DT node under which given DT node falls. [all …]
|
D | smpboot.c | 79 int hart; in setup_smp() local 86 hart = riscv_of_processor_hartid(dn); in setup_smp() 87 if (hart < 0) in setup_smp() 90 if (hart == cpuid_to_hartid_map(0)) { in setup_smp() 98 cpuid, hart); in setup_smp() 102 cpuid_to_hartid_map(cpuid) = hart; in setup_smp()
|
D | machine_kexec.c | 129 * No more interrupts on this hart in machine_shutdown() 164 * suspended and this hart will be the new boot hart. 182 pr_notice("Will call new kernel at %08lx from hart id %lx\n", in machine_kexec() 186 /* Make sure the relocation code is visible to the hart */ in machine_kexec()
|
D | head.S | 198 /* We lack SMP support or have too many harts, so park this hart */ 259 /* Pick one hart to run the main boot sequence */ 295 /* Save hart ID and DTB physical address */ 346 * This hart didn't win the lottery, so we wait for the winning hart to
|
D | sys_riscv.c | 53 * kernel might schedule a process on another hart. There is no way for 55 * thread->hart mappings), so we've defined a RISC-V specific system call to
|
D | cpufeature.c | 113 * All "okay" hart should have same isa. Set HWCAP based on in riscv_fill_hwcap() 114 * common capabilities of every "okay" hart, in case they don't in riscv_fill_hwcap()
|
/Linux-v5.15/arch/riscv/mm/ |
D | cacheflush.c | 33 * single-hart processes on a many-hart machine, ie 'make -j') we avoid the 36 * execution resumes on each hart. 45 /* Mark every hart's icache as needing a flush for this MM. */ in flush_icache_mm() 48 /* Flush this hart's I$ now, and mark it as flushed. */ in flush_icache_mm() 62 * performed on this hart between setting a hart's cpumask bit in flush_icache_mm() 63 * and scheduling this MM context on that hart. Sending an SBI in flush_icache_mm() 65 * messages are sent we still need to order this hart's writes in flush_icache_mm()
|
D | context.c | 230 * we polluted the TLB of current HART so let's do TLB flushed in asids_init() 276 * behavior in a common case (a bunch of single-hart processes on a many-hart 279 * cache flush to be performed before execution resumes on each hart. This 281 * refers to the current hart. 293 * Ensure the remote hart's writes are visible to this hart. in flush_icache_deferred()
|
/Linux-v5.15/Documentation/devicetree/bindings/interrupt-controller/ |
D | riscv,cpu-intc.txt | 1 RISC-V Hart-Level Interrupt Controller (HLIC) 5 CPU core (HART in RISC-V terminology) and can be read or written by software. 7 Every interrupt is ultimately routed through a hart's HLIC before it 8 interrupts that hart. 40 definition of the hart whose CSRs control these local interrupts.
|
D | sifive,plic-1.0.0.yaml | 14 external interrupts in the system to all hart contexts in the system, via 15 the external interrupt source in each hart. 17 A hart context is a privilege mode in a hardware execution thread. For example, 19 privilege modes per hart; machine mode and supervisor mode.
|
/Linux-v5.15/Documentation/devicetree/bindings/riscv/ |
D | cpus.yaml | 17 hart: A hardware execution context, which contains all the state 46 Identifies that the hart uses the RISC-V instruction set 47 and identifies the type of the hart. 52 hart. These values originate from the RISC-V Privileged 65 supported by the hart. These are documented in the RISC-V 153 // Example 2: Spike ISA Simulator with 1 Hart
|
/Linux-v5.15/drivers/irqchip/ |
D | irq-riscv-intc.c | 48 * on the local hart, these functions can only be called on the hart that 102 pr_warn("unable to find hart id for %pOF\n", node); in riscv_intc_init() 107 * The DT will have one INTC DT node under each CPU (or HART) in riscv_intc_init() 110 * for the INTC DT node belonging to boot CPU (or boot HART). in riscv_intc_init()
|
D | irq-sifive-plic.c | 44 * Each hart context has a vector of interrupt enable bits associated with it. 51 * Each hart context has a set of control registers associated with it. Right 52 * now there's only two: a source priority threshold over which the hart will 326 pr_warn("failed to parse hart ID for context %d.\n", i); in plic_init()
|
D | Kconfig | 504 This enables support for the per-HART local interrupt controller 505 found in standard RISC-V systems. The per-HART local interrupt 507 hardware interrupts. Without a per-HART local interrupt controller,
|
/Linux-v5.15/arch/csky/abiv2/ |
D | cacheflush.c | 43 * Ensure the remote hart's writes are visible to this hart. in flush_icache_deferred() 67 /* Mark every hart's icache as needing a flush for this MM. */ in flush_icache_mm_range() 71 /* Flush this hart's I$ now, and mark it as flushed. */ in flush_icache_mm_range()
|
/Linux-v5.15/tools/testing/selftests/futex/ |
D | run.sh | 13 # Darren Hart <dvhart@linux.intel.com> 16 # 2009-Nov-9: Initial version by Darren Hart <dvhart@linux.intel.com>
|
/Linux-v5.15/tools/arch/riscv/include/uapi/asm/ |
D | unistd.h | 29 * kernel might schedule a process on another hart. There is no way for 31 * thread->hart mappings), so we've defined a RISC-V specific system call to
|
/Linux-v5.15/arch/riscv/include/uapi/asm/ |
D | unistd.h | 31 * kernel might schedule a process on another hart. There is no way for 33 * thread->hart mappings), so we've defined a RISC-V specific system call to
|
/Linux-v5.15/tools/testing/selftests/futex/functional/ |
D | run.sh | 12 # Darren Hart <dvhart@linux.intel.com> 15 # 2009-Nov-9: Initial version by Darren Hart <dvhart@linux.intel.com>
|
D | futex_requeue_pi_mismatched_ops.c | 12 * Darren Hart <dvhart@linux.intel.com> 15 * 2009-Nov-9: Initial version by Darren Hart <dvhart@linux.intel.com>
|
D | futex_wait_timeout.c | 10 * Darren Hart <dvhart@linux.intel.com> 13 * 2009-Nov-6: Initial version by Darren Hart <dvhart@linux.intel.com>
|
/Linux-v5.15/tools/testing/selftests/futex/include/ |
D | atomic.h | 11 * Darren Hart <dvhart@linux.intel.com> 14 * 2009-Nov-17: Initial version by Darren Hart <dvhart@linux.intel.com>
|
D | logging.h | 10 * Darren Hart <dvhart@linux.intel.com> 13 * 2009-Nov-6: Initial version by Darren Hart <dvhart@linux.intel.com>
|
/Linux-v5.15/arch/riscv/include/asm/ |
D | smp.h | 54 /* Secondary hart entry */ 58 * Obtains the hart ID of the currently executing task. This relies on
|
D | barrier.h | 64 * task is marked as available for scheduling on a new hart. While I don't see 68 * the new hart.
|