mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 apic updates from Thomas Gleixner:
"This udpate contains:
- rework the irq vector array to store a pointer to the irq
descriptor instead of the irq number to avoid a lookup of the irq
descriptor in the irq entry path
- lguest interrupt handling cleanups
- conversion of the local apic timer to the new clockevent callbacks
- preparatory changes for the irq argument removal of interrupt flow
handlers"
* 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/irq: Do not dereference irq descriptor before checking it
tools/lguest: Clean up include dir
tools/lguest: Fix redefinition of struct virtio_pci_cfg_cap
x86/irq: Store irq descriptor in vector array
genirq: Provide irq_desc_has_action
x86/irq: Get rid of an indentation level
x86/irq: Rename VECTOR_UNDEFINED to VECTOR_UNUSED
x86/irq: Replace numeric constant
x86/irq: Protect smp_cleanup_move
x86/lguest: Do not setup unused irq vectors
x86/lguest: Clean up lguest_setup_irq
x86/apic: Drop local_irq_save/restore in timer callbacks
x86/apic: Migrate apic timer to new set_state interface
x86/irq: Use access helper irq_data_get_affinity_mask()
x86/irq: Use accessor irq_data_get_irq_handler_data()
x86/irq: Use accessor irq_data_get_node()
This commit is contained in:
commit
43af9872f5
18 changed files with 214 additions and 193 deletions
1
tools/lguest/.gitignore
vendored
1
tools/lguest/.gitignore
vendored
|
|
@ -1 +1,2 @@
|
|||
lguest
|
||||
include
|
||||
|
|
|
|||
|
|
@ -11,3 +11,4 @@ lguest: include/linux/virtio_types.h
|
|||
|
||||
clean:
|
||||
rm -f lguest
|
||||
rm -rf include
|
||||
|
|
|
|||
|
|
@ -125,7 +125,11 @@ struct device_list {
|
|||
/* The list of Guest devices, based on command line arguments. */
|
||||
static struct device_list devices;
|
||||
|
||||
struct virtio_pci_cfg_cap {
|
||||
/*
|
||||
* Just like struct virtio_pci_cfg_cap in uapi/linux/virtio_pci.h,
|
||||
* but uses a u32 explicitly for the data.
|
||||
*/
|
||||
struct virtio_pci_cfg_cap_u32 {
|
||||
struct virtio_pci_cap cap;
|
||||
u32 pci_cfg_data; /* Data for BAR access. */
|
||||
};
|
||||
|
|
@ -157,7 +161,7 @@ struct pci_config {
|
|||
struct virtio_pci_notify_cap notify;
|
||||
struct virtio_pci_cap isr;
|
||||
struct virtio_pci_cap device;
|
||||
struct virtio_pci_cfg_cap cfg_access;
|
||||
struct virtio_pci_cfg_cap_u32 cfg_access;
|
||||
};
|
||||
|
||||
/* The device structure describes a single device. */
|
||||
|
|
@ -1291,7 +1295,7 @@ static struct device *dev_and_reg(u32 *reg)
|
|||
* only fault if they try to write with some invalid bar/offset/length.
|
||||
*/
|
||||
static bool valid_bar_access(struct device *d,
|
||||
struct virtio_pci_cfg_cap *cfg_access)
|
||||
struct virtio_pci_cfg_cap_u32 *cfg_access)
|
||||
{
|
||||
/* We only have 1 bar (BAR0) */
|
||||
if (cfg_access->cap.bar != 0)
|
||||
|
|
|
|||
Loading…
Reference in a new issue