Warp!! saves snapshot image of the system memory (while applications are running) and hardware status (contents of register) to the previously ensured hibernation area in secondary storage, such as Flash. Once the power is on, directly restore memory image from snapshot at a burst. By this operation, loads of initiation code loading and memory accessing are greatly reduced and achieve the high speed.
Warp!! has achieved its remarkable quick boot by restoring previouslysaved system memory from snapshot image instantly as turning on power. Technical capabilities of Lineo has realized such snapshot save*1 mechanism.
Save snapshot for each shutdown and restore previously-saved snapshot as power is on again.
Use the same snapshot for every boot.
Carry out ideal quick boot for Android system. User's setting value can be reflected as well. No particular save processing is necessary at the time of shutdown.
It is expected that more and more SoC will be multi-core from now on, besides storage will be much faster after SD3.0/eMMC4.5.
To take full advantage of such progress, Warp!!5 provides snapshot split save mechanism.
Multi-core makes it possible to save divided snapshot images to high-speed storage devices, assign CPU core for each images and restore them all at once.
It is possible to attain optimized 1/0 by saving divided snapshot images to low-speed storage devices (thus less bus interference), assigning CPU core for each images and restoring them all at once.
By assigning CPU core exclusively to user thread, efficient system initialization is achieved. For instance, it is possible to synchronize subsystems prior to Linux boot in complex system with multiple subsystems..
By using user thread, it is possible to carry out parallel hardware initialization or to run application immediately after boot. Warp!! Software Development Kit contains sample program of UserAPI.
Snapshot switch was only available in bootloader in Warp!!4, but it can be done by kernel command in Warp!!5. In Exchange Mode, save the last status just like hibernation and switch to other snapshot, thus it can switch OS while retaining multiple OS status. On the other hand, Overwrite Mode does not save snapshot thus switch multiple OS even faster. However, it returns to the initial statup status after switching.
64K ROM to store hibernation driver.
Area to save snapshot of system memory other than area for root file system.
* Added Hibernation Driver call.
* Various drivers are implemented to support Suspend/Resume of PM.
* Apply patch for Warp!! such as Hibernation Driver call.
|ARM||Cortex-A7 / Cortex-A15 / big.LITTLE / Cortex-A5 / Cortex-A8 / Cortex-A9 / ARM11 / ARM9 / Marvell ARMADA 16x|
|SuperH||SH-4 / SH-4A / SH-4AL|
|Power Architecture||Power QUICC II Pro / Power QUICC-III / 440 / 464 / QorIQ P1022|
|MIPS||MIPS24K / MIPS34K / MIPS74K|