Commit Graph

39205 Commits

Author SHA1 Message Date
Treehugger Robot fcc16c53e1 Merge "fastboot: Refactor string constants to constants.h" 2018-07-16 23:48:49 +00:00
Tom Cherry b504f38d7e Merge "ueventd: let scripts provide firmware directories" 2018-07-16 23:00:53 +00:00
Christopher Ferris c637ada7e4 Clean up logging code.
Test: Verify that tombstones still contain the log message data.
Change-Id: I303dec944e58a0c4f5edfed22caaf1f2462ea3e8
2018-07-16 15:57:38 -07:00
Jerry Zhang 769a9c1d11 fastboot: Refactor string constants to constants.h
This allows them to be shared between host and device
implementations.

Test: fastboot works
Bug: 78793464
Change-Id: I79271687850ade2a904fd03d6a97dad1a9ab8e1c
2018-07-16 14:18:41 -07:00
Treehugger Robot 895acebe94 Merge "libbatterymonitor: vendor_available" 2018-07-16 20:16:02 +00:00
Yifan Hong 3da9f08903 libbatterymonitor: vendor_available
libbatterymonitor is a static library.
Also removed unused libbinder dependency.

Test: pass
Bug: 111454508
Merged-In: I1f17ee643e6ed1bb2c11a6f3189a448dba2927ac
Change-Id: I1f17ee643e6ed1bb2c11a6f3189a448dba2927ac
(cherry picked from commit ffff9aae02)
2018-07-16 11:26:04 -07:00
Treehugger Robot 97d3fd8fb0 Merge "liblp: Add a method to create sparse images of the super partition." 2018-07-16 17:17:54 +00:00
Treehugger Robot fcb0ef9c98 Merge "liblp: Move image reading/writing functions to a new cpp file." 2018-07-16 17:11:03 +00:00
Treehugger Robot 474990089a Merge "liblp: Force more sizes to be a multiple of the sector size." 2018-07-16 17:08:49 +00:00
Treehugger Robot f78c9643e0 Merge "liblp: Add block device size to LpMetadataGeometry." 2018-07-16 17:07:58 +00:00
Yi Kong 39e7a1c981 Merge "libcutils: remove rather than fix the mutex." 2018-07-14 21:18:54 +00:00
Yi Kong 2a989cf525 Merge "[logd] Modernize codebase by replacing NULL with nullptr" 2018-07-14 02:48:17 +00:00
Yi Kong aed415cc47 [adb] Modernize codebase by replacing NULL with nullptr
Fixes -Wzero-as-null-pointer-constant warning.

Test: m
Bug: 68236239
Change-Id: Ia8c4deacafed2f3b7dbc3d4c3c77c6c632e3de81
2018-07-13 18:21:00 -07:00
David Anderson b36db4ba0e liblp: Add a method to create sparse images of the super partition.
This change enables flashing of the super partition without using
lpflash or adding explicit fastboot support for the liblp image format.

Bug: 79173901
Test: image can be flashed to device and read by liblp
Change-Id: Id6c5e595ba831644364b7335b58cf6a43d5833c3
2018-07-13 18:17:56 -07:00
David Anderson 62cd1e06ab liblp: Move image reading/writing functions to a new cpp file.
This is in preparation for adding sparse image support, to avoid
cluttering the more critical reading and writing logic.

Bug: 79173901
Test: N/A
Change-Id: Icdddb849aebba4adf18a3e63ffbd3f36adda812d
2018-07-13 18:17:56 -07:00
David Anderson 8cf1e38b21 liblp: Force more sizes to be a multiple of the sector size.
This makes offset calculations and library interactions much easier.

Bug: 79173901
Test: liblp_test gtest
Change-Id: I595c5435bd6bc166693a434ecdcd2d098185f963
2018-07-13 18:17:56 -07:00
David Anderson 4813823e73 liblp: Add block device size to LpMetadataGeometry.
This makes it easier to validate the device and make assumptions about
the device layout without having actual access.

Bug: 79173901
Test: liblp_test gtest
Change-Id: I53d24684020ec9210c8a17d155e738b3b2405806
2018-07-13 18:17:55 -07:00
Yi Kong c8d09ddceb [logd] Modernize codebase by replacing NULL with nullptr
Fixes -Wzero-as-null-pointer-constant warning.

