switch-coreboot/arch/x86/via
Carl-Daniel Hailfinger 4213668ab5 Once we touch the MTRRs in VIA disable_car(), the CPU resets. Since
workarounds are better than instant reboots, mangle the code so that it
only switches stacks and flushes the cache.

There are two genuine fix in there as well:
We have to switch %esp before CAR is disabled. That way, the stack is
always valid.
And one of the nastier bugs easily happening in C: We had a pointer to a
const struct, but we wanted a const pointer to a struct. This kills the
(correct) warning about that code.

Many thanks to Corey for testing countless iterations of that code.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Tested and
Acked-by: Corey Osgood <corey.osgood@gmail.com>


git-svn-id: svn://coreboot.org/repository/coreboot-v3@978 f3766cd6-281f-0410-b1cd-43a5c92072e9
2008-11-02 14:47:21 +00:00
..
stage0.S Right now we face the problem that we can't support processors which 2008-10-16 03:00:28 +00:00
stage1.c Once we touch the MTRRs in VIA disable_car(), the CPU resets. Since 2008-11-02 14:47:21 +00:00