Hi, The attached patch adds support for the bfin bf592 part.
* doc/invoke.texi (Blackfin Options): -mcpu accepts bf592. * config/bfin/t-bfin-elf (MULTILIB_MATCHES): Select bf532-none for bf592-none. * config/bfin/t-bfin-linux (MULTILIB_MATCHES): Likewise. * config/bfin/t-bfin-uclinux (MULTILIB_MATCHES): Likewise. * config/bfin/bfin.c (bfin_cpus): Add bf592. * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __ADSPBF592__ and __ADSPBF59x__ for BFIN_CPU_BF592. * config/bfin/bfin-opts.h (bfin_cpu_type): Add BFIN_CPU_BF592. * config/bfin/elf.h (LIB_SPEC): Add bf592. Ok to add to trunk? thanks, Stu Index: gcc/doc/invoke.texi =================================================================== --- gcc/doc/invoke.texi (revision 173825) +++ gcc/doc/invoke.texi (working copy) @@ -10414,7 +10414,7 @@ @samp{bf534}, @samp{bf536}, @samp{bf537}, @samp{bf538}, @samp{bf539}, @samp{bf542}, @samp{bf544}, @samp{bf547}, @samp{bf548}, @samp{bf549}, @samp{bf542m}, @samp{bf544m}, @samp{bf547m}, @samp{bf548m}, @samp{bf549m}, -@samp{bf561}. +@samp{bf561}, @samp{bf592}. The optional @var{sirevision} specifies the silicon revision of the target Blackfin processor. Any workarounds available for the targeted silicon revision will be enabled. If @var{sirevision} is @samp{none}, no workarounds are enabled. Index: gcc/config/bfin/t-bfin-elf =================================================================== --- gcc/config/bfin/t-bfin-elf (revision 173825) +++ gcc/config/bfin/t-bfin-elf (working copy) @@ -58,6 +58,7 @@ MULTILIB_MATCHES+=mcpu?bf532-none=mcpu?bf549-none MULTILIB_MATCHES+=mcpu?bf532-none=mcpu?bf549m-none MULTILIB_MATCHES+=mcpu?bf532-none=mcpu?bf561-none +MULTILIB_MATCHES+=mcpu?bf532-none=mcpu?bf592-none MULTILIB_EXCEPTIONS=mleaf-id-shared-library* MULTILIB_EXCEPTIONS+=mcpu=bf532-none/mleaf-id-shared-library* Index: gcc/config/bfin/bfin-opts.h =================================================================== --- gcc/config/bfin/bfin-opts.h (revision 173825) +++ gcc/config/bfin/bfin-opts.h (working copy) @@ -53,7 +53,8 @@ BFIN_CPU_BF548M, BFIN_CPU_BF549, BFIN_CPU_BF549M, - BFIN_CPU_BF561 + BFIN_CPU_BF561, + BFIN_CPU_BF592 } bfin_cpu_t; #endif Index: gcc/config/bfin/elf.h =================================================================== --- gcc/config/bfin/elf.h (revision 173825) +++ gcc/config/bfin/elf.h (working copy) @@ -51,6 +51,7 @@ %{mmulticore:%{mcorea:-T bf561a.ld%s}} \ %{mmulticore:%{mcoreb:-T bf561b.ld%s}} \ %{mmulticore:%{!mcorea:%{!mcoreb:-T bf561m.ld%s}}}} \ + %{mcpu=bf592*:-T bf592.ld%s} \ %{!mcpu=*:%eno processor type specified for linking} \ %{!mcpu=bf561*:-T bfin-common-sc.ld%s} \ %{mcpu=bf561*:%{!mmulticore:-T bfin-common-sc.ld%s} \ Index: gcc/config/bfin/bfin.c =================================================================== --- gcc/config/bfin/bfin.c (revision 173825) +++ gcc/config/bfin/bfin.c (working copy) @@ -350,6 +350,11 @@ | WA_05000283 | WA_05000257 | WA_05000315 | WA_LOAD_LCREGS | WA_05000074}, + {"bf592", BFIN_CPU_BF592, 0x0001, + WA_SPECULATIVE_LOADS | WA_05000074}, + {"bf592", BFIN_CPU_BF592, 0x0000, + WA_SPECULATIVE_LOADS | WA_05000074}, + {NULL, BFIN_CPU_UNKNOWN, 0, 0} }; Index: gcc/config/bfin/bfin.h =================================================================== --- gcc/config/bfin/bfin.h (revision 173825) +++ gcc/config/bfin/bfin.h (working copy) @@ -140,6 +140,10 @@ case BFIN_CPU_BF561: \ builtin_define ("__ADSPBF561__"); \ break; \ + case BFIN_CPU_BF592: \ + builtin_define ("__ADSPBF592__"); \ + builtin_define ("__ADSPBF59x__"); \ + break; \ } \ \ if (bfin_si_revision != -1) \ Index: gcc/config/bfin/t-bfin-uclinux =================================================================== --- gcc/config/bfin/t-bfin-uclinux (revision 173825) +++ gcc/config/bfin/t-bfin-uclinux (working copy) @@ -58,6 +58,7 @@ MULTILIB_MATCHES+=mcpu?bf532-none=mcpu?bf549-none MULTILIB_MATCHES+=mcpu?bf532-none=mcpu?bf549m-none MULTILIB_MATCHES+=mcpu?bf532-none=mcpu?bf561-none +MULTILIB_MATCHES+=mcpu?bf532-none=mcpu?bf592-none MULTILIB_EXCEPTIONS=mleaf-id-shared-library* MULTILIB_EXCEPTIONS+=mcpu=bf532-none/mleaf-id-shared-library* Index: gcc/config/bfin/t-bfin-linux =================================================================== --- gcc/config/bfin/t-bfin-linux (revision 173825) +++ gcc/config/bfin/t-bfin-linux (working copy) @@ -57,6 +57,7 @@ MULTILIB_MATCHES+=mcpu?bf532-none=mcpu?bf549-none MULTILIB_MATCHES+=mcpu?bf532-none=mcpu?bf549m-none MULTILIB_MATCHES+=mcpu?bf532-none=mcpu?bf561-none +MULTILIB_MATCHES+=mcpu?bf532-none=mcpu?bf592-none SHLIB_MAPFILES=$(srcdir)/config/bfin/libgcc-bfin.ver