summaryrefslogtreecommitdiffstats
path: root/sys/dev/isp
diff options
context:
space:
mode:
authormjacob <mjacob@FreeBSD.org>2001-10-07 18:18:50 +0000
committermjacob <mjacob@FreeBSD.org>2001-10-07 18:18:50 +0000
commit0248c018c415ad1e0751b80049062db1a862a690 (patch)
tree2629aef3c28fbbc4200f15ffbebea0738028d1b5 /sys/dev/isp
parentb92382a49d8a671fb86a091fadde51033601ade6 (diff)
downloadFreeBSD-src-0248c018c415ad1e0751b80049062db1a862a690.zip
FreeBSD-src-0248c018c415ad1e0751b80049062db1a862a690.tar.gz
Some patches from Doug for ia64 support- the principle one being the
appropriate cache flush that provides MEMORY_BARRIER in between handoffs between host && RISC processor for the shared memory request/response queues. Submitted by: dfr@nlsystems.com
Diffstat (limited to 'sys/dev/isp')
-rw-r--r--sys/dev/isp/isp_freebsd.h5
-rw-r--r--sys/dev/isp/isp_tpublic.h3
2 files changed, 6 insertions, 2 deletions
diff --git a/sys/dev/isp/isp_freebsd.h b/sys/dev/isp/isp_freebsd.h
index 67abd62..66533ca 100644
--- a/sys/dev/isp/isp_freebsd.h
+++ b/sys/dev/isp/isp_freebsd.h
@@ -164,8 +164,11 @@ struct isposinfo {
#define MAXISPREQUEST(isp) 256
-#ifdef __alpha__
+#if defined(__alpha__)
#define MEMORYBARRIER(isp, type, offset, size) alpha_mb()
+#elif defined(__ia64__)
+#define MEMORYBARRIER(isp, type, offset, size) \
+ do { ia64_mf(); ia64_mf_a(); } while (0)
#else
#define MEMORYBARRIER(isp, type, offset, size)
#endif
diff --git a/sys/dev/isp/isp_tpublic.h b/sys/dev/isp/isp_tpublic.h
index 4a03c99..548dea7 100644
--- a/sys/dev/isp/isp_tpublic.h
+++ b/sys/dev/isp/isp_tpublic.h
@@ -183,7 +183,8 @@ typedef struct {
*/
#ifndef _LP64
-#if defined(__alpha__) || defined(__sparcv9cpu) || defined(__sparc_v9__)
+#if defined(__alpha__) || defined(__sparcv9cpu) || defined(__sparc_v9__) ||\
+ defined(__ia64__)
#define _LP64
#endif
#endif
OpenPOWER on IntegriCloud