Home
last modified time | relevance | path

Searched full:hart (Results 1 – 25 of 80) sorted by relevance

1234

/kernel/linux/linux-4.19/arch/riscv/kernel/
Dcpu.c18 /* Return -1 if not a valid hart */
22 u32 hart; in riscv_of_processor_hart() local
29 if (of_property_read_u32(node, "reg", &hart)) { in riscv_of_processor_hart()
30 pr_warn("Found CPU without hart ID\n"); in riscv_of_processor_hart()
33 if (hart >= NR_CPUS) { in riscv_of_processor_hart()
34 pr_info("Found hart ID %d, which is above NR_CPUs. Disabling this hart\n", hart); in riscv_of_processor_hart()
39 pr_warn("CPU with hartid=%d has no \"status\" property\n", hart); in riscv_of_processor_hart()
43 pr_info("CPU with hartid=%d has a non-okay status of \"%s\"\n", hart, status); in riscv_of_processor_hart()
48 pr_warn("CPU with hartid=%d has no \"riscv,isa\" property\n", hart); in riscv_of_processor_hart()
52 pr_warn("CPU with hartid=%d has an invalid ISA of \"%s\"\n", hart, isa); in riscv_of_processor_hart()
[all …]
Dsmpboot.c53 int hart, im_okay_therefore_i_am = 0; in setup_smp() local
56 hart = riscv_of_processor_hart(dn); in setup_smp()
57 if (hart >= 0) { in setup_smp()
58 set_cpu_possible(hart, true); in setup_smp()
59 set_cpu_present(hart, true); in setup_smp()
60 if (hart == smp_processor_id()) { in setup_smp()
76 * selects the first hart to boot the kernel and causes the remainder in __cpu_up()
78 * setup by that main hart. Writing __cpu_up_stack_pointer signals to in __cpu_up()
Dsmp.c122 * single-hart processes on a many-hart machine, ie 'make -j') we avoid the
125 * execution resumes on each hart.
134 /* Mark every hart's icache as needing a flush for this MM. */ in flush_icache_mm()
137 /* Flush this hart's I$ now, and mark it as flushed. */ in flush_icache_mm()
153 * performed on this hart between setting a hart's cpumask bit in flush_icache_mm()
154 * and scheduling this MM context on that hart. Sending an SBI in flush_icache_mm()
156 * messages are sent we still need to order this hart's writes in flush_icache_mm()
Dhead.S41 /* Pick one hart to run the main boot sequence */
47 /* Save hart ID and DTB physical address */
130 * This hart didn't win the lottery, so we wait for the winning hart to
149 /* We lack SMP support or have too many harts, so park this hart */
/kernel/linux/linux-5.10/arch/riscv/kernel/
Dcpu.c12 * 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 …]
Dsmpboot.c68 int hart; in setup_smp() local
75 hart = riscv_of_processor_hartid(dn); in setup_smp()
76 if (hart < 0) in setup_smp()
79 if (hart == cpuid_to_hartid_map(0)) { in setup_smp()
86 cpuid, hart); in setup_smp()
90 cpuid_to_hartid_map(cpuid) = hart; in setup_smp()
Dhead.S180 /* We lack SMP support or have too many harts, so park this hart */
241 /* Pick one hart to run the main boot sequence */
257 /* Save hart ID and DTB physical address */
298 * This hart didn't win the lottery, so we wait for the winning hart to
/kernel/linux/linux-5.10/arch/riscv/mm/
Dcacheflush.c33 * 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()
Dcontext.c17 * behavior in a common case (a bunch of single-hart processes on a many-hart
20 * cache flush to be performed before execution resumes on each hart. This
22 * refers to the current hart.
33 * Ensure the remote hart's writes are visible to this hart. in flush_icache_deferred()
/kernel/linux/linux-4.19/arch/riscv/include/asm/
Dmmu_context.h47 * behavior in a common case (a bunch of single-hart processes on a many-hart
50 * cache flush to be performed before execution resumes on each hart. This
52 * refers to the current hart.
63 * Ensure the remote hart's writes are visible to this hart. in flush_icache_deferred()
/kernel/linux/linux-4.19/Documentation/devicetree/bindings/riscv/
Dcpus.txt22 * hart: A hardware execution context, which contains all the state mandated by
56 Description: Describes a hart context
67 Definition: The hart ID of this CPU node
83 Definition: Contains the RISC-V ISA string of this hart. These
89 This system contains two harts: a hart marked as disabled that's used for
90 low-level system tasks and should be ignored by Linux, and a second hart that
142 Example: Spike ISA Simulator with 1 Hart
/kernel/linux/linux-4.19/Documentation/devicetree/bindings/interrupt-controller/
Driscv,cpu-intc.txt1 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.
Dsifive,plic-1.0.0.txt7 hart contexts in the system, via the external interrupt source in each hart.
9 A hart context is a privilege mode in a hardware execution thread. For example,
11 privilege modes per hart; machine mode and supervisor mode.
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/interrupt-controller/
Driscv,cpu-intc.txt1 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.
Dsifive,plic-1.0.0.yaml14 hart contexts in the system, via the external interrupt source in each hart.
16 A hart context is a privilege mode in a hardware execution thread. For example,
18 privilege modes per hart; machine mode and supervisor mode.
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/riscv/
Dcpus.yaml17 hart: A hardware execution context, which contains all the state
39 Identifies that the hart uses the RISC-V instruction set
40 and identifies the type of the hart.
45 hart. These values originate from the RISC-V Privileged
57 supported by the hart. These are documented in the RISC-V
145 // Example 2: Spike ISA Simulator with 1 Hart
/kernel/linux/linux-5.10/drivers/irqchip/
Dirq-riscv-intc.c48 * 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()
/kernel/linux/linux-5.10/arch/csky/abiv2/
Dcacheflush.c40 * Ensure the remote hart's writes are visible to this hart. in flush_icache_deferred()
64 /* Mark every hart's icache as needing a flush for this MM. */ in flush_icache_mm_range()
68 /* Flush this hart's I$ now, and mark it as flushed. */ in flush_icache_mm_range()
/kernel/linux/linux-4.19/drivers/irqchip/
Dirq-sifive-plic.c41 * Each hart context has a vector of interrupt enable bits associated with it.
48 * Each hart context has a set of control registers associated with it. Right
49 * now there's only two: a source priority threshold over which the hart will
172 * Walk up the DT tree until we find an active RISC-V core (HART) node and
234 pr_warn("failed to parse hart ID for context %d.\n", i); in plic_init()
/kernel/linux/linux-4.19/drivers/clocksource/
Driscv_timer.c14 * All RISC-V systems have a timer attached to every hart. These timers can be
22 * operations on the current hart. There is guaranteed to be exactly one timer
23 * per hart on all RISC-V systems.
/kernel/linux/linux-4.19/arch/riscv/include/uapi/asm/
Dsyscalls.h16 * kernel might schedule a process on another hart. There is no way for
18 * thread->hart mappings), so we've defined a RISC-V specific system call to
/kernel/linux/linux-5.10/tools/testing/selftests/futex/
Drun.sh13 # Darren Hart <dvhart@linux.intel.com>
16 # 2009-Nov-9: Initial version by Darren Hart <dvhart@linux.intel.com>
/kernel/linux/linux-5.10/tools/arch/riscv/include/uapi/asm/
Dunistd.h29 * 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
/kernel/linux/linux-5.10/arch/riscv/include/uapi/asm/
Dunistd.h31 * 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
/kernel/linux/linux-4.19/tools/testing/selftests/futex/
Drun.sh17 # Darren Hart <dvhart@linux.intel.com>
20 # 2009-Nov-9: Initial version by Darren Hart <dvhart@linux.intel.com>

1234