On Tue, Sep 15, 2009 at 08:11:19PM +0300, Vasily Khoruzhick wrote:
> I was able to boot linux on my rx1950 with recent haret (and modified 
> PHYSOFFSET_KERNEL, as I need it to get resume working).
> 
> The problem was in uninitialized uart. Kernel hangs if it uses ttySAC0 for 
> console, but ttySAC0 was not initialized. AFAIK this bug in kernel was 
> already 
> fixed (in 2.6.30 or 31, not sure). As a workaround I've added uart 
> initialization to bootLinux function.
> 
> There're two patches in attachment, first one adds proper RX1950 detection to 
> haret, second one is workaround I've used. Please consider applying of first 
> one.

Thanks - I committed the first patch.

>  
>  // Recommended tags placement = RAM start + 256
> -#define PHYSOFFSET_TAGS   0x100
> +#define PHYSOFFSET_TAGS   0x90100

Ideally these parameters would get moved to runtime variables that
default to their current values.  That way, one could change the
locations by just setting some variables in their haret bootup script.

>  static void
>  bootLinux(const char *cmd, const char *args)
>  {
> +     char w[64];
> +    if (com_port_open())
> +    {
> +        sprintf (w, "\n\rbootLinux() Machine:%x", bootMachineType);
> +        com_port_write (w, strlen (w));
> +    }
>      int bootViaResume = toupper(cmd[0]) == 'R';

That's a nasty kernel bug (that has been biting us for years).  I
don't see any portable way to fix this other than by hounding the
kernel developers.

-Kevin
_______________________________________________
Haret mailing list
Haret@handhelds.org
https://handhelds.org/mailman/listinfo/haret

Reply via email to