1/* 2 * Copyright 2020, Data61, CSIRO (ABN 41 687 119 230) 3 * 4 * SPDX-License-Identifier: GPL-2.0-only 5 */ 6 7#include <devices_gen.h> 8 9#pragma once 10 11#define dev_get_smp(dev) ((struct elfloader_smp_ops *)(dev->drv->ops)) 12 13struct elfloader_smp_ops { 14 const char *enable_method; 15 int (*cpu_on)(struct elfloader_device *smp_dev, struct elfloader_cpu *cpu, void *entry, void *stack); 16}; 17 18struct smp_cpu_data { 19 void *entry; 20 void *stack; 21}; 22 23extern struct smp_cpu_data secondary_data; 24void secondary_startup(void); 25void smp_register_handler(struct elfloader_device *dev); 26int plat_cpu_on(struct elfloader_cpu *cpu, void *entry, void *stack); 27