PSL_IOPL
td->td_frame->tf_rflags |= PSL_IOPL;
td->td_frame->tf_rflags &= ~PSL_IOPL;
printf("IOPL = %ld\n", (frame->tf_rflags & PSL_IOPL) >> 12);
td->td_frame->tf_rflags = (td->td_frame->tf_rflags & ~PSL_IOPL) |
(args->level * (PSL_IOPL / 3));
td->td_frame->tf_rflags = (td->td_frame->tf_rflags & ~PSL_IOPL) |
(args->level * (PSL_IOPL / 3));
td->td_frame->tf_eflags |= PSL_IOPL;
td->td_frame->tf_rflags |= PSL_IOPL;
td->td_frame->tf_eflags &= ~PSL_IOPL;
td->td_frame->tf_rflags &= ~PSL_IOPL;
td->td_frame->tf_eflags |= PSL_IOPL;
td->td_frame->tf_rflags |= PSL_IOPL;
td->td_frame->tf_eflags &= ~PSL_IOPL;
td->td_frame->tf_rflags &= ~PSL_IOPL;
td->td_frame->tf_eflags |= PSL_IOPL;
td->td_frame->tf_eflags &= ~PSL_IOPL;
printf("IOPL = %d\n", (frame->tf_eflags & PSL_IOPL) >> 12);
| PSL_IOPL | PSL_I, vmf);
| PSL_IOPL, vmf);
| PSL_IOPL | PSL_I, vmf);
| PSL_IOPL, vmf);
| PSL_IOPL | PSL_I, vmf);
PUSH((vmf->vmf_flags & PUSH_MASK) | PSL_IOPL, vmf);
| PSL_IOPL | PSL_I, vmf);
PUSH((vmf->vmf_flags & PUSH_MASK) | PSL_IOPL, vmf);
#define POP_MASK ~(PSL_VIP | PSL_VIF | PSL_VM | PSL_RF | PSL_IOPL)
td->td_frame->tf_eflags = (td->td_frame->tf_eflags & ~PSL_IOPL) |
(args->level * (PSL_IOPL / 3));