blob: 33b68079745721eae251f7d8fae251d2499b4770 [file] [log] [blame]
/*
* Copyright 2018 The Hafnium Authors.
*
* Use of this source code is governed by a BSD-style
* license that can be found in the LICENSE file or at
* https://opensource.org/licenses/BSD-3-Clause.
*/
#include "hf/arch/cpu.h"
#include "hf/cpu.h"
#include "hf/ffa.h"
#include "hf/plat/interrupts.h"
void arch_irq_disable(void)
{
/* TODO */
}
void arch_irq_enable(void)
{
/* TODO */
}
void arch_regs_reset(struct vcpu *vcpu)
{
/* TODO */
(void)vcpu;
}
void arch_regs_set_pc_arg(struct arch_regs *r, ipaddr_t pc, uintreg_t arg)
{
(void)pc;
r->arg[0] = arg;
}
bool arch_regs_reg_num_valid(const unsigned int gp_reg_num)
{
(void)gp_reg_num;
return false;
}
void arch_regs_set_gp_reg(struct arch_regs *r, uintreg_t value,
const unsigned int gp_reg_num)
{
(void)r;
(void)value;
(void)gp_reg_num;
}
void arch_regs_set_retval(struct arch_regs *r, struct ffa_value v)
{
r->arg[0] = v.func;
r->arg[1] = v.arg1;
r->arg[2] = v.arg2;
r->arg[3] = v.arg3;
r->arg[4] = v.arg4;
r->arg[5] = v.arg5;
r->arg[6] = v.arg6;
r->arg[7] = v.arg7;
}
void arch_cpu_init(struct cpu *c)
{
plat_interrupts_controller_hw_init(c);
}