diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2023-08-04 20:50:41 +0300 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2023-08-04 20:50:41 +0300 |
| commit | e16f5f81dfb2e97a554ec19b941ec05a7942fd2d (patch) | |
| tree | 46f0609b5be009d4d1057fa02ece4461732941e0 /include/arch | |
| parent | 5f30284181fcfe5b16dfb94d4fba9a9ed4a2dc6a (diff) | |
| download | kmi-e16f5f81dfb2e97a554ec19b941ec05a7942fd2d.tar.gz kmi-e16f5f81dfb2e97a554ec19b941ec05a7942fd2d.zip | |
add initial smp bringup
Diffstat (limited to 'include/arch')
| -rw-r--r-- | include/arch/smp.h | 22 | ||||
| -rw-r--r-- | include/arch/tcb.h | 10 |
2 files changed, 32 insertions, 0 deletions
diff --git a/include/arch/smp.h b/include/arch/smp.h new file mode 100644 index 0000000..16c29d5 --- /dev/null +++ b/include/arch/smp.h @@ -0,0 +1,22 @@ +/* SPDX-License-Identifier: copyleft-next-0.3.1 */ +/* Copyright 2023, Kim Kuparinen < kimi.h.kuparinen@gmail.com > */ + +/** + * @file smp.h + * Arch specific multicore bringup stuff. + */ + +#ifndef KMI_ARCH_SMP_H +#define KMI_ARCH_SMP_H + +#include <kmi/vmem.h> + +/** + * Bring up other cores in system. + * + * @param b Direct + kernel mappin virtual memory to use. + * @param fdt Flattened device tree. + */ +void smp_bringup(struct vmem *b, void *fdt); + +#endif /* KMI_ARCH_SMP_H */ diff --git a/include/arch/tcb.h b/include/arch/tcb.h index 0687954..f4c80c6 100644 --- a/include/arch/tcb.h +++ b/include/arch/tcb.h @@ -15,4 +15,14 @@ #include "../../arch/riscv32/include/tcb.h" #endif +/** + * Force store tcb \p t in arch-specific way. + * cpu_assign() is allowed to assume there's always a valid tcb + * set, so during init we have to force set a tcb before cpu_assign() can be + * used. + * + * @param t tcb to set. + */ +void tcb_assign(struct tcb *t); + #endif /* KMI_ARCH_TCB_H */ |
