Skip to content
Snippets Groups Projects
  1. Mar 26, 2019
    • Todd Eisenberger's avatar
      [devhost] Make stdout claim to be a TTY · 2e896a45
      Todd Eisenberger authored
      This enables line buffering, which folks were relying on for debugging.
      
      MA-573 #done
      
      Change-Id: I03c522eeab2cb5ceec8ff3459dc418d82b0a8c03
      2e896a45
    • Pascal Perez's avatar
      [fidlgen][go] Do not export request/response structs · eb94f057
      Pascal Perez authored
      To bridge between function arguments/returns and encoding/decoding, the
      Go bindings generate request/response structs holdings the various
      argument/return values. However, developers should not interact which
      these, instead using method calls and receiving returns.
      
      With the introduction of the error syntax, the fidlc compiler creates a
      name for the struct holding the value, i.e. the first variant of the
      result union where the second is the error. The name for this struct is
      suffixed by "Response" which used to clash with the response struct
      mentioned above.
      
      By keeping the request/response struct private (unexported), we avoid
      this clash.
      
      (This does not solve the more general problem of name clashing -- nor
      does it try to.)
      
      FIDL-519 #comment
      
      Change-Id: I50767de8d4b3e2d2cfd1b4f7fd4585ead9a455fd
      eb94f057
    • Benjamin Brittain's avatar
      [tel] Rename modem-mgr to telephony to remove -mgr suffix and clarify multiple modem responsibility · 6e9b1b9e
      Benjamin Brittain authored
      Change-Id: I2287ecb6f1a5092863d5e6ab4f66b1b2dc85de65
      6e9b1b9e
    • John Grossman's avatar
      [futex][test] Disable this test pending FLK-129 · 40acd349
      John Grossman authored
      Test appears flaky, but only in CQ.  Disabling for now until I can get
      to the bottom of things.
      
      FLK-129  #comment test being taken offline pending debugging.
      
      Change-Id: Ifc703993f2c30bfe97c7f1b1f2fc2dc102e836cf
      40acd349
    • David Reveman's avatar
      [scenic][escher] Use correct semaphore handle type bit. · 0669a485
      David Reveman authored
      eTempZirconEventFUCHSIA is the correct enum after switching to
      VK_FUCHSIA_external_semaphore.
      
      Change-Id: I918e96cfeb223b16e2a409dd12a60af48859f460
      0669a485
    • Ankur Mittal's avatar
      [libcomponent]: Narrow down visibility. · a28dc75d
      Ankur Mittal authored
      DX-387 #comment
      
      TEST=CQ
      
      Change-Id: I36ad246c5a8ec9e59000419492b4e05e154c874f
      a28dc75d
    • Pascal Perez's avatar
      [docs] Minor TOC fix · 32bdc9ff
      Pascal Perez authored
      'Using the error syntax' should be sub-section of 'How should I
      represent errors?'
      
      Change-Id: Ifeb567a2502e60788e0418e0712735f04a9e1821
      32bdc9ff
    • Doug Evans's avatar
      [tracing docs] Consolidate docs in //docs/development/tracing · 6d4ca749
      Doug Evans authored
      This just moves the files, merging them comes later.
      
      Change-Id: I1e98c3758a0840f711a9b829b74f1e847814797e
      6d4ca749
    • Erick Tryzelaar's avatar
      [system_updater] switch system_updater to use pkg resolver · b7daf363
      Erick Tryzelaar authored
      This switches the system updater to use package resolver
      for caching packages, instead of talking directly to amber,
      which will eventually make it easier to remove amber without
      disruption.
      
      Test: Manually ran system_ota_tests and confirmed update worked
      Bug: PKG-607 #done
      Change-Id: I5111f8011b5cf49e913208096529a9c7cc98dd7e
      b7daf363
    • Ilya Bobyr's avatar
      [third-party][rust] Update the docs link. · be9d96bc
      Ilya Bobyr authored
      Change-Id: Ia8a8b7a27d53040f87e58cb99b9a15826f76501b
      be9d96bc
    • Marty Faltesek's avatar
      [zircon][unittest] Rename clock.c to clock.cpp · 66795f1d
      Marty Faltesek authored
      File name change only. This CL doesn't migrate the code.
      
      ZX-3715
      
      Test: qemu. clock-test passes.
      Change-Id: I892d9dfffff1be96cc280afdcd67749b7712490c
      66795f1d
    • Gary Miguel's avatar
      Revert "[pty] switch apps/drivers to use FIDL instead of ioctls" · 44a708bf
      Gary Miguel authored
      This reverts commit 8c615366.
      
      Reason for revert: Could be causing tests to fail
      
      Original change's description:
      > [pty] switch apps/drivers to use FIDL instead of ioctls
      > 
      > Change-Id: Ie00688161e1d4313f603bf3ef2f29c5440b0e7c1
      
      TBR=voydanoff@google.com,smklein@google.com,teisenbe@google.com,cjn@google.com
      
      Change-Id: Ifa33598f68aa8e5ecd072e7f7ca8b6d75e2144d1
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      44a708bf
    • Abdulla Kamar's avatar
      [core] Modify printfs in bootsvc and devcoordintor · 7865268a
      Abdulla Kamar authored
      Now that output to debuglog is fixed, this adds printfs to bootsvc,
      fixes other printfs in bootsvc, and removes a superfluous printf in
      devcoordintor.
      
      Change-Id: Ic22db1e626d07b862c62ad4d52867e7e3028f8aa
      7865268a
    • Adam Barth's avatar
      [build] Disallow several generic package names · e88da226
      Adam Barth authored
      People sometimes try to name their packages one of these names, which we
      should avoid because they're too generic.
      
      Change-Id: I6ebaf9e26b8d88c53c494fb98cfbbc05f4a0f56b
      e88da226
    • Brian Hamrick's avatar
      [tracing] Fix typo in context switch record documentation · b781b241
      Brian Hamrick authored
      Change-Id: If8aa4243a71e479f84b9947392853669c9bd5a81
      b781b241
    • David Gilhooley's avatar
      [input_reader] Iterate over all HID Reports · 24e05f03
      David Gilhooley authored
      Iterate over all HID Reports in the Report
      Descriptor and create a Device for each
      Report ID that requires its own device.
      
      This adds support for composite devices
      that have multiple Reports. E.g some
      touchscreens have seperate reports
      for the touchscreen and the stylus.
      
      Only fail if we are unable to find
      a single HID Report that we can
      parse correctly.
      
      SCN-1251 #comment
      
      Change-Id: Ia366232fc243ec634365615e16e3f48c68c12d94
      24e05f03
    • David Gilhooley's avatar
      [input_reader] Fix touch driver's report IDs · 595674f6
      David Gilhooley authored
      The touchpad and touchscreen drivers depend
      on the touch driver. Call the touch driver's
      report Id function so the ReportId() call
      works correctly.
      
      Change-Id: I974f8650d39b76b85124ca13cb23fad7ec30ad4f
      595674f6
    • David Gilhooley's avatar
      [input_reader] Add structures to support composite devices · bbd22461
      David Gilhooley authored
      Add an InputDevice struct to InputInterpreter that
      will hold all of a given device's information.
      This will allow us to have an array of devices
      from a single Hid endpoint, and it will allow
      us to support composite devices.
      
      It also allows us to add more device types by
      only editing a single location in InputInterpreter
      
      SCN-1251 #comment
      
      Change-Id: I2bef76256b46771db4b1c19db9ffae7b82dec13c
      bbd22461
    • David Gilhooley's avatar
      [input_reader] Fix MockInputDeviceRegistry callbacks · a38eb205
      David Gilhooley authored
      The callback for RegisterDevice in the mock framework
      would std::move the callback function. This prevented
      the mocking framework from registering more than one
      device successfully.
      
      Change-Id: I07560239035b169202a985b0d45e6f972a86e1b8
      a38eb205
    • Nick Maniscalco's avatar
      [zircon][object] Free PortObservers when PortDispatcher is closed · 74212bea
      Nick Maniscalco authored
      PortDispatcher is retained by its PortObservers. Prior to this change,
      PortDispatchers were not freed until the source Dispatcher was
      canceled or closed. This made it easy to "leak" PortDispatcher and
      PortObserver objects.
      
      Now, when PortDispatcher's handle count drops to zero, it cancels the
      observed source dispatchers and frees all PortObservers that might be
      retaining it.
      
      Testing:
      
      1. Manually verified that port dispatchers are freed by running a test
      (as described in ZX-3379) that continually creates a port, does an
      object_wait_async, then closes the port. Watched kcounters and
      observed the number of port dispatchers did not grow without bound.
      
      2. Ran port-test's cancel_stress on x64/qemu+kvm and arm64/qemu+kvm
      with a high kStressCount.
      
      3. Ran port-test's new signal_close_stress on x64/qemu+kvm for several
      minutes.
      
      4. Ran fuchsia tests under lockdep and verified no new lockdep
      issues (build with "ENABLE_LOCK_DEP := true" in local.mk, "fx run -k",
      then "runtests").
      
      Performance:
      
      Ran port related zircon_benchmarks on Eve (--filer=Port). While
      results varied from run to run both at HEAD and with this patch, no
      consistent performance regression were observed (i.e. sometimes HEAD
      was faster, sometimes this patch was faster).
      
      Bug: ZX-3379 #done
      Test: various tests described above
      Change-Id: I9aa80844415c932f755d6818d3b38e24ccec89cd
      74212bea
    • Erick Tryzelaar's avatar
      [fuchsia-hyper] Add support for https clients · c0ffb6b1
      Erick Tryzelaar authored
      This CL extends fuchsia-hyper to add support for communicating
      with https web services by using rustls to provide for encrypted
      communication.
      
      In addition, it modifies HyperConnector to default to port 80/443
      if a port was not specified in the url.
      
      Bug: PKG-538 #done
      Change-Id: Ie020bc0c3f8fd4a8f0128ace0e744b16fa3c6977
      c0ffb6b1
    • Erick Tryzelaar's avatar
      [amberctl] switch amberctl to use pkg resolver for caching packages · b3a84c1d
      Erick Tryzelaar authored
      This switches amberctl to use package resolver for caching packages,
      instead of talking directly to amber, which will eventually make it
      easier to remove amber without disruption.
      
      Note that this also removes `amberctl get_up -nowait ...`, because
      that functionality cannot be replicated with the PackageResolver API
      and golang's synchronous implementation of FIDL.
      
      Test: Manually confirmed it can cache packages.
      Bug: PKG-520 #done
      Change-Id: I4e0b878bf3b31edfe7d0fe23afc080e26c0e7e04
      b3a84c1d
    • Gary Bressler's avatar
      [componentmgr] Move find_{offer,expose}_source to cm_rust · b4ecfe0a
      Gary Bressler authored
      Change-Id: I60a493d9d20807af0f2d7f686f2aec311d27b4d7
      b4ecfe0a
    • Craig Stout's avatar
      [magma] Update vkloop · 38e00cd9
      Craig Stout authored
      The shader while(true) loop was being removed by the Intel compiler.
      Instead, read and write a memory location forever.
      
      MA-530 #done
      
      Test:
      nuc:go/magma-tps#L0
      vim2:go/magma-tps#L0
      
      Change-Id: I6462151e9141d14fe46b15b8000bc38af0274539
      38e00cd9
    • Jeff Belgum's avatar
      [cobalt][rust] Rustfmt fuchsia-cobalt · a8971825
      Jeff Belgum authored
      TEST=fx build
      
      Change-Id: Ieffee5e4e62d77b9168fea4f8e3ff315d851dd9c
      a8971825
    • Ankur Mittal's avatar
      [libsys] Delete old testing utilities. · c087d544
      Ankur Mittal authored
      Also making ComponentContext and ServcieDirectory final.
      
      DX-387 #comment
      
      TEST=CQ
      
      Change-Id: Iaedd26170d7aadcc0bfd366307edbdf8b0c14431
      c087d544
    • Nick Pollard's avatar
      [bt][tests] Enforce ordering of device creation and teardown in tests · 1e475ffb
      Nick Pollard authored
      Fix a test flake in the Bluetooth integration tests caused by undefined
      ordering of behaviors and state in reasoning about available hci and
      host devices. This caused some expectations about the availability of
      the fake devices under test to be falsified.
      
      We now use the Control interface to wait for specific states of bt-gap,
      and ensure that the bt-host addition and removal are strongly ordered
      with respect to our test behavior.
      
      This commit also improve failure messages for test predicates.
      
      FLK-106 #done
      
      test: runtests -t bt-host-integration-tests
      
      Change-Id: I7a5278414639b00698dd57d2e3063f5f941f67c7
      1e475ffb
    • Marty Faltesek's avatar
      [zircon][zxtest] Migrate fifo to zxtest and port code to cpp · 24227975
      Marty Faltesek authored
      Also refactored into smaller tests.
      
      ZX-3719 # Done
      
      Test: qemu. fifo-test passes.
      Change-Id: I2fbebc9cfc4f2cfc82434f397087fb8fb4e4efab
      24227975
    • Alexandre Zani's avatar
      Revert "[cobalt] Enable encryption to the shuffler." · 9a7d93d5
      Alexandre Zani authored
      This reverts commit 81345fa6.
      
      Reason for revert: There is evidence decryption is failing in the backend.
      
      Original change's description:
      > [cobalt] Enable encryption to the shuffler.
      > 
      > testing=manual
      > 
      > Change-Id: I1f68574278249f879fce7b2bb8fb6325f6f75b8a
      
      TBR=azani@google.com,pesk@google.com
      
      Change-Id: I3d12510f82065f8999c8c0a68eb87b26a881a94c
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      9a7d93d5
    • Jody Sankey's avatar
      [auth] Add option to force token deletion if revocation fails. · 65c13354
      Jody Sankey authored
      Recently we've been seeing some problems with deleting accounts while
      the network is unavailable following a "factory reset". Originally this was
      because the deletion was being performed right after a reboot before the
      network came up. At the time SysUI and Identity agreed to move the
      deletion as a stopgap and add a force option as a longer term solution.
      
      Unfortunately last week we made a different change. This CL implentments
      the longer term solution we'd previously agreed, letting clients choose
      whether its more important to maintain consistency between client and
      server state or to actually get rid of the tokens.
      
      Change-Id: Idc3c12028ad4d6a19cf3d7f81b6a54eeda4a611a
      65c13354
    • Carl Norum's avatar
      [pty] switch apps/drivers to use FIDL instead of ioctls · 8c615366
      Carl Norum authored
      Change-Id: Ie00688161e1d4313f603bf3ef2f29c5440b0e7c1
      8c615366
    • Sam Hansen's avatar
      [msm8x53][clock] Add SoC clock control registers. · 7378e032
      Sam Hansen authored
      Test: build.
      Change-Id: I5c918829ed849fb2debce719e0f8551ecc8f49fa
      7378e032
    • Mukesh Agrawal's avatar
      [bt][l2cap] rename l2cap_internal to frame_headers · 6dd7787b
      Mukesh Agrawal authored
      The current name isn't very descriptive. Rename this file to something
      more appropriate.
      
      Bug: BT-442
      Test: bt-host-unittests
      
      Change-Id: I30a00c15ec788423c4aa8213dcc4b5b12a9ab65c
      6dd7787b
    • Stephen Demos's avatar
      [pseudo-fs] move validate_flags for files to common module · 11ee6abc
      Stephen Demos authored
      Flag validation should be deduplicated as much as possible between
      different implementations of pseudo files. This moves the flag
      validation function to the common module within file so it can be used
      by other file implementations.
      
      Test: CQ
      Change-Id: I8b244db3595e2106096581d6d0d31473f4cbcf2b
      11ee6abc
    • John Bauman's avatar
      [magma] Allow creating physically-contiguous buffers · b37bb7ec
      John Bauman authored
      Needed for PowerVR GPUs.
      
      Change-Id: I112d34206406e1ef435d7b8bd9b79e0b49a25092
      b37bb7ec
    • David Pursell's avatar
      [exceptions] channels #2: add ExceptionDispatcher · f6173dc2
      David Pursell authored
      This will be used to transmit an Exception object over a channel to
      userspace.
      
      ZX-3072
      Test: `k ut exception` and `runtests -t exception-test`
      
      Change-Id: I02f43b2e2564f1b81fc5aad711f111e236d1c0d9
      f6173dc2
    • John Grossman's avatar
      [kernel][futex] Refactor futex state tracking. · 51b2bba3
      John Grossman authored
      Refactor the way that we track futex state in the kernel.
      
      Previously, the way that we tracked state was to have a FutexNode
      object which was held on the stack for each waiting thread.  The
      FutexNode was an object which played two roles.  When it was the head
      of a list of waiters, it maintained any per-futex-state in addition to
      maintaining the per-waiter state.  When it was just another waiter in
      the queue, it had storage for the per-futex-state, but really was only
      holding on to the per-waiter state.  Whenever the head of the waiters
      for a particular futex changed, bookkeeping code needed to transfer
      the per-futex-state from the old head to the new head.
      
      This approach was pretty neat as it resulted in lockless O(1)
      allocation for futex state which could not fail (baring a kernel stack
      overflow).  Still, there were some downsides to the approach.  In
      particular...
      
      ++ Part of the per-waiter state was a wait_queue_t; Basically ever
         futex waiting in a queue had their own dedicated wait_queue object.
         While not incorrect, this approach makes it difficult when we want
         priority inheritance to become involved.  It is easier to use a
         single wait_queue_t for all of the futex waiters as this allows the
         scheduler code to become involved in the decision of who to release
         from a futex during a wake or a requeue operation.  Also, it aligns
         the data structure used to hold waiting between futexes and the
         rest of the kernel.  Now, as the scheduler evolves and changes are
         made to how waiters wait, a set of futex waiters is guaranteed to
         have the same behavior as any other set of waiting threads.
      ++ Because of the slightly tricky way in which the FutexNode storage
         was being held, custom container code was needed.  Again, there is
         nothing inherently wrong with this, but the existing test code had
         no tests, and raised the readability bar for someone new to the
         code.
      ++ As the per-futex-state storage needs start to grow in order to
         implement PI, maintaining the code which moves the futex state from
         old-head to new-head starts to have new requirements which need to
         be met.  Remembering to do this in all of the proper places can
         become burdensome and prone to failure.  While refactoring the code
         to centralize the logic would be possible, the logic is not needed
         if the bookkeeping is centralized.
      
      So; enter this change.  Instead allocating this state on the stack any
      time there is a waiter, we shift to the following approach.  Start by
      recognizing that a futex only has state while it has waiters.
      Therefor, the absolute maximum number of futex state structures we
      need in a process limited to the number of threads in the system.
      When a thread is created, we can dynamically allocate a structure for
      tracking per-futex-state and contribute it to our process's
      FutexContext state pool.  When a thread exits, it may remove a state
      structure from free pool and let it's reference go out of scope.
      
      In the meantime, code actually waiting on a futex can simply look up
      the futex state for the futex in question from the associative
      container (currently a hashtable backed by DLL buckets) which maps
      from futex id to futex state structure, or just grab a new one from
      the futex free pool if there are no current waiters for the futex in
      question.
      
      The free pool in this situation is a simple list, so our O(1)
      allocation property is preserved.  We now need a lock in order to
      protect our free and active collections, but this can be the same lock
      which was already needed to protect the free/active state of a given
      futex's state, so no additional cost is being paid.  Finally, because
      of the argument given above about the maximum number of active futex
      contexts in a process being the same as the active number of threads
      in the process, we are guaranteed to never be able to fail to allocate
      futex state.
      
      ZX-1798  #comment Refactor futex state to prepare for moving ownership down into the wait queue level.
      
      Tests: Build and overnight unit tests on QEMU, NUC and VIM2
      Change-Id: I1451929e24a1bcb504be3f94ce858dbb6c7875f5
      51b2bba3
    • Todd Eisenberger's avatar
      [devcoordinator] Implement and test component unbinding · 2fa83bc5
      Todd Eisenberger authored
      If a component of a composite device goes away, the composite should be
      removed, too.
      
      Change-Id: I0ddb40706253dd2b87ea3f329125b99c2cbe5ef3
      2fa83bc5
    • Carl Norum's avatar
      [unistd] remove isatty hack · c1a4d8fa
      Carl Norum authored
      - fix ZX-972
      
      Change-Id: I14b5b1fda185098d35288113b059d7b53555240f
      c1a4d8fa
    • Ankur Mittal's avatar
      [appmgr][test] Switch to new testing utility. · 8c9e4f6f
      Ankur Mittal authored
      DX-387 #comment
      
      TEST=CQ
      
      Change-Id: I0fe34811ab118935ee4d0b3caeb87c9485fd5ad2
      8c9e4f6f
Loading