All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pete Popov <ppopov@mvista.com>
To: "Kevin D. Kissell" <kevink@mips.com>
Cc: linux-mips@oss.sgi.com
Subject: Re: Can't build a CONFIG_CPU_NEVADA kernel
Date: Wed, 14 Mar 2001 17:50:06 -0800	[thread overview]
Message-ID: <3AB01FCE.CDFA99C9@mvista.com> (raw)
In-Reply-To: 011001c0acd8$c27a9220$0deca8c0@Ulysses

"Kevin D. Kissell" wrote:
> 
> > "Correct" usage would be to enable those three instructions
> > with a "-mcpu=nevada", or better still, "-mcpu=r5200" (for
> > consistency), and to enable the rest of the MIPS IV ISA
> > with "-mips4" instead of the archaic r8000 hack.
> 
> I should add "Correct", but not useful for 32-bit
> kernels.  "-mips32", once that percolates through
> the gcc food chain, would be *almost* perfect
> for 32-bit Nevada kernels.  I say almost, because
> while MIPS32 is 32-bit MIPS IV plus MADD, it also
> has a handfull of instructions that are not supported
> by the R52xx, of which it is wildly improbable but
> theoretically possible that the multiply-subtracts
> might somehow get emitted in compiled application
> code. It should work just fine for kernel purposes, though.
> 
> Meanwhile, try piping objdump of a "-mmad" kernel
> through "grep -i mad".  I'd be stunned if a single MADD
> turned up.  If it gains nothing, but breaks builds, then
> for heaven's sake banish -mmad from the kernel
> makefiles!

I managed to compile a 2.4.2 kernel with our bleeding edge toolchain. I
had to get rid of the -mmad from the Makefile though. The kernel boots
and runs and I ran Bonnie over NFS as well as on an IDE hard disk. I
tried some other tests as well, and they all passed.  

Without the -mmad flag, I see the following mad instructions below. No
"madd" though, just madd.s, madd16, mad, etc. So, can we get rid of this
flag in the Makefile?

Pete

0000000080132690 <sys_madvise>:
    801326dc:   1080fffc        beqz    $a0,801326d0 <sys_madvise+40>
    801326e4:   04810004        bgez    $a0,801326f8 <sys_madvise+68>
    801326f8:   5440002e        bnezl   $v0,801327b4 <sys_madvise+124>
    80132714:   54400027        bnezl   $v0,801327b4 <sys_madvise+124>
    8013271c:   12510024        beq     $s2,$s1,801327b0
