2
* ARM gdb server stub: AArch64 specific functions.
4
* Copyright (c) 2013 SUSE LINUX Products GmbH
6
* This library is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Lesser General Public
8
* License as published by the Free Software Foundation; either
9
* version 2 of the License, or (at your option) any later version.
11
* This library is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Lesser General Public License for more details.
16
* You should have received a copy of the GNU Lesser General Public
17
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
20
#include "qemu-common.h"
21
#include "exec/gdbstub.h"
23
int aarch64_cpu_gdb_read_register(CPUState *cs, uint8_t *mem_buf, int n)
25
ARMCPU *cpu = ARM_CPU(cs);
26
CPUARMState *env = &cpu->env;
29
/* Core integer register. */
30
return gdb_get_reg64(mem_buf, env->xregs[n]);
34
return gdb_get_reg64(mem_buf, env->xregs[31]);
37
return gdb_get_reg64(mem_buf, env->pc);
40
return gdb_get_reg32(mem_buf, env->pstate);
42
/* Unknown register. */
46
int aarch64_cpu_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n)
48
ARMCPU *cpu = ARM_CPU(cs);
49
CPUARMState *env = &cpu->env;
55
/* Core integer register. */
71
/* Unknown register. */