Andrew Scull | 11a4a0c | 2018-12-29 11:38:31 +0000 | [diff] [blame] | 1 | /* |
Andrew Walbran | 692b325 | 2019-03-07 15:51:31 +0000 | [diff] [blame] | 2 | * Copyright 2018 The Hafnium Authors. |
Andrew Scull | 11a4a0c | 2018-12-29 11:38:31 +0000 | [diff] [blame] | 3 | * |
Andrew Walbran | e959ec1 | 2020-06-17 15:01:09 +0100 | [diff] [blame] | 4 | * 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 Scull | 11a4a0c | 2018-12-29 11:38:31 +0000 | [diff] [blame] | 7 | */ |
8 | |||||
Andrew Scull | 9a6384b | 2019-01-02 12:08:40 +0000 | [diff] [blame] | 9 | #include "hf/arch/cpu.h" |
Andrew Scull | 11a4a0c | 2018-12-29 11:38:31 +0000 | [diff] [blame] | 10 | |
Fuad Tabba | 5c73843 | 2019-12-02 11:02:42 +0000 | [diff] [blame] | 11 | #include "hf/cpu.h" |
Andrew Walbran | b5ab43c | 2020-04-30 11:32:54 +0100 | [diff] [blame] | 12 | #include "hf/ffa.h" |
Andrew Walbran | d4d2fa1 | 2019-10-01 16:47:25 +0100 | [diff] [blame] | 13 | |
Andrew Scull | 11a4a0c | 2018-12-29 11:38:31 +0000 | [diff] [blame] | 14 | void arch_irq_disable(void) |
15 | { | ||||
16 | /* TODO */ | ||||
17 | } | ||||
18 | |||||
19 | void arch_irq_enable(void) | ||||
20 | { | ||||
21 | /* TODO */ | ||||
22 | } | ||||
23 | |||||
Fuad Tabba | 5c73843 | 2019-12-02 11:02:42 +0000 | [diff] [blame] | 24 | void arch_regs_reset(struct vcpu *vcpu) |
Andrew Scull | 11a4a0c | 2018-12-29 11:38:31 +0000 | [diff] [blame] | 25 | { |
26 | /* TODO */ | ||||
Fuad Tabba | 5c73843 | 2019-12-02 11:02:42 +0000 | [diff] [blame] | 27 | (void)vcpu; |
Andrew Scull | 11a4a0c | 2018-12-29 11:38:31 +0000 | [diff] [blame] | 28 | } |
29 | |||||
30 | void arch_regs_set_pc_arg(struct arch_regs *r, ipaddr_t pc, uintreg_t arg) | ||||
31 | { | ||||
32 | (void)pc; | ||||
Andrew Walbran | f65cfa2 | 2019-12-05 11:38:18 +0000 | [diff] [blame] | 33 | r->arg[0] = arg; |
Andrew Scull | 11a4a0c | 2018-12-29 11:38:31 +0000 | [diff] [blame] | 34 | } |
35 | |||||
Andrew Walbran | b5ab43c | 2020-04-30 11:32:54 +0100 | [diff] [blame] | 36 | void arch_regs_set_retval(struct arch_regs *r, struct ffa_value v) |
Andrew Scull | 11a4a0c | 2018-12-29 11:38:31 +0000 | [diff] [blame] | 37 | { |
Andrew Walbran | f65cfa2 | 2019-12-05 11:38:18 +0000 | [diff] [blame] | 38 | r->arg[0] = v.func; |
39 | r->arg[1] = v.arg1; | ||||
40 | r->arg[2] = v.arg2; | ||||
41 | r->arg[3] = v.arg3; | ||||
42 | r->arg[4] = v.arg4; | ||||
43 | r->arg[5] = v.arg5; | ||||
44 | r->arg[6] = v.arg6; | ||||
45 | r->arg[7] = v.arg7; | ||||
Andrew Scull | 11a4a0c | 2018-12-29 11:38:31 +0000 | [diff] [blame] | 46 | } |
Olivier Deprez | e6f7b9d | 2021-02-01 11:55:48 +0100 | [diff] [blame^] | 47 | |
48 | void arch_cpu_init(struct cpu *c, ipaddr_t entry_point) | ||||
49 | { | ||||
50 | (void)c; | ||||
51 | (void)entry_point; | ||||
52 | } |