-
Notifications
You must be signed in to change notification settings - Fork 584
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
base: master
Are you sure you want to change the base?
Conversation
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? |
Thanks for adding this! |
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]>
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]>
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]>
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]>
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]>
@enjoy-digital Any comments? |
@FlyGoat: Sorry, I've been very busy recently. I'll have a closer look in late August/early September. |
Hi @FlyGoat , Sorry for running into your issue thread all of a sudden. I am wondering if the CDIM (and other MIPS CPUS lised here) are landing to LiteX-hubs ? If not, would you be so kind to provide some info so bystanders folks like me could lay hands on them ? Cordially yours, |
Hi @Ruinland, I think it's pending on this PR? Thanks! |
Hi @enjoy-digital apologies for chasing on this, another gentle ping :-) |
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