Revert "Revert "put back the unused virtuals in Vector<>""

When frameworks/native/libs/utils was moved to system/core/libutils
this commit was removed
https://github.com/CyanogenMod/android_frameworks_native/commit/04075569b565c949a6db8b4e8a9f10d281de4d9c
mkbootimg: Add --dt parameter to specify DT image

New optional --dt parameter to specify a kernel device
tree image.

Change-Id: I7e2c48c25c04165642eedadc3dc16a082dd99eb0

Conflicts:
	mkbootimg/mkbootimg.c
init: Add a mechanism to extend the property service in device configs

Instead of every so often adding a new set of stuff here for a specific
device, let the device includes overload the property arrays. The
new device_perms.h header documents it

Change-Id: I477e27abebeb4b85abe5fcaf19333999b1625417

Conflicts:
	init/property_service.c
init: Allow device-specific appends to the property service permission structs

Extends device_perms.h API to allow property_perms and control_perms to be
appended on a device-specific basis, without needing to redefine the entire
struct contents.

Conflicts:
	init/property_service.c
Add support for exec command in init scripts.

Change-Id: Iee523fd75410718f0bd090f5fdcba50825a698c4
init: Add support for properties expansion in exec command

Add Android properties expansion to 'exec' arguments.
E.g.  exec /system/bin/log ${sys.usb.config}

CRs-Fixed: 390942
Change-Id: Ie520396d951e578bd9f591734a45d2f460b8f51d
Set ANDROID_PROPERTY_WORKSPACE in exec.

Change-Id: Ib827bf14b4463ca6277b79256bcc4cd70f63fc31
init: Support for emmc boot and init.target.rc

 * Via CodeAurora

Change-Id: Iaa9ed356574f364d8061e8941cffc3d458efc603
Initial bringup system-core

Change-Id: Ic61f4b46b3d833b3ce893d9b4dd250a77e8c5ec9
(cherry picked from commit d9ab4aecfd08626c139aeb793502946403977056)
(cherry picked from commit 94c15d07fc6b1b44041325ae2db76855caa2a9c8)
(cherry picked from commit 2d90034e8fa3f9768ad5c3a3c3cbfb260f3bf709)
camera bringup changes system-core

Change-Id: I1cf98641eca9096bd27645e07ea802646ea1fb96
(cherry picked from commit 3cb7c2da69f582d88b8eebf05f15788c4a13bdbb)
(cherry picked from commit a52870bfcbe7c54a21dbf5607aa2087292b139dc)
(cherry picked from commit 0b752a35a24e5cd8df90aa562a196d310dc5bd36)
system/core: Add QCOM specific audio flags

Add QCOM specific audio flags.

Change-Id: I9c66f355a9760c3e96cd2b36157eb0927c48b33f
(cherry picked from commit a15020b24ea48feac9a6f2cca243855bc9fc824a)
(cherry picked from commit 6e135a7933a1b11dee1f347967e7ff2ef758a1c3)
(cherry picked from commit a9ae96521def8c3b38ed21e43313ae04a932db20)
system/core: Add MSM specific formats, devices and channels.

- Add support for MSM formats, devices and channels

Change-Id: I0f613e25ae7e5bafa126ab582551807711ab9db6
(cherry picked from commit 3535a5eafaa700ae58d44c43c4491f3fbb90e060)
(cherry picked from commit d725c0473b0c7f51d157b8722131ed7b45f878d7)
(cherry picked from commit 8d43d24d91e7bcc8daef40c6e9f99fd8dcd23266)
init: Add vendor-specific initialization hooks

Allow optional vendor-specific initializations
within init.  This can be used for runtime
initialization setup that init rc scripts do
not support.

Change-Id: I7623a0d59b18f9ec8e3623958e2f7ccd72b877bf
(cherry picked from commit a36f7998a135a63934465889f089f96deefe7c42)
(cherry picked from commit 2ce27688b13bbc9a2237442ec2d6a554325ef658)
(cherry picked from commit 8e4dc4f79011bf0a8832e8d1251fc17b3e542057)
system/core: Add command NATIVE_WINDOW_SET_BUFFERS_SIZE

