|
khypervisor
v1
|


Go to the source code of this file.
Defines | |
| #define | SLOT_INVALID 0xFFFFFFFF |
Functions | |
| void | slotpirq_init (void) |
| void | slotpirq_set (vmid_t vmid, uint32_t slot, uint32_t pirq) |
| uint32_t | slotpirq_get (vmid_t vmid, uint32_t slot) |
| void | slotpirq_clear (vmid_t vmid, uint32_t slot) |
| void | slotvirq_set (vmid_t vmid, uint32_t slot, uint32_t virq) |
| uint32_t | slotvirq_getslot (vmid_t vmid, uint32_t virq) |
| void | slotvirq_clear (vmid_t vmid, uint32_t slot) |
| #define SLOT_INVALID 0xFFFFFFFF |
Definition at line 5 of file slotpirq.h.
| void slotpirq_clear | ( | vmid_t | vmid, |
| uint32_t | slot | ||
| ) |
Definition at line 40 of file slotpirq.c.
{
slotpirq_set(vmid, slot, PIRQ_INVALID);
}

| uint32_t slotpirq_get | ( | vmid_t | vmid, |
| uint32_t | slot | ||
| ) |
Definition at line 29 of file slotpirq.c.
{
uint32_t pirq = PIRQ_INVALID;
if ( vmid < NUM_GUESTS_STATIC ) {
pirq = _guest_pirqatslot[vmid][slot];
printh( "vgic: reading vmid:%d slot:%d pirq:%d\n", vmid, slot, pirq );
}
return pirq;
}
| void slotpirq_init | ( | void | ) |
Definition at line 10 of file slotpirq.c.
{
int i, j;
for( i = 0; i < NUM_GUESTS_STATIC; i++ ) {
for( j = 0; j < VGIC_NUM_MAX_SLOTS; j++ ) {
_guest_pirqatslot[i][j] = PIRQ_INVALID;
_guest_virqatslot[i][j] = VIRQ_INVALID;
}
}
}
| void slotpirq_set | ( | vmid_t | vmid, |
| uint32_t | slot, | ||
| uint32_t | pirq | ||
| ) |
Definition at line 21 of file slotpirq.c.
{
if ( vmid < NUM_GUESTS_STATIC ) {
printh( "vgic: setting vmid:%d slot:%d pirq:%d\n", vmid, slot, pirq );
_guest_pirqatslot[vmid][slot] = pirq;
}
}
| void slotvirq_clear | ( | vmid_t | vmid, |
| uint32_t | slot | ||
| ) |
Definition at line 72 of file slotpirq.c.
{
slotvirq_set(vmid, slot, VIRQ_INVALID);
}

| uint32_t slotvirq_getslot | ( | vmid_t | vmid, |
| uint32_t | virq | ||
| ) |
Definition at line 55 of file slotpirq.c.
{
uint32_t slot = SLOT_INVALID;
int i;
if ( vmid < NUM_GUESTS_STATIC ) {
for ( i = 0; i < VGIC_NUM_MAX_SLOTS; i++ ) {
if ( _guest_virqatslot[vmid][i] == virq ) {
slot = i;
printh( "vgic: reading vmid:%d slot:%d virq:%d\n", vmid, slot, virq );
break;
}
}
}
return slot;
}
| void slotvirq_set | ( | vmid_t | vmid, |
| uint32_t | slot, | ||
| uint32_t | virq | ||
| ) |
Definition at line 45 of file slotpirq.c.
{
if ( vmid < NUM_GUESTS_STATIC ) {
printh( "vgic: setting vmid:%d slot:%d virq:%d\n", vmid, slot, virq );
_guest_virqatslot[vmid][slot] = virq;
} else {
printh( "vgic: not setting invalid vmid:%d slot:%d virq:%d\n", vmid, slot, virq );
}
}
1.7.6.1