Test: m
Bug: 68236239
Change-Id: I15ccb9cfc9967dae4320d9690f5097bc2f7d5bfe
2018-07-13 17:50:55 -07:00
Yi Kong dc8483cc04 Merge "Remove execute bit for source files" 2018-07-14 00:50:32 +00:00
Yi Kong 760a35a91c Remove execute bit for source files
Test: ls -l
Change-Id: Id09514a03f82c89e6350a5f9e34b9ef8bfe27b7e
2018-07-13 17:45:39 -07:00
Yi Kong 9154fbc8df Merge "Modernize codebase by replacing NULL with nullptr" 2018-07-14 00:20:38 +00:00
Tom Cherry 7421fa1aed ueventd: let scripts provide firmware directories
Since some vendors will have firmware in mount points in
/mnt/vendor/..., we extend the ueventd script language to allow
specifying the firmware directories.

Also, move the existing 4 directories to ueventd.rc as a primary user
of this mechanism.

Bug: 111337229
Test: boot sailfish; firmwares load
Change-Id: I0854b0b786ad761e40d2332312c637610432fce2
2018-07-13 15:34:25 -07:00
Yi Kong c1a1562548 Modernize codebase by replacing NULL with nullptr
Fixes -Wzero-as-null-pointer-constant warning for binder.

Test: m
Bug: 68236239
Change-Id: I8184bd6aa4ebff1bd8c88dad16886e98df853b03
2018-07-13 15:28:59 -07:00
Elliott Hughes 51a2cacbb9 libcutils: remove rather than fix the mutex.
Bug: 68236239
Test: ran tests
Change-Id: I53e47f99e6963bedcb0be30cf10c9187da8a047d
2018-07-13 14:53:51 -07:00
Elliott Hughes dda5fe46ac Merge "cutils: move hashmap to <pthread.h>." 2018-07-13 19:58:45 +00:00
Tom Cherry a8df2b95cb Merge "init: actually remount /sys when changing network namespaces" 2018-07-13 19:57:52 +00:00
Tom Cherry 9bb0a4de46 init: actually remount /sys when changing network namespaces
Fix a typo from before.

Bug: 73334854
Test: build
Change-Id: I66631a6f251960be0e02d8a119fa0ff7a00fb24c
2018-07-13 11:07:11 -07:00
Elliott Hughes 9d12725cad cutils: move hashmap to <pthread.h>.
Bug: N/A
Test: builds
Change-Id: I16a470265a17ea5bd47ef76ec234907cf7ec3e4f
2018-07-13 10:54:49 -07:00
Elliott Hughes 40ad8e2ade Merge "libbase: return different result depend on the errno" 2018-07-13 15:02:49 +00:00
Treehugger Robot a73ea65c5a Merge "liblp: Rename the metadata partition name to "super"." 2018-07-13 02:07:35 +00:00
liwugang c63cb07063 libbase: return different result depend on the errno
In the RemoveFileIfExists it always return true even if error appeared
when using stat function.

It should distinguish different error. Such as ENOENT and ENOTDIR
we exactly know the file does not exist. But EACCES(current user has not
all search permission in the file path) and other errors appeared
we can't know whether file exits. So we should return false indicate
there are some error appeared.

Test: ran unit tests
Change-Id: I75788bf0621040812413d52596b5effb628fd0b1
Signed-off-by: liwugang <liwugang@xiaomi.com>
2018-07-12 17:35:17 -07:00
Treehugger Robot b399456303 Merge "liblp: Clean up public headers." 2018-07-12 22:55:35 +00:00
Christopher Ferris 5dce8ce747 Merge "Remove Memory::ReadField." 2018-07-12 22:37:18 +00:00
David Anderson b3fc16c5f3 liblp: Rename the metadata partition name to "super".
Bug: 79173901
Test: N/A
Change-Id: I99ccb095030c82cbc4bb89b40bff333decd35532
2018-07-12 14:08:42 -07:00
David Anderson 9c3c29466a liblp: Clean up public headers.
This changes reader.h and writer.h to be private includes. A new liblp.h
header now contains the public API surface of those two files, as well
as some miscellanious functions previously in metadata_format.h.

Bug: 79173901
Test: N/A
Change-Id: I40c5dda0c8e5765f8bccfd5c17b4c800b41be77b
2018-07-12 14:08:42 -07:00
Treehugger Robot d73414c5e8 Merge "liblp: Improve reliability of UpdatePartitionTable." 2018-07-12 20:13:43 +00:00
Christopher Ferris 5afddb0637 Remove Memory::ReadField.
In almost all cases, it is faster to read the entire structure rather
than do multiple reads using ReadField. The only case where it would be
slower is if doing a remote unwind and ptrace is the only way to read. In
all other cases, it's a single system call. In the ptrace call, it will be
multiple calls. Given that it is unusual to be forced to use ptrace,
it's better to avoid it.

It also reduces the code complexity to do a single read, and avoids
issues where the code forgets to read the field it needs.

Test: Unit tests pass on host and target.
Change-Id: I7b3875b2c85d0d88115b1776e1be28521dc0b932
2018-07-12 12:45:31 -07:00
Victor Khimenko 097381382b Merge "Separate namespace acquisition from library loading" 2018-07-12 16:53:02 +00:00
Elliott Hughes df398f2b67 Merge "libcutils: remove unused open_memstream." 2018-07-12 16:07:04 +00:00
Elliott Hughes fc567a9b95 Merge "libcutils: remove some unused API." 2018-07-12 16:07:00 +00:00
Victor Khimenko 1443ec4972 Separate namespace acquisition from library loading
This way native bridge namespace could be acquired in advance and when
library must be loaded JNIEnv is not needed.

Bug: http://b/79940628

Test: cts-tradefed run commandAndExit cts -m CtsGpuToolsHostTestCases

Change-Id: If8bff272fc5245eb4e418807c3bdd29e82833ab8
2018-07-12 15:44:35 +02:00
David Anderson a5cb671e94 liblp: Improve reliability of UpdatePartitionTable.
If UpdatePartitionTable is interrupted while writing metadata, the next
update becomes much more risky, as only one valid copy may exist. If
that subsequent update is interrupted, all metadata copies may be
corrupt.

To alleviate this, we now synchronize both metadata copies before each
update. If the backup copy is corrupted, we replace it with the primary
copy, and vice versa. Similarly if the primary and backup metadata do
not match, we sync the backup to contain the same data as the primary.

If for some reason this synchronization process fails, we do not proceed
to write a new partition table.

Bug: 79173901
Test: liblp_test gtest
Change-Id: Ic80cf9a5dc6336ff532e069ca5c8c76371550cb9
2018-07-11 17:14:12 -07:00
Treehugger Robot c457df7d34 Merge "liblp: Make it easier to test UpdatePartitionTable." 2018-07-12 00:08:52 +00:00
Treehugger Robot 32960e54b4 Merge "liblp: Refactor the partition table update API." 2018-07-11 23:44:13 +00:00
Treehugger Robot 1433f8ab2e Merge "Move libbacktrace off cutils." 2018-07-11 22:56:35 +00:00
Elliott Hughes c35d4a5213 libcutils: remove unused open_memstream.
Bug: N/A
Test: builds
Change-Id: I3c2d8acd4dfe42fbe883b14501cd47674d84f431
2018-07-11 14:28:21 -07:00
Elliott Hughes 721e3ebf55 libcutils: remove some unused API.
Bug: N/A
Test: builds
Change-Id: Iabe42353a708afde2611b5c642775849e2e45baa
2018-07-11 14:27:32 -07:00
Elliott Hughes 38488907a0 Move libbacktrace off cutils.
There's still <cutils/atomic.h> in a test, but I don't understand why
that isn't just std::atomic.

Also add a shared tgkill wrapper to libbase.

Bug: N/A
Test: ran tests
Change-Id: Idd4baa1e1670a84b3a8f35803cc5ffe5aae008a6
2018-07-11 13:55:07 -07:00
David Anderson 451694e29d liblp: Make it easier to test UpdatePartitionTable.
This change makes the internal UpdatePartitionTable function more
testable by parameterizing its write functions. It also adds two tests,
one of which exposes a flaw in the current implementation.

Bug: 79173901
Test: liblp_test gtest
Change-Id: I3c4112794b97d577a27f035baeac2d42ac75f552
2018-07-11 13:37:52 -07:00
Elliott Hughes 771f2c2a3e Merge "Remove unused #include." 2018-07-11 20:16:21 +00:00