summaryrefslogtreecommitdiff
path: root/scripts/gdb/linux/xarray.py
diff options
context:
space:
mode:
authorRodrigo Vivi <rodrigo.vivi@intel.com>2025-09-10 08:01:42 -0400
committerRodrigo Vivi <rodrigo.vivi@intel.com>2025-09-10 08:01:42 -0400
commit702fdf3513b045f596f836d9a4b8672c76f11834 (patch)
tree4034b3baf8db7119ab738ac5bd6fcbeb890fea94 /scripts/gdb/linux/xarray.py
parentb69f8c496ea05f80c2bae91a74b48c00c06c524e (diff)
parent4bf83dd6e3b3b2a131e357f035b17edaee6f6766 (diff)
Merge drm/drm-next into drm-intel-next
Catching up with some display dependencies. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Diffstat (limited to 'scripts/gdb/linux/xarray.py')
-rw-r--r--scripts/gdb/linux/xarray.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/scripts/gdb/linux/xarray.py b/scripts/gdb/linux/xarray.py
new file mode 100644
index 000000000000..f4477b5def75
--- /dev/null
+++ b/scripts/gdb/linux/xarray.py
@@ -0,0 +1,28 @@
+# SPDX-License-Identifier: GPL-2.0
+#
+# Xarray helpers
+#
+# Copyright (c) 2025 Broadcom
+#
+# Authors:
+# Florian Fainelli <florian.fainelli@broadcom.com>
+
+import gdb
+
+from linux import utils
+from linux import constants
+
+def xa_is_internal(entry):
+ ulong_type = utils.get_ulong_type()
+ return ((entry.cast(ulong_type) & 3) == 2)
+
+def xa_mk_internal(v):
+ return ((v << 2) | 2)
+
+def xa_is_zero(entry):
+ ulong_type = utils.get_ulong_type()
+ return entry.cast(ulong_type) == xa_mk_internal(257)
+
+def xa_is_node(entry):
+ ulong_type = utils.get_ulong_type()
+ return xa_is_internal(entry) and (entry.cast(ulong_type) > 4096)