Skip to content
Snippets Groups Projects
  1. Jan 23, 2018
    • P.Y. Laligand's avatar
      [build] Add documentation for the generation of GN build files. · 444d49d0
      P.Y. Laligand authored
      TO-562
      
      Change-Id: I159ee8ae73d05bbf42c3e64238b16ab82e2e634f
      444d49d0
    • Sean Klein's avatar
      [block] Fix intermediate error support for block transactions · 6762765e
      Sean Klein authored
      Previously, certain errors would call an "out-of-band" error
      response function if a response was requested. Unfortunately,
      in the case of a multi-message operation, if any intermediate
      messages caused an error, they would be silently dropped.
      
      This patch addresses that issue by ensuring that for ALL
      requests which have a valid txid, errors are "remembered"
      and transmitted when a response is requested.
      
      ZX-1581 #done
      
      Change-Id: Ife2f91f6f756bb8333664c6f234cf12f31cbab16
      6762765e
    • Sean Klein's avatar
      [block] Convert FIFO-based block protocol to use block units, not bytes · eff612b4
      Sean Klein authored
      ZX-1541 #done
      
      Change-Id: I115b59c0991f15dd312d9199583ebe583735b004
      eff612b4
    • Sean Klein's avatar
      [fvm] Convert FVM driver to use the new block protocol · 2b09d6c8
      Sean Klein authored
      Old iotxn mechanism locked behind IOTXN_LEGACY_SUPPORT.
      It is necessary to support lower-layer drivers which
      do not yet support the new protocol.
      
      ZX-1579 #done
      
      Change-Id: I8bddaf43bfc3daa5e24e0008e1e90825d3c9f206
      2b09d6c8
    • Abdulla Kamar's avatar
      [arm64][hypervisor] Change how we handle timers · bd83d29a
      Abdulla Kamar authored
      On every VM exit, we check whether the guest timer was set. If so, we
      setup a timer object to fire and inject an interrupt when the guest
      expected one.
      
      Previously, we would wait for a WFI before we setup a timer object,
      which would cause us to incorrect inject a timer.
      
      We also now ensure that interrupts are unmasked before we inject them.
      
      Change-Id: I1a1a2319a6d358f5a86d45ee251bafb6156a22bd
      bd83d29a
    • Petr Hosek's avatar
      [prebuilt] Roll Clang toolchain · cb92fa4a
      Petr Hosek authored
      llvm-project revision 343562fb40155031de118407e2d491e970f1bbd7.
      
      Change-Id: I77a580c0a50d8d27022afb35b4d4f72a7c890621
      cb92fa4a
    • Mark Seaborn's avatar
      [kernel][cbuf] Make use of preempt_disable with cbuf_write_char() · 1f4f0b2e
      Mark Seaborn authored
      It is now safe to pass reschedule=true to event_signal() in the
      contexts where cbuf_write_char() is called, so change
      cbuf_write_char() to do that and remove its "bool reschedule"
      argument.  This means these code paths no longer need to return
      INT_RESCHEDULE.
      
      ZX-1490
      
      Change-Id: I00b0099211fb01c2cdc01733809dff94d20c75fd
      1f4f0b2e
    • Josh Conner's avatar
      [netsvc] Add timeout check to paver copy thread · 46d29fca
      Josh Conner authored
      Recognize when no progress is being made in the paver buffer copy
      thread and abort, killing the paver process, instead of waiting
      forever. This allows us a more gracious exit when the tftp
      connection goes south, giving us a chance to re-establish
      communications.
      
      ZX-1521
      
      Change-Id: I7abcb315cbb04c4201c1c1c1dd04feb0bf6d5015
      46d29fca
    • Sean Klein's avatar
      [fvm] Improve noncontiguous access test · 1afe9add
      Sean Klein authored
      This test was sufficient for preventing the regression
      of LE-388 using the old block protocol, where an iotxn_clone
      would fail with invalid arguments, but with the new block protocol
      the test could pass (incorrectly) if the vmo_off was miscalculated.
      
      This path checks that the complex path of noncontiguous slice
      access is validated against contiguous slice access reads.
      This improvement prevents the regression, even with the incoming
      new block protocol.
      
      ZX-1578 #done
      
      Change-Id: I034bfe2d90307f19b6ec69659d6ce01fa5feb38e
      1afe9add
    • Christopher Anderson's avatar
      [pci] Remove DEBUG_ASSERT in Irq bookkeeping · eb821b32
      Christopher Anderson authored
      ResetCommonIrqBookkeeping is called from both LeaveLegacyIrqMode
      and LeaveMsiIrqMode. The existing assert is written to assume
      that if you have > 1 irq handlers then you have the handler table,
      and otherwise you're using the singleton. However, the singleton path
      also catches the case where this is called when you have no configured
      handlers. This path is hit if a driver tries to enter MSI mode, then
      bails out due to no backing MSI blocks being available in the platform
      driver.
      
      It appears safe to remove and refactor since all the work it does is
      safe unconditionally.
      
      ZX-1511 #in-progress
      ZX-1512 #in-progress
      
      Change-Id: I29eb70a5367df265f2b4b6ed7ecd766f06dc1441
      eb821b32
    • Christopher Anderson's avatar
      [blktest] Add arg flag help and use standrd arg parsing · 5fe12cdb
      Christopher Anderson authored
      blktest fails without blkdev_path being set properly, so make it clear
      to the user and add handling for -h and incorrect execution.
      
      Change-Id: Ief5e67441b62fab3f34c0cb8dcb2120148b6cd9c
      5fe12cdb
    • Christopher Anderson's avatar
      [pci][virtio] Remove call to zx_mmap_device_io · 0c33432b
      Christopher Anderson authored
      The protocol handles mapping the device IO for the proxy devhost,
      so it is not necessary for the driver to do this following get_bar
      any longer.
      
      Change-Id: I54d37e11f741707c3e6af213222fb309edb1cec9
      0c33432b
    • George Kulakowski's avatar
      [kernel][atomic] Introduce atomic_xor · 95969b48
      George Kulakowski authored
      Some things, like rand.c, want to be able to xor.
      
      Change-Id: I74c56c14b429a83c4ce76aeab93f04e046eb982d
      95969b48
    • Abdulla Kamar's avatar
      [hypervisor] Track when the guest is running · 1aae38eb
      Abdulla Kamar authored
      This allows to invoke mp_reschedule in Vcpu::Interrupt only if the VCPU
      is actually running. It also simplifies the logic of Vcpu::Interrupt,
      requiring less reading of tea leaves.
      
      Change-Id: I0fd363e39838a66d53447c342ae0d399315f843f
      1aae38eb
    • Mark Seaborn's avatar
      [kernel][hypervisor] Convert timer callbacks to use preempt_disable · de92696c
      Mark Seaborn authored
      Calling sched_reschedule() when arch_in_int_handler() is true is now
      allowed (see preempt_disable).  This means we can remove uses of the
      INT_RESCHEDULE return value.  We can instead call sched_reschedule()
      or pass reschedule=true to functions that take a "reschedule"
      argument.
      
      ZX-1490
      
      Change-Id: I2f777296db65558c4124fc8a522932fcf174bf82
      de92696c
    • George Kulakowski's avatar
      [ktrace] Use RAII mutex in ktrace · e2800c96
      George Kulakowski authored
      Change-Id: I18a962d2cd5489cc760710be535627d865435201
      e2800c96
  2. Jan 22, 2018
  3. Jan 21, 2018
  4. Jan 20, 2018
    • Travis Geiselbrecht's avatar
      [kernel][mp] remove the missing IPI test · f4febbad
      Travis Geiselbrecht authored
      Hadn't really discovered any sort of systemic problem, but was falsely triggering
      in various situations.
      
      ZX-1527 #done
      
      Change-Id: I260463e977ae8433a1eedb04544f4794261e5109
      f4febbad
    • Sean Klein's avatar
      [sdmmc] Fix race condition in iotxn_queue that could result in blocked worker · 305fb534
      Sean Klein authored
      Possible race condition
      
      Iotxn Thread  - Signals SDMMC_IOTXN_RECEIVED on worker_event
      Worker Thread - Wakes up, removes txn from txn_list
      Worker Thread - Does txn, loops (~line 345)
      Worker Thread - (LOCKED) Removes "NULL" from txn_list
      Worker Thread - (UNLOCKS)
      Iotxn Thread  - (LOCKED) Adds txn to txn_list
      Iotxn Thread  - (UNLOCKED) Signals SDMMC_IOTXN_RECEIVED
      Worker Thread - (UNLOCKED) Sees txn is null, clears SDMMC_IOTXN_RECEIVED
      Worker Thread - (UNLOCKED) Waits on worker_event for RECEIVED
      
      Under these conditions, an iotxn_queue can occur, but the sdmmc driver
      will not actually process it in the worker thread. Until another iotxn
      is queued, this causes the sdmmc driver to appear to hang indefinitely.
      
      ZX-1478 #done
      ZX-1572 #done
      LE-388 #done
      
      Change-Id: Ifa150853be86e8ee53fa4efca3049109e7c0dfa4
      305fb534
    • Mark Seaborn's avatar
      [kernel][pci] Convert PciInterruptDispatcher to use preempt_disable · ee363143
      Mark Seaborn authored
      Calling sched_reschedule() when arch_in_int_handler() is true is now
      allowed (see preempt_disable).  This means we can remove uses of the
      INT_RESCHEDULE return value.  We can instead call sched_reschedule()
      or pass reschedule=true to functions that take a "reschedule"
      argument.
      
      Change event_signal() to allow passing reschedule=true down to
      wait_queue_wake_one() or wait_queue_wake_all() when
      arch_in_int_handler() is true.
      
      Testing: This is easily tested because this code path gets exercised
      even under QEMU, which catches the need to remove the DEBUG_ASSERT()
      in event_signal_internal().
      
      ZX-1490
      
      Change-Id: I305196cf0266ee3e21fdb70db2d6382095bbdc8b
      ee363143
    • Brian Swetland's avatar
      [build] allow overriding of package sources and includes · 938da167
      Brian Swetland authored
      For most packages the default automated selection mechanism works,
      but MODULE_PACKAGE_SRCS and MODULE_PACKAGE_INCS now allows that to
      be overridden with explicit lists of sources and includes if needed.
      
      Updated async*.pkg to use this.
      
      Change-Id: I5569779b1f59710efd33015c3a54c575f089d820
      938da167
    • Mark Seaborn's avatar
      [kernel][thread] Convert IPI interrupt handler to use preempt_disable · 1a1bb85f
      Mark Seaborn authored
      This removes another use of INT_RESCHEDULE.  We set preempt_disable
      instead of returning INT_RESCHEDULE.
      
      Testing: This is easily tested as long as you boot Zircon with >1 CPU.
      If this code path fails to set preempt_disable, the system will hang
      soon after boot.
      
      ZX-1490
      
      Change-Id: Iec12ebd079267ebba0bbdfd48ba0089b508a4b6d
      1a1bb85f
    • cpu's avatar
      [zircon][system] update thread_start's entry · d454a8de
      cpu authored
      -Update docs to better explain what are the expectations
       of the |entry| function of the syscall
      -Update C runtime to use the two args that the syscall
       now supports.
      
      Existing test suffice.
      
      Change-Id: I8d212ea2a3f9d036f8e1b30ddc91f6d2522fcdaa
      d454a8de
Loading