[coreboot] [PATCH] VIA C7 CAR fixes / cleanup

Kevin O'Connor kevin at koconnor.net
Mon Apr 12 06:41:22 CEST 2010


On Sun, Apr 11, 2010 at 11:22:14PM -0400, Kevin O'Connor wrote:
> Old code timing (r5005 with caching hacks):
> 
> 00.000: <00>
> 00.006: <00>
> 00.343: 
> 00.343: 
> 00.343: coreboot-2.3" Fri Jan  8 20:36:20 EST 2010 starting...
> 00.344: *pre enable_smbus()
> 00.402: *post enable_smbus()
> 00.406: *pre ddr_ram_setup()
> 00.422: *post ddr_ram_setup()
> 00.424: Stage: loading fallback/coreboot_ram @ 0x4000 (163840 bytes), entry @ 0x4000
> 00.450: coreboot-2.3 Fri Apr  2 11:56:00 EDT 2010 booting...
> 
> New code timing (r5408):
> 
> 00.000: <00>
> 00.446: 0
> 00.448: 
> 00.448: coreboot-4.0-r5408M Sun Apr 11 22:51:47 EDT 2010 starting...
> 00.448: *pre enable_smbus()
> 00.448: *post enable_smbus()
> 00.452: *pre ddr_ram_setup()
> 00.464: *post ddr_ram_setup()
> 00.465: Stage: loading fallback/coreboot_ram @ 0x4000 (163840 bytes), entry @ 0x4000
> 01.421: coreboot-4.0-r5408M Sun Apr 11 22:51:47 EDT 2010 booting...
[...]
> The extra time to get to the "coreboot-..." banner is a bit puzzling
> though.  The timings are reproducible, so it's not a fluke.  I'll have
> to investigate further.

The extra time to get to the "coreboot-..." banner is due to the "rep
lodsl" insns that populate the cache in
src/cpu/via/car/cache_as_ram.inc.  I don't think the second "rep
lodsl" (that prefetches the rom) is needed - commenting it out gives
better timings:

00.000: <00>
00.005: <00>
00.388: 0
00.389: 
00.389: coreboot-4.0-r5408M Mon Apr 12 00:19:03 EDT 2010 starting...
00.390: *pre enable_smbus()
00.398: *post enable_smbus()
00.398: *pre ddr_ram_setup()
00.412: *post ddr_ram_setup()
00.415: Stage: loading fallback/coreboot_ram @ 0x4000 (163840 bytes), entry @ 0x4000
01.369: coreboot-4.0-r5408M Mon Apr 12 00:19:03 EDT 2010 booting...

Indeed, the time to "Stage:..." is faster than romcc now.  Just need
to fix that delay after "Stage:"..

-Kevin




More information about the coreboot mailing list