Re: [jornada] apm/suspend

From: Faré <fahree_at_gmail.com>
Date: Fri, 19 Aug 2005 13:21:29 -0400

On 19/08/05, Colin Sauze <colinsauze_at_gmail.com> wrote:
> I *THINK* the Win CE resume code runs straight from ROM and no other
> user programs get executed until the resume is complete. By this time
> Win CE will have overwritten Linux from the memory.
I'm pretty sure that WinCE has some "fast recovery mode" if it detects
that the system is already in place, just like a PC BIOS has some fast
recovery mode after CPU reset to detect that a 286 switch back to
real-mode was requested. All in all, we may only need to preserve a
small zone of memory containing ROM variables and vectors.
Disassembling/debugging the ROM to detect the location and layout of
this zone may be painful enough, though.

I wonder if these things are similar between the 720 and 820... If you
find out for the 720, I'm interested not only in the results, but in
the process to get them, so as to do something similar on the 820...

[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ]
Failure is not an option. It comes bundled with your Microsoft product.
       -- Ferenc Mantfeld

On 19/08/05, Colin Sauze <colinsauze_at_gmail.com> wrote:
> I *THINK* the Win CE resume code runs straight from ROM and no other
> user programs get executed until the resume is complete. By this time
> Win CE will have overwritten Linux from the memory.
>
> One idea that has occured to me, is it possible to make windows run a
> program from the compact flash card early on in the boot process?
>
> A trick like this was used in the Psion 5/5MX PDAs to make them run
> their Linux bootloader (equivalent to linexec) before most of the OS
> had initialised. Obviously this doesn't solve the suspend problem, but
> it would reduce the time it takes to boot up linux.
>
> On 8/19/05, Nick L <chiark_at_gmail.com> wrote:
> > > IIRC the processor starts executing at 0x0 when being resumed. This is
> > > in the mask-rom on jornadas without flashboards and contains a branch
> > > to 0x1000 where the Windows CE bootloader starts and tries to boot CE.
> > > There is no way I have seen from disassembling the bootloader to
> > > jump somewhere else in the early initialization, so we could get the
> > > linux-resume code to run.
> >
> > Just pushing some thoughts around here... A little knowledge is a
> > dangerous thing, so I am probably not helping here :D
> >
> > How about writing a device driver for WinCE which hijacks the
> > initiation routine and jumps back to the Linux side of things? Of
> > course, the problem with this is that the information in RAM may well
> > be compromised by WinCE not knowing what Linux has got allocated for
> > itself - or is there a way around this, such as having the bootloader
> > mark the memory in use?
> >
> >
> > --
> > "Why don't you go and bother that nice Ms Rowling?" - Terry Pratchett
> > http://www.chiark.com
Received on Fri Aug 19 2005 - 13:26:05 EDT

This archive was generated by hypermail 2.2.0 : Fri Aug 19 2005 - 13:26:10 EDT