Page MenuHomeFreeBSD

D55189.id171480.diff
No OneTemporary

D55189.id171480.diff

diff --git a/sys/arm/include/frame.h b/sys/arm/include/frame.h
--- a/sys/arm/include/frame.h
+++ b/sys/arm/include/frame.h
@@ -56,8 +56,11 @@
/*
* Trap frame. Pushed onto the kernel stack on a trap (synchronous exception).
+ *
+ * struct trapframe is known to and used by kernel debuggers. Its layout must
+ * be kept stable. When adding extra fields that are accessed by kernel
+ * debuggers, debuggers should be backward compatible by using osreldate.
*/
-
struct trapframe {
register_t tf_spsr;
register_t tf_r0;
diff --git a/sys/arm64/include/frame.h b/sys/arm64/include/frame.h
--- a/sys/arm64/include/frame.h
+++ b/sys/arm64/include/frame.h
@@ -42,6 +42,10 @@
/*
* NOTE: keep this structure in sync with struct reg and struct mcontext.
+ *
+ * struct trapframe is known to and used by kernel debuggers. Its layout must
+ * be kept stable. When adding extra fields that are accessed by kernel
+ * debuggers, debuggers should be backward compatible by using osreldate.
*/
struct trapframe {
uint64_t tf_sp;
diff --git a/sys/powerpc/include/frame.h b/sys/powerpc/include/frame.h
--- a/sys/powerpc/include/frame.h
+++ b/sys/powerpc/include/frame.h
@@ -48,6 +48,12 @@
*
* Change ordering to cluster together these register_t's. XXX
*/
+
+/*
+ * struct trapframe is known to and used by kernel debuggers. Its layout must
+ * be kept stable. When adding extra fields that are accessed by kernel
+ * debuggers, debuggers should be backward compatible by using osreldate.
+ */
struct trapframe {
register_t fixreg[32];
register_t lr;
diff --git a/sys/riscv/include/frame.h b/sys/riscv/include/frame.h
--- a/sys/riscv/include/frame.h
+++ b/sys/riscv/include/frame.h
@@ -42,6 +42,10 @@
/*
* NOTE: keep this structure in sync with struct reg and struct mcontext.
+ *
+ * struct trapframe is known to and used by kernel debuggers. Its layout must
+ * be kept stable. When adding extra fields that are accessed by kernel
+ * debuggers, debuggers should be backward compatible by using osreldate.
*/
struct trapframe {
uint64_t tf_ra;
diff --git a/sys/x86/include/frame.h b/sys/x86/include/frame.h
--- a/sys/x86/include/frame.h
+++ b/sys/x86/include/frame.h
@@ -38,6 +38,7 @@
/*
* System stack frames.
+ * struct trapframe is known to and used by kernel debuggers.
*/
#ifdef __i386__

File Metadata

Mime Type
text/plain
Expires
Sun, Apr 12, 2:27 PM (1 h, 58 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31353285
Default Alt Text
D55189.id171480.diff (2 KB)

Event Timeline