|
KVM
|

Go to the source code of this file.
Classes | |
| struct | vgic_register_region |
Macros | |
| #define | VGIC_ACCESS_8bit 1 |
| #define | VGIC_ACCESS_32bit 2 |
| #define | VGIC_ACCESS_64bit 4 |
| #define | VGIC_ADDR_IRQ_MASK(bits) (((bits) * 1024 / 8) - 1) |
| #define | VGIC_ADDR_TO_INTID(addr, bits) |
| #define | REGISTER_DESC_WITH_BITS_PER_IRQ(off, rd, wr, ur, uw, bpi, acc) |
| #define | REGISTER_DESC_WITH_LENGTH(off, rd, wr, length, acc) |
| #define | REGISTER_DESC_WITH_LENGTH_UACCESS(off, rd, wr, urd, uwr, length, acc) |
Functions | |
| unsigned long | vgic_data_mmio_bus_to_host (const void *val, unsigned int len) |
| void | vgic_data_host_to_mmio_bus (void *buf, unsigned int len, unsigned long data) |
| unsigned long | extract_bytes (u64 data, unsigned int offset, unsigned int num) |
| u64 | update_64bit_reg (u64 reg, unsigned int offset, unsigned int len, unsigned long val) |
| unsigned long | vgic_mmio_read_raz (struct kvm_vcpu *vcpu, gpa_t addr, unsigned int len) |
| unsigned long | vgic_mmio_read_rao (struct kvm_vcpu *vcpu, gpa_t addr, unsigned int len) |
| void | vgic_mmio_write_wi (struct kvm_vcpu *vcpu, gpa_t addr, unsigned int len, unsigned long val) |
| int | vgic_mmio_uaccess_write_wi (struct kvm_vcpu *vcpu, gpa_t addr, unsigned int len, unsigned long val) |
| unsigned long | vgic_mmio_read_group (struct kvm_vcpu *vcpu, gpa_t addr, unsigned int len) |
| void | vgic_mmio_write_group (struct kvm_vcpu *vcpu, gpa_t addr, unsigned int len, unsigned long val) |
| unsigned long | vgic_mmio_read_enable (struct kvm_vcpu *vcpu, gpa_t addr, unsigned int len) |
| void | vgic_mmio_write_senable (struct kvm_vcpu *vcpu, gpa_t addr, unsigned int len, unsigned long val) |
| void | vgic_mmio_write_cenable (struct kvm_vcpu *vcpu, gpa_t addr, unsigned int len, unsigned long val) |
| int | vgic_uaccess_write_senable (struct kvm_vcpu *vcpu, gpa_t addr, unsigned int len, unsigned long val) |
| int | vgic_uaccess_write_cenable (struct kvm_vcpu *vcpu, gpa_t addr, unsigned int len, unsigned long val) |
| unsigned long | vgic_mmio_read_pending (struct kvm_vcpu *vcpu, gpa_t addr, unsigned int len) |
| unsigned long | vgic_uaccess_read_pending (struct kvm_vcpu *vcpu, gpa_t addr, unsigned int len) |
| void | vgic_mmio_write_spending (struct kvm_vcpu *vcpu, gpa_t addr, unsigned int len, unsigned long val) |
| void | vgic_mmio_write_cpending (struct kvm_vcpu *vcpu, gpa_t addr, unsigned int len, unsigned long val) |
| int | vgic_uaccess_write_spending (struct kvm_vcpu *vcpu, gpa_t addr, unsigned int len, unsigned long val) |
| int | vgic_uaccess_write_cpending (struct kvm_vcpu *vcpu, gpa_t addr, unsigned int len, unsigned long val) |
| unsigned long | vgic_mmio_read_active (struct kvm_vcpu *vcpu, gpa_t addr, unsigned int len) |
| unsigned long | vgic_uaccess_read_active (struct kvm_vcpu *vcpu, gpa_t addr, unsigned int len) |
| void | vgic_mmio_write_cactive (struct kvm_vcpu *vcpu, gpa_t addr, unsigned int len, unsigned long val) |
| void | vgic_mmio_write_sactive (struct kvm_vcpu *vcpu, gpa_t addr, unsigned int len, unsigned long val) |
| int | vgic_mmio_uaccess_write_cactive (struct kvm_vcpu *vcpu, gpa_t addr, unsigned int len, unsigned long val) |
| int | vgic_mmio_uaccess_write_sactive (struct kvm_vcpu *vcpu, gpa_t addr, unsigned int len, unsigned long val) |
| unsigned long | vgic_mmio_read_priority (struct kvm_vcpu *vcpu, gpa_t addr, unsigned int len) |
| void | vgic_mmio_write_priority (struct kvm_vcpu *vcpu, gpa_t addr, unsigned int len, unsigned long val) |
| unsigned long | vgic_mmio_read_config (struct kvm_vcpu *vcpu, gpa_t addr, unsigned int len) |
| void | vgic_mmio_write_config (struct kvm_vcpu *vcpu, gpa_t addr, unsigned int len, unsigned long val) |
| int | vgic_uaccess (struct kvm_vcpu *vcpu, struct vgic_io_device *dev, bool is_write, int offset, u32 *val) |
| u32 | vgic_read_irq_line_level_info (struct kvm_vcpu *vcpu, u32 intid) |
| void | vgic_write_irq_line_level_info (struct kvm_vcpu *vcpu, u32 intid, const u32 val) |
| unsigned int | vgic_v2_init_dist_iodev (struct vgic_io_device *dev) |
| unsigned int | vgic_v3_init_dist_iodev (struct vgic_io_device *dev) |
| u64 | vgic_sanitise_outer_cacheability (u64 reg) |
| u64 | vgic_sanitise_inner_cacheability (u64 reg) |
| u64 | vgic_sanitise_shareability (u64 reg) |
| u64 | vgic_sanitise_field (u64 reg, u64 field_mask, int field_shift, u64(*sanitise_fn)(u64)) |
| const struct vgic_register_region * | vgic_find_mmio_region (const struct vgic_register_region *regions, int nr_regions, unsigned int offset) |
Variables | |
| const struct kvm_io_device_ops | kvm_io_gic_ops |
| #define REGISTER_DESC_WITH_BITS_PER_IRQ | ( | off, | |
| rd, | |||
| wr, | |||
| ur, | |||
| uw, | |||
| bpi, | |||
| acc | |||
| ) |
Definition at line 67 of file vgic-mmio.h.
| #define REGISTER_DESC_WITH_LENGTH | ( | off, | |
| rd, | |||
| wr, | |||
| length, | |||
| acc | |||
| ) |
Definition at line 79 of file vgic-mmio.h.
| #define REGISTER_DESC_WITH_LENGTH_UACCESS | ( | off, | |
| rd, | |||
| wr, | |||
| urd, | |||
| uwr, | |||
| length, | |||
| acc | |||
| ) |
Definition at line 89 of file vgic-mmio.h.
| #define VGIC_ACCESS_32bit 2 |
Definition at line 40 of file vgic-mmio.h.
| #define VGIC_ACCESS_64bit 4 |
Definition at line 41 of file vgic-mmio.h.
| #define VGIC_ACCESS_8bit 1 |
Definition at line 39 of file vgic-mmio.h.
| #define VGIC_ADDR_IRQ_MASK | ( | bits | ) | (((bits) * 1024 / 8) - 1) |
Definition at line 48 of file vgic-mmio.h.
| #define VGIC_ADDR_TO_INTID | ( | addr, | |
| bits | |||
| ) |
Definition at line 58 of file vgic-mmio.h.
| unsigned long extract_bytes | ( | u64 | data, |
| unsigned int | offset, | ||
| unsigned int | num | ||
| ) |
| u64 update_64bit_reg | ( | u64 | reg, |
| unsigned int | offset, | ||
| unsigned int | len, | ||
| unsigned long | val | ||
| ) |
| void vgic_data_host_to_mmio_bus | ( | void * | buf, |
| unsigned int | len, | ||
| unsigned long | data | ||
| ) |
Definition at line 893 of file vgic-mmio.c.


| unsigned long vgic_data_mmio_bus_to_host | ( | const void * | val, |
| unsigned int | len | ||
| ) |
Definition at line 868 of file vgic-mmio.c.


| const struct vgic_register_region* vgic_find_mmio_region | ( | const struct vgic_register_region * | regions, |
| int | nr_regions, | ||
| unsigned int | offset | ||
| ) |
Definition at line 836 of file vgic-mmio.c.


| unsigned long vgic_mmio_read_active | ( | struct kvm_vcpu * | vcpu, |
| gpa_t | addr, | ||
| unsigned int | len | ||
| ) |
Definition at line 512 of file vgic-mmio.c.

| unsigned long vgic_mmio_read_config | ( | struct kvm_vcpu * | vcpu, |
| gpa_t | addr, | ||
| unsigned int | len | ||
| ) |
Definition at line 714 of file vgic-mmio.c.

| unsigned long vgic_mmio_read_enable | ( | struct kvm_vcpu * | vcpu, |
| gpa_t | addr, | ||
| unsigned int | len | ||
| ) |
| unsigned long vgic_mmio_read_group | ( | struct kvm_vcpu * | vcpu, |
| gpa_t | addr, | ||
| unsigned int | len | ||
| ) |
| unsigned long vgic_mmio_read_pending | ( | struct kvm_vcpu * | vcpu, |
| gpa_t | addr, | ||
| unsigned int | len | ||
| ) |
Definition at line 286 of file vgic-mmio.c.

| unsigned long vgic_mmio_read_priority | ( | struct kvm_vcpu * | vcpu, |
| gpa_t | addr, | ||
| unsigned int | len | ||
| ) |
| unsigned long vgic_mmio_read_rao | ( | struct kvm_vcpu * | vcpu, |
| gpa_t | addr, | ||
| unsigned int | len | ||
| ) |
Definition at line 25 of file vgic-mmio.c.
| unsigned long vgic_mmio_read_raz | ( | struct kvm_vcpu * | vcpu, |
| gpa_t | addr, | ||
| unsigned int | len | ||
| ) |
Definition at line 19 of file vgic-mmio.c.
| int vgic_mmio_uaccess_write_cactive | ( | struct kvm_vcpu * | vcpu, |
| gpa_t | addr, | ||
| unsigned int | len, | ||
| unsigned long | val | ||
| ) |
Definition at line 622 of file vgic-mmio.c.

| int vgic_mmio_uaccess_write_sactive | ( | struct kvm_vcpu * | vcpu, |
| gpa_t | addr, | ||
| unsigned int | len, | ||
| unsigned long | val | ||
| ) |
Definition at line 659 of file vgic-mmio.c.

| int vgic_mmio_uaccess_write_wi | ( | struct kvm_vcpu * | vcpu, |
| gpa_t | addr, | ||
| unsigned int | len, | ||
| unsigned long | val | ||
| ) |
Definition at line 37 of file vgic-mmio.c.
| void vgic_mmio_write_cactive | ( | struct kvm_vcpu * | vcpu, |
| gpa_t | addr, | ||
| unsigned int | len, | ||
| unsigned long | val | ||
| ) |
| void vgic_mmio_write_cenable | ( | struct kvm_vcpu * | vcpu, |
| gpa_t | addr, | ||
| unsigned int | len, | ||
| unsigned long | val | ||
| ) |
| void vgic_mmio_write_config | ( | struct kvm_vcpu * | vcpu, |
| gpa_t | addr, | ||
| unsigned int | len, | ||
| unsigned long | val | ||
| ) |
| void vgic_mmio_write_cpending | ( | struct kvm_vcpu * | vcpu, |
| gpa_t | addr, | ||
| unsigned int | len, | ||
| unsigned long | val | ||
| ) |
Definition at line 440 of file vgic-mmio.c.

| void vgic_mmio_write_group | ( | struct kvm_vcpu * | vcpu, |
| gpa_t | addr, | ||
| unsigned int | len, | ||
| unsigned long | val | ||
| ) |
Definition at line 69 of file vgic-mmio.c.


| void vgic_mmio_write_priority | ( | struct kvm_vcpu * | vcpu, |
| gpa_t | addr, | ||
| unsigned int | len, | ||
| unsigned long | val | ||
| ) |
| void vgic_mmio_write_sactive | ( | struct kvm_vcpu * | vcpu, |
| gpa_t | addr, | ||
| unsigned int | len, | ||
| unsigned long | val | ||
| ) |
| void vgic_mmio_write_senable | ( | struct kvm_vcpu * | vcpu, |
| gpa_t | addr, | ||
| unsigned int | len, | ||
| unsigned long | val | ||
| ) |
Definition at line 116 of file vgic-mmio.c.

| void vgic_mmio_write_spending | ( | struct kvm_vcpu * | vcpu, |
| gpa_t | addr, | ||
| unsigned int | len, | ||
| unsigned long | val | ||
| ) |
Definition at line 353 of file vgic-mmio.c.

| void vgic_mmio_write_wi | ( | struct kvm_vcpu * | vcpu, |
| gpa_t | addr, | ||
| unsigned int | len, | ||
| unsigned long | val | ||
| ) |
Definition at line 31 of file vgic-mmio.c.
| u32 vgic_read_irq_line_level_info | ( | struct kvm_vcpu * | vcpu, |
| u32 | intid | ||
| ) |
Definition at line 766 of file vgic-mmio.c.


| u64 vgic_sanitise_field | ( | u64 | reg, |
| u64 | field_mask, | ||
| int | field_shift, | ||
| u64(*)(u64) | sanitise_fn | ||
| ) |
| u64 vgic_sanitise_inner_cacheability | ( | u64 | reg | ) |
| u64 vgic_sanitise_outer_cacheability | ( | u64 | reg | ) |
| u64 vgic_sanitise_shareability | ( | u64 | reg | ) |
| int vgic_uaccess | ( | struct kvm_vcpu * | vcpu, |
| struct vgic_io_device * | dev, | ||
| bool | is_write, | ||
| int | offset, | ||
| u32 * | val | ||
| ) |
Definition at line 1005 of file vgic-mmio.c.


| unsigned long vgic_uaccess_read_active | ( | struct kvm_vcpu * | vcpu, |
| gpa_t | addr, | ||
| unsigned int | len | ||
| ) |
| unsigned long vgic_uaccess_read_pending | ( | struct kvm_vcpu * | vcpu, |
| gpa_t | addr, | ||
| unsigned int | len | ||
| ) |
| int vgic_uaccess_write_cenable | ( | struct kvm_vcpu * | vcpu, |
| gpa_t | addr, | ||
| unsigned int | len, | ||
| unsigned long | val | ||
| ) |
| int vgic_uaccess_write_cpending | ( | struct kvm_vcpu * | vcpu, |
| gpa_t | addr, | ||
| unsigned int | len, | ||
| unsigned long | val | ||
| ) |
Definition at line 447 of file vgic-mmio.c.


| int vgic_uaccess_write_senable | ( | struct kvm_vcpu * | vcpu, |
| gpa_t | addr, | ||
| unsigned int | len, | ||
| unsigned long | val | ||
| ) |
| int vgic_uaccess_write_spending | ( | struct kvm_vcpu * | vcpu, |
| gpa_t | addr, | ||
| unsigned int | len, | ||
| unsigned long | val | ||
| ) |
Definition at line 360 of file vgic-mmio.c.


| unsigned int vgic_v2_init_dist_iodev | ( | struct vgic_io_device * | dev | ) |
Definition at line 487 of file vgic-mmio-v2.c.


| unsigned int vgic_v3_init_dist_iodev | ( | struct vgic_io_device * | dev | ) |
Definition at line 727 of file vgic-mmio-v3.c.


| void vgic_write_irq_line_level_info | ( | struct kvm_vcpu * | vcpu, |
| u32 | intid, | ||
| const u32 | val | ||
| ) |
Definition at line 788 of file vgic-mmio.c.


|
extern |
Definition at line 1046 of file vgic-mmio.c.