svn commit: r325258 - head/sys/powerpc/booke
Justin Hibbits
jhibbits at FreeBSD.org
Wed Nov 1 02:40:17 UTC 2017
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
More information about the svn-src-head
mailing list