History log of /system/libufdt/sysdeps/libufdt_sysdeps_vendor.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a3326ade5d90a747b549a209519331816243d800 20-Apr-2017 Chris Fries <cfries@google.com> libufdt: avoid to strdup() if possible

Memory allocation is slow in some platform. Uses stack to avoid
malloc/free if possible.

Also removed dto_strdup(). Doesn't need to implement it anymore.

Bug: 32969430
Test: ./tests/run_tests.sh
Change-Id: I68eae8fcf05e722089879ba3e95c55b136bb31ed
/system/libufdt/sysdeps/libufdt_sysdeps_vendor.c
3407a9c362f9c3930c68ab0548184a8215a9f8bd 28-Mar-2017 SzuWei Lin <szuweilin@google.com> Fix the problem of not enough merged dtb size

The dtc has suffix compression for string, ex. "a_string", "string"
and "ing", these strings could share a same string in dtb
string table. libufdt assumes the merged dtb size shouldn't larger
than the summary size of base and overlay dtb, and doesn't
apply the same compression.

The patch add a test case for this case and fix the problem.

Bug: 35255584
Test: tests/run_tests.sh
Change-Id: I6bac1e2823ca90dbdb852452544c41ab040a5ccc
/system/libufdt/sysdeps/libufdt_sysdeps_vendor.c
f6c209b3f409f879305ac9837524b9d34c850de6 27-Nov-2016 Li Chen <akaineko@google.com> libufdt: device tree overlay via unflattening FDT

The original version of libdtoverlay is slow in searching for
particular nodes and adding subnodes/properties due to the operations
on flattened device tree (FDT).

`libufdt` builds a real tree structure (named ufdt -- unflattned
device tree) from FDT. In the real tree, we can perform certain
operations (e.g., merge 2 subtrees, search for a node by path) in
almost optimal time complexity with acceptable additional memory usage.

With libufdt, we improve the merging of two dtb files from O(N^2) to
O(N), where N is the number of nodes in the tree.

Bug: 30800619
Test: run test scripts (see libufdt/tests/README)
Test: manually ported libufdt into a bootloader,
checked it can merge a base dtb and a dtbo to generate a final dtb
to boot the device

Change-Id: I1ff886bb8a62bad1451edcd7c4fe5cb48b7a034a
/system/libufdt/sysdeps/libufdt_sysdeps_vendor.c
eeaff8f66f44518a0e776957c6e0921f7799ace2 14-Dec-2016 Jeff Hao <jeffhao@google.com> Revert "libufdt: device tree overlay via unflattening FDT"

This reverts commit 3084ce7cbdff84093286459758f99c15082e6556.

Change-Id: I36f8252ea77c75301711009180c1908bb18e231c
/system/libufdt/sysdeps/libufdt_sysdeps_vendor.c
3084ce7cbdff84093286459758f99c15082e6556 27-Nov-2016 LiChen <akaineko@google.com> libufdt: device tree overlay via unflattening FDT

The original version of libdtoverlay is slow in searching for
particular nodes and adding subnodes/properties due to the operations
on flattened device tree (FDT).

`libufdt` builds a real tree structure (named ufdt -- unflattned
device tree) from FDT. In the real tree, we can perform certain
operations (e.g., merge 2 subtrees, search for a node by path) in
almost optimal time complexity with acceptable additional memory usage.

With libufdt, we improve the merging of two dtb files from O(N^2) to
O(N), where N is the number of nodes in the tree.

Bug: 30800619
Test: run test scripts (see libufdt/tests/README)
Test: manually ported libufdt into a bootloader,
checked it can merge a base dtb and a dtbo to generate a final dtb
to boot the device
Change-Id: I6a282cc99129d5280ecbf40852723f83735fa523
/system/libufdt/sysdeps/libufdt_sysdeps_vendor.c