| // Copyright 2016 The Fuchsia Authors |
| // |
| // Use of this source code is governed by a MIT-style |
| // license that can be found in the LICENSE file or at |
| // https://opensource.org/licenses/MIT |
| |
| #pragma once |
| |
| #include <zircon/compiler.h> |
| #include <sys/types.h> |
| #include <stdbool.h> |
| |
| __BEGIN_CDECLS |
| |
| struct thread; |
| |
| // Regset #0 is defined to be the general regs. |
| // The remaining regsets are architecture-specific. |
| // By convention the "general regs" are, generally, the integer regs + pc |
| // + ALU flags. |
| |
| uint arch_num_regsets(void); |
| |
| status_t arch_get_regset(struct thread *thread, uint regset, void* regs, uint* buf_size); |
| status_t arch_set_regset(struct thread *thread, uint regset, const void* regs, uint buf_size); |
| |
| __END_CDECLS |