[LinuxBIOS] Need help on epia vt8601 issues

Richard Smith smithbone at gmail.com
Wed Sep 6 21:13:36 CEST 2006

>  I have been going over the vt8601 code, although only the stuff in
> raminit.c as I assume that is probably where the problem lies.
>  I did pull off rev 1179 (not 100% sure) managed to build it ok, but when I
> booted it, it was coming up with smbus errors.
>  Then tries version 1159, this wouldn't build, there were files missing.

Yea!  A hacker who has the hardware.

>  I have found a slight problem, maybe stack related ( what does linuxbios do
> for a stack before ram is initialised ? )

Just like the matrix..  There is no stack. oh wait, that was spoon. sorry.

Seriously.  Thats waht romcc does.  It compiles code that runs only
with CPU registers. No stack. No RAM of any kind.

>  At this point register 0x64 has 0xec in it, which it shouldn't. The extra
> bit(b3) is not used and should be 0. Now no where in the code is this set so
> whats happening ?

Thats actually a good sign. Perhaps you are finding some of the problems.

>  I put a print at the end of the sdram_set_registers() function and it is
> wrong there also. However putting in that extra print hangs the code. So I
> am thinking maybe its a stack issue.

print_* uses a lot of resources.  You may be running out of registers
or the romcc maybe corrupting the register that has the return

Try to be much simpler about things.  Like hook up a serial terminal
that can display hex values and just out() the value directly.

romcc does amazing things but its still pretty easy to trip it up.

>  Have been through the vt8601 datasheet quite a few times now, must be one
> of the worst I have seen, anyway does anyone have any idea what the "DRAM
> Controller Command Register Output" bit  is used for ?

Ron said that the datasheet is also incorrect in some places.  If you
do it like the data sheet says then it doesn't work.  Thats why we
need to find a working version so we can figure what the magic
incantation is.

>  Also are the any utilities to dump the northbridge register contents on a
> running system ?

'lspci -s 0:0.0 -xxx' will dump the entire northbridge pci space.  man
lspci for more details.

>  What sort of tools are we talking about to compile the earlier stuff ?

Older toolchains.  gcc-2.95, gcc-3.x, and the various binutils that
came with them.  Basically grabbing some older distributions and using
their toolchain.

Newer toolchains have issues with older romcc.  Newer romcc's have
issues with the constructs in older revs.

Richard A. Smith

More information about the coreboot mailing list