Commit graph

32339 commits

Author SHA1 Message Date
Josh Gao
1a4a570a23 adb: don't try to resolve 'localhost' am: 46de1d7f03 am: 32d7ede78b am: 677a73e5f1
am: 368e043a7b

Change-Id: I7586b4bd3622911eade0bfbf40359b7797d6eed1
2017-04-14 20:22:55 +00:00
Josh Gao
368e043a7b adb: don't try to resolve 'localhost' am: 46de1d7f03 am: 32d7ede78b
am: 677a73e5f1

Change-Id: I3e939fbea6cb3f3b7cf36040a81655d5ef0acae2
2017-04-14 20:14:26 +00:00
Josh Gao
677a73e5f1 adb: don't try to resolve 'localhost' am: 46de1d7f03
am: 32d7ede78b

Change-Id: If87595c35e362f1fa5c34cba4d7bc1766ec51cd0
2017-04-14 20:09:53 +00:00
Josh Gao
32d7ede78b adb: don't try to resolve 'localhost'
am: 46de1d7f03

Change-Id: Ie419c5ddd80938760d7eaa3f50605c9874ca33d7
2017-04-14 20:07:56 +00:00
Steven Moreland
f9fb8af11e Merge "libsync: vendor_available" into oc-dev am: 54cd7e0d2c
am: dddd275b2a

Change-Id: I2f49cba4ec10268c6db5d4b1a1f51f9518e03f1b
2017-04-14 19:51:00 +00:00
Steven Moreland
dddd275b2a Merge "libsync: vendor_available" into oc-dev
am: 54cd7e0d2c

Change-Id: If04cdfb69741fec75323881b2d6feddd5c1b919c
2017-04-14 19:47:56 +00:00
TreeHugger Robot
54cd7e0d2c Merge "libsync: vendor_available" into oc-dev 2017-04-14 19:36:33 +00:00
Steven Moreland
86f8790690 Merge "libutils: include what you use" into oc-dev am: 2679d09d48
am: c5f60563cc

Change-Id: Ic50205c06f89c0b9155913327ed8c477a123c58a
2017-04-14 19:09:00 +00:00
Steven Moreland
c5f60563cc Merge "libutils: include what you use" into oc-dev
am: 2679d09d48

Change-Id: I52420aa2efbd1e063d089fe793b84d5d0364575c
2017-04-14 19:01:56 +00:00
TreeHugger Robot
2679d09d48 Merge "libutils: include what you use" into oc-dev 2017-04-14 18:58:01 +00:00
Steven Moreland
5ad40d58f8 libbase: fix build breakage am: 72b9d28423
am: a89bf6f569

Change-Id: I8f73c81f79f64b8b87e0a4261b0f324f471d63f7
2017-04-14 18:51:03 +00:00
Steven Moreland
dfbf58b166 Merge "libbacktrace: make vendor_available" into oc-dev am: cc4226e5ff
am: 04ad6ea1eb

Change-Id: Ib89a3a9a8e24266cae57c8caa5d6eb05fef5ad5a
2017-04-14 18:50:52 +00:00
Steven Moreland
6468154300 Merge "libbase: make vendor_available" into oc-dev am: 129eb45b0d
am: 9aebb1e0f5

Change-Id: I559882f22858ebf82463a973d8b277cb10cbfd7a
2017-04-14 18:50:40 +00:00
Steven Moreland
0b66759698 Merge "libutils: export libbacktrace headers" into oc-dev am: 7225b34bda
am: e36b83f63c

Change-Id: I66008422cb876e179dc2df65420005cac3c6d0e7
2017-04-14 18:50:28 +00:00
Steven Moreland
8d5f7e76e9 Merge "libbase: add libbase_headers" into oc-dev am: 3a5394edef
am: e4070ba602

Change-Id: I5d4325414cf87d91a253909c8b0f31bbede33c5b
2017-04-14 18:50:16 +00:00
Steven Moreland
526d8c5cb5 libsystem_headers: export libaudio_system_headers am: c83ea95654
am: 5b099bc1c9

Change-Id: If98b13d1789968892812d58c180c50499eb4c745
2017-04-14 18:49:51 +00:00
Steven Moreland
a89bf6f569 libbase: fix build breakage
am: 72b9d28423

Change-Id: Iaa42db457bcac149ab0833fc15911aaeecaeb328
2017-04-14 18:31:09 +00:00
Steven Moreland
72b9d28423 libbase: fix build breakage
Two changes were merged at the same time that conflicted.

