https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118280

--- Comment #34 from Álvaro Gámez Machado <alvaro.gamez at hazent dot com> ---
(In reply to Neal Frager from comment #33)
> Hi Alvaro,
> 
> Just to clarify, you are right that our long term solution is to move to
> Microblaze-V (RISC-V). While we had good reasons for developing Microblaze,
> we believe open cores are the better solution moving forward. The idea of
> Microblaze-V is that we keep all the IPs, interrupt controller solution and
> peripherals, such that you can literally migrate from Microblaze to
> Microblaze-V by only changing the toolchain from microblaze to risc-v.
> Peripherals and register addressing will remain the same.

I've considered migrating to some of the RISC-V open cores out there, but right
now it's not worth it to me due to all the impedance mismatch between those
cores frameworks (spinalhdl anyone?) and the standard Vivado workflow (either
via GUI or batch mode); not to speak of the issue of connecting wishbone cores
to AXI ones, etc. So definitely, as long as Microblaze exists in some form that
allows ease of use, in our particular case, we'll be priming that above
performance and other metrics of the core.

Although, given the pricing of the smaller Zynq SoCs, in future designs we may
be going for a small Zynq-7000 instead of an Artix, which would completely all
the soft core issues.

> We are not far from enabling Linux on our Microblaze-V core, and you can
> expect to see this in our 2026.x releases.

That's great news, thank you!

> In spite of all this, we are keeping Microblaze going for companies such as
> yours, so you have time to make the transition to Microblaze-V.  You can
> expect that the GCC toolchain will still get fixed should new bugs be found,
> but we will not be doing any new active development for the Microblaze.

Thanks!

> If you apply the following two patches to GCC-15, you can use the latest GCC
> v15.2.0 to build Linux running on the Microblaze, so you can indeed update
> to the latest toolchain version.  The first of these two patches has already
> been committed upstream.  The second is a work around solution with
> development in progress.
> 
> https://github.com/buildroot/buildroot/blob/master/package/gcc/15.2.0/0002-
> MicroBlaze-Enhance-support-for-atomics.-Fix-PR118280.patch
> 
> https://github.com/buildroot/buildroot/blob/master/package/gcc/15.2.0/0003-
> gcc-config-microblaze-fix-ira-for-GCC15.patch

These two patches were already included in buildroot, so I didn't need to
include them myself, but they are not enough. Please, check out
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103383 I needed that patch also to
solve an issue related to swap endianness, frequently used in network related
code.

Thanks again!

Best regards

Reply via email to