mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-04-18 22:41:54 +00:00
target/arm: add cortex-m0 CPU model
Define a "cortex-m0" ARMv6-M CPU model. Most of the register reset values set by other CPU models are not relevant for the cut-down ARMv6-M architecture. Backports commit 191776b96a381b5d2b8d3f90c1c02b3e4779e5f7 from qemu
This commit is contained in:
parent
cb11b3a6bd
commit
d2f3a6c0d5
|
@ -1007,6 +1007,15 @@ static void arm11mpcore_initfn(struct uc_struct *uc, Object *obj, void *opaque)
|
|||
cpu->reset_auxcr = 1;
|
||||
}
|
||||
|
||||
static void cortex_m0_initfn(struct uc_struct *uc, Object *obj, void *opaque)
|
||||
{
|
||||
ARMCPU *cpu = ARM_CPU(uc, obj);
|
||||
set_feature(&cpu->env, ARM_FEATURE_V6);
|
||||
set_feature(&cpu->env, ARM_FEATURE_M);
|
||||
|
||||
cpu->midr = 0x410cc200;
|
||||
}
|
||||
|
||||
static void cortex_m3_initfn(struct uc_struct *uc, Object *obj, void *opaque)
|
||||
{
|
||||
ARMCPU *cpu = ARM_CPU(uc, obj);
|
||||
|
@ -1589,6 +1598,7 @@ static const ARMCPUInfo arm_cpus[] = {
|
|||
{ "arm1136", arm1136_initfn },
|
||||
{ "arm1176", arm1176_initfn },
|
||||
{ "arm11mpcore", arm11mpcore_initfn },
|
||||
{ "cortex-m0", cortex_m0_initfn, arm_v7m_class_init },
|
||||
{ "cortex-m3", cortex_m3_initfn, arm_v7m_class_init },
|
||||
{ "cortex-m4", cortex_m4_initfn, arm_v7m_class_init },
|
||||
{ "cortex-m33", cortex_m33_initfn, arm_v7m_class_init },
|
||||
|
|
Loading…
Reference in a new issue