[coreboot] v2[PATCH]RCA RM4100 reboot patch

Joseph Smith joe at settoplinux.org
Thu May 15 08:08:14 CEST 2008




On Wed, 14 May 2008 22:53:42 -0400, Joseph Smith <joe at settoplinux.org>
wrote:
> 
> 
> 
> On Wed, 14 May 2008 22:34:29 -0400, Joseph Smith <joe at settoplinux.org>
> wrote:
>> 
>> 
>> 
>> On Thu, 15 May 2008 03:55:41 +0200, Stefan Reinauer
>> <stepan at coresystems.de>
>> wrote:
>>> Joseph Smith wrote:
>>>> This patch allows the RCA RM4100 to reboot. Upon rebooting in auto.c
> it
>>>> detects if the memory is already initialized, if so it issues a hard
>>> reset
>>>> through the southbridge. It works pretty slick.
>>>>
>>>> Signed-off-by: Joseph Smith <joe at settoplinux.org>
>>>>   
>>> Cool!
>>> 
>>> Have you tried whether it would be sufficient to not initialize memory 
>>> again in this case? I am seeing the same issue on another intel
> chipset,
>> 
>>> but I wonder whether we really have to be so rough ... especially 
>>> thinking about wakeup from sleep states at some point when we have to 
>>> think about when we execute which parts of the code anyways..
>>> 
>>> When I reboot, I usually hang or triple fault at the CPU init while the
> 
>>> device tree is walked.
>>> 
>>> 
>> Well, at first I just tried a cpu reset:
>>     asm volatile ("jmp __cpu_reset");
>> 
>> and that seemed to skip memory initialization, but it hangs on trying to
>> re-initialize devices that are already initialized.
>> 
>> After sudying the ICH4 datasheet it looks like the RST_CNT—Reset
> Control
>> Register (I/O Address: CF9h) does a couple of things, resets cpu and
>> issues
>> a PCIRST# to reset the pci devices.
>> 
>> The only other thing to try is a soft_reset like this, but I din't know
> if
>> it will work:
>> void soft_reset(void)
>> {
>>         outb(0x04, 0xcf9);
>> }
>> 
> I just tried the soft_reset and it does the same thing as  asm volatile
> ("jmp __cpu_reset");
> Just resets the cpu and not the pci devices, so for now the hard_reset is
> the way to go.
> 
So, can I get an ACK?

-- 
Thanks,
Joseph Smith
Set-Top-Linux
www.settoplinux.org





More information about the coreboot mailing list