summaryrefslogtreecommitdiff
path: root/sys/arch/arm64/include
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2017-03-21 18:43:41 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2017-03-21 18:43:41 +0000
commit63327ee62b11799f0b21cad3968f4b112e027039 (patch)
tree5d0f228cd49968edbe127ade8422ffcc01e43355 /sys/arch/arm64/include
parente9d18dcf7b851749d4bc15196cafe09e56d419b5 (diff)
Revise the definition of "struct reg" to have a layout compatible with other
operating systems. Implement process_read_regs() and make process_read_fpregs() clear the struct fpreg to avoid leaking kernel stack contents. This makes core dumps actually usable. ok drahn@
Diffstat (limited to 'sys/arch/arm64/include')
-rw-r--r--sys/arch/arm64/include/reg.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/sys/arch/arm64/include/reg.h b/sys/arch/arm64/include/reg.h
index ac431b864e6..566c63e2bd9 100644
--- a/sys/arch/arm64/include/reg.h
+++ b/sys/arch/arm64/include/reg.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: reg.h,v 1.1 2016/12/17 23:38:33 patrick Exp $ */
+/* $OpenBSD: reg.h,v 1.2 2017/03/21 18:43:40 kettenis Exp $ */
/*
* Copyright (c) 2014 Patrick Wildt <patrick@blueri.se>
*
@@ -19,11 +19,12 @@
#define _MACHINE_REG_H_
struct reg {
- unsigned long x[30];
- unsigned long x_sp;
- unsigned long x_lr;
- unsigned long x_pc;
- unsigned long x_cpsr;
+ uint64_t r_reg[30];
+ uint64_t r_lr;
+ uint64_t r_sp;
+ uint64_t r_pc;
+ uint64_t r_spsr;
+ uint64_t r_tpidr;
};
struct fpreg {