Module Name: src
Committed By: skrll
Date: Tue Jan 3 06:18:25 UTC 2012
Modified Files:
src/sys/arch/hppa/hppa: trap.S
Log Message:
Fix the CPU #ifdefs
To generate a diff of this commit:
cvs rdiff -u -r1.61 -r1.62 src/sys/arch/hppa/hppa/trap.S
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/hppa/hppa/trap.S
diff -u src/sys/arch/hppa/hppa/trap.S:1.61 src/sys/arch/hppa/hppa/trap.S:1.62
--- src/sys/arch/hppa/hppa/trap.S:1.61 Mon Jan 2 16:13:12 2012
+++ src/sys/arch/hppa/hppa/trap.S Tue Jan 3 06:18:24 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.S,v 1.61 2012/01/02 16:13:12 skrll Exp $ */
+/* $NetBSD: trap.S,v 1.62 2012/01/03 06:18:24 skrll Exp $ */
/*-
* Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -640,7 +640,8 @@ LDILDO(tlbd_l)
#endif
#if defined(HP8000_CPU) || defined(HP8200_CPU) || \
- defined(HP8500_CPU) || defined(HP8600_CPU)
+ defined(HP8500_CPU) || defined(HP8600_CPU) || \
+ defined(HP8700_CPU)
LDILDO(itlb_u)
LDILDO(itlbna_u)
LDILDO(dtlb_u)
@@ -1227,7 +1228,6 @@ EXIT(hppa_fpu_swapout)
#define TLB_STATS_AFT(t) /**/
#endif
-#if defined(HP7000_CPU) || defined(HP7100_CPU) || defined(HP7200_CPU)
#define TLB_PULL(bits,lbl) ! \
/* space:pgaddr -- %r8:%r9 */ ! \
mfctl CR_VTOP, %r16 ! \
@@ -1250,6 +1250,36 @@ EXIT(hppa_fpu_swapout)
addi 2, %r25, %r25 ! \
extru %r17, 24, 25, %r17
+/*
+ * possible optimizations:
+ * change pte to reduce number of shifts
+ * reorder to reduce stalls
+ */
+#define TLB_PULL_L(bits,lbl) ! \
+ /* space:pgaddr -- %r8:%r9 */ ! \
+ mfctl CR_VTOP, %r16 ! \
+ ldwx,s %r8(%r16), %r17 /* space -> page directory */ ! \
+ extru %r9, 9, 10, %r25 ! \
+ combt,=,n %r0, %r17, lbl ! \
+ ldwx,s %r25(%r17), %r24 /* page -> page table */ ! \
+ extru %r9, 19, 10, %r16 ! \
+ combt,=,n %r0, %r24, lbl ! \
+ ldwx,s %r16(%r24), %r17 /* va -> pa:prot */ ! \
+ sh2addl %r16, %r24, %r25 ! \
+ combt,=,n %r0, %r17, lbl ! \
+ copy %r17, %r16 ! \
+ depi (bits), 21+bits, 1+bits, %r17 ! \
+ sub,= %r16, %r17, %r0 /* do not store if unchanged */ ! \
+ stws %r17, 0(%r25) /* store back w/ the bits */ ! \
+ shd %r17, %r0, 13, %r25 ! \
+ dep %r8, 30, 15, %r25 /* mix0r the pid from the sid */! \
+ dep %r0, 31, 12, %r17 /* needed ? */ ! \
+ addi 2, %r25, %r25 ! \
+ extru %r17, 24, 25, %r17 /* tlbbtop(%r17) */ ! \
+ sync
+
+#if defined(HP7000_CPU) || defined(HP7100_CPU) || defined(HP7200_CPU)
+
.align 32
/*
@@ -1404,34 +1434,6 @@ EXIT(TLABEL(dtlbna_s))
#define IDTLBAF(r) .word 0x04001440 | ((r) << 16)
#define IDTLBPF(r) .word 0x04001400 | ((r) << 16)
-/*
- * possible optimizations:
- * change pte to reduce number of shifts
- * reorder to reduce stalls
- */
-#define TLB_PULL_L(bits,lbl) ! \
- /* space:pgaddr -- %r8:%r9 */ ! \
- mfctl CR_VTOP, %r16 ! \
- ldwx,s %r8(%r16), %r17 /* space -> page directory */ ! \
- extru %r9, 9, 10, %r25 ! \
- combt,=,n %r0, %r17, lbl ! \
- ldwx,s %r25(%r17), %r24 /* page -> page table */ ! \
- extru %r9, 19, 10, %r16 ! \
- combt,=,n %r0, %r24, lbl ! \
- ldwx,s %r16(%r24), %r17 /* va -> pa:prot */ ! \
- sh2addl %r16, %r24, %r25 ! \
- combt,=,n %r0, %r17, lbl ! \
- copy %r17, %r16 ! \
- depi (bits), 21+bits, 1+bits, %r17 ! \
- sub,= %r16, %r17, %r0 /* do not store if unchanged */ ! \
- stws %r17, 0(%r25) /* store back w/ the bits */ ! \
- shd %r17, %r0, 13, %r25 ! \
- dep %r8, 30, 15, %r25 /* mix0r the pid from the sid */! \
- dep %r0, 31, 12, %r17 /* needed ? */ ! \
- addi 2, %r25, %r25 ! \
- extru %r17, 24, 25, %r17 /* tlbbtop(%r17) */ ! \
- sync
-
.align 32
/*
@@ -1605,7 +1607,10 @@ L$dtlb_done_l:
EXIT(TLABEL(dtlb_l))
#endif /* defined(HP7100LC_CPU) || defined(HP7300LC_CPU) */
-#if defined(HP8000_CPU) || defined(HP8200_CPU) || defined(HP8500_CPU)
+#if defined(HP8000_CPU) || defined(HP8200_CPU) || \
+ defined(HP8500_CPU) || defined(HP8600_CPU) || \
+ defined(HP8700_CPU)
+
.level 2.0w
/* xlate 32bit->64bit pte */
@@ -1876,7 +1881,10 @@ EXIT(desidhash_l)
#endif /* defined(HP7100LC_CPU) || defined(HP7300LC_CPU) */
-#if defined(HP8000_CPU) || defined(HP8200_CPU) || defined(HP8500_CPU)
+#if defined(HP8000_CPU) || defined(HP8200_CPU) || \
+ defined(HP8500_CPU) || defined(HP8600_CPU) || \
+ defined(HP8700_CPU)
+
.level 2.0w
LEAF_ENTRY_NOPROFILE(desidhash_u)
MFCPU_U(2,28)
@@ -1898,7 +1906,7 @@ LEAF_ENTRY_NOPROFILE(pbtlb_u)
nop
EXIT(pbtlb_u)
.level 1.1
-#endif /* HP8000_CPU */
+#endif /* HP8000_CPU || HP8200_CPU || HP8500_CPU || HP8600_CPU || HP8700_CPU */
.align 64
.export TLABEL(all), entry