1/*
2 * Copyright 2021, Haiku, Inc.
3 * Distributed under the terms of the MIT License.
4 */
5
6
7#include "smp.h"
8
9#include <boot/stage2.h>
10
11
12static CpuInfo sCpus[SMP_MAX_CPUS];
13uint32 sCpuCount = 0;
14
15
16CpuInfo*
17smp_find_cpu(uint32 phandle)
18{
19	return &sCpus[0];
20}
21
22
23void
24smp_init_other_cpus(void)
25{
26	gKernelArgs.num_cpus = 1;
27	for (uint32 i = 0; i < gKernelArgs.num_cpus; i++) {
28		gKernelArgs.arch_args.hartIds[i] = sCpus[i].hartId;
29		gKernelArgs.arch_args.plicContexts[i] = sCpus[i].plicContext;
30	}
31}
32
33
34void
35smp_boot_other_cpus(uint64 pageTable, uint64 kernel_entry)
36{
37}
38
39
40void
41smp_init()
42{
43	sCpus[0].hartId = 0;
44}
45