Test: builds
Change-Id: Ia6c730804cd5a3b2655e6d69b8e4f346d198dabb
2017-04-14 11:23:36 -07:00
Steven Moreland
04ad6ea1eb Merge "libbacktrace: make vendor_available" into oc-dev
am: cc4226e5ff

Change-Id: I8bf228b0cd91c690ff93e1880dcc892fb75baec4
2017-04-14 18:04:10 +00:00
Steven Moreland
9aebb1e0f5 Merge "libbase: make vendor_available" into oc-dev
am: 129eb45b0d

Change-Id: Ia6fe3fdf40397420f57aa016e5a647631e46804b
2017-04-14 18:03:57 +00:00
Steven Moreland
e36b83f63c Merge "libutils: export libbacktrace headers" into oc-dev
am: 7225b34bda

Change-Id: I1675518965e0de45a29b9ff3bc643601b6b4866a
2017-04-14 18:03:39 +00:00
TreeHugger Robot
cc4226e5ff Merge "libbacktrace: make vendor_available" into oc-dev 2017-04-14 17:59:29 +00:00
TreeHugger Robot
129eb45b0d Merge "libbase: make vendor_available" into oc-dev 2017-04-14 17:59:15 +00:00
TreeHugger Robot
7225b34bda Merge "libutils: export libbacktrace headers" into oc-dev 2017-04-14 17:57:23 +00:00
Steven Moreland
8da9613b3f libutils: include what you use
These includes are included transitively by liblog, but not by the VNDK
version of liblog.

Bug: 33241851
Test: links with BOARD_VNDK_VERSION := current
Change-Id: Ide4aee3cacad2a2bf6bd0cbdf0254c6c245f4020
2017-04-14 17:06:33 +00:00
Steven Moreland
e4070ba602 Merge "libbase: add libbase_headers" into oc-dev
am: 3a5394edef

Change-Id: I9cc773db0c323f101957747715eab1bd1b701496
2017-04-14 16:16:50 +00:00
TreeHugger Robot
3a5394edef Merge "libbase: add libbase_headers" into oc-dev 2017-04-14 16:03:40 +00:00
Steven Moreland
5b099bc1c9 libsystem_headers: export libaudio_system_headers
am: c83ea95654

Change-Id: Ifc63b3b88ed7330db99dc712d2dc590d71440a50
2017-04-14 15:42:01 +00:00
Todd Poynor
ec8eca9971 Merge changes I6a29c678,I76212f65 am: e771b69e72 am: 8e7ba95674 am: d2a6783e25
am: 6b2a0c21a5

Change-Id: I5e00df9c887c066bc8a9c71fdc2972f97784945d
2017-04-14 15:26:13 +00:00
Todd Poynor
6b2a0c21a5 Merge changes I6a29c678,I76212f65 am: e771b69e72 am: 8e7ba95674
am: d2a6783e25

Change-Id: I1fe4daee66dac02fd424d0438d771d93af914f84
2017-04-14 14:41:52 +00:00
Todd Poynor
d2a6783e25 Merge changes I6a29c678,I76212f65 am: e771b69e72
am: 8e7ba95674

Change-Id: If8aa875c3238da829a2ed8ccc52598386c0f63af
2017-04-14 14:34:28 +00:00
Todd Poynor
8e7ba95674 Merge changes I6a29c678,I76212f65
am: e771b69e72

Change-Id: Icfa83c8939b8fc9fc43f47051d0e42ce9111f48b
2017-04-14 14:28:00 +00:00
Treehugger Robot
e771b69e72 Merge changes I6a29c678,I76212f65
* changes:
  reboot: fix owner and permissions of last_reboot_reason file
  init.rc: create /data/misc/reboot owned by system
2017-04-14 14:16:20 +00:00
Steven Moreland
8f56c1ecd7 libbase: add libbase_headers
Test: can include headers in other soong modules
Bug: 33241851
Change-Id: Ie3d11d1559f5aae46125695fd1f3a63da8e429ae
2017-04-14 00:55:36 -07:00
Bowgo Tsai
2f374cbe26 Merge changes from topic 'avb-early-mount' am: d7381375bb am: 04989a7a4b am: 0b2d83a64b
am: 4d70aa5541

Change-Id: If96228c7c72876d698bfb30867268dda9c616773
2017-04-14 07:25:54 +00:00
Bowgo Tsai
4d70aa5541 Merge changes from topic 'avb-early-mount' am: d7381375bb am: 04989a7a4b
am: 0b2d83a64b

