On Tuesday 08 September 2009 16:33:24 you wrote:
> On Mon, Sep 07, 2009 at 06:22:59PM +0300, Vasily Khoruzhick wrote:
> > If anyone is still interested, here's haret sources that works with
> > rx1950 (and probably with rx3000), rx1950 suspend related patches are not
> > applied:
> >
> > http://fenix-fen.at.tut.by/haret-s3c2442.tar.bz2
>
> As far as I know, everything in that version is also in the mainline
> version.  I've booted the kernel on htc hermes with the 0.5 haret
> without issue.
>
> There was a report of needing to change the setting PHYSOFFSET_KERNEL
> to:
>
> #define PHYSOFFSET_KERNEL 0x98000
>
> on one machine, though that seems like a kernel bug and not a haret
> issue.
>
> Anyway, if you have a machine that boots with the above haret and not
> mainline can you send the full log as described at:
>
> http://www.handhelds.org/moin/moin.cgi/HaRET_20Documentation
>
> Thanks,
> -Kevin

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.

Regards
Vasily
From cfd584e060086f5bbed12266971c667e1740a7be Mon Sep 17 00:00:00 2001
From: Vasily Khoruzhick <anars...@gmail.com>
Date: Tue, 15 Sep 2009 20:03:17 +0300
Subject: [PATCH 1/2] Added RX1950 machine


Signed-off-by: Vasily Khoruzhick <anars...@gmail.com>
---
 src/mach/machlist.txt |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/src/mach/machlist.txt b/src/mach/machlist.txt
index 95ff722..7a39f4c 100644
--- a/src/mach/machlist.txt
+++ b/src/mach/machlist.txt
@@ -26,6 +26,7 @@ Magician,   PXA27x  ,PM10,                        MAGICIAN
 Universal,  PXA27x  ,PU10,                        HTCUNIVERSAL
 H1910,      PXA     ,hp iPAQ h191,                H1900
 H1940,      S3c2410 ,HP iPAQ h193;HP iPAQ h194,   H1940,    set ramsize 64*1024*1024
+RX1950,     S3c2442 ,HP iPAQ rx195,               RX1950,   set ramsize 32*1024*1024
 H2200,      PXA     ,hp iPAQ h22,                 H2200
 H3600b,     SA      ,Compaq iPAQ H3600,           H3600
 H3700,      SA      ,Compaq iPAQ H3700
-- 
1.6.5.rc1

From 1c759e513494219747c4725aa39d22ec35228d8b Mon Sep 17 00:00:00 2001
From: Vasily Khoruzhick <anars...@gmail.com>
Date: Tue, 15 Sep 2009 20:03:51 +0300
Subject: [PATCH 2/2] Added workaround to boot rx1950


Signed-off-by: Vasily Khoruzhick <anars...@gmail.com>
---
 src/linboot.cpp        |   11 +++++++++--
 src/wince/com_port.cpp |    2 +-
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/linboot.cpp b/src/linboot.cpp
index d44ea11..73cc8f7 100644
--- a/src/linboot.cpp
+++ b/src/linboot.cpp
@@ -25,6 +25,7 @@
 #include "winvectors.h" // stackJumper_s
 #include "linboot.h"
 #include "resource.h"
+#include "com_port.h"
 
 // Kernel file name
 static char *bootKernel = "zimage";
@@ -86,9 +87,9 @@ REG_VAR_INT(0, "FBDURINGBOOT", FBDuringBoot
  ****************************************************************/
 
 // Recommended tags placement = RAM start + 256
-#define PHYSOFFSET_TAGS   0x100
+#define PHYSOFFSET_TAGS   0x90100
 // Recommended kernel placement = RAM start + 32K
-#define PHYSOFFSET_KERNEL 0x8000
+#define PHYSOFFSET_KERNEL 0x98000
 // Initrd will be put at the address of kernel + 5MB
 #define PHYSOFFSET_INITRD (PHYSOFFSET_KERNEL + 0x500000)
 // Maximum size of the tags structure.
@@ -792,6 +793,12 @@ tryLaunch(struct bootmem *bm, int bootViaResume)
 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';
 
     // Load the kernel/initrd/tags/preloader into memory
diff --git a/src/wince/com_port.cpp b/src/wince/com_port.cpp
index 3c04453..8e7331f 100644
--- a/src/wince/com_port.cpp
+++ b/src/wince/com_port.cpp
@@ -7,7 +7,7 @@
 #include "script.h" // REG_VAR_RWFUNC
 
 static HANDLE port_handle = INVALID_HANDLE_VALUE;
-static uint32 port_number = 0;
+static uint32 port_number = 1;
 
 static uint32 comScrNumber (bool setval, uint32 *args, uint32 val)
 {
-- 
1.6.5.rc1

Attachment: signature.asc
Description: This is a digitally signed message part.

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

Reply via email to