| .. | .. |
|---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-only */ |
|---|
| 1 | 2 | /* |
|---|
| 2 | | - * This program is free software; you can redistribute it and/or modify |
|---|
| 3 | | - * it under the terms of the GNU General Public License as published by |
|---|
| 4 | | - * the Free Software Foundation; either version 2 of the License. |
|---|
| 5 | | - * |
|---|
| 6 | | - * This program is distributed in the hope that it will be useful, |
|---|
| 7 | | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|---|
| 8 | | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|---|
| 9 | | - * GNU General Public License for more details. |
|---|
| 10 | 3 | * |
|---|
| 11 | 4 | * irqfd: Allows an fd to be used to inject an interrupt to the guest |
|---|
| 12 | 5 | * Credit goes to Avi Kivity for the original idea. |
|---|
| .. | .. |
|---|
| 49 | 42 | wait_queue_entry_t wait; |
|---|
| 50 | 43 | /* Update side is protected by irqfds.lock */ |
|---|
| 51 | 44 | struct kvm_kernel_irq_routing_entry irq_entry; |
|---|
| 52 | | - seqcount_t irq_entry_sc; |
|---|
| 45 | + seqcount_spinlock_t irq_entry_sc; |
|---|
| 53 | 46 | /* Used for level IRQ fast-path */ |
|---|
| 54 | 47 | int gsi; |
|---|
| 55 | 48 | struct work_struct inject; |
|---|