path: root/src/gallium/drivers/v3d/v3d_simulator_wrapper.h
diff options
authorEric Anholt <>2019-01-04 09:17:15 -0800
committerEric Anholt <>2019-01-14 13:18:02 -0800
commit49b7e26facab793be3b36e3068e758165455e276 (patch)
tree44fd6beffd0ea3d334c7a590f8e9368f54765b77 /src/gallium/drivers/v3d/v3d_simulator_wrapper.h
parent3790ee07e6666f734dd595c4c4dd3501a741a59a (diff)
v3d: Add an isr to the simulator to catch GMP violations.
Otherwise, the simulator raises the GMP interrupt and waits for it to be handled, and v3d ends up spinning in v3d_hw_tick(). Aborting right when violation happens gives us a chance to look at the backtrace of whatever thread triggered the violation.
Diffstat (limited to 'src/gallium/drivers/v3d/v3d_simulator_wrapper.h')
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gallium/drivers/v3d/v3d_simulator_wrapper.h b/src/gallium/drivers/v3d/v3d_simulator_wrapper.h
index 8b5dca15ed9..b20ea2484b4 100644
--- a/src/gallium/drivers/v3d/v3d_simulator_wrapper.h
+++ b/src/gallium/drivers/v3d/v3d_simulator_wrapper.h
@@ -38,6 +38,7 @@ uint32_t v3d_hw_read_reg(struct v3d_hw *hw, uint32_t reg);
void v3d_hw_write_reg(struct v3d_hw *hw, uint32_t reg, uint32_t val);
void v3d_hw_tick(struct v3d_hw *hw);
int v3d_hw_get_version(struct v3d_hw *hw);
+void v3d_hw_set_isr(struct v3d_hw *hw, void (*isr)(uint32_t status));
#ifdef __cplusplus