vlapic_vtx
CTASSERT((offsetof(struct vlapic_vtx, tmr_active) & 63) == 0);
struct vlapic_vtx *vlapic_vtx;
vlapic_vtx = (struct vlapic_vtx *)vlapic;
pir_desc = vlapic_vtx->pir_desc;
tmrval = atomic_load_acq_int(&vlapic_vtx->tmr_active[idx]);
atomic_set_int(&vlapic_vtx->pending_edge[idx], mask);
atomic_set_int(&vlapic_vtx->pending_level[idx], mask);
vlapic_vtx->pending_prio = 0;
const uint_t old_prio = vlapic_vtx->pending_prio;
atomic_set_int(&vlapic_vtx->pending_prio, prio_bit);
struct vlapic_vtx *vlapic_vtx;
vlapic_vtx = (struct vlapic_vtx *)vlapic;
tmrs = &vlapic_vtx->tmr_active[0];
if (!vlapic_vtx->tmr_sync) {
vlapic_vtx->tmr_sync = B_FALSE;
vmx = ((struct vlapic_vtx *)vlapic)->vmx;
vmx = ((struct vlapic_vtx *)vlapic)->vmx;
struct vlapic_vtx *vlapic_vtx;
vlapic_vtx = (struct vlapic_vtx *)vlapic;
pir_desc = vlapic_vtx->pir_desc;
vlapic_vtx->pending_prio = 0;
ASSERT0(vlapic_vtx->pending_level[0] & 0xffff);
ASSERT0(vlapic_vtx->pending_edge[0] & 0xffff);
atomic_readandclear_int(&vlapic_vtx->pending_level[i]);
atomic_readandclear_int(&vlapic_vtx->pending_edge[i]);
if (*tmrp != vlapic_vtx->tmr_active[i]) {
vlapic_vtx->tmr_active[i] = *tmrp;
vlapic_vtx->tmr_sync = B_TRUE;
struct vlapic_vtx *vlapic_vtx;
vlapic_vtx = kmem_zalloc(sizeof (struct vlapic_vtx), KM_SLEEP);
vlapic_vtx->pir_desc = &vmx->pir_desc[vcpuid];
vlapic_vtx->vmx = vmx;
vlapic = &vlapic_vtx->vlapic;
kmem_free(vlapic, sizeof (struct vlapic_vtx));