Enable ZCache, Disable ZRam

Change-Id: I9333405b6d8c67b05640e8c023c1f10fe456e154
Enable caching and buffering for all of physical RAM in the decompressor.

Old method is to enable caching and buffering only for the 256 MB at the
start of the decompressor image.  This makes a hardboot-kexec'd kernel very
slow to decompress since the decompressor is located far above the kernel
destination.  This patch reduces boot time from 35 to 8 seconds.

Change-Id: Ie37fd5092301bcf930652983a9cd8217e6312a74
Support copying of kernel tagged list (atags) in the decompressor.

This is needed to hardboot kexec a kernel with a new tags list (including a
new kernel command line), since the new atags would otherwise be lost with
the limited kernel memory mapping.  Without this patch, a hardboot-kexec'd
kernel uses the atags provided by the bootloader.

Change-Id: Ifafb9713952de7fb749a7bc64d20849649359a1f
Enable kexec syscall and fix support for ARMv7.

Essentially a backport of the relevant functions from Linux 3.1-rc4.  In
particular, it now actually disables the MMU in preparation for
soft boot.  Without this, relocate_new_kernel() would hang for an unknown
reason.  Although, it's known that there's no safe way to execute that
function with the MMU on as it may overwrite active page tables.

The suggestion to call cpu_reset by its physical address comes from an
earlier kexec support patch by Will Deacon [1].

[1] W. Deacon. [4/6] ARM: reset: add reset functionality for jumping to a
    physical address, Jun. 2011. https://patchwork.kernel.org/patch/852802/

Change-Id: Ib41728a1b4a5d02241266feed8e4bb75e35123c4
Support hard booting to a kexec kernel.

See KEXEC_HARDBOOT config option help for details.

Change-Id: If1a45732f1f10f28c44d179e0c7589968e146ac7
s3cfb: tl2796: detect invalid factory calibration data

When an invalid factory calibration data is detected, use some sane
defaults.

Change-Id: I0095e1a4f530e61bb4f53a3aeed3fb4c01ea4e22