| // Copyright 2018 The Fuchsia Authors |
| // |
| // Use of this source code is governed by a MIT-style |
| // license that can be found in the LICENSE file or at |
| // https://opensource.org/licenses/MIT |
| |
| // Methods in this file exist to provide default stubs for MSI |
| // support so that individual platforms do not need to provide |
| // them if they only partially support MSI. |
| |
| #include <stdbool.h> |
| #include <zircon/compiler.h> |
| #include <zircon/types.h> |
| |
| #include <dev/interrupt.h> |
| |
| __WEAK bool msi_is_supported() { return false; } |
| |
| __WEAK bool msi_supports_masking() { return false; } |
| |
| __WEAK void msi_mask_unmask(const msi_block_t* block, uint msi_id, bool mask) { |
| PANIC_UNIMPLEMENTED; |
| } |
| |
| __WEAK zx_status_t msi_alloc_block(uint requested_irqs, bool can_target_64bit, bool is_msix, |
| msi_block_t* out_block) { |
| PANIC_UNIMPLEMENTED; |
| __UNREACHABLE; |
| } |
| |
| __WEAK void msi_free_block(msi_block_t* block) { PANIC_UNIMPLEMENTED; } |
| |
| __WEAK void msi_register_handler(const msi_block_t* block, uint msi_id, int_handler handler, |
| void* ctx) { |
| PANIC_UNIMPLEMENTED; |
| } |