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.