Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial MIPS CPUs support #1990

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open

Conversation

FlyGoat
Copy link
Contributor

@FlyGoat FlyGoat commented Jun 17, 2024

Hi,

This PR implemented initial support for MIPS based CPUs, it implemented bios_map hook for CPU to deal with problem mentioned in #1903, fixed AHB bus handling then added two CPUs as examples.

Please review.

Thanks

@FlyGoat
Copy link
Contributor Author

FlyGoat commented Jun 17, 2024

For Python CI test I'm not sure what's the best way to provide source to CI action, probably create pythondata package for both?

@cyyself
Copy link

cyyself commented Jun 23, 2024

Thanks for adding this!

FlyGoat added 6 commits June 23, 2024 14:03
For MIPS CPUs, there is a default memory translation (which VA =
PA + offset). BIOS needs to access memory with translated virtual
address.

Add bios_map hook and generated various address macros with _VA
suffix to allow BIOS to use virtual addresses. It is defaulted
to 1:1 mapping so it won't affect other CPUs.

Signed-off-by: Jiaxun Yang <[email protected]>
Use addresses with _VA suffix for memory and registers
accress.

Signed-off-by: Jiaxun Yang <[email protected]>
MIPS toolchains are always capable for compiling to both
endian and bitness targets, so define a single CPU_GCC_TRIPLE_MIPS
to cover them all.

Signed-off-by: Jiaxun Yang <[email protected]>
CQU Dual Issue Machine, Dual issue 5-stage pipeline MIPS32 CPU
capable for running Linux.

https://github.com/Maxpicca-Li/CDIM

Signed-off-by: Jiaxun Yang <[email protected]>
Loongson GS232 Dual issue pipeline MIPS32 CPU capable
for running Linux.

Opensourced by Loongson under 2-Clause BSD License (as
shown in verilog source).

Signed-off-by: Jiaxun Yang <[email protected]>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this pull request Jul 6, 2024
The LiteX framework provides a convenient and efficient infrastructure
to create FPGA Cores/SoCs.

We have implemented LiteX support for a couple of opensource MIPS
CPU cores including microAptiv UP from MIPS, GS232 from Loongson,
and CDIM from CQU.

For this platform, devicetree is generated by litex python scripts
so there is no devicetree addition necessary.

Link: enjoy-digital/litex#1990
Signed-off-by: Jiaxun Yang <[email protected]>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this pull request Jul 14, 2024
The LiteX framework provides a convenient and efficient infrastructure
to create FPGA Cores/SoCs.

We have implemented LiteX support for a couple of opensource MIPS
CPU cores including microAptiv UP from MIPS, GS232 from Loongson,
and CDIM from CQU.

For this platform, devicetree is generated by litex python scripts
so there is no devicetree addition necessary.

Link: enjoy-digital/litex#1990
Signed-off-by: Jiaxun Yang <[email protected]>
staging-kernelci-org pushed a commit to kernelci/linux that referenced this pull request Jul 16, 2024
The LiteX framework provides a convenient and efficient infrastructure
to create FPGA Cores/SoCs.

We have implemented LiteX support for a couple of opensource MIPS
CPU cores including microAptiv UP from MIPS, GS232 from Loongson,
and CDIM from CQU.

For this platform, devicetree is generated by litex python scripts
so there is no devicetree addition necessary.

Link: enjoy-digital/litex#1990
Signed-off-by: Jiaxun Yang <[email protected]>
Signed-off-by: Thomas Bogendoerfer <[email protected]>
@FlyGoat
Copy link
Contributor Author

FlyGoat commented Aug 12, 2024

@enjoy-digital Any comments?

@enjoy-digital
Copy link
Owner

@FlyGoat: Sorry, I've been very busy recently. I'll have a closer look in late August/early September.

@Ruinland
Copy link

Hi @FlyGoat ,

Sorry for running into your issue thread all of a sudden.
I just happen to see the Linux defconfig being merged in the upstream and thus follow the bread crumbs leading me here.

I am wondering if the CDIM (and other MIPS CPUS lised here) are landing to LiteX-hubs ?
(In the form of pythondata-cpu-* )

If not, would you be so kind to provide some info so bystanders folks like me could lay hands on them ?

Cordially yours,
Ruinland

@FlyGoat
Copy link
Contributor Author

FlyGoat commented Nov 20, 2024

Hi @Ruinland,

I think it's pending on this PR?
Most CPU listed here do have a permissive license, so there is no problem to redistribute in litex-hub.

Thanks!

@FlyGoat
Copy link
Contributor Author

FlyGoat commented Dec 16, 2024

Hi @enjoy-digital apologies for chasing on this, another gentle ping :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants