Re: [PATCH-v2] sparc: Rename NGMP to GR740 and add configs for UT699, UT700, and GR712RC
On 19/07/17 22:35, Jiri Gaisler wrote: The instruction that takes the trap is at 0x40004040, which is ld [ %sp + 0x4c ], %f8. Remember that SPARC has deferred FPU trap model so it is actually the previous FPU instruction FSMULD at 0x4000403c that generated the trap. This instruction is not implemented in sis, and I am not sure it is even implemented in some leon2/leon3 hardware. I will check and report back ... Jiri. I use -mcpu=leon -mfix-at697f and according to the manual we have: The AT697F floating-point unit is based on the MEIKO core and implements the SPARC floating-point instruction-set defined in the SPARC Architecture Manual version 8. I am certain that AT697E did not implement FSMULD, whether AT697F does it I do not know but I doubt it. On the other hand, most (all?) leon3 with an FPU does support FSMULD. Maybe somebody with an AT697F board could run the MATHF test and report if it runs or traps. I will add fsmuld support to sis, but we should really try to find out if it is appropriate for leon2. We did some tests on a real AT697F and it apparently supported the FSMULD instruction in hardware. -- Sebastian Huber, embedded brains GmbH Address : Dornierstr. 4, D-82178 Puchheim, Germany Phone : +49 89 189 47 41-16 Fax : +49 89 189 47 41-09 E-Mail : sebastian.hu...@embedded-brains.de PGP : Public key available on request. Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG. ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: [PATCH-v2] sparc: Rename NGMP to GR740 and add configs for UT699, UT700, and GR712RC
Just for reference, the fsmuld instruction appears in the following multilibs: /opt/rtems-4.12/sparc-rtems4.12/lib/leon3/gr712rc/libm.a 18: 81 a2 0d 29 fsmuld %f8, %f9, %f0 /opt/rtems-4.12/sparc-rtems4.12/lib/leon3/libm.a 18: 81 a2 0d 29 fsmuld %f8, %f9, %f0 /opt/rtems-4.12/sparc-rtems4.12/lib/leon/at697f/libm.a 18: 81 a2 0d 29 fsmuld %f8, %f9, %f0 /opt/rtems-4.12/sparc-rtems4.12/lib/leon/libm.a 18: 81 a2 0d 29 fsmuld %f8, %f9, %f0 /opt/rtems-4.12/sparc-rtems4.12/lib/v8/libm.a 18: 81 a2 0d 29 fsmuld %f8, %f9, %f0 -- Sebastian Huber, embedded brains GmbH Address : Dornierstr. 4, D-82178 Puchheim, Germany Phone : +49 89 189 47 41-16 Fax : +49 89 189 47 41-09 E-Mail : sebastian.hu...@embedded-brains.de PGP : Public key available on request. Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG. ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: [PATCH-v2] sparc: Rename NGMP to GR740 and add configs for UT699, UT700, and GR712RC
On 19/07/17 22:35, Jiri Gaisler wrote: On 07/19/2017 07:36 PM, Sebastian Huber wrote: - Jiri Gaislerschrieb: On 07/19/2017 04:04 PM, Sebastian Huber wrote: Hello Jiri, I fixed a couple of tests. One remaining failure on the leon2 is mathf: *** BEGIN OF TEST MATHF *** acosf : 1.570796 acoshf : -nan asinf : 1.570796 asinhf : 0.881374 atanf : 0.665774 atan2f : 0.785398 atanhf : inf cbrtf : 3.00 ceilf : 4.00 copysignf : -3.50 cosf : -0.00 coshf : 2.509179 erff : 1.00 erfcf : 0.00 expf : 1.521962 exp2f : 1.337928 expm1f : 0.000420 fabsf : 1.123000 fdimf : 0.00 floorf : 0.00 floorf : -1.00 Breakpoint 1, 0x40004044 in fmaf (x=x@entry=2.099, y=2.2005, z=3.0099) at /home/EB/sebastian_h/archive/gcc-git/newlib/libm/common/sf_fma.c:25 25return (float) (((double) x * (double) y) + (double) z); (gdb) disas 0x40004044 Dump of assembler code for function fmaf: 0x40004024 <+0>: add %sp, -80, %sp 0x40004028 <+4>: st %o1, [ %sp + 0x4c ] 0x4000402c <+8>: ld [ %sp + 0x4c ], %f8 0x40004030 <+12>:st %o0, [ %sp + 0x4c ] 0x40004034 <+16>:ld [ %sp + 0x4c ], %f9 0x40004038 <+20>:st %o2, [ %sp + 0x4c ] 0x4000403c <+24>:fsmuld %f8, %f9, %f0 0x40004040 <+28>:ld [ %sp + 0x4c ], %f8 => 0x40004044 <+32>:fstod %f8, %f8 0x40004048 <+36>:add %sp, 0x50, %sp 0x4000404c <+40>:faddd %f0, %f8, %f0 0x40004050 <+44>:retl 0x40004054 <+48>:fdtos %f0, %f0 End of assembler dump. (gdb) p/x $fsr $1 = 0xe660 Is fstod implemented on the SIS? fstod is implemented. The instruction that takes the trap is at 0x40004040, which is ld [ %sp + 0x4c ], %f8. Remember that SPARC has deferred FPU trap model so it is actually the previous FPU instruction FSMULD at 0x4000403c that generated the trap. This instruction is not implemented in sis, and I am not sure it is even implemented in some leon2/leon3 hardware. I will check and report back ... Jiri. I use -mcpu=leon -mfix-at697f and according to the manual we have: The AT697F floating-point unit is based on the MEIKO core and implements the SPARC floating-point instruction-set defined in the SPARC Architecture Manual version 8. I am certain that AT697E did not implement FSMULD, whether AT697F does it I do not know but I doubt it. On the other hand, most (all?) leon3 with an FPU does support FSMULD. Maybe somebody with an AT697F board could run the MATHF test and report if it runs or traps. I will add fsmuld support to sis, but we should really try to find out if it is appropriate for leon2. Jiri. Yes, we probably have to test this on real hardware, since according to the SPARC v8 manual we have: "Appendix G — SPARC ABI Software Considerations FsMULd instruction The floating-point multiply single-to-double instruction (FsMULd) is new in Version 8 of the SPARC architecture. Some SPARC systems in the field emulate this instruction in software. Recommended use of FsMULd instruction in SPARC ABI programs: * If FsMULd is used infrequently (on a dynamic basis): Use the FsMULd instruction in-line. * If FsMULd is used heavily (on a dynamic basis), and reasonable perfor- mance across all systems is preferred over optimal performance on the fastest systems: Convert the operands to double precision in scratch registers, then calculate the result with the FMULd instruction. For example, fsmuld %f20,%f21,%f8 might be replaced by: fstod %f20,%f0 fstod %f23,%f2 fmuld %f0,%f2,%f8 This provides reasonable performance on machines with hardware support for FsMULd, while not penalizing those without it with the overhead of trap- ping and emulating the instructions in supervisor software. * If FsMULd is used heavily (on a dynamic basis), and optimal performance on systems which implement FsMULd in hardware is desired at the cost of performance degradation on most systems: Use the FsMULd instruction in-line." -- Sebastian Huber, embedded brains GmbH Address : Dornierstr. 4, D-82178 Puchheim, Germany Phone : +49 89 189 47 41-16 Fax : +49 89 189 47 41-09 E-Mail : sebastian.hu...@embedded-brains.de PGP : Public key available on request. Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG. ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: [PATCH-v2] sparc: Rename NGMP to GR740 and add configs for UT699, UT700, and GR712RC
On 07/19/2017 07:36 PM, Sebastian Huber wrote: > - Jiri Gaislerschrieb: >> >> On 07/19/2017 04:04 PM, Sebastian Huber wrote: >>> Hello Jiri, >>> >>> I fixed a couple of tests. One remaining failure on the leon2 is mathf: >>> >>> *** BEGIN OF TEST MATHF *** >>> acosf : 1.570796 >>> acoshf : -nan >>> asinf : 1.570796 >>> asinhf : 0.881374 >>> atanf : 0.665774 >>> atan2f : 0.785398 >>> atanhf : inf >>> cbrtf : 3.00 >>> ceilf : 4.00 >>> copysignf : -3.50 >>> cosf : -0.00 >>> coshf : 2.509179 >>> erff : 1.00 >>> erfcf : 0.00 >>> expf : 1.521962 >>> exp2f : 1.337928 >>> expm1f : 0.000420 >>> fabsf : 1.123000 >>> fdimf : 0.00 >>> floorf : 0.00 >>> floorf : -1.00 >>> >>> Breakpoint 1, 0x40004044 in fmaf (x=x@entry=2.099, y=2.2005, >>> z=3.0099) at >>> /home/EB/sebastian_h/archive/gcc-git/newlib/libm/common/sf_fma.c:25 >>> 25return (float) (((double) x * (double) y) + (double) z); >>> (gdb) disas 0x40004044 >>> Dump of assembler code for function fmaf: >>>0x40004024 <+0>: add %sp, -80, %sp >>>0x40004028 <+4>: st %o1, [ %sp + 0x4c ] >>>0x4000402c <+8>: ld [ %sp + 0x4c ], %f8 >>>0x40004030 <+12>:st %o0, [ %sp + 0x4c ] >>>0x40004034 <+16>:ld [ %sp + 0x4c ], %f9 >>>0x40004038 <+20>:st %o2, [ %sp + 0x4c ] >>>0x4000403c <+24>:fsmuld %f8, %f9, %f0 >>>0x40004040 <+28>:ld [ %sp + 0x4c ], %f8 >>> => 0x40004044 <+32>:fstod %f8, %f8 >>>0x40004048 <+36>:add %sp, 0x50, %sp >>>0x4000404c <+40>:faddd %f0, %f8, %f0 >>>0x40004050 <+44>:retl >>>0x40004054 <+48>:fdtos %f0, %f0 >>> End of assembler dump. >>> (gdb) p/x $fsr >>> $1 = 0xe660 >>> >>> Is fstod implemented on the SIS? >> fstod is implemented. >> >> The instruction that takes the trap is at 0x40004040, which is ld [ %sp >> + 0x4c ], %f8. Remember that SPARC has deferred FPU trap model so it is >> actually the previous FPU instruction FSMULD at 0x4000403c that >> generated the trap. This instruction is not implemented in sis, and I am >> not sure it is even implemented in some leon2/leon3 hardware. I will >> check and report back ... >> >> Jiri. >> > I use -mcpu=leon -mfix-at697f and according to the manual we have: > > The AT697F floating-point unit is based on the MEIKO core and implements the > SPARC floating-point instruction-set defined in the SPARC Architecture Manual > version 8. I am certain that AT697E did not implement FSMULD, whether AT697F does it I do not know but I doubt it. On the other hand, most (all?) leon3 with an FPU does support FSMULD. Maybe somebody with an AT697F board could run the MATHF test and report if it runs or traps. I will add fsmuld support to sis, but we should really try to find out if it is appropriate for leon2. Jiri. > ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: [PATCH-v2] sparc: Rename NGMP to GR740 and add configs for UT699, UT700, and GR712RC
- Jiri Gaislerschrieb: > > > On 07/19/2017 04:04 PM, Sebastian Huber wrote: > > Hello Jiri, > > > > I fixed a couple of tests. One remaining failure on the leon2 is mathf: > > > > *** BEGIN OF TEST MATHF *** > > acosf : 1.570796 > > acoshf : -nan > > asinf : 1.570796 > > asinhf : 0.881374 > > atanf : 0.665774 > > atan2f : 0.785398 > > atanhf : inf > > cbrtf : 3.00 > > ceilf : 4.00 > > copysignf : -3.50 > > cosf : -0.00 > > coshf : 2.509179 > > erff : 1.00 > > erfcf : 0.00 > > expf : 1.521962 > > exp2f : 1.337928 > > expm1f : 0.000420 > > fabsf : 1.123000 > > fdimf : 0.00 > > floorf : 0.00 > > floorf : -1.00 > > > > Breakpoint 1, 0x40004044 in fmaf (x=x@entry=2.099, y=2.2005, > > z=3.0099) at > > /home/EB/sebastian_h/archive/gcc-git/newlib/libm/common/sf_fma.c:25 > > 25return (float) (((double) x * (double) y) + (double) z); > > (gdb) disas 0x40004044 > > Dump of assembler code for function fmaf: > >0x40004024 <+0>: add %sp, -80, %sp > >0x40004028 <+4>: st %o1, [ %sp + 0x4c ] > >0x4000402c <+8>: ld [ %sp + 0x4c ], %f8 > >0x40004030 <+12>:st %o0, [ %sp + 0x4c ] > >0x40004034 <+16>:ld [ %sp + 0x4c ], %f9 > >0x40004038 <+20>:st %o2, [ %sp + 0x4c ] > >0x4000403c <+24>:fsmuld %f8, %f9, %f0 > >0x40004040 <+28>:ld [ %sp + 0x4c ], %f8 > > => 0x40004044 <+32>:fstod %f8, %f8 > >0x40004048 <+36>:add %sp, 0x50, %sp > >0x4000404c <+40>:faddd %f0, %f8, %f0 > >0x40004050 <+44>:retl > >0x40004054 <+48>:fdtos %f0, %f0 > > End of assembler dump. > > (gdb) p/x $fsr > > $1 = 0xe660 > > > > Is fstod implemented on the SIS? > fstod is implemented. > > The instruction that takes the trap is at 0x40004040, which is ld [ %sp > + 0x4c ], %f8. Remember that SPARC has deferred FPU trap model so it is > actually the previous FPU instruction FSMULD at 0x4000403c that > generated the trap. This instruction is not implemented in sis, and I am > not sure it is even implemented in some leon2/leon3 hardware. I will > check and report back ... > > Jiri. > I use -mcpu=leon -mfix-at697f and according to the manual we have: The AT697F floating-point unit is based on the MEIKO core and implements the SPARC floating-point instruction-set defined in the SPARC Architecture Manual version 8. -- Sebastian Huber, embedded brains GmbH Address : Dornierstr. 4, D-82178 Puchheim, Germany Phone : +49 89 189 47 41-16 Fax : +49 89 189 47 41-09 E-Mail : sebastian.huber at embedded-brains.de PGP : Public key available on request. Diese Nachricht ist keine geschftliche Mitteilung im Sinne des EHUG. ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: [PATCH-v2] sparc: Rename NGMP to GR740 and add configs for UT699, UT700, and GR712RC
On 07/19/2017 04:04 PM, Sebastian Huber wrote: > Hello Jiri, > > I fixed a couple of tests. One remaining failure on the leon2 is mathf: > > *** BEGIN OF TEST MATHF *** > acosf : 1.570796 > acoshf : -nan > asinf : 1.570796 > asinhf : 0.881374 > atanf : 0.665774 > atan2f : 0.785398 > atanhf : inf > cbrtf : 3.00 > ceilf : 4.00 > copysignf : -3.50 > cosf : -0.00 > coshf : 2.509179 > erff : 1.00 > erfcf : 0.00 > expf : 1.521962 > exp2f : 1.337928 > expm1f : 0.000420 > fabsf : 1.123000 > fdimf : 0.00 > floorf : 0.00 > floorf : -1.00 > > Breakpoint 1, 0x40004044 in fmaf (x=x@entry=2.099, y=2.2005, > z=3.0099) at > /home/EB/sebastian_h/archive/gcc-git/newlib/libm/common/sf_fma.c:25 > 25return (float) (((double) x * (double) y) + (double) z); > (gdb) disas 0x40004044 > Dump of assembler code for function fmaf: >0x40004024 <+0>: add %sp, -80, %sp >0x40004028 <+4>: st %o1, [ %sp + 0x4c ] >0x4000402c <+8>: ld [ %sp + 0x4c ], %f8 >0x40004030 <+12>:st %o0, [ %sp + 0x4c ] >0x40004034 <+16>:ld [ %sp + 0x4c ], %f9 >0x40004038 <+20>:st %o2, [ %sp + 0x4c ] >0x4000403c <+24>:fsmuld %f8, %f9, %f0 >0x40004040 <+28>:ld [ %sp + 0x4c ], %f8 > => 0x40004044 <+32>:fstod %f8, %f8 >0x40004048 <+36>:add %sp, 0x50, %sp >0x4000404c <+40>:faddd %f0, %f8, %f0 >0x40004050 <+44>:retl >0x40004054 <+48>:fdtos %f0, %f0 > End of assembler dump. > (gdb) p/x $fsr > $1 = 0xe660 > > Is fstod implemented on the SIS? fstod is implemented. The instruction that takes the trap is at 0x40004040, which is ld [ %sp + 0x4c ], %f8. Remember that SPARC has deferred FPU trap model so it is actually the previous FPU instruction FSMULD at 0x4000403c that generated the trap. This instruction is not implemented in sis, and I am not sure it is even implemented in some leon2/leon3 hardware. I will check and report back ... Jiri. ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: [PATCH-v2] sparc: Rename NGMP to GR740 and add configs for UT699, UT700, and GR712RC
Hello Jiri, I fixed a couple of tests. One remaining failure on the leon2 is mathf: *** BEGIN OF TEST MATHF *** acosf : 1.570796 acoshf : -nan asinf : 1.570796 asinhf : 0.881374 atanf : 0.665774 atan2f : 0.785398 atanhf : inf cbrtf : 3.00 ceilf : 4.00 copysignf : -3.50 cosf : -0.00 coshf : 2.509179 erff : 1.00 erfcf : 0.00 expf : 1.521962 exp2f : 1.337928 expm1f : 0.000420 fabsf : 1.123000 fdimf : 0.00 floorf : 0.00 floorf : -1.00 Breakpoint 1, 0x40004044 in fmaf (x=x@entry=2.099, y=2.2005, z=3.0099) at /home/EB/sebastian_h/archive/gcc-git/newlib/libm/common/sf_fma.c:25 25return (float) (((double) x * (double) y) + (double) z); (gdb) disas 0x40004044 Dump of assembler code for function fmaf: 0x40004024 <+0>: add %sp, -80, %sp 0x40004028 <+4>: st %o1, [ %sp + 0x4c ] 0x4000402c <+8>: ld [ %sp + 0x4c ], %f8 0x40004030 <+12>:st %o0, [ %sp + 0x4c ] 0x40004034 <+16>:ld [ %sp + 0x4c ], %f9 0x40004038 <+20>:st %o2, [ %sp + 0x4c ] 0x4000403c <+24>:fsmuld %f8, %f9, %f0 0x40004040 <+28>:ld [ %sp + 0x4c ], %f8 => 0x40004044 <+32>:fstod %f8, %f8 0x40004048 <+36>:add %sp, 0x50, %sp 0x4000404c <+40>:faddd %f0, %f8, %f0 0x40004050 <+44>:retl 0x40004054 <+48>:fdtos %f0, %f0 End of assembler dump. (gdb) p/x $fsr $1 = 0xe660 Is fstod implemented on the SIS? -- Sebastian Huber, embedded brains GmbH Address : Dornierstr. 4, D-82178 Puchheim, Germany Phone : +49 89 189 47 41-16 Fax : +49 89 189 47 41-09 E-Mail : sebastian.hu...@embedded-brains.de PGP : Public key available on request. Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG. ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: [PATCH-v2] sparc: Rename NGMP to GR740 and add configs for UT699, UT700, and GR712RC
The following tests fail now on the GR712RC due to FP disable exceptions: BLOCK 6 BLOCK 14 CONSTRUCTOR/DESTRUCTOR CRYPT 1 DUMPBUF 1 FLASHDISK 1 FSBDPART 1 FSDOSFSFORMAT 1 FSDOSFSNAME 1 FSERROR DOSFS FSERROR JFFS2 FSERROR MOUNTED IMFS FSERROR RFS FSERROR ROOT IMFS FSPERMISSION JFFS2 FSPERMISSION MOUNTED IMFS FSPERMISSION RFS FSPERMISSION ROOT IMFS FSRENAME MOUNTED IMFS FTP 1 libdl (RTL) 1 libdl (RTL) 4 libdl (RTL) 5 MGHTTPD 1 MONITOR 2 MOUSE 1 NETWORKING 1 PSXFILE 1 PSXIMFS 1 PSXIMFS 2 PSXPASSWD 2 PSXPIPE 1 PSXSTAT SMP 1 SMP 2 SMP 3 SMP 8 SMP 9 SMPAFFINITY 1 SMPSCHEDULER 1 SPERROR 1 SPERROR 2 SPERROR 3 SYSCALL 1 TAR 1 TERMIOS 3 TERMIOS 4 TERMIOS 5 TERMIOS 6 TERMIOS 7 -- Sebastian Huber, embedded brains GmbH Address : Dornierstr. 4, D-82178 Puchheim, Germany Phone : +49 89 189 47 41-16 Fax : +49 89 189 47 41-09 E-Mail : sebastian.hu...@embedded-brains.de PGP : Public key available on request. Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG. ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: [PATCH-v2] sparc: Rename NGMP to GR740 and add configs for UT699, UT700, and GR712RC
Hello Daniel, I checked it in. Would you mind adding the BSP variants for the leon2 as well? -- Sebastian Huber, embedded brains GmbH Address : Dornierstr. 4, D-82178 Puchheim, Germany Phone : +49 89 189 47 41-16 Fax : +49 89 189 47 41-09 E-Mail : sebastian.hu...@embedded-brains.de PGP : Public key available on request. Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG. ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH-v2] sparc: Rename NGMP to GR740 and add configs for UT699, UT700, and GR712RC
The UT699 requires -mcpu=leon as it does not support the CAS instruction provided by -mcpu=leon3. It also requires -mfix-ut699 for errata fixes. UT700 and GR712RC requires the -mfix-ut700 and -mfix-gr712rc flags that have been recently added to GCC's master and 7-branch. Remove -msoft-float from the leon3 config to make the more common case of using the FPU the default. --- c/src/lib/libbsp/sparc/leon3/Makefile.am | 5 - c/src/lib/libbsp/sparc/leon3/make/custom/gr712rc.cfg | 18 ++ .../sparc/leon3/make/custom/{ngmp.cfg => gr740.cfg} | 0 c/src/lib/libbsp/sparc/leon3/make/custom/leon3.cfg | 2 +- c/src/lib/libbsp/sparc/leon3/make/custom/ut699.cfg | 18 ++ c/src/lib/libbsp/sparc/leon3/make/custom/ut700.cfg | 18 ++ c/src/lib/libbsp/sparc/leon3/preinstall.am | 18 +++--- .../lib/libbsp/sparc/leon3/startup/linkcmds.gr712rc | 20 .../leon3/startup/{linkcmds.ngmp => linkcmds.gr740} | 0 c/src/lib/libbsp/sparc/leon3/startup/linkcmds.ut699 | 20 c/src/lib/libbsp/sparc/leon3/startup/linkcmds.ut700 | 20 11 files changed, 134 insertions(+), 5 deletions(-) create mode 100644 c/src/lib/libbsp/sparc/leon3/make/custom/gr712rc.cfg rename c/src/lib/libbsp/sparc/leon3/make/custom/{ngmp.cfg => gr740.cfg} (100%) create mode 100644 c/src/lib/libbsp/sparc/leon3/make/custom/ut699.cfg create mode 100644 c/src/lib/libbsp/sparc/leon3/make/custom/ut700.cfg create mode 100644 c/src/lib/libbsp/sparc/leon3/startup/linkcmds.gr712rc rename c/src/lib/libbsp/sparc/leon3/startup/{linkcmds.ngmp => linkcmds.gr740} (100%) create mode 100644 c/src/lib/libbsp/sparc/leon3/startup/linkcmds.ut699 create mode 100644 c/src/lib/libbsp/sparc/leon3/startup/linkcmds.ut700 diff --git a/c/src/lib/libbsp/sparc/leon3/Makefile.am b/c/src/lib/libbsp/sparc/leon3/Makefile.am index 52f6b56..cd591dd 100644 --- a/c/src/lib/libbsp/sparc/leon3/Makefile.am +++ b/c/src/lib/libbsp/sparc/leon3/Makefile.am @@ -26,7 +26,10 @@ project_lib_DATA = start.$(OBJEXT) dist_project_lib_DATA += ../shared/startup/linkcmds.base dist_project_lib_DATA += startup/linkcmds dist_project_lib_DATA += startup/linkcmds.leon3 -dist_project_lib_DATA += startup/linkcmds.ngmp +dist_project_lib_DATA += startup/linkcmds.ut699 +dist_project_lib_DATA += startup/linkcmds.gr712rc +dist_project_lib_DATA += startup/linkcmds.ut700 +dist_project_lib_DATA += startup/linkcmds.gr740 noinst_LIBRARIES += libbsp.a libbsp_a_SOURCES = diff --git a/c/src/lib/libbsp/sparc/leon3/make/custom/gr712rc.cfg b/c/src/lib/libbsp/sparc/leon3/make/custom/gr712rc.cfg new file mode 100644 index 000..40c6d12 --- /dev/null +++ b/c/src/lib/libbsp/sparc/leon3/make/custom/gr712rc.cfg @@ -0,0 +1,18 @@ +# +# Config file for the GR712RC LEON3 SPARC processor. +# + +include $(RTEMS_ROOT)/make/custom/default.cfg + +RTEMS_CPU=sparc +RTEMS_CPU_MODEL=leon3 + +# This contains the compiler options necessary to select the CPU model +# and (hopefully) optimize for it. +CPU_CFLAGS = -mcpu=leon3 -mfix-gr712rc + +# optimize flag: typically -O2 +CFLAGS_OPTIMIZE_V = -O2 -g +CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections + +LDFLAGS = -Wl,--gc-sections diff --git a/c/src/lib/libbsp/sparc/leon3/make/custom/ngmp.cfg b/c/src/lib/libbsp/sparc/leon3/make/custom/gr740.cfg similarity index 100% rename from c/src/lib/libbsp/sparc/leon3/make/custom/ngmp.cfg rename to c/src/lib/libbsp/sparc/leon3/make/custom/gr740.cfg diff --git a/c/src/lib/libbsp/sparc/leon3/make/custom/leon3.cfg b/c/src/lib/libbsp/sparc/leon3/make/custom/leon3.cfg index 34ad967..ef9a868 100644 --- a/c/src/lib/libbsp/sparc/leon3/make/custom/leon3.cfg +++ b/c/src/lib/libbsp/sparc/leon3/make/custom/leon3.cfg @@ -9,7 +9,7 @@ RTEMS_CPU_MODEL=leon3 # This contains the compiler options necessary to select the CPU model # and (hopefully) optimize for it. -CPU_CFLAGS = -mcpu=leon3 -msoft-float +CPU_CFLAGS = -mcpu=leon3 # optimize flag: typically -O2 CFLAGS_OPTIMIZE_V = -O2 -g diff --git a/c/src/lib/libbsp/sparc/leon3/make/custom/ut699.cfg b/c/src/lib/libbsp/sparc/leon3/make/custom/ut699.cfg new file mode 100644 index 000..2150428 --- /dev/null +++ b/c/src/lib/libbsp/sparc/leon3/make/custom/ut699.cfg @@ -0,0 +1,18 @@ +# +# Config file for the UT699 LEON3 SPARC processor. +# + +include $(RTEMS_ROOT)/make/custom/default.cfg + +RTEMS_CPU=sparc +RTEMS_CPU_MODEL=leon3 + +# This contains the compiler options necessary to select the CPU model +# and (hopefully) optimize for it. +CPU_CFLAGS = -mcpu=leon -mfix-ut699 + +# optimize flag: typically -O2 +CFLAGS_OPTIMIZE_V = -O2 -g +CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections + +LDFLAGS = -Wl,--gc-sections diff --git a/c/src/lib/libbsp/sparc/leon3/make/custom/ut700.cfg b/c/src/lib/libbsp/sparc/leon3/make/custom/ut700.cfg new file mode 100644 index 000..9ee473e --- /dev/null +++ b/c/src/lib/libbsp/sparc/leon3/make/custom/ut700.cfg