[U-Boot] [Patch V3 1/4] [MIPS] Add support for MIPS64 cpus

Daniel Schwierzeck daniel.schwierzeck at gmail.com
Sun Aug 26 16:23:33 CEST 2012


2012/8/26 Zhi-zhou Zhang <etou.zh at gmail.com>:
>>
>> with current master branch in git://git.denx.de/u-boot-mips.git you can
>> drop the
>> endianess flags which are now handled in arch/mips/config.mk
>>
> Ok, I have done what you ask for. But I didn't find where does
> CONFIG_SYS_LITTLE_ENDIAN or CONFIG_SYS_BIG_ENDIAN define.
> Could you tell where should I put them?
> It seem that putting it in qemu-mips64.h doesn't affect building flags.

have a look at commit
http://git.denx.de/?p=u-boot/u-boot-mips.git;a=commitdiff;h=748fd4a621a870d378e4e4f54df76a38fd5d3cba

CONFIG_SYS_LITTLE_ENDIAN or CONFIG_SYS_BIG_ENDIAN could be set in the
board config header file
or in boards.cfg. Usually the header file should be preferred. But for
qemu we want to use the same header file
for both endianess types. Thus we can use the possibilty to put config
options in boards.cfg like I did in my commit.

Adding these lines to boards.cfg should work:

qemu_mips64                    mips        mips64      qemu-mips
    -              -           qemu-mips64:SYS_BIG_ENDIAN
qemu_mips64el                  mips        mips64      qemu-mips
    -              -           qemu-mips64:SYS_LITTLE_ENDIAN

>>
>>
>> currently we cannot use interrupts or setup any interrupt handlers in
>> u-boot-mips.
>> Please leave those functions empty.
>>
>
>>
>> calling a C function is not supposed to work here because no stack
>>
>> pointer has been setup yet.
>> I checked with Sourcery 2011.09 and 2012.03. The stack is always
>> utilized in cache_probe.
>> Either you rewrite the cache_probe function in assembler or you use
>> the existing config options
>> and you could drop the cache probing.
>>
> I'm afraid I don't say clearly just now. I mean could I call cache_probe in
> checkboard()?

no that is too late. The functions called by mips_cache_reset need to
know the cache sizes.
Currently we are configuring that with the options
CONFIG_SYS_DCACHE_SIZE, CONFIG_SYS_ICACHE_SIZE and
CONFIG_SYS_CACHELINE_SIZE. I suggest you do the same for MIPS64.

We can add a runtime cache probing later. But this has to be done in
assembler code. I already have this on my todo list.

-- 
Best regards,
Daniel


More information about the U-Boot mailing list