Port-sparc64 archive

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

Re: Using %stick where available



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

On Nov 7, 2012, at 6:51 PM, Takeshi Nakayama wrote:

Michael <macallan%netbsd.org@localhost> wrote

Hello,

On Nov 7, 2012, at 4:29 PM, Takeshi Nakayama wrote:

+       struct cpu_info *ci = curcpu();

Replace the following curcpu()s with ci.

Done.

Thanks, but there are some left.

Oops, fixed.

Index: sparc64/locore.s
===================================================================
RCS file: /cvsroot/src/sys/arch/sparc64/sparc64/locore.s,v
retrieving revision 1.341
diff -u -w -r1.341 locore.s
--- sparc64/locore.s    17 Mar 2012 22:19:53 -0000      1.341
+++ sparc64/locore.s    7 Nov 2012 17:26:59 -0000
@@ -3270,13 +3270,18 @@
        wrpr    %g0, PSTATE_KERN|PSTATE_IG, %pstate     ! DEBUG
#endif
        /*
- * If this is a %tick softint, clear it then call interrupt_vector.
+        * If this is a %tick or %stick softint, clear it then call
+        * interrupt_vector. Only one of them should be enabled at any
given
+        * time.
         */
        rd      SOFTINT, %g1
-       btst    1, %g1
+       mov     1, %g5
+       sllx    %g5, 16, %g3
+       or      %g5, %g3, %g5

Only "set 0x1001, %g5" is faster.

fixed that too.

Revised patch is attached.

Thanks, it looks ok to me.

Alright, going to commit. Thanks!

have fun
Michael

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)
Comment: GPGTools - http://gpgtools.org

iQEVAwUBUJr84spnzkX8Yg2nAQIvpgf9Hg9e3zgKZ81yomdVBqM1GIO2mmqKy23m
KO30oU1qytmmgAoSaXwFNhkBCDoMY8YRFYiYHOHItThjb6oWXR8YHG1NBIpZoY6L
oO1gWFQrMrfaxWCBscIaedOCev94cymqgTLwbDdwzxTiO7zmoQf3hPr5AeD5ztrq
hQ+mKp3K71hCQGwbhl11iVsrbwqmeteEQ7kEtHBW+Sjumm02rGxujTkqWmYr6QbL
i7Np7pD7S/4J/Sdqzr3TAZE8BkO2GnFlQd0x7rWcZ/wwuy/nVmJy5fTz30nLhHz7
jP5F4rrN93VuF+r8m+RgtmAUg8sWP890qqkn518YGjfb6+kXwogdIA==
=mIEH
-----END PGP SIGNATURE-----


Home | Main Index | Thread Index | Old Index