summaryrefslogtreecommitdiffstats
path: root/sys/dev/dcons/dcons.h
diff options
context:
space:
mode:
authorsimokawa <simokawa@FreeBSD.org>2007-06-08 04:33:25 +0000
committersimokawa <simokawa@FreeBSD.org>2007-06-08 04:33:25 +0000
commit5f5cd9e4f2416485720aae4009f2bb7bd44d277a (patch)
tree5ed58dc2f791d9767114bfb3da7bf91bff9f4bf1 /sys/dev/dcons/dcons.h
parent07961300b2e0aa42719ed881e6c74a2d2fd7a94f (diff)
downloadFreeBSD-src-5f5cd9e4f2416485720aae4009f2bb7bd44d277a.zip
FreeBSD-src-5f5cd9e4f2416485720aae4009f2bb7bd44d277a.tar.gz
Add the address of IDT in the configuration ROM. (i386/amd64 only)
A change to dconschat(8) will follow so that it can bomb this address over FireWire to reset a wedged system. Though this method is just a hack and far from perfection, it should be useful if you don't want to go machine room just to reset or to power-cycle a machine without remote-managed power supply. And much better than doing: # fwcontrol -m target-eui64 # dd if=/dev/zero of=/dev/fwmem0.2 bs=1m
Diffstat (limited to 'sys/dev/dcons/dcons.h')
-rw-r--r--sys/dev/dcons/dcons.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/dcons/dcons.h b/sys/dev/dcons/dcons.h
index daf9cb4..49ef869 100644
--- a/sys/dev/dcons/dcons.h
+++ b/sys/dev/dcons/dcons.h
@@ -65,6 +65,8 @@ struct dcons_buf {
#define DCONS_CSR_VAL_VER 0x64636f /* "dco" */
#define DCONS_CSR_KEY_HI 0x3a
#define DCONS_CSR_KEY_LO 0x3b
+#define DCONS_CSR_KEY_RESET_HI 0x3c
+#define DCONS_CSR_KEY_RESET_LO 0x3d
#define DCONS_HEADER_SIZE sizeof(struct dcons_buf)
#define DCONS_MAKE_PTR(x) htonl(((x)->gen << DCONS_GEN_SHIFT) | (x)->pos)
@@ -88,6 +90,7 @@ struct dcons_ch {
#define STATE0 0
#define STATE1 1
#define STATE2 2
+#define STATE3 3
#if defined(_KERNEL) || defined(_BOOT)
struct dcons_softc {
OpenPOWER on IntegriCloud