Add native window command to set user defined buffer size.

Change-Id: Id6d1f96daba81e8aba83479b5bda6ce0bfabb6e7
(cherry picked from commit 93ac04e22306001942e822594179e19b830fdbf1)
(cherry picked from commit 7e3881fb71df2b71b9e08138f9fe2cd9c08b6bef)
(cherry picked from commit 1985a4ec6dbb8825dba075b9fad062c8fa1d55f5)
Do not add default route during ifc_configure

Avoid duplicate default routes.
Remove adding of default routes during interface configuration as
route add/remove operation is managed by ConnectivityService via netd.

Change-Id: Ia5b47ed68fac71b444c51d9fa8ee7132bfb851c2
(cherry picked from commit 4a48635c72d91cf8decb7653948fe0c76de46098)
(cherry picked from commit 272f07a0c64b631823252ee4931c47f624b04aaa)
(cherry picked from commit 1a696b349920c06e3fde919e6d6765c86a518787)
(cherry picked from commit 6f6681a083267a552bebb3e52cffc7bc28701479)
system/core: Fix for HAL compilation issues while integrating HAL 1.0

Change-Id: Iead9c1ade279b64c5cbdf4d2de1a8b695939c52a
(cherry picked from commit dc9757a2db4166e1bbebee1819729520f79c4a22)
(cherry picked from commit 7f11efe01e53aa485ed142670b1717463fd9ddf4)
(cherry picked from commit 5932f6963d25a994508556fc150d7b2200bec7a0)
(cherry picked from commit 3e846e14abfc9e8a4e3a80c7db372343d5eedf7b)
init: uevent: Add msm video symbolic link handling

Create meaningful symbolic links for video encode/decode
devices based on link_name sysfs node so that video client
doesn't have to rely on dynamic dev node names like device32,
device33 etc.

Change-Id: Id308a10d3e601616b63ecd1373809c96f0d04435
(cherry picked from commit d26280b5d327994c3c89c573de7738b3f47b8600)
(cherry picked from commit c8f57166fadd26648bd9ee0a979a789c944ccba3)
(cherry picked from commit 72e4c35b308270f44795ebcc196319096397c6c1)
(cherry picked from commit aec73795517e7f49c5ebbea611da612b99ba75fb)
audio: Add diag access permission to mediaserver

- Diag permission is needed to connect QACT tool

Change-Id: I21bf4cce2a948feab3e844aa6872846af7109730
(cherry picked from commit 6588b30f5d52439307c671a4821b44c77421ef07)
(cherry picked from commit 41116f2b37fde7d1890e0293005bee4dfea7e478)
(cherry picked from commit dd8a2ebd3f5c4e1dd9643f482897b4a30bdb2c80)
ueventd: Add bootdevice symlink

Create the /dev/block/bootdevice symlink to point to the
boot device information based on kernel command line.
This decouples references to the boot device from the
actual device nodes (e.g. eMMC, UFS).

Change-Id: I5e5e3e07ff38c8002ac3f188df80284f1f47892b
(cherry picked from commit fbc0f366d99e73cce250822c80ce2141a4b0e287)
(cherry picked from commit fe8101abd3456c32c25ed3f88df7883e84b6a521)
(cherry picked from commit 0940a7460112e0a5024df7d6320e4cd3ac5aaa15)
audio: Fix submix output device check.

-AUDIO_DEVICE_IN_FM_RX is incorrectly matched
 with AUDIO_DEVICE_OUT_REMOTE_SUBMIX because
 method audio_is_remote_submix_device is not
 checking for AUDIO_DEVICE_BIT_IN.

-Fix is to add AUDIO_DEVICE_BIT_IN while doing
 the check for AUDIO_DEVICE_OUT_REMOTE_SUBMIX.

CRs-Fixed: 566837

Change-Id: I47ca3bd151da848a444d4bcf83a56e866f20d4f7
(cherry picked from commit f8573b76d6c03e1a9eff34e093056a810f898509)
(cherry picked from commit ae982a488c68e0cd06622e7ee7a31fddb1f4d131)