store-mac-addr.sh: detect MAC address changes and update NVS file accordingly
Enable swap to zRAM by default

Unlike earlier releases, Android 4.4's memory management framework is
swap-aware, so there is no longer an inherent barrier to using swap on
Android.  We can therefore make our limited memory go farther by
configuring a moderate amount of zRAM-backed swap.

There are two knobs being adjusted in this patch:

* The amount of swap: this represents the total size of data stored in
  the zRAM device *before* compression.  Assuming a (conservative)
  compression ratio of 33%, 96 MB of zRAM swap should result in no more
  than 64 MB of actual RAM being in use at any one time, leaving 384 MB
  of RAM free for other purposes.  Given that other devices get along
  with less than 350 MB of RAM in total (after camera/codec/VRAM
  carveouts, before zRAM and other such techniques), this should be more
  than sufficient to keep the system happy.
* The "swappiness" of foreground processes: this controls how willing
  the kernel is to push anonymous memory (pages not backed by a file) to
  swap.  Lower values for swappiness will cause the system to try harder
  to free memory via other means before touching anonymous memory.  In
  this case, Android sets a much higher swappiness value for background
  processes via the memory cgroup mechanism, so the effect here is to
  cause the kernel to strongly prefer to swap out background processes
  before touching foreground process memory.

We can revisit both of these values later based on user experience.

Change-Id: Ie8d7c47cfda435e1e087a8ec676e21d0cf135ed3
Enable KSM by default

Kernel Samepage Merging (KSM) periodically scans memory marked by the
framework as MADV_MERGEABLE looking for duplicate pages; when it finds
them, it drops the duplicates and points all users at a single copy of
the page.  This is particularly useful on Android, where much of the
Java class data can be shared across processes.  Enabling this feature
on encore can save 16 MB of RAM after just a few hours of uptime.

Change-Id: Ic4eed0e0e42b3170e55831e4c85373b8720ba29a
Tell CM settings we really want KSM enabled by default

CyanogenMod's settings system will blindly overwrite the value in
/sys/kernel/mm/ksm/run with the value of the KSM setting exposed in
performance options, which defaults to off unless we tell it otherwise.

Change-Id: I9435d54216db123418218b8c98f9ad3801627c7d
Change unzip-files.sh to allow default encore_update.zip

Original suggests allowing for encore_update.zip in build directory,
but test on $1 instead of $ZIPFILE bypasses this.

Change-Id: I877eb78188a867f743fb347f4ac015061bd55432
Fix 16bit boot animation

The implementation of the 16 bit boot animation has changed.
Now we need TARGET_BOOTANIMATION_USE_RGB565 := true
See:
https://github.com/CyanogenMod/android_frameworks_base/blob/cm-11.0/cmds/bootanimation/Android.mk#L37

Change-Id: I8d1e3d4dbe9bcd92d6dbea5921019f888c085c90
Update bootloader to pass boot location on kernel command line

Our planned boot-location-agnostic software will need this information
from the bootloader in order to find /system and /data.  Older software
will just ignore the added argument on the command line.

Built from commit 54951a2 ("omap3621_evt1a: pass boot device information
on kernel command line") in the encore_cyanoboot tree:
https://github.com/NookieDevs/encore_cyanoboot/tree/54951a274d28f5d21f6fe9a951852264aab32172

Change-Id: I0e2b40808e366f3af553b92663bfe2051b7348a0
Power HAL: disable KSM scanning when screen is off

KSM scanning can keep the CPU busy during otherwise idle periods, which
hurts battery life.  Therefore, when KSM is in use, disable KSM scanning
before the screen turns off and reenable it when the screen turns back
on.

Change-Id: Id577977d0b6bc7c2456334726552a6723c83593f
Disable use of YUV overlay hardware in the OMAP3 HWC

Using YUV overlays causes rendering glitches and display sync loss
when playing back certain videos, so disable their use.  (It's unclear
at this point whether this is a limitation of the hardware or a driver
bug.)

Change-Id: Ia3d8fb7aadf04feaa01cbea29962e76e224052cd
Rename custom recovery keymapping file to match original source

The corresponding keymapping file in the recovery source is now
default_recovery_keys.c, and recovery_ui now typically refers to a
separate device-overridable file (which we want to override in the
future).

Change-Id: I0bde1213fcae08a61915b98da726972122dd65d2
recovery_ui: update for CWM API changes

CWM's eliminating device_toggle_display() and
ui_get_showing_back_button() (see http://review.cyanogenmod.org/62724).
Remove these in our recovery_ui.c.

Change-Id: Ib26ffdf04194dc0f916934bf1bc1b92b47938ee2