qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC v1 4/6] target_arm: Update armv7_init to support m


From: Alistair Francis
Subject: Re: [Qemu-devel] [RFC v1 4/6] target_arm: Update armv7_init to support more parameters
Date: Wed, 10 Sep 2014 23:53:22 +1000

On Wed, Sep 10, 2014 at 10:32 PM, Martin Galvan
<address@hidden> wrote:
> On Tue, Sep 9, 2014 at 8:43 PM, Alistair Francis <address@hidden> wrote:
>> On Wed, Sep 10, 2014 at 12:03 AM, Martin Galvan
>> <address@hidden> wrote:
>>>>> @@ -259,7 +272,13 @@ qemu_irq *armv7m_init(MemoryRegion *system_memory,
>>>>>      vmstate_register_ram_global(hack);
>>>>>      memory_region_add_subregion(system_memory, 0xfffff000, hack);
>>>>>
>>>>> -    qemu_register_reset(armv7m_reset, cpu);
>>>>> +    reset_args = (ARMV7MResetArgs) {
>>>>> +        .cpu = cpu,
>>>>> +        .reset_pc = entry,
>>>>> +        .reset_sp = (0x20000000 + ((192 * 1024) * 2)/3),
>>>>
>>>> Why is the manual sp setting needed? I thought the V7M specific CPU
>>>> reset code handled this? Does Martins ARMv7M ROM reset patch help by
>>>> any chance?
>>>>
>>>> Regards,
>>>> Peter
>>>
>>> Indeed, I don't think that would be necessary with my patch. What are
>>> those hardcoded magic numbers?
>>
>> The hard coded numbers are there basically there because they worked at
>> one point and I haven't removed them yet. There is also no memory aliasing,
>> so this gets around out of memory access errors from QEMU.
>>
>> I haven't had to chance to try your patch yet Martin, but hopefully it 
>> removes
>> the need for any of the reset changes I made.
>
> My patch deals with the initial MSP, PC and Thumb values not being set
> correctly on reset. I don't know if it's in the main tree yet, but you
> can see it here:
>
> https://patchwork.ozlabs.org/patch/386497/

Thanks for that. It doesn't seem to completely fix my problem though.
I will continue to look into it tomorrow but it looks like rom_ptr() is
returning NULL and then the PC address is set to 0 instead
of 0x801328d (which is the ELF entry point). I can remove the hard
coded values from this patch though, thanks to your patch.

Thanks,

Alistair

>
> --
>
> Martín Galván
>
> Software Engineer
>
> Taller Technologies Argentina
>
>
> San Lorenzo 47, 3rd Floor, Office 5
>
> Córdoba, Argentina
>
> Phone: 54 351 4217888 / +54 351 4218211



reply via email to

[Prev in Thread] Current Thread [Next in Thread]