[coreboot] [PATCH] make AMD CAR disable a C function

Rudolf Marek r.marek at assembler.cz
Mon May 17 00:10:50 CEST 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

> What's not clear to me is how to handle S3 resume.  I would think we'd
> want an ability to disable CAR and place the new stack somewhere other
> than CONFIG_RAMTOP.

Well check my patch
http://patchwork.coreboot.org/patch/1266/

I just backup the memory right before I place there the stack, because not
only stack is used, some sysinfo datastructures needs to be copied of
CAR too.

> I'm still a bit confused on what the code flow is today during an S3
> resume.  (Is it, tinybootblock->romstage->ramstage->restorememory->OS?)

Yes, but remember AMD is now broken for some months, the patch above tries to
fix it.

What is done in post_cache_as_ram just before the disable of car:

1) find if resume
2) if so find the backup memory
3) backup the memory bellow ramtop where CAR copy will be placed.
4) copy CAR to memory as usual
5) disable CAR
6) backup the rest of ram (RAMBASE-RAMTOP without the already copied area)
7) do normal boot
8) then right in the place where the ACPI is being written if resume
   find the OS waking vector, if ok, restore backup and jump to OS.

Note we still dont chain to Seabios which is  nice to have because we need to
run the post VGA too ;)

Rudolf

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkvwbWoACgkQ3J9wPJqZRNUbMgCdH9LJSP2MxzQkF/I3qR+q3Lim
/bYAnA4DqlSx+j55a56PFwoxxdrpQq/g
=w1bG
-----END PGP SIGNATURE-----




More information about the coreboot mailing list