Searched refs:cpu (Results 1 - 25 of 50) sorted by relevance

12

/seL4-refos-master/kernel/include/arch/riscv/arch/smp/
H A Dipi_inline.h11 static inline void doRemoteStall(word_t cpu) argument
13 doRemoteOp0Arg(IpiRemoteCall_Stall, cpu);
17 static inline void doRemoteswitchFpuOwner(user_fpu_state_t *new_owner, word_t cpu) argument
19 doRemoteOp1Arg(IpiRemoteCall_switchFpuOwner, (word_t)new_owner, cpu);
/seL4-refos-master/kernel/include/arch/x86/arch/smp/
H A Dipi_inline.h13 static inline void doRemoteStall(word_t cpu) argument
15 doRemoteOp0Arg(IpiRemoteCall_Stall, cpu);
18 static inline void doRemoteswitchFpuOwner(user_fpu_state_t *new_owner, word_t cpu) argument
20 doRemoteOp1Arg(IpiRemoteCall_switchFpuOwner, (word_t)new_owner, cpu);
44 static inline void doRemoteClearCurrentVCPU(word_t cpu) argument
46 doRemoteOp0Arg(IpiRemoteCall_ClearCurrentVCPU, cpu);
49 static inline void doRemoteVMCheckBoundNotification(word_t cpu, tcb_t *tcb) argument
51 doRemoteOp1Arg(IpiRemoteCall_VMCheckBoundNotification, (word_t)tcb, cpu);
/seL4-refos-master/projects/seL4_libs/libsel4bench/arch_include/arm/armv/armv6/sel4bench/armv/
H A Dsel4bench.h14 #include <sel4bench/cpu/sel4bench.h>
/seL4-refos-master/libs/libmuslc/src/sched/
H A Dsched_getcpu.c15 static long getcpu_init(unsigned *cpu, unsigned *node, void *unused) argument
20 return f ? f(cpu, node, unused) : -ENOSYS;
30 unsigned cpu; local
35 r = f(&cpu, 0, 0);
36 if (!r) return cpu;
41 r = __syscall(SYS_getcpu, &cpu, 0, 0);
42 if (!r) return cpu;
/seL4-refos-master/kernel/include/arch/x86/arch/kernel/
H A Dtlb_bitmap.h25 static inline void tlb_bitmap_set(vspace_root_t *root, word_t cpu) argument
27 assert(cpu < TLBBITMAP_ROOT_BITS && cpu <= wordBits);
28 root[TLBBITMAP_ROOT_MAKE_INDEX(cpu)].words[0] |= TLBBITMAP_ROOT_MAKE_BIT(cpu);
31 static inline void tlb_bitmap_unset(vspace_root_t *root, word_t cpu)
33 assert(cpu < TLBBITMAP_ROOT_BITS && cpu <= wordBits);
34 root[TLBBITMAP_ROOT_MAKE_INDEX(cpu)].words[0] &= ~TLBBITMAP_ROOT_MAKE_BIT(cpu);
[all...]
/seL4-refos-master/kernel/include/smp/
H A Dlock.h55 static inline bool_t FORCE_INLINE clh_is_ipi_pending(word_t cpu) argument
57 return big_kernel_lock.node_owners[cpu].ipi == 1;
61 irqPath, word_t cpu, int memorder)
72 (void *) big_kernel_lock.node_owners[cpu].node,
74 if (clh_is_ipi_pending(cpu)) {
78 handleIPI(CORE_IRQ_TO_IRQT(cpu, irq_remote_call_ipi), irqPath);
93 static inline void FORCE_INLINE clh_lock_acquire(word_t cpu, bool_t irqPath) argument
96 big_kernel_lock.node_owners[cpu].node->value = CLHState_Pending;
98 prev = sel4_atomic_exchange(&big_kernel_lock.head, irqPath, cpu, __ATOMIC_ACQ_REL);
100 big_kernel_lock.node_owners[cpu]
60 sel4_atomic_exchange(void *ptr, bool_t irqPath, word_t cpu, int memorder) argument
123 clh_lock_release(word_t cpu) argument
[all...]
H A Dipi.h87 /* Run a synchronous function on a core specified by cpu.
92 * @param cpu core to run function on
94 static void inline doRemoteOp(IpiRemoteCall_t func, word_t data1, word_t data2, word_t data3, word_t cpu)
96 doRemoteMaskOp(func, data1, data2, data3, BIT(cpu));
109 * @param cpu[mask] cores to run function on
131 static void inline doRemoteOp0Arg(IpiRemoteCall_t func, word_t cpu)
133 doRemoteOp(func, 0, 0, 0, cpu);
136 static void inline doRemoteOp1Arg(IpiRemoteCall_t func, word_t data1, word_t cpu)
138 doRemoteOp(func, data1, 0, 0, cpu);
141 static void inline doRemoteOp2Arg(IpiRemoteCall_t func, word_t data1, word_t data2, word_t cpu)
[all...]
/seL4-refos-master/kernel/include/arch/arm/arch/smp/
H A Dipi_inline.h13 static inline void doRemoteStall(word_t cpu) argument
15 doRemoteOp0Arg(IpiRemoteCall_Stall, cpu);
19 static inline void doRemoteswitchFpuOwner(user_fpu_state_t *new_owner, word_t cpu) argument
21 doRemoteOp1Arg(IpiRemoteCall_switchFpuOwner, (word_t)new_owner, cpu);
40 static inline void doRemoteMaskPrivateInterrupt(word_t cpu, word_t disable, word_t irq) argument
42 doRemoteOp2Arg(IpiRemoteCall_MaskPrivateInterrupt, disable, irq, cpu);
/seL4-refos-master/libs/libsel4platsupport/src/arch/arm/
H A Ddevice.c22 return arch_simple_get_IRQ_trigger_cpu(arch_simple, irq->cpu.number, irq->cpu.trigger, irq->cpu.cpu_idx, *dest);
/seL4-refos-master/projects/seL4_libs/libsel4platsupport/src/arch/arm/
H A Ddevice.c22 return arch_simple_get_IRQ_trigger_cpu(arch_simple, irq->cpu.number, irq->cpu.trigger, irq->cpu.cpu_idx, *dest);
/seL4-refos-master/seL4_tools/elfloader-tool/include/drivers/
H A Dsmp.h15 int (*cpu_on)(struct elfloader_device *smp_dev, struct elfloader_cpu *cpu, void *entry, void *stack);
26 int plat_cpu_on(struct elfloader_cpu *cpu, void *entry, void *stack);
/seL4-refos-master/tools/elfloader/include/drivers/
H A Dsmp.h15 int (*cpu_on)(struct elfloader_device *smp_dev, struct elfloader_cpu *cpu, void *entry, void *stack);
26 int plat_cpu_on(struct elfloader_cpu *cpu, void *entry, void *stack);
/seL4-refos-master/seL4_tools/elfloader-tool/src/drivers/smp/
H A Dcommon.c28 int __attribute__((weak)) plat_cpu_on(struct elfloader_cpu *cpu, void *entry, void *stack) argument
34 if (cpu->enable_method == NULL || dev_get_smp(smp_ops)->enable_method == NULL) {
35 /* if cpu has a NULL enable_method, expect a driver with a NULL enable_method too */
36 if (cpu->enable_method != NULL || dev_get_smp(smp_ops)-> enable_method != NULL) {
39 } else if (strcmp(cpu->enable_method, dev_get_smp(smp_ops)->enable_method)) {
43 return dev_get_smp(smp_ops)->cpu_on(smp_ops, cpu, entry, stack);
/seL4-refos-master/tools/elfloader/src/drivers/smp/
H A Dcommon.c28 int __attribute__((weak)) plat_cpu_on(struct elfloader_cpu *cpu, void *entry, void *stack) argument
34 if (cpu->enable_method == NULL || dev_get_smp(smp_ops)->enable_method == NULL) {
35 /* if cpu has a NULL enable_method, expect a driver with a NULL enable_method too */
36 if (cpu->enable_method != NULL || dev_get_smp(smp_ops)-> enable_method != NULL) {
39 } else if (strcmp(cpu->enable_method, dev_get_smp(smp_ops)->enable_method)) {
43 return dev_get_smp(smp_ops)->cpu_on(smp_ops, cpu, entry, stack);
/seL4-refos-master/kernel/src/machine/
H A Dfpu.c30 void switchFpuOwner(user_fpu_state_t *new_owner, word_t cpu) argument
33 if (cpu != getCurrentCPUIndex()) {
34 doRemoteswitchFpuOwner(new_owner, cpu);
/seL4-refos-master/seL4_tools/elfloader-tool/src/arch-arm/drivers/
H A Dsmp-psci.c18 UNUSED struct elfloader_cpu *cpu, UNUSED void *entry, UNUSED void *stack)
21 if (cpu->extra_data == PSCI_METHOD_HVC) {
28 int ret = psci_cpu_on(cpu->cpu_id, (unsigned long)&secondary_startup, 0);
30 printf("Failed to bring up core 0x%x with error %d\n", cpu->cpu_id, ret);
17 smp_psci_cpu_on(UNUSED struct elfloader_device *dev, UNUSED struct elfloader_cpu *cpu, UNUSED void *entry, UNUSED void *stack) argument
H A Dsmp-zynq7000.c47 UNUSED struct elfloader_cpu *cpu, UNUSED void *entry, UNUSED void *stack)
55 *REG(mmio, A9_CPU_RST_CTRL) |= BIT(A9_RSTx_BIT(cpu->cpu_id));
57 *REG(mmio, A9_CPU_RST_CTRL) |= BIT(A9_CLKSTOPx_BIT(cpu->cpu_id));
62 *REG(mmio, A9_CPU_RST_CTRL) &= ~BIT(A9_RSTx_BIT(cpu->cpu_id));
64 *REG(mmio, A9_CPU_RST_CTRL) &= ~BIT(A9_CLKSTOPx_BIT(cpu->cpu_id));
46 smp_zynq7000_cpu_on(UNUSED struct elfloader_device *dev, UNUSED struct elfloader_cpu *cpu, UNUSED void *entry, UNUSED void *stack) argument
H A Dsmp-imx6.c50 UNUSED struct elfloader_cpu *cpu, UNUSED void *entry, UNUSED void *stack)
56 *REG(mmio, SRC_GPR1 + (cpu->cpu_id * 8)) = (word_t)secondary_startup;
59 if (cpu->cpu_id == 0) {
65 uint32_t mask = 1 << (BP_SRC_SCR_CORE1_ENABLE + (cpu->cpu_id - 1));
49 smp_imx6_cpu_on(UNUSED struct elfloader_device *dev, UNUSED struct elfloader_cpu *cpu, UNUSED void *entry, UNUSED void *stack) argument
/seL4-refos-master/tools/elfloader/src/arch-arm/drivers/
H A Dsmp-psci.c18 UNUSED struct elfloader_cpu *cpu, UNUSED void *entry, UNUSED void *stack)
21 if (cpu->extra_data == PSCI_METHOD_HVC) {
28 int ret = psci_cpu_on(cpu->cpu_id, (unsigned long)&secondary_startup, 0);
30 printf("Failed to bring up core 0x%x with error %d\n", cpu->cpu_id, ret);
17 smp_psci_cpu_on(UNUSED struct elfloader_device *dev, UNUSED struct elfloader_cpu *cpu, UNUSED void *entry, UNUSED void *stack) argument
H A Dsmp-zynq7000.c47 UNUSED struct elfloader_cpu *cpu, UNUSED void *entry, UNUSED void *stack)
55 *REG(mmio, A9_CPU_RST_CTRL) |= BIT(A9_RSTx_BIT(cpu->cpu_id));
57 *REG(mmio, A9_CPU_RST_CTRL) |= BIT(A9_CLKSTOPx_BIT(cpu->cpu_id));
62 *REG(mmio, A9_CPU_RST_CTRL) &= ~BIT(A9_RSTx_BIT(cpu->cpu_id));
64 *REG(mmio, A9_CPU_RST_CTRL) &= ~BIT(A9_CLKSTOPx_BIT(cpu->cpu_id));
46 smp_zynq7000_cpu_on(UNUSED struct elfloader_device *dev, UNUSED struct elfloader_cpu *cpu, UNUSED void *entry, UNUSED void *stack) argument
H A Dsmp-imx6.c50 UNUSED struct elfloader_cpu *cpu, UNUSED void *entry, UNUSED void *stack)
56 *REG(mmio, SRC_GPR1 + (cpu->cpu_id * 8)) = (word_t)secondary_startup;
59 if (cpu->cpu_id == 0) {
65 uint32_t mask = 1 << (BP_SRC_SCR_CORE1_ENABLE + (cpu->cpu_id - 1));
49 smp_imx6_cpu_on(UNUSED struct elfloader_device *dev, UNUSED struct elfloader_cpu *cpu, UNUSED void *entry, UNUSED void *stack) argument
/seL4-refos-master/kernel/include/model/
H A Dsmp.h17 archNodeState_t cpu; member in struct:smpStatedata
/seL4-refos-master/seL4_tools/elfloader-tool/src/plat/imx7/
H A Dsmp.c65 static void src_enable_cpu(int cpu) argument
70 mask = 1 << (BP_SRC_A7RCR1_A7_CORE1_ENABLE + cpu - 1);
76 static void src_set_cpu_jump(int cpu, unsigned int jump_addr) argument
78 REG(SRC_BASE, SRC_GPR1_V2 + cpu * 8) = (unsigned int)jump_addr;
/seL4-refos-master/tools/elfloader/src/plat/imx7/
H A Dsmp.c65 static void src_enable_cpu(int cpu) argument
70 mask = 1 << (BP_SRC_A7RCR1_A7_CORE1_ENABLE + cpu - 1);
76 static void src_set_cpu_jump(int cpu, unsigned int jump_addr) argument
78 REG(SRC_BASE, SRC_GPR1_V2 + cpu * 8) = (unsigned int)jump_addr;
/seL4-refos-master/kernel/include/arch/x86/arch/
H A Dmachine.h272 static inline void x86_write_fs_base(word_t base, cpu_id_t cpu) argument
277 static inline void x86_write_gs_base(word_t base, cpu_id_t cpu) argument
282 static inline word_t x86_read_fs_base(cpu_id_t cpu) argument
287 static inline word_t x86_read_gs_base(cpu_id_t cpu) argument
297 static inline void x86_write_fs_base(word_t base, cpu_id_t cpu) argument
299 if (base != ARCH_NODE_STATE_ON_CORE(x86KSCurrentFSBase, cpu)) {
300 ARCH_NODE_STATE_ON_CORE(x86KSCurrentFSBase, cpu) = base;
305 static inline void x86_write_gs_base(word_t base, cpu_id_t cpu) argument
307 if (likely(base != ARCH_NODE_STATE_ON_CORE(x86KSCurrentGSBase, cpu))) {
308 ARCH_NODE_STATE_ON_CORE(x86KSCurrentGSBase, cpu)
313 x86_read_fs_base(cpu_id_t cpu) argument
318 x86_read_gs_base(cpu_id_t cpu) argument
326 x86_load_fsgs_base(tcb_t *thread, cpu_id_t cpu) argument
[all...]

Completed in 95 milliseconds

12