<sys_madvise+120>
    80132734:   1200001e        beqz    $s0,801327b0 <sys_madvise+120>
    80132744:   10400003        beqz    $v0,80132754 <sys_madvise+c4>
    80132758:   1440000c        bnez    $v0,8013278c <sys_madvise+fc>
    80132764:   10400007        beqz    $v0,80132784 <sys_madvise+f4>
    80132770:   0c04c988        jal     80132620 <madvise_vma>
    8013277c:   5660000d        bnezl   $s3,801327b4 <sys_madvise+124>
    80132784:   0804c9ec        j       801327b0 <sys_madvise+120>
    80132790:   0c04c988        jal     80132620 <madvise_vma>
    8013279c:   56600005        bnezl   $s3,801327b4 <sys_madvise+124>
    801327a8:   0804c9cd        j       80132734 <sys_madvise+a4>
    801327c8:   1080fffc        beqz    $a0,801327bc <sys_madvise+12c>
    801327d0:   1c800004        bgtz    $a0,801327e4 <sys_madvise+154>
    80250590:   4d4d2030        nmadd.s $f0,$f10,$f4,$f13
    80250a84:   4f4e2820        madd.s  $f0,$f26,$f5,$f14
    802517bc:   00000029        dmadd16 $zero,$zero
    80253c94:   00000029        dmadd16 $zero,$zero
    802555a4:   00000029        dmadd16 $zero,$zero
    80256178:   00000029        dmadd16 $zero,$zero
    80259804:   4d445b20        madd.s  $f12,$f10,$f11,$f4
    80259810:   4d445b20        madd.s  $f12,$f10,$f11,$f4
    8025981c:   4d445b20        madd.s  $f12,$f10,$f11,$f4
    8025aa34:   00000029        dmadd16 $zero,$zero
    8025bbf0:   4c257830        nmadd.s $f0,$f1,$f15,$f5
    802618a8:   4f2f4920        madd.s  $f4,$f25,$f9,$f15
    80262018:   4e203a70        nmadd.s $f9,$f17,$f7,$f0
    802625c4:   4c554e20        madd.s  $f24,$f2,$f9,$f21
    80262700:   4c554e20        madd.s  $f24,$f2,$f9,$f21
    80264d5c:   4c545220        madd.s  $f8,$f2,$f10,$f20
    80264d64:   00000029        dmadd16 $zero,$zero
    80265148:   4e203d21        madd.d  $f20,$f17,$f7,$f0
    80265194:   4e203d21        madd.d  $f20,$f17,$f7,$f0
    8026534c:   00000029        dmadd16 $zero,$zero
    80265b50:   4f495020        madd.s  $f0,$f26,$f10,$f9
    80265f70:   4c554e20        madd.s  $f24,$f2,$f9,$f21
    80266294:   4e554c20        madd.s  $f16,$f18,$f9,$f21
    802670bc:   4c4c4120        madd.s  $f4,$f2,$f8,$f12
    80267690:   4d207361        madd.d  $f13,$f9,$f14,$f0
    80267f5c:   00000029        dmadd16 $zero,$zero
    80268314:   00000029        dmadd16 $zero,$zero
    80268abc:   00000029        dmadd16 $zero,$zero
    80269cd4:   4d435020        madd.s  $f0,$f10,$f10,$f3
    8026a504:   00000029        dmadd16 $zero,$zero
    8026df88:   4c4c5020        madd.s  $f0,$f2,$f10,$f12
    8026e01c:   4c502070        nmadd.s $f1,$f2,$f4,$f16
    8026f6bc:   4c622020        madd.s  $f0,$f3,$f4,$f2
    8026f71c:   4e622020        madd.s  $f0,$f19,$f4,$f2
    8026f944:   4c622020        madd.s  $f0,$f3,$f4,$f2
    8026f9f0:   4d772020        madd.s  $f0,$f11,$f4,$f23
    802702f8:   4d203231        nmadd.d $f8,$f9,$f6,$f0
    80273830:   00000029        dmadd16 $zero,$zero
    80276a24:   4f6d7361        madd.d  $f13,$f27,$f14,$f13
    80277498:   4e203d21        madd.d  $f20,$f17,$f7,$f0
    80279c10:   4d202020        madd.s  $f0,$f9,$f4,$f0
    80279ea4:   4d434920        madd.s  $f4,$f10,$f9,$f3
    8027c588:   4f494520        madd.s  $f20,$f26,$f8,$f9
    80280048:   4d642520        madd.s  $f20,$f11,$f4,$f4
    802802c8:   4d4f5220        madd.s  $f8,$f10,$f10,$f15
    802a0e00:   4e414d20        madd.s  $f20,$f18,$f9,$f1
    802a2988:   4c4f5720        madd.s  $f28,$f2,$f10,$f15
    802a2a30:   00000029        dmadd16 $zero,$zero
    802a2c14:   4f2f4920        madd.s  $f4,$f25,$f9,$f15
    802a336c:   4f2f4920        madd.s  $f4,$f25,$f9,$f15
    802a39e4:   00000029        dmadd16 $zero,$zero
    802a3a00:   00000029        dmadd16 $zero,$zero
    802a3a1c:   00000029        dmadd16 $zero,$zero
    802a3a70:   00000029        dmadd16 $zero,$zero
    802a3ac8:   00000029        dmadd16 $zero,$zero
    802a3ad0:   4d353531        nmadd.d $f20,$f9,$f6,$f21
    802a3b3c:   00000029        dmadd16 $zero,$zero
    802a427c:   4f2f4920        madd.s  $f4,$f25,$f9,$f15
    802a50bc:   4d4f4320        madd.s  $f12,$f10,$f8,$f15
    802a5504:   4e414c20        madd.s  $f16,$f18,$f9,$f1
    802a57ec:   4c2e6920        madd.s  $f4,$f1,$f13,$f14
    802a5f18:   4f2f4920        madd.s  $f4,$f25,$f9,$f15
    802a6378:   4d544120        madd.s  $f4,$f10,$f8,$f20
    802a63b4:   4d207161        madd.d  $f5,$f9,$f14,$f0
    802a6d5c:   00000029        dmadd16 $zero,$zero
    802a6ea8:   4f2f4920        madd.s  $f4,$f25,$f9,$f15
    802a6ebc:   4f2f4920        madd.s  $f4,$f25,$f9,$f15
    802a73c0:   4e414c20        madd.s  $f16,$f18,$f9,$f1
    802a74cc:   4e414c20        madd.s  $f16,$f18,$f9,$f1
    802a75a0:   4f505420        madd.s  $f16,$f26,$f10,$f16
    802a7994:   4d502031        nmadd.d $f0,$f10,$f4,$f16
    802a7ac0:   4e414c20        madd.s  $f16,$f18,$f9,$f1
    802a7b54:   4e206870        nmadd.s $f1,$f17,$f13,$f0
    802a7e8c:   4d502820        madd.s  $f0,$f10,$f5,$f16
    802a7f84:   4e5b2061        madd.d  $f1,$f18,$f4,$f27
    802a7f90:   4e5b2061        madd.d  $f1,$f18,$f4,$f27
    802a7f9c:   4e5b2061        madd.d  $f1,$f18,$f4,$f27
    802a7fa8:   4e5b2061        madd.d  $f1,$f18,$f4,$f27
    802a8068:   00000029        dmadd16 $zero,$zero
    802a8290:   4d5b2030        nmadd.s $f0,$f10,$f4,$f27
    802a8c94:   4f525020        madd.s  $f0,$f26,$f10,$f18
    802a9088:   4e207370        nmadd.s $f13,$f17,$f14,$f0
    802a94ec:   4d544120        madd.s  $f4,$f10,$f8,$f20
    802a962c:   4d544120        madd.s  $f4,$f10,$f8,$f20
    802a9c10:   00000029        dmadd16 $zero,$zero
    802a9d64:   00000029        dmadd16 $zero,$zero
    802a9d80:   00000029        dmadd16 $zero,$zero
    802a9e2c:   00000029        dmadd16 $zero,$zero
    802ab81c:   00000029        dmadd16 $zero,$zero
    802ac17c:   00000029        dmadd16 $zero,$zero
    802ac65c:   4d207861        madd.d  $f1,$f9,$f15,$f0
    802ac740:   4d207861        madd.d  $f1,$f9,$f15,$f0
    802ac79c:   4c525320        madd.s  $f12,$f2,$f10,$f18
    802ad3e4:   4e206c61        madd.d  $f17,$f17,$f13,$f0
    802ad954:   4d202d20        madd.s  $f20,$f9,$f5,$f0
    802ae994:   4f2f4920        madd.s  $f4,$f25,$f9,$f15
    802af200:   4e415720        madd.s  $f28,$f18,$f10,$f1
    802b10cc:   4e414320        madd.s  $f12,$f18,$f8,$f1
    802b167c:   4e454420        madd.s  $f16,$f18,$f8,$f5
    802b1690:   4c554d20        madd.s  $f20,$f2,$f9,$f21
    802b1d88:   4d4f4320        madd.s  $f12,$f10,$f8,$f15
    802b1df0:   00000029        dmadd16 $zero,$zero
    802b2428:   00000029        dmadd16 $zero,$zero
    802b2458:   4d206e61        madd.d  $f25,$f9,$f13,$f0
    802b30e0:   00000029        dmadd16 $zero,$zero
    802b3140:   00000029        dmadd16 $zero,$zero
    802b3c68:   00000029        dmadd16 $zero,$zero
    802b3ff8:   4f525020        madd.s  $f0,$f26,$f10,$f18
    802b4010:   4f525020        madd.s  $f0,$f26,$f10,$f18
    802b4120:   4d472030        nmadd.s $f0,$f10,$f4,$f7
    802b453c:   4f2f4920        madd.s  $f4,$f25,$f9,$f15
    802b5d80:   00000029        dmadd16 $zero,$zero
    802b6e38:   00000028        madd16  $zero,$zero
    802b6e40:   00000029        dmadd16 $zero,$zero
    802b7350:   00000028        madd16  $zero,$zero
    802b80a8:   00000028        madd16  $zero,$zero
    802b80b0:   00000029        dmadd16 $zero,$zero
    802b81d8:   00000028        madd16  $zero,$zero
    802b81e0:   00000029        dmadd16 $zero,$zero
    802bdda4:   00000028        madd16  $zero,$zero
    802bddd8:   00000028        madd16  $zero,$zero
    802bde7c:   00000029        dmadd16 $zero,$zero
    802bdeac:   00000028        madd16  $zero,$zero
    802bdeb8:   00000028        madd16  $zero,$zero
    802bdf14:   00000028        madd16  $zero,$zero
    802be6d8:   00000028        madd16  $zero,$zero
    802be764:   00000028        madd16  $zero,$zero
    802c0578:   70000000        mad     $zero,$zero
    802c07f4:   72070000        mad     $s0,$a3
    802c1490:   00000028        madd16  $zero,$zero
    802c957c:   00000029        dmadd16 $zero,$zero
    802c96b0:   00000028        madd16  $zero,$zero
    802ccdcc:   00000028        madd16  $zero,$zero
    802cddb0:   00290028        madd16  $at,$t1
    802cdfb0:   00290028        madd16  $at,$t1
    802ce1b0:   00290028        madd16  $at,$t1
    802ce6b8:   00290028        madd16  $at,$t1
    802d4150:   4e534331        nmadd.d $f12,$f18,$f8,$f19
    802d667c:   00000028        madd16  $zero,$zero
    802d7614:   00290028        madd16  $at,$t1
    802d9770:   00000028        madd16  $zero,$zero
    802d9820:   00000029        dmadd16 $zero,$zero

  reply	other threads:[~2001-03-15  1:51 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-03-14 13:46 Can't build a CONFIG_CPU_NEVADA kernel Daniel Jacobowitz
2001-03-14 18:59 ` Ralf Baechle
2001-03-14 19:05   ` Daniel Jacobowitz
2001-03-14 19:20     ` Ralf Baechle
2001-03-14 19:48       ` Jun Sun
2001-03-14 20:02         ` Ralf Baechle
2001-03-14 20:56       ` Daniel Jacobowitz
2001-03-14 22:11       ` Kevin D. Kissell
2001-03-14 22:11         ` Kevin D. Kissell
2001-03-14 22:47         ` Kevin D. Kissell
2001-03-14 22:47           ` Kevin D. Kissell
2001-03-15  1:50           ` Pete Popov [this message]
2001-03-15  8:01             ` Kevin D. Kissell
2001-03-15  8:01               ` Kevin D. Kissell
2001-03-16 14:04         ` Ralf Baechle
2001-03-16 14:04           ` Ralf Baechle
2001-03-16 18:02           ` Daniel Jacobowitz
2001-03-16 18:16             ` Ralf Baechle
2001-03-16 18:46           ` Kevin D. Kissell
2001-03-16 18:46             ` Kevin D. Kissell
2001-03-16 19:35             ` Ralf Baechle
2001-03-16 19:35               ` Ralf Baechle
2001-03-16 15:34         ` Ralf Baechle
2001-03-16 15:34           ` Ralf Baechle

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3AB01FCE.CDFA99C9@mvista.com \
    --to=ppopov@mvista.com \
    --cc=kevink@mips.com \
    --cc=linux-mips@oss.sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.