cpu/mor1kx: Add initial SMP support to cpu core

In order for mor1kx to run an SMP kernel shadow registers must be
enabled.  This patch adds two new variants:

 - linux+smp - basic linux + smp support
 - linux+smp+fpu - linux with FPU and smp support
This commit is contained in:
Stafford Horne 2021-02-09 07:06:07 +09:00
parent 5430c1455e
commit 2f2b047f2e
1 changed files with 7 additions and 1 deletions

View File

@ -15,7 +15,8 @@ from litex import get_data_mod
from litex.soc.interconnect import wishbone from litex.soc.interconnect import wishbone
from litex.soc.cores.cpu import CPU from litex.soc.cores.cpu import CPU
CPU_VARIANTS = ["standard", "standard+fpu", "linux", "linux+fpu"] CPU_VARIANTS = ["standard", "standard+fpu", "linux", "linux+fpu",
"linux+smp", "linux+smp+fpu"]
class MOR1KX(CPU): class MOR1KX(CPU):
@ -113,6 +114,11 @@ class MOR1KX(CPU):
p_DBUS_WB_TYPE = "B3_REGISTERED_FEEDBACK", p_DBUS_WB_TYPE = "B3_REGISTERED_FEEDBACK",
) )
if "smp" in variant:
cpu_args.update(
p_OPTION_RF_NUM_SHADOW_GPR = 1,
)
if "fpu" in variant: if "fpu" in variant:
cpu_args.update( cpu_args.update(
p_FEATURE_FPU = "ENABLED", p_FEATURE_FPU = "ENABLED",