Change-Id: I3911b1be010b7f79f2b3975a9264eb914044392f
2017-04-14 06:40:58 +00:00
Steven Moreland
4c0e956c76 libbacktrace: make vendor_available
By setting vendor_available, the following may become true:

* a prebuilt library from this release may be used at runtime by
  in a later releasse (by vendor code compiled against this release).
  so this library shouldn't depend on runtime state that may change
  in the future.
* this library may be loaded twice into a single process (potentially
  an old version and a newer version). The symbols will be isolated
  using linker namespaces, but this may break assumptions about 1
  library in 1 process (your singletons will run twice).

Background:

This means that these modules may be built and installed twice --
once for the system partition and once for the vendor partition. The
system version will build just like today, and will be used by the
framework components on /system. The vendor version will build
against a reduced set of exports and libraries -- similar to, but
separate from, the NDK. This means that all your dependencies must
also mark vendor_available.

At runtime, /system binaries will load libraries from /system/lib*,
while /vendor binaries will load libraries from /vendor/lib*. There
are some exceptions in both directions -- bionic(libc,etc) and liblog
are always loaded from /system. And SP-HALs (OpenGL, etc) may load
/vendor code into /system processes, but the dependencies of those
libraries will load from /vendor until it reaches a library that's
always on /system. In the SP-HAL case, if both framework and vendor
libraries depend on a library of the same name, both versions will be
loaded, but they will be isolated from each other.

It's possible to compile differently -- reducing your source files,
exporting different include directories, etc. For details see:

https://android-review.googlesource.com/368372

None of this is enabled unless the device opts into the system/vendor
split with BOARD_VNDK_VERSION := current.

Bug: 33241851
Test: build and flash internal marlin
Test: m -j libbacktrace
Test: build with BOARD_VNDK_VERSION := current
Change-Id: Idab4880e011416ebc40b225205c30fb5ed8661db
2017-04-13 23:37:12 -07:00
Bowgo Tsai
0b2d83a64b Merge changes from topic 'avb-early-mount' am: d7381375bb
am: 04989a7a4b

Change-Id: I45d89c806076842ee75a772b1a8bbba2157eb46c
2017-04-14 06:34:00 +00:00
Steven Moreland
d0b26edf30 libsync: vendor_available
By setting vendor_available, the following may become true:

* a prebuilt library from this release may be used at runtime by
  in a later releasse (by vendor code compiled against this release).
  so this library shouldn't depend on runtime state that may change
  in the future.
* this library may be loaded twice into a single process (potentially
  an old version and a newer version). The symbols will be isolated
  using linker namespaces, but this may break assumptions about 1
  library in 1 process (your singletons will run twice).

Background:

This means that these modules may be built and installed twice --
once for the system partition and once for the vendor partition. The
system version will build just like today, and will be used by the
framework components on /system. The vendor version will build
against a reduced set of exports and libraries -- similar to, but
separate from, the NDK. This means that all your dependencies must
also mark vendor_available.

At runtime, /system binaries will load libraries from /system/lib*,
while /vendor binaries will load libraries from /vendor/lib*. There
are some exceptions in both directions -- bionic(libc,etc) and liblog
are always loaded from /system. And SP-HALs (OpenGL, etc) may load
/vendor code into /system processes, but the dependencies of those
libraries will load from /vendor until it reaches a library that's
always on /system. In the SP-HAL case, if both framework and vendor
libraries depend on a library of the same name, both versions will be
loaded, but they will be isolated from each other.

It's possible to compile differently -- reducing your source files,
exporting different include directories, etc. For details see:

https://android-review.googlesource.com/368372

None of this is enabled unless the device opts into the system/vendor
split with BOARD_VNDK_VERSION := current.

Bug: 33241851
Test: build and flash internal marlin
Test: m -j libsync
Test: build with BOARD_VNDK_VERSION := current
Change-Id: I5b23d2c1f41b842e5a9b7ea257921133b80c3f98
2017-04-13 23:28:39 -07:00
Bowgo Tsai
04989a7a4b Merge changes from topic 'avb-early-mount'
am: d7381375bb

Change-Id: I842610d5812420b93ef43d008f29abff83d9206c
2017-04-14 06:27:02 +00:00
Treehugger Robot
d7381375bb Merge changes from topic 'avb-early-mount'
* changes:
  fs_mgr: support AVB in fs_mgr_update_verity_state()
  init: support early_mount with vboot 2.0 (external/avb/libavb)
2017-04-14 06:20:42 +00:00
Steven Moreland
d3b4b2c96f libutils: export libbacktrace headers
This is used in CallStack.h.

Test: m -j libutils
Test: links
Test: trying to compile with BOARD_VNDK_VERSION := current
Bug: 33241851
Change-Id: If7258e7b38000a72fd520f725030fb0038f90167
2017-04-13 21:11:28 -07:00
Bowgo Tsai
aaf70e77dc fs_mgr: support AVB in fs_mgr_update_verity_state()
fs_mgr_update_verity_state() is invoked by 'verity_update_state' in
init.rc. It will then set property "partition.system.verified" and
"partition.vendor.verified" to verify_mode. We should support this for
AVB as well.

Also change the order of static libs in init to fix the build error
after this change:
  system/extras/ext4_utils/ext4_crypt.cpp:69: error: undefined reference to 'property_get'

Bug: 35416769
Test: Mount /system and /vendor with vboot 2.0 (AVB), check the following properties exist.
      - [partition.system.verified]: [2]
      - [partition.vendor.verified]: [2]
Test: Mount /system and /vendor with vboot 1.0, check the following properties exist.
      - [partition.system.verified]: [0]
      - [partition.vendor.verified]: [0]

Change-Id: I4328d66a8cb93f26e7960e620a0b2292d5f15900
2017-04-14 12:10:49 +08:00
Bowgo Tsai
8bba52fc4b init: support early_mount with vboot 2.0 (external/avb/libavb)
libavb requires verifying AVB metadata on all verified partitions at
once. For example, /vbmeta, /boot, /system and /vendor. We need to
invoke device_init() for those partitions even if we only want to early
mount some of them, like /vendor and /system.

This CL gets all AVB partitions and the early mount partitions from
device tree through "firmware/android/vbmeta" and "firmware/fstab",
respectively. The following is an example to early mount /vendor
partition on bullhead:

firmware {
    android {
        compatible = "android,firmware";
        vbmeta {
            compatible = "android,vbmeta";
            parts = "boot,system,vendor";
            by_name_prefix="/dev/block/platform/soc.0/f9824900.sdhci/by-name"
        };
        fstab {
            compatible = "android,fstab";
            vendor {
                compatible = "android,vendor";
                dev = "/dev/block/platform/soc.0/f9824900.sdhci/by-name/vendor";
                type = "ext4";
                mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
                fsmgr_flags = "wait,avb";
            };
        };
    };
};

Bug: 33254008
Test: early mount /vendor with vboot 2.0 (AVB) on bullhead
Test: early mount /system without dm-verity on bullhead
Test: early mount /vendor with vboot 1.0 on sailfish

Change-Id: I89a1f77c97124f309346b33d9e700544b92ecf05
2017-04-14 12:10:20 +08:00
Steven Moreland
c83ea95654 libsystem_headers: export libaudio_system_headers
These headers are used in headers in libsystem_headers and must be
re-exported.

Test: modules using libsystem_headers don't have to have
libaudio_system_headers include dirs set.
Bug: 33241851

Change-Id: Ic2d842a4c97b3e3fed770249f0cc33a399f3cead
2017-04-13 19:39:28 -07:00
Mark Salyzyn
71bd43bd37 Merge "liblog: android_log_event_list class permit -EBUSY retry" am: 9e3756f532 am: b5e436bf3d am: 6dfe87ed87
am: 73ad69a437

Change-Id: I4f5b22cacc90e5526601eff56d6e334cf55bd227
2017-04-14 02:05:29 +00:00
Todd Poynor
4224f030c4 Merge changes I76212f65,I6a29c678 into oc-dev am: 5975d4e337
am: a03b4dc574

Change-Id: Ib202914daeb62057d4575e4815329f5a7bee80f0
2017-04-14 02:05:13 +00:00
Wei Wang
e61f5c42fa Merge "init.rc: start all 3 servicemanagers early" into oc-dev am: d12835d19f
am: c74c092929

Change-Id: Ib436e16a88570a6b896ec917b40be87cf9a66fe0
2017-04-14 02:04:58 +00:00
Steven Moreland
5c75fd4b4f Merge "libutils: export system_headers" into oc-dev am: e003513ccf
am: 220e6d824c

Change-Id: Ide0ddea7fc3bf2b1a0c46df7dd0d0704c36fc237
2017-04-14 02:04:43 +00:00
Mark Salyzyn
73ad69a437 Merge "liblog: android_log_event_list class permit -EBUSY retry" am: 9e3756f532 am: b5e436bf3d
am: 6dfe87ed87

Change-Id: Iaeb51a421eb290d705e7e2d150a2df893fa93a2c
2017-04-14 01:43:33 +00:00