Author: jhibbits
Date: Wed Nov  1 02:40:15 2017
New Revision: 325258
URL: https://svnweb.freebsd.org/changeset/base/325258

Log:
  Fix debug interrupts on 64-bit Book-E
  
  Use a WORD_SIZE macro to define the correct offset to the second word
  needed.  This corrects the offset calculation in 64-bit builds.

Modified:
  head/sys/powerpc/booke/locore.S
  head/sys/powerpc/booke/trap_subr.S

Modified: head/sys/powerpc/booke/locore.S
==============================================================================
--- head/sys/powerpc/booke/locore.S     Wed Nov  1 01:22:33 2017        
(r325257)
+++ head/sys/powerpc/booke/locore.S     Wed Nov  1 02:40:15 2017        
(r325258)
@@ -57,6 +57,7 @@
 #define        THREAD_REG      %r13
 #define        ADDR(x) \
        .llong  x
+#define        WORD_SIZE       8
 #else
 #define        GET_TOCBASE(r)
 #define        TOC_RESTORE
@@ -72,6 +73,7 @@
 #define        THREAD_REG      %r2
 #define        ADDR(x) \
        .long   x
+#define        WORD_SIZE       4
 #endif
 
        .text

Modified: head/sys/powerpc/booke/trap_subr.S
==============================================================================
--- head/sys/powerpc/booke/trap_subr.S  Wed Nov  1 01:22:33 2017        
(r325257)
+++ head/sys/powerpc/booke/trap_subr.S  Wed Nov  1 02:40:15 2017        
(r325258)
@@ -970,19 +970,14 @@ int_debug_int:
        GET_CPUINFO(%r3)
        LOAD    %r3, (PC_BOOKE_CRITSAVE+CPUSAVE_SRR0)(%r3)
        bl      0f
-#ifdef __powerpc64__
-       .llong  interrupt_vector_base-.
-       .llong  interrupt_vector_top-.
-#else
-       .long   interrupt_vector_base-.
-       .long   interrupt_vector_top-.
-#endif
+       ADDR(interrupt_vector_base-.)
+       ADDR(interrupt_vector_top-.)
 0:     mflr    %r5
        LOAD    %r4,0(%r5)      /* interrupt_vector_base in r4 */
        add     %r4,%r4,%r5
        CMPL    cr0, %r3, %r4
        blt     trap_common
-       LOAD    %r4,4(%r5)      /* interrupt_vector_top in r4 */
+       LOAD    %r4,WORD_SIZE(%r5)      /* interrupt_vector_top in r4 */
        add     %r4,%r4,%r5
        addi    %r4,%r4,4
        CMPL    cr0, %r3, %r4
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to