/Linux-v6.1/arch/riscv/mm/ |
D | cacheflush.c | 34 * single-hart processes on a many-hart machine, ie 'make -j') we avoid the 37 * execution resumes on each hart. 46 /* Mark every hart's icache as needing a flush for this MM. */ in flush_icache_mm() 49 /* Flush this hart's I$ now, and mark it as flushed. */ in flush_icache_mm() 63 * performed on this hart between setting a hart's cpumask bit in flush_icache_mm() 64 * and scheduling this MM context on that hart. Sending an SBI in flush_icache_mm() 66 * 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() 278 * behavior in a common case (a bunch of single-hart processes on a many-hart 281 * cache flush to be performed before execution resumes on each hart. This 283 * refers to the current hart. 295 * Ensure the remote hart's writes are visible to this hart. in flush_icache_deferred()
|
/Linux-v6.1/arch/riscv/kernel/ |
D | cpu.c | 17 * Returns the hart ID of the given device tree node, or -ENODEV if the node 18 * isn't an enabled and valid RISC-V hart node. 20 int riscv_of_processor_hartid(struct device_node *node, unsigned long *hart) in riscv_of_processor_hartid() argument 29 *hart = (unsigned long) of_get_cpu_hwid(node, 0); in riscv_of_processor_hartid() 30 if (*hart == ~0UL) { in riscv_of_processor_hartid() 31 pr_warn("Found CPU without hart ID\n"); in riscv_of_processor_hartid() 36 pr_info("CPU with hartid=%lu is not available\n", *hart); in riscv_of_processor_hartid() 41 pr_warn("CPU with hartid=%lu has no \"riscv,isa\" property\n", *hart); in riscv_of_processor_hartid() 45 pr_warn("CPU with hartid=%lu has an invalid ISA of \"%s\"\n", *hart, isa); in riscv_of_processor_hartid() 53 * Find hart ID of the CPU DT node under which given DT node falls. [all …]
|
D | smpboot.c | 76 unsigned long hart; in setup_smp() local 84 rc = riscv_of_processor_hartid(dn, &hart); in setup_smp() 88 if (hart == cpuid_to_hartid_map(0)) { in setup_smp() 96 cpuid, hart); in setup_smp() 100 cpuid_to_hartid_map(cpuid) = hart; in setup_smp()
|
D | machine_kexec.c | 133 * No more interrupts on this hart in machine_shutdown() 203 * suspended and this hart will be the new boot hart. 227 pr_notice("Will call new kernel at %08lx from hart id %lx\n", in machine_kexec() 231 /* Make sure the relocation code is visible to the hart */ in machine_kexec()
|
D | head.S | 190 /* We lack SMP support or have too many harts, so park this hart */ 251 /* Pick one hart to run the main boot sequence */ 292 /* Save hart ID and DTB physical address */ 344 * This hart didn't win the lottery, so we wait for the winning hart to
|
D | sys_riscv.c | 51 * kernel might schedule a process on another hart. There is no way for 53 * thread->hart mappings), so we've defined a RISC-V specific system call to
|
D | kexec_relocate.S | 19 * s3: (const) The hartid of the current hart 161 * s2: (const) The hartid of the current hart
|
/Linux-v6.1/Documentation/devicetree/bindings/riscv/ |
D | cpus.yaml | 18 hart: A hardware execution context, which contains all the state 51 Identifies that the hart uses the RISC-V instruction set 52 and identifies the type of the hart. 57 hart. These values originate from the RISC-V Privileged 75 supported by the hart. These are documented in the RISC-V 112 by this hart (see ./idle-states.yaml). 169 // Example 2: Spike ISA Simulator with 1 Hart
|
/Linux-v6.1/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-v6.1/drivers/irqchip/ |
D | irq-riscv-intc.c | 48 * on the local hart, these functions can only be called on the hart that 103 pr_warn("unable to find hart id for %pOF\n", node); in riscv_intc_init() 108 * The DT will have one INTC DT node under each CPU (or HART) in riscv_intc_init() 111 * 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 404 pr_warn("failed to parse hart ID for context %d.\n", i); in __plic_init()
|
/Linux-v6.1/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-v6.1/arch/riscv/include/asm/ |
D | cpu_ops_sbi.h | 16 * struct sbi_hart_boot_data - Hart specific boot used during booting and 18 * @task_ptr: A pointer to the hart specific tp 19 * @stack_ptr: A pointer to the hart specific sp
|
D | smp.h | 56 /* Secondary hart entry */ 60 * Obtains the hart ID of the currently executing task. This relies on
|
D | barrier.h | 66 * task is marked as available for scheduling on a new hart. While I don't see 70 * the new hart.
|
/Linux-v6.1/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-v6.1/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-v6.1/arch/riscv/include/uapi/asm/ |
D | unistd.h | 32 * kernel might schedule a process on another hart. There is no way for 34 * thread->hart mappings), so we've defined a RISC-V specific system call to
|
/Linux-v6.1/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>
|
/Linux-v6.1/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-v6.1/Documentation/devicetree/bindings/iio/addac/ |
D | adi,ad74413r.yaml | 20 The AD74413R differentiates itself from the AD74412R by being HART-compatible. 80 HART functions are not supported on AD74412R.
|