Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/ia64/ia64 add IA64_DCR_DEFAULT, more changes from F...



details:   https://anonhg.NetBSD.org/src/rev/48c56bb21d6b
branches:  trunk
changeset: 446025:48c56bb21d6b
user:      scole <scole%NetBSD.org@localhost>
date:      Tue Nov 20 20:36:24 2018 +0000

description:
add IA64_DCR_DEFAULT, more changes from FreeBSD

diffstat:

 sys/arch/ia64/ia64/genassym.cf |   3 ++-
 sys/arch/ia64/ia64/locore.S    |  36 +++++++++++++++++++++++++++++-------
 2 files changed, 31 insertions(+), 8 deletions(-)

diffs (84 lines):

diff -r 20029ce00216 -r 48c56bb21d6b sys/arch/ia64/ia64/genassym.cf
--- a/sys/arch/ia64/ia64/genassym.cf    Tue Nov 20 20:07:19 2018 +0000
+++ b/sys/arch/ia64/ia64/genassym.cf    Tue Nov 20 20:36:24 2018 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: genassym.cf,v 1.13 2017/08/10 12:51:22 maxv Exp $
+#      $NetBSD: genassym.cf,v 1.14 2018/11/20 20:36:24 scole Exp $
 
 #
 # Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -115,6 +115,7 @@
 define IA64_PSR_DFH            IA64_PSR_DFH
 define IA64_PBVM_BASE          IA64_PBVM_BASE
 define IA64_PBVM_PGTBL         IA64_PBVM_PGTBL
+define  IA64_DCR_DEFAULT       IA64_DCR_DEFAULT
 
 define PTE_PRESENT             PTE_PRESENT
 define PTE_ACCESSED            PTE_ACCESSED
diff -r 20029ce00216 -r 48c56bb21d6b sys/arch/ia64/ia64/locore.S
--- a/sys/arch/ia64/ia64/locore.S       Tue Nov 20 20:07:19 2018 +0000
+++ b/sys/arch/ia64/ia64/locore.S       Tue Nov 20 20:36:24 2018 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: locore.S,v 1.8 2018/11/14 21:10:59 scole Exp $ */
+/*     $NetBSD: locore.S,v 1.9 2018/11/20 20:36:24 scole Exp $ */
        
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -81,19 +81,37 @@
        movl    r16=pa_bootinfo
        ;;
 }
+{      .mmi    
        st8     [r16]=r8                // save the PA of the bootinfo block
        loadrs                          // invalidate regs
+       mov     r17=IA64_DCR_DEFAULT
        ;;
+}
+{      .mmi
+       mov     cr.dcr=r17
        mov     ar.rsc=3                // turn rse back on
-       ;;
-       alloc   r16=ar.pfs,0,0,1,0
+       nop     0
        ;;
-       movl    out0=0                  // we are linked at the right address 
+}
+{      .mmi
+       srlz.d  
+       alloc   r16=ar.pfs,0,0,1,0
+       mov     out0=r0                 // we are linked at the right address 
        ;;                              // we just need to process fptrs
-//     br.call.sptk.many rp=_reloc     // XXX: Look into relocs
-       ;;
+       }
+#if 0  /* XXX: Look into relocs */     
+{      .mib
+       nop     0
+       nop     0
+       br.call.sptk.many rp=_reloc
+}
+#endif 
+{      .mib
+       nop     0
+       nop     0
        br.call.sptk.many rp=ia64_init
        ;;
+}
         /* We have the new bspstore in r8 and the new sp in r9.
            Switch onto the new stack and call mi_startup(). */
 {       .mmi
@@ -109,9 +127,13 @@
         mov     ar.rsc = 3
         nop     0
         ;;
-}      
+}
+{      .mib
+       nop     0
+       nop     0
        br.call.sptk.many rp=main
        ;;
+}
        /* NOTREACHED */
 1:     br.cond.sptk.few 1b
 END(start)



Home | Main Index | Thread Index | Old Index