History log of /fuchsia/zircon/system/utest/core/interrupt/interrupt-test.c
Revision Date Author Comments
# cb583be0 08-Aug-2018 Brijen Raval <braval@google.com>

[interrupts][test] IRQ wait thread not implemented properly

ZX-2396 #done

Test: Tested on QEMU with clang build with following command
./scripts/run-zircon-arm64 -C -b -c 'userboot=bin/core-tests
userboot.shutdown'

Change-Id: Ia1e7bac95229218c6da7bccfe614164bc327411f


# d235f658 19-Jun-2018 Brijen Raval <braval@google.com>

[interrupts][suspend] Handle Interrupts properly when thread is suspended

ZX-2268 #done
TEST: Added test to verify IRQ thread is back to
being in blocked state aftre suspending and
resuming a thread waiting on an IRQ

Change-Id: Ie80dd12570a736dea302721a33c5c90cdb15673b


# 997ec13a 24-May-2018 Adam Barth <abarth@google.com>

[syscalls] Remove count arguments from port_queue and port_wait

This argument is not used and always must be one. I tried implementing
some reasonable behavior for this parameter on port_queue, but it wasn't
clear what to do when we encounter an error during the queue operation
because there isn't an out parameter for how many we succeeded in
queuing.

Rather than having a half-baked feature, we should just remove the
parameter and add another function that does vectorized versions of
these operations if we need that in the future.

Change-Id: Ifffcd6d705442cc830912a67c8117ffe5ec8295d


# a3a1d937 06-Apr-2018 Brijen Raval <braval@google.com>

[interrupt][syscall] Implementation of zx_irq_bind/ack()

ZX-2024
Change-Id: I6f2ca2b2552b4825aaf59b9a39bcdf14e240c749


# 937a9826 30-Apr-2018 Brijen Raval <braval@google.com>

[interrupts][syscall] Rename syscalls zx_irq_* to zx_interrupt_*

Change-Id: Ie01f65f29c1fd6171463340e2a5c103ff8e704b6


# cca25b86 26-Apr-2018 Brijen Raval <braval@google.com>

[syscall][irq] Remove (disabled) old irq syscall implementations

Change-Id: I2f4a4f42e174dbab5ac4eb84255955fa805cd75d


# b05757ba 29-Mar-2018 Brijen Raval <braval@google.com>

[interrupts][syscalls] zx_irq_create/wait/trigger/destroy impl.

This syscall is currently disabled by default and gated behind the
building option ENABLE_NEW_IRQ_API

ZX-2024
Change-Id: I29bf0ff2f858182c380e48808cfeb008143e6e79


# 038c9dc5 27-Dec-2017 Mike Voydanoff <voydanoff@google.com>

[syscalls][ddk] Interrupt syscall improvements:

It is now possible to wait for multiple interrupts on a single interrupt handle.
The zx_interrupt_bind() syscall is used to bind an interrupt vector to
an interrupt handle, allowing up to 62 interrupt vectors per handle.

The zx_interrupt_get_timestamp() syscall can now be used to retrieve a
timestamp for an interrupt.

Virtual interrupts are now supported. zx_interrupt_bind() can be used to
designate an interrupt slot as a virtual interrupt, and the virtual interrupt
can be signaled using the zx_interrupt_signal() syscall.

The zx_interrupt_complete() syscall has been removed.
Instead, zx_interrupt_wait() now handles unmasking the interrupt
at the right time depending on whether the interrupt is edge or level triggered.

Slot ZX_INTERRUPT_SLOT_USER is reserved as a virtual interrupt, and is typically
used with zx_interrupt_signal() to unblock interrupt threads so they can exit
at driver shutdown or to perform periodic work.

Currently PCI interrupt handles can only be bound to a single interrupt vector,
but it is possible to bind virtual interrupts to PCI interrupt handles.

ZX-1469 #done
ZX-1471 #done

Change-Id: I48c14183c1b9ecd437c8b1ce0d25326b7532e973