MIPS architecture support


Alex Nemirovsky
 

Hello,

I’m new here, so please be gentle. ;-)

I’d like to contribute my private MIPS architecture support upstream.

However, before I begin the process, I’ll like to know if anyone else is working on this as well so that we could coordinate our efforts.

Thank you
-Alex


Kumar Gala
 

On Oct 11, 2018, at 8:14 PM, Alex Nemirovsky <alex.nemirovsky@gmail.com> wrote:

Hello,

I’m new here, so please be gentle. ;-)

I’d like to contribute my private MIPS architecture support upstream.
Is this for a customer SoC or some generally available MIPS SoC?

However, before I begin the process, I’ll like to know if anyone else is working on this as well so that we could coordinate our efforts.
There was some MIPS support contributed but never finished off. Here’s a link to the GitHub PR:

https://github.com/zephyrproject-rtos/zephyr/pull/1576

Its pretty stale at this point, but gives you a starting point.

For testing purposes, we really need at least a port to an SoC/board that is generally available and probably has support in qemu. The Zephyr SDK has a mips toolchain for mips32r2-zephyr-elf. Also, would you be able to act as a maintainer for the port?

- k


Alex Nemirovsky
 

Hi Kumar,

Its been a long time.
On Oct 11, 2018, at 8:04 PM, Kumar Gala <kumar.gala@linaro.org> wrote:


On Oct 11, 2018, at 8:14 PM, Alex Nemirovsky <alex.nemirovsky@gmail.com> wrote:

Hello,

I’m new here, so please be gentle. ;-)

I’d like to contribute my private MIPS architecture support upstream.
Is this for a customer SoC or some generally available MIPS SoC?
The company that I currently work for makes SoCs. However, they are not ready to
release the SoC specific code upstream.

For now, they would like to support a generic QEMU-MIPS board based on standard MIPS R3k architecture (ISA I, II) with generic QEMU drivers (i.e. serial port)
However, before I begin the process, I’ll like to know if anyone else is working on this as well so that we could coordinate our efforts.
There was some MIPS support contributed but never finished off. Here’s a link to the GitHub PR:

https://github.com/zephyrproject-rtos/zephyr/pull/1576

Its pretty stale at this point, but gives you a starting point.
I’m been maintaining MIPS support here since Zephyr 1.7. I’ll look over the code to see if there is anything we should reuse.
btw, Most of our support is similar to the Zephyr RISCV implementation from an architecture point of view. i.e. swap() function using syscall exception.

For testing purposes, we really need at least a port to an SoC/board that is generally available and probably has support in qemu.
The Zephyr SDK has a mips toolchain for mips32r2-zephyr-elf.

Also, would you be able to act as a maintainer for the port?
I have a private Zephyr SDK 0.9.3 built for our MIPS SoC with some custom instructions. However, for upstream
management would just like to support stock MIPS ISA I, II, etc without adding our custom instructions to the toolchain.
Other stock ISA like MIPS32, MIPS64 is fine also.

I could act as a maintainer for the MIPS architecture, if you like.

What do you think about the generic MIPS support using QEMU for now instead of physical HW?

- k


Benjamin Lindqvist
 

I would do heinous things for a AR9331 port...
Den fre 12 okt. 2018 kl 05:30 skrev Alex Nemirovsky <alex.nemirovsky@gmail.com>:


Hi Kumar,

Its been a long time.
On Oct 11, 2018, at 8:04 PM, Kumar Gala <kumar.gala@linaro.org> wrote:


On Oct 11, 2018, at 8:14 PM, Alex Nemirovsky <alex.nemirovsky@gmail.com> wrote:

Hello,

I’m new here, so please be gentle. ;-)

I’d like to contribute my private MIPS architecture support upstream.
Is this for a customer SoC or some generally available MIPS SoC?
The company that I currently work for makes SoCs. However, they are not ready to
release the SoC specific code upstream.

For now, they would like to support a generic QEMU-MIPS board based on standard MIPS R3k architecture (ISA I, II) with generic QEMU drivers (i.e. serial port)
However, before I begin the process, I’ll like to know if anyone else is working on this as well so that we could coordinate our efforts.
There was some MIPS support contributed but never finished off. Here’s a link to the GitHub PR:

https://github.com/zephyrproject-rtos/zephyr/pull/1576

Its pretty stale at this point, but gives you a starting point.
I’m been maintaining MIPS support here since Zephyr 1.7. I’ll look over the code to see if there is anything we should reuse.
btw, Most of our support is similar to the Zephyr RISCV implementation from an architecture point of view. i.e. swap() function using syscall exception.

For testing purposes, we really need at least a port to an SoC/board that is generally available and probably has support in qemu.
The Zephyr SDK has a mips toolchain for mips32r2-zephyr-elf.

Also, would you be able to act as a maintainer for the port?
I have a private Zephyr SDK 0.9.3 built for our MIPS SoC with some custom instructions. However, for upstream
management would just like to support stock MIPS ISA I, II, etc without adding our custom instructions to the toolchain.
Other stock ISA like MIPS32, MIPS64 is fine also.

I could act as a maintainer for the MIPS architecture, if you like.

What do you think about the generic MIPS support using QEMU for now instead of physical HW?

- k



Kumar Gala
 

On Oct 11, 2018, at 10:30 PM, Alex Nemirovsky <alex.nemirovsky@gmail.com> wrote:

Hi Kumar,

Its been a long time.
On Oct 11, 2018, at 8:04 PM, Kumar Gala <kumar.gala@linaro.org> wrote:


On Oct 11, 2018, at 8:14 PM, Alex Nemirovsky <alex.nemirovsky@gmail.com> wrote:

Hello,

I’m new here, so please be gentle. ;-)

I’d like to contribute my private MIPS architecture support upstream.
Is this for a customer SoC or some generally available MIPS SoC?
The company that I currently work for makes SoCs. However, they are not ready to
release the SoC specific code upstream.

For now, they would like to support a generic QEMU-MIPS board based on standard MIPS R3k architecture (ISA I, II) with generic QEMU drivers (i.e. serial port)
However, before I begin the process, I’ll like to know if anyone else is working on this as well so that we could coordinate our efforts.
There was some MIPS support contributed but never finished off. Here’s a link to the GitHub PR:

https://github.com/zephyrproject-rtos/zephyr/pull/1576

Its pretty stale at this point, but gives you a starting point.
I’m been maintaining MIPS support here since Zephyr 1.7. I’ll look over the code to see if there is anything we should reuse.
btw, Most of our support is similar to the Zephyr RISCV implementation from an architecture point of view. i.e. swap() function using syscall exception.

For testing purposes, we really need at least a port to an SoC/board that is generally available and probably has support in qemu.
The Zephyr SDK has a mips toolchain for mips32r2-zephyr-elf.

Also, would you be able to act as a maintainer for the port?
I have a private Zephyr SDK 0.9.3 built for our MIPS SoC with some custom instructions. However, for upstream
management would just like to support stock MIPS ISA I, II, etc without adding our custom instructions to the toolchain.
Other stock ISA like MIPS32, MIPS64 is fine also.

I could act as a maintainer for the MIPS architecture, if you like.

What do you think about the generic MIPS support using QEMU for now instead of physical HW?
That sounds perfect, its actually ideal to have the first targeted SoC/Board be something supported in Qemu. I’m not familiar enough with the differences between ISA I/II. What QEMU MIPS board do you think you’d select?

- k