blob: 8f3a5ad50753962b646dba7d88e10762b233e4cc [file] [log] [blame]
Andrew Scull11a4a0c2018-12-29 11:38:31 +00001/*
Andrew Walbran692b3252019-03-07 15:51:31 +00002 * Copyright 2018 The Hafnium Authors.
Andrew Scull11a4a0c2018-12-29 11:38:31 +00003 *
Andrew Walbrane959ec12020-06-17 15:01:09 +01004 * Use of this source code is governed by a BSD-style
5 * license that can be found in the LICENSE file or at
6 * https://opensource.org/licenses/BSD-3-Clause.
Andrew Scull11a4a0c2018-12-29 11:38:31 +00007 */
8
Andrew Scull9a6384b2019-01-02 12:08:40 +00009#include "hf/arch/cpu.h"
Andrew Scull11a4a0c2018-12-29 11:38:31 +000010
Fuad Tabba5c738432019-12-02 11:02:42 +000011#include "hf/cpu.h"
Andrew Walbranb5ab43c2020-04-30 11:32:54 +010012#include "hf/ffa.h"
Madhukar Pappireddy2185d0b2021-08-03 12:12:48 -050013#include "hf/plat/interrupts.h"
Andrew Walbrand4d2fa12019-10-01 16:47:25 +010014
Andrew Scull11a4a0c2018-12-29 11:38:31 +000015void arch_irq_disable(void)
16{
17 /* TODO */
18}
19
20void arch_irq_enable(void)
21{
22 /* TODO */
23}
24
Fuad Tabba5c738432019-12-02 11:02:42 +000025void arch_regs_reset(struct vcpu *vcpu)
Andrew Scull11a4a0c2018-12-29 11:38:31 +000026{
27 /* TODO */
Fuad Tabba5c738432019-12-02 11:02:42 +000028 (void)vcpu;
Andrew Scull11a4a0c2018-12-29 11:38:31 +000029}
30
31void arch_regs_set_pc_arg(struct arch_regs *r, ipaddr_t pc, uintreg_t arg)
32{
33 (void)pc;
Andrew Walbranf65cfa22019-12-05 11:38:18 +000034 r->arg[0] = arg;
Andrew Scull11a4a0c2018-12-29 11:38:31 +000035}
36
Andrew Walbranb5ab43c2020-04-30 11:32:54 +010037void arch_regs_set_retval(struct arch_regs *r, struct ffa_value v)
Andrew Scull11a4a0c2018-12-29 11:38:31 +000038{
Andrew Walbranf65cfa22019-12-05 11:38:18 +000039 r->arg[0] = v.func;
40 r->arg[1] = v.arg1;
41 r->arg[2] = v.arg2;
42 r->arg[3] = v.arg3;
43 r->arg[4] = v.arg4;
44 r->arg[5] = v.arg5;
45 r->arg[6] = v.arg6;
46 r->arg[7] = v.arg7;
Andrew Scull11a4a0c2018-12-29 11:38:31 +000047}
Olivier Depreze6f7b9d2021-02-01 11:55:48 +010048
49void arch_cpu_init(struct cpu *c, ipaddr_t entry_point)
50{
51 (void)c;
52 (void)entry_point;
53}