- Feb 12, 2019
-
-
Doug Evans authored
Driver tracing support is now always compiled in. ZX-3317 #done Tested: CQ Change-Id: Ic5e9f952f3f93a9000404bb33bae62456ad4d6ae
-
Pascal Perez authored
FIDL-436 #done Test: reads the docs Change-Id: Idb5748b4c88e8d028ecff8e3264cd508ab212e72
-
Gianfranco Valentino authored
Macros for C and C++ implementation were shared, which makes hard to handle C++ specific features (non copyable, non moveable, etc). They have they own base assertion impl, which allows us to have explicit conversions. ZX-3391 #done TEST=zxtest-integration-test Change-Id: I426c8f59dc413104034c40c3bc08dd9921728d95
-
Jean-François Geyelin authored
Bug found using clang-tidy with bugprone-use-after-move. The fix works because: `callback` is a `fit::function<void(const GetTokenResponse& response)>` TEST=CQ LE-659 #done Change-Id: I2044644462741fa38cef65d7d2f41c9fc1f5b447
-
Craig Tiller authored
Test: Overnet unittests Change-Id: I50278aa49caacb48a8c4030671663d31b0e257b6
-
James Tucker authored
The updater depends on this binary, but it can not invoke it from within it's sandbox due to loader service concerns. Including the binary in the package ensures that all necessary libraries (and the binary dependency itself) are included in the package namespace and loader. Test: fx ota Change-Id: I78bb9495c5ad8e55984afca3429164988b803898
-
Felipe Archondo authored
Test: tiles traces Change-Id: I3b010164a1d4cd5dc4a4a70229309b071724f366
-
André Pang authored
The wire format for an optional xunion inside a struct was a pointer to the xunion, which resulted in a double-indirection to the xunion data (pointer to xunion, followed by a pointer to the data in the xunion's envelope); it should be an inline xunion instead. This matches the Rust implementation. Test: # added typeshape test for xunions to max_bytes_tests.cpp Test: make HOST_USE_ASAN=true tools && $FUCHSIA_DIR/zircon/build-x64/host_tests/fidl-compiler-test Test: # added xunion wire format tests to roundtrip_test.cc Test: fx build-zircon -A -H -l && fx build host_x64/fidl_cpp_host_unittests && $FUCHSIA_DIR/out/x64/host_x64/fidl_cpp_host_unittests Test: fx build garnet/go/src/fidl && fx exec $FUCHSIA_DIR/garnet/go/src/fidl/compiler/backend/typestest/regen.sh Change-Id: If934dfb544479c1b9190abc024bcf5cc6e43a507
-
Robert Hahn authored
Test=CQ (already covered) Change-Id: I6bae7e65c032bbbfa0f71e5702be605cbc744dfb
-
Bruno Dal Bo authored
Removing fuchsia-zircon and fuchsia-zircon-sys from *IN_TREE_THIRD_PARTY_PACKAGES* list, as it's no longer necessary to generate correct Cargo.toml files. TEST: clean build locally, verified that generated Cargo.toml files could be imported by Clion. Change-Id: I788b182d345cc6d15b4afd06d033ee64fef0af19
-
mukesh agrawal authored
Add a few slab allocation benchmarks. The benchmarks exercise multiple allocation sizes (64 bytes and 8KB, respectively), and multiple allocation patterns. The motivation for multiple sizes is to quantify any scaling behavior with the size of the allocation. The motivation for multiple patterns is to identify the impact of access patterns on allocation cost: * The AllocAndFree pattern represents (presumed) best-case behavior, as the memory pool should be unfragmented. * The RetainAndFreeOldest pattern abstracts a network copy workload, when copying from a fast source, to a slow sink. * The RetainAndFreeRandom pattern attempts to quantify the effects of memory fragmentation. Bug: ZX-3242 Test: /pkgfs/packages/zircon_benchmarks/0/test/zircon_benchmarks \ -p --filter "SlabAlloc/Static/" # on eve Change-Id: Id79fbcae592e737cd0917e23e92efd0be8f45b18
-
Christopher Tam authored
This change addresses adds some good practices for handling raw strings in the USB peripheral driver: * FIDL strings are not guaranteed to be null-terminated, so ensure they are terminated at the length specified in params * Check that raw strings in UsbConfig are properly terminated and do not overrun their respective buffer sizes Test: no behavioral changes Change-Id: I655654caa53a2c57b002c076b47ce279812e6f72
-
mukesh agrawal authored
Now that we pass ByteBuffers up from L2CAP, we no longer use ViewFirstFragment(). So remove it. Bug: BT-716 Test: fx run-test bluetooth-tests -t bt-host-unittests Change-Id: Id18485d15320eebbaa00422d74b97ff8d47a130a
-
Jean-François Geyelin authored
DNO-409 #done TEST=Run the fuchsia-arm64-asan tryjob. Verify that `EnsureCalled.MoveAssign` succeeds. Change-Id: I956247dc9aba86ac687d9201a0cbb3c1c6fa7904
-
mukesh agrawal authored
Now that PDUs are flattened into ByteBuffers before passing them to clients, we no longer need PDU::Reader. So remove it. Bug: BT-716 Test: fx run-test bluetooth-tests -t bt-host-unittests Change-Id: I2db0d5cb83f555b9408804e9c1edaef564ce5048
-
mukesh agrawal authored
Now that we've updated client code to receive l2cap::Channel data with a ByteBuffer instead of a PDU, remove the SDU typedef. Also: when invoking a callback with the content of a service-data-unit, move ownership of the data (which is now in a ByteBuffer, rather than an SDU-typed-object) to the callee. Bug: BT-716 Test: fx run-test bluetooth-tests -t bt-host-unittests Change-Id: I8e889b88bf00d1f78d6de14ba9a14adbad8d591a
-
Ambre Williams authored
When deleting a page, the page manager is not present, but we still want to keep the LedgerManager around. This changes makes LedgerManager non-empty as long as there are pages marked busy. TEST=LedgerManagerTest.NonEmptyDuringDeletion Change-Id: I78df7a4191b6c91467b5fd83c047828c0ec4face
-
mukesh agrawal authored
To pave the way for the upcoming support for L2CAP Segmentation and Reassembly, define SDU to be a ByteBufferPtr, rather than an PDU. Note that latter CLs will remove the SDU typedef entirely. Bug: BT-716 Test: fx run-test bluetooth-tests -t bt-host-unittests Change-Id: I5dd1a516576fc5e9c0680cc5f6e1cee8c26152dd
-
Jean-François Geyelin authored
TEST=run garnet_lib_tests with ASAN enabled everywhere. Notice ASAN does not complain anymore. Change-Id: I45eb6458ebd2cd6c7426421c788c0b2467cc3ec1
-
Ambre Williams authored
In PageStorageImpl::IsEmpty, the return status of SynchronousGetCommit was not checked for Status::INTERRUPTED. TEST=stops occasional "FXL_DHECK(!interrupted_)" when running fx set x64 --products peridot/products/test_modular.gni fx shell "/pkgfs/packages/modular_tests/0/test/run_modular_tests.sh clipboard" Change-Id: I9876d20964d44b31fd83a2933166d91bc500b5f6
-
Ambre Williams authored
The callback from LedgerStorageImpl::DeletePageStorage can be called after the ledger storage (and the ledger manager) is destructed, so it needs to be scoped to the LedgerManager. TEST=stops occasional asan crash in modular tests (fx shell /pkgfs/packages/modular_tests/0/test/run_modular_tests.sh) Change-Id: I07006b9e3a6651826596d800d2c6b6ac2c5f8c45
-
Vickie Cheng authored
Bug logs: https://paste.googleplex.com/5022321194565632 TestWithLedger was setting up a ledger_client_ in SetUp() and stopping it in TearDown(). Our test expects session_storage_ to outlive ledger_client_, but ledger_client_ was dying in TestWithLedger::TearDown() before TestWithSessionStorage::~TestWithSessionStorage() is called. This change moves ledger_client_ startup and shutdown to TestWithLedger's constructor and destructor. TEST=fx set x64 --packages peridot/packages/buildbot --variant asan fx run-test sessionctl_unittests MF-196 #comment Fix sessionctl_unittests Change-Id: Idcce4128e9f361db1905c5e7ce508e96a9b0c596
-
mukesh agrawal authored
Channel references some symbols that are provided indirectly by sdu.h, rather than including the relevant headers directly. Update channel.h to include the relevant headers, so that we don't run into problems when we change the relationship betwen SDU and PDU. Bug: BT-716 Test: fx run-test bluetooth-tests -t bt-host-unittests Change-Id: I139d92b21a080d86bf906f6cd648c16bcfe79d3d
-
Gabriel Kerneis authored
fx run-test now needs -t parameters to come after the package name. Test: ran documented commands Change-Id: I5b360c9b52c325c44ec597590ac4588d7958228a
-
Suraj Malhotra authored
In addition, a validation step post-constant ast parsing was added to validate constant types are correct. Tested: fx run-host-tests banjo_host_tests Change-Id: If67c4a7e694909fa3a18374662fe83ed7078790c
-
James Tucker authored
A shell command is required to invoke this program inside a shell environment that does not share a library ABI intersection with the binaries dependencies. Test: manual invocation of benchmarks.sh Change-Id: I990c6d8d01c62daab7e6cc38e76563af70507bd7
-
mukesh agrawal authored
We need to modify the Session class as part of updating l2cap::Channel to invoke |rx_callback| with a ByteBuffer instead of a PDU. Apply clang-format to the Session class before-hand, to make the upcoming patch clearer. Bug: BT-716 Test: fx run-test bluetooth-tests -t bt-host-unittests Change-Id: I00ccc926c95ae043a7683321da0ba7e1a43036bf
-
Nicolas Sylvain authored
This reverts commit 52059d08. Reason for revert: breaks global integration Original change's description: > [netstack] Route table re-architecture > > Note: Part of the code implements a soft transition in the netstack.fidl to > avoid breaking Chromium. The soft transition copies and extends the > NetInterface and RouteTableEntry structs as well as the functions using them. > Once Chromium transitions away from netstack.fidl this can be removed. > > The main change cleans up and improves the route table logic by doing several > things: > > 1) > The per-interface route tables stored in netiface.NIC are removed and > consolidated in its own route_table package and RouteTable type. > > 2) > The fuchsia.netstack.fidl RouteTableTransaction interface is simplified by > replacing the current {Get,Set}RouteTable and Commit functions with simpler > {Add,Del}Route ones. This also matches the {Add,Del}ForwardingEntry APIs in the > new fuchsia.net.stack nicely. > > 3) > > The RouteTable type implements a sorted table of routes that carry additional > attributes besides the standard tcpip.Route, most importantly a metric value > that is used as a tie-breaker when sorting the table. The metric can either be > statically chosen by the user, or dynamically chosen by tracking the metric of > the interface the route points to. An according metric value is added to the > netiface.NIC struct, which can be overwritten via ifconfig command. This allows > to favor defaults routes going out a specific interface. E.g., if both WLAN and > Ethernet ports have obtained IP addresses and gateways via DHCP, setting a > lower metric on the WLAN interface can favor it over the Ethernet one so its > default route is sorted above the Ethernet's. > > In addition, static IPs assigned to an interface as well as their subnet routes > are not removed anymore when the interface goes down. Rather, Netstack > remembers whether the address was obtained dynamically (DHCP) or statically and > only removes the dynamic one. Static IPs remain assigned, but its subnet route > disabled via an extended route attribute, so it isn't used by gVisor Netstack. > Eventually, this behavior should be coming from netcfg. > > NET-1773 #done > NET-1916 #done > NET-2054 #done > NET-1978 > NET-1223 > > Tested: > - Unit-tests: fx run-test netstack_gotests > > - Manual tests on device: > Plug eth04p into MacBook, configure static IP on MacBook: > sudo ifconfig en8 inet 192.168.10.2 netmask 255.255.255.0 > > On Toulouse: > fx shell ifconfig ethp04 up > fx shell ifconfig ethp04 > (should be UP, metric 100) > > fx shell ifconfig ethp04 add 192.168.10.3/24 && fx shell ifconfig ethp04 && \ > fx shell ifconfig route show > (verify new IP is set, and new "192.168.10.0/24 via ethp04 metric 100" route entry in the proper place) > > ping 192.168.10.2 > (pinging MacBook succeeds, same goes for the other direction pinging > 192.168.10.3 from MacBook) > > fx shell ifconfig ethp04 down && fx shell ifconfig ethp04 && \ > fx shell ifconfig route show > (IP address and route remain, but are disabled) > > ping 192.168.10.2 > (Pinging either direction doesn't work) > > fx shell ifconfig ethp04 up && fx shell ifconfig ethp04 up && \ > fx shell ifconfig ethp04 && fx shell ifconfig route show > (IP and route still there, re-enabled) > > ping 192.168.10.2 > (pinging works again in both directions) > > fx shell ifconfig ethp04 metric 50 && fx shell ifconfig ethp04 && \ > fx shell ifconfig route show > (if and route metric changed to 50, route moved up one spot) > > fx shell ifconfig route add 192.168.20.0/24 iface ethp04 && \ > fx shell ifconfig ethp04 && fx shell ifconfig route show > (Route is added to the table, no gateway, metric is 50 from ethp04) > > fx shell ifconfig route add 192.168.30.0/24 iface ethp04 gateway \ > 192.168.30.1 metric 150 && fx shell ifconfig ethp04 && \ > fx shell ifconfig route show > (Route is added, with gateway, metric is 150, not tracking ethp04, sorted > below the other routes on ethp04 due to higher metric) > > fx shell ifconfig route add 0.0.0.0/0 iface ethp04 gateway 192.168.30.1 \ > metric 110 && fx shell ifconfig ethp04 && fx shell ifconfig route show > (Default is added, with gateway 192.168.30.1, metric 110 not tracking > ethp04, sorted below other default routes due to higher metric) > > fx shell ifconfig ethp04 metric 200 && fx shell ifconfig ethp04 && \ > fx shell ifconfig route show > (all routes tracking ethp04's are updated to metric=200 and the table is > resorted) > > fx shell ifconfig route del 0.0.0.0/0 iface ethp04 && \ > fx shell ifconfig ethp04 && fx shell ifconfig route show > (Removes default route on ethp04) > > fx shell ifconfig route del 192.168.30.0/24 && fx shell ifconfig ethp04 && \ > fx shell ifconfig route show > > fx shell ifconfig route del 192.168.20.0/24 && fx shell ifconfig ethp04 && \ > fx shell ifconfig route show > (Removes 192.168.{30,20}/24 routes) > > fx shell ifconfig ethp04 del 192.168.10.3/24 && fx shell ifconfig ethp04 && \ > fx shell ifconfig route show > (IP and route are removed) > > Change-Id: Id6b4232986493ec313d29d4f236461c491eeda2e TBR=stijlist@google.com,tamird@google.com,eyalsoha@google.com,brunodalbo@google.com,ckuiper@google.com Change-Id: I70843342680d315447b29db62de4b83f6bb7754c No-Presubmit: true No-Tree-Checks: true No-Try: true
-
Roland McGrath authored
There's some bit rot in this untested configuration. Test: fx set arm64 --args=magma_enable_tracing=false --available garnet/packages/kitchen_sink && fx full-build Change-Id: Ibdf645cccbb484964b6da11343ebe45c52743ad4
-
Andres Oportus authored
Test: record a wav file, check validity and listen to contents. $ audio record /tmp/noise.wav 10 audio record /tmp/noise.wav Recording for 10.0 seconds ZX-3345 # done Change-Id: I1a6408c890800b3d705f150cedef353c7464909d
-
Jeremy Manson authored
Test: fx run-test fidlcat_tests Change-Id: Ic5e1290b3ea03da16bfd9b69833bfe14c4e64acb
-
Joshua Seaton authored
A continuation of https://fuchsia-review.googlesource.com/c/garnet/+/238489 and https://fuchsia-review.googlesource.com/c/fuchsia/+/250309 Test: fuchsia-x64-release-host, an optional tryjob that runs linux tests on a separate bot: zxdb_tests passed https://ci.chromium.org/p/fuchsia/builders/luci.fuchsia.try/fuchsia-x64-release-host/b8921859779873716160 Bug: IN-819 Change-Id: Ic1888f2ed7de44aa03a8a4c8bcc9217f993027bc
-
Adam Barth authored
This function is deprecated and unused. Test: Compiles. Change-Id: Iece2972ff92d747763cfeda856d80e16838bde83
-
Josh Gargus authored
The biggest change is for PaperRenderer2 to always use the "latched pose buffer" representation for camera matrices, and to use a Vulkan push constant to choose the left or right eye matrix. This is the easiest way to maintain compatibility with the old PaperRenderer. Escher's CommandBuffer abstraction has a limitation where it stomps on binding-resource IDs when beginning a render pass. This CL adds DCHECKs to detect such misuse. Various Scenic clients (root_presenter and examples) are updated in anticipation of the PaperRenderer2 integration. For example, hello_scenic takes a command-line argument to specify the shadow-type to use, and also exercises clipping using the recently-added SetClipPlanesCmd. Also, the upcoming "stencil shadows" will initially only work with PointLights, so clients add these in addition to the existing ambient and directional lights. SCN-670 #comment TEST= hello_scenic, hello_base_view, hello_pose_buffer, hello_stereo escher_unittests (host and target) Change-Id: I3e9cc9576e1231321044df7af84a8a3f61e86980
-
Benjamin Brittain authored
Test: fx run-host-tests banjo_host_tests Change-Id: I42b175500b9611700ecfa4d7efbc89ef150d3ee1
-
Marty Faltesek authored
ASSERT in hw_rng_get_u32 trips in the legitimate case when hw_rng_get_entropy() returns 0 if a platform doesn't support hardware RNG. Instead print a message if HW RNG is not present. Test: QEMU x64/arm64 no longer panics when running 'k rng32'. Test: works on pixelbook. ZX-1417 Change-Id: I5e88917e705f6baa4a4351a8adbd8eb7b73f5740
-
Scott Graham authored
With warnings enabled in pending gn build, clang doesn't like using subtraction to mask for alignment. [0->1/1 ~1] CXX host-x64-linux-clang/obj/system/host/zbi/zbi.zbi.cpp.o ../system/host/zbi/zbi.cpp:1273:30: warning: higher order bits are zeroes after implicit conversion [-Wimplicit-int-conversion] size_t header_size = ZBI_BOOTFS_PAGE_ALIGN(sizeof(header) + dirsize); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../system/public/zircon/boot/image.h:287:44: note: expanded from macro 'ZBI_BOOTFS_PAGE_ALIGN' (((size) + ZBI_BOOTFS_PAGE_SIZE - 1) & -ZBI_BOOTFS_PAGE_SIZE) ~ ^~~~~~~~~~~~~~~~~~~~~ ZX-3415 #comment [gn][zbi] Avoid implicit-int-conversion warning on clang Test: CQ Change-Id: I13d5515db89694632590663d0c35ea0af1001733
-
Todd Eisenberger authored
Test: None ZX-3410 #comment Implement the interface Change-Id: Ifcd72c4c1a889e0e5e45131bd21833258ccd937d
-
Pascal Perez authored
Adding two new built-ins, `byte` and `bytes`, to represent uint8 and vector<uint8> respectively. The `bytes` alias can be bounded, or marked nullable, i.e. it is a replacement to using a vector of uint8. We'd like to support such aliasing generically, and discussions to that effect have been ongoing, but this feels like a nice small addition while we're waiting on a larger more general solution. FIDL-483 #progress Test: added one Test: make -j 72 HOST_USE_ASAN=true tools && ./build-x64/host_tests/fidl-compiler-test Change-Id: I10660b93478a9f4b9bb148ae3df2f17df9665073
-
Scott Graham authored
Pending gn host build will be more strict and reports: [0->1/1 ~1] CXX host-x64-linux-clang/obj/system/ulib/fs/libfs.block-txn.cpp.o ../system/ulib/fs/block-txn.cpp:93:43: warning: implicit conversion loses integer precision: 'unsigned long' to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] handler_->Writeblk(dev_offset + b, data); ~~~~~~~~ ~~~~~~~~~~~^~~ ../system/ulib/fs/block-txn.cpp:95:42: warning: implicit conversion loses integer precision: 'unsigned long' to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] handler_->Readblk(dev_offset + b, data); ~~~~~~~ ~~~~~~~~~~~^~~ ZX-3415 #comment [gn][libfs] Fix shortening warning in block-txn.cpp Test: CQ Change-Id: I1df3531502b627f6fac159629b5892016e165e69
-