Re: [PATCH 03/23] sim/erc32: Perform pseudo-init of system if binary starts from non-zero address.

Jiri Gaisler
2015-02-18T14:40:40Z

[-- Attachment #1: Type: text/plain, Size: 1158 bytes --]

On 02/17/2015 09:59 AM, Mike Frysinger wrote:
> On 17 Feb 2015 08:44, Jiri Gaisler wrote:
>> +extern struct pstate sregs;
>> +
>> +void
>> +boot_init ()
>
> in C, you need to do (void) to avoid ugliness.

Will fix.

>
> also looks like this is missing an update to a header to add the prototype ?

This is done in patch (17/23).

>
>> +{
>> + mec_write(MEC_WCR, 0); /* zero waitstates */
>> + mec_write(MEC_TRAPD, 0); /* turn off watch-dog */
>> + mec_write(MEC_RTC_SCALER, sregs.freq-1); /* generate 1 MHz RTC tick */
>> + mec_write(MEC_MEMCFG, (3 << 18) | (4 << 10)); /* 1 MB ROM, 4 MB RAM */
>> + sregs.wim = 2;
>> + sregs.psr = 0x110010e0;
>> + sregs.r[30] = RAM_END;
>> + sregs.r[14] = sregs.r[30] - 96*4;
>> + mec_mcr |= 1; /* power-down enabled */
>> +}
>
> why isn't sregs passed in as an arg ? looks like both callers have a pointer to
> it already.

I am saving this for next major update - SMP support. All globals will then
be removed and the full cpu state will be in a struct that is passed to the
simulation engine. In this way I can simulate multiple cpu's.

Jiri.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 884 bytes --]