Source-Changes-HG archive

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

[src/netbsd-1-6]: src/sys/arch/sparc/sparc Pull up revisions 1.154-1.157 (req...



details:   https://anonhg.NetBSD.org/src/rev/1800c620add0
branches:  netbsd-1-6
changeset: 527983:1800c620add0
user:      lukem <lukem%NetBSD.org@localhost>
date:      Tue Jun 18 15:46:05 2002 +0000

description:
Pull up revisions 1.154-1.157 (requested by pk in ticket #298):
  revision 1.157
    Fix typo in nmi_sun{4,4c}, use correct register.
  revision 1.156
    Fill delay slot in previous to match normal microtime.
  revision 1.155
    Do not use "std" in ms-IIep micortime, the argument is not guaranteed
    to be double-word aligned and it is not when we are called from bpf.
    Remove "should be able to std here" comment in generic microtime.
    While here, simplify some asm mnemonics and fix a typo in comment.
  revision 1.154
    Use C-style comments in a few places where ' appears in the comment,
    so that this works with GCC 2.95.3's ISO C preprocessor.

diffstat:

 sys/arch/sparc/sparc/locore.s |  39 +++++++++++++++++++--------------------
 1 files changed, 19 insertions(+), 20 deletions(-)

diffs (126 lines):

diff -r c60c876e5070 -r 1800c620add0 sys/arch/sparc/sparc/locore.s
--- a/sys/arch/sparc/sparc/locore.s     Tue Jun 18 15:05:30 2002 +0000
+++ b/sys/arch/sparc/sparc/locore.s     Tue Jun 18 15:46:05 2002 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: locore.s,v 1.153 2002/02/04 08:36:36 pk Exp $  */
+/*     $NetBSD: locore.s,v 1.153.10.1 2002/06/18 15:46:05 lukem Exp $  */
 
 /*
  * Copyright (c) 1996 Paul Kranenburg
@@ -1686,7 +1686,7 @@
        bl,a    ctw_merge               ! all ok if only 1
         std    %l0, [%sp]
        add     %sp, 7*8, %g5           ! check last addr too
-       add     %g6, 62, %g6            ! restore %g6 to `pgofset'
+       add     %g6, 62, %g6            /* restore %g6 to `pgofset' */
        PTE_OF_ADDR(%g5, %g7, ctw_invalid, %g6, NOP_ON_4M_3)
        CMP_PTE_USER_WRITE(%g7, %g6, NOP_ON_4M_4)
        be,a    ctw_merge               ! all ok: store <l0,l1> and merge
@@ -2612,7 +2612,7 @@
         */
        sethi   %hi(INTRREG_VA), %o0
        ldub    [%o0 + %lo(INTRREG_VA)], %o1
-       andn    %o0, IE_ALLIE, %o1
+       andn    %o1, IE_ALLIE, %o1
        stb     %o1, [%o0 + %lo(INTRREG_VA)]
        wr      %l0, PSR_ET, %psr       ! okay, turn traps on again
 
@@ -2638,7 +2638,7 @@
         */
        sethi   %hi(INTRREG_VA), %o0
        ldub    [%o0 + %lo(INTRREG_VA)], %o1
-       andn    %o0, IE_ALLIE, %o1
+       andn    %o1, IE_ALLIE, %o1
        stb     %o1, [%o0 + %lo(INTRREG_VA)]
        wr      %l0, PSR_ET, %psr       ! okay, turn traps on again
 
@@ -2700,7 +2700,7 @@
        bnz,a   1f                      !
         mov    %o0, %o1                ! shift int clear bit to SOFTINT 15
 
-       set     _C_LABEL(nmi_hard), %o3 ! it's a hardint; switch handler
+       set     _C_LABEL(nmi_hard), %o3 /* it's a hardint; switch handler */
 
        /*
         * Level 15 interrupts are nonmaskable, so with traps off,
@@ -2767,7 +2767,7 @@
 
        !cmp    %o0, 0                  ! was this a soft nmi
        !be     4f
-       !XXX - we need to unblock `mask all ints' only on a hard nmi
+       /* XXX - we need to unblock `mask all ints' only on a hard nmi */
 
        ! enable interrupts again (safe, we disabled traps again above)
        sethi   %hi(ICR_SI_CLR), %o0
@@ -3461,7 +3461,7 @@
 
        set     0x44444230, %l3         ! Is it DDB_MAGIC0?
        cmp     %o5, %l3                ! if so, need to relocate %o4
-       bne     3f                      ! if not, there's no bootloader info
+       bne     3f                      /* if not, there's no bootloader info */
 
                                        ! note: %l4 set to KERNBASE above.
        set     0xf8000000, %l5         ! compute correction term:
@@ -4499,7 +4499,7 @@
 #if defined(MULTIPROCESSOR) || defined(LOCKDEBUG)
 idle_leave:
        /* Before we leave the idle loop, detain the scheduler lock */
-       nop;nop;nop;    ! just wrote to %psr; delay before doing a `save'
+       nop;nop;nop;    /* just wrote to %psr; delay before doing a `save' */
        SAVE_GLOBALS_AND_CALL(sched_lock_idle)
        b,a     Lsw_scan
 #endif
@@ -6040,10 +6040,10 @@
        set     1000000, %g5                    ! normalize usec value
        cmp     %o3, %g5
        bl,a    4f
-        st     %o2, [%o0]                      ! (should be able to std here)
+        st     %o2, [%o0]
        add     %o2, 1, %o2                     ! overflow
        sub     %o3, %g5, %o3
-       st      %o2, [%o0]                      ! (should be able to std here)
+       st      %o2, [%o0]
 4:
        retl
         st     %o3, [%o0+4]
@@ -6079,17 +6079,16 @@
        bpos    3f                              ! if limit not reached yet
         clr    %g4                             !  then use timer as is
 
-       sethi   %hi(0x80000000), %g5
+       set     0x80000000, %g5
        sethi   %hi(_C_LABEL(tick)), %g4
-       andn    %o4, %g5, %o4                   ! cleat limit reached flag
+       bclr    %g5, %o4                        ! cleat limit reached flag
        ld      [%g4+%lo(_C_LABEL(tick))], %g4
 
        !! %g4 - either 0 or tick (if timer has hit the limit)
 3:
        inc     -1, %o4                         ! timer is 1-based, adjust
-       !! divide by 25 magic stollen from a gcc output
-       sethi   %hi(1374389535), %g5
-       or      %g5, %lo(1374389535), %g5
+       !! divide by 25 magic stolen from a gcc output
+       set     1374389535, %g5
        umul    %o4, %g5, %g0
        rd      %y, %o4
        srl     %o4, 3, %o4
@@ -6099,13 +6098,13 @@
        add     %o3, %o4, %o3                   ! add timer to time.tv_usec
        set     1000000, %g5                    ! normalize usec value
        cmp     %o3, %g5
-       bl      4f
-        nop
+       bl,a    4f
+        st     %o2, [%o0]
        inc     %o2                             ! overflow into tv_sec
        sub     %o3, %g5, %o3
-4:
-       retl
-        std    %o2, [%o0]
+       st      %o2, [%o0]
+4:     retl
+        st     %o3, [%o0 + 4]
 #endif /* MSIIEP */
 
 /*



Home | Main Index | Thread Index | Old Index