summary refs log tree commit diff stats
path: root/include/hw/pci-host/astro.h
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2024-02-02 21:28:50 +0100
committerHelge Deller <deller@gmx.de>2024-02-11 13:20:23 +0100
commitf410b688af8fa6b317c58dd1a11f2b3225d4a0ea (patch)
tree2810ae2be290ca346116faa3daf4bc13cbbf4575 /include/hw/pci-host/astro.h
parentb7174d9ad3ec3966270eeefa965ffe8f336b86dd (diff)
downloadfocaccia-qemu-f410b688af8fa6b317c58dd1a11f2b3225d4a0ea.tar.gz
focaccia-qemu-f410b688af8fa6b317c58dd1a11f2b3225d4a0ea.zip
hw/pci-host/astro: Implement Hard Fail and Soft Fail mode
The Astro/Elroy chip can work in either Hard-Fail or Soft-Fail mode.

Hard fail means the system bus will send an HPMC (=crash) to the
processor, soft fail means the system bus will ignore timeouts of
MMIO-reads or MMIO-writes and return -1ULL.

The HF mode is controlled by a bit in the status register and is usually
programmed by the OS. Return the corresponing values based on the current
value of that bit.

Signed-off-by: Helge Deller <deller@gmx.de>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'include/hw/pci-host/astro.h')
-rw-r--r--include/hw/pci-host/astro.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/hw/pci-host/astro.h b/include/hw/pci-host/astro.h
index f63fd220f3..e2966917cd 100644
--- a/include/hw/pci-host/astro.h
+++ b/include/hw/pci-host/astro.h
@@ -27,6 +27,8 @@ OBJECT_DECLARE_SIMPLE_TYPE(ElroyState, ELROY_PCI_HOST_BRIDGE)
 #define IOS_DIST_BASE_ADDR      0xfffee00000ULL
 #define IOS_DIST_BASE_SIZE           0x10000ULL
 
+#define HF_ENABLE       0x40    /* enable HF mode (default is -1 mode) */
+
 struct AstroState;
 
 struct ElroyState {