Recognizer for a valid data segment descriptor
(ia32e-valid-data-segment-descriptor-p descriptor) → (mv * *)
Function:
(defun ia32e-valid-data-segment-descriptor-p (descriptor) (declare (type (unsigned-byte 64) descriptor)) (let ((__function__ 'ia32e-valid-data-segment-descriptor-p)) (declare (ignorable __function__)) (b* (((when (not (equal (data-segment-descriptorbits->msb-of-type descriptor) 0))) (mv nil (cons :invalid-type descriptor))) ((when (not (equal (data-segment-descriptorbits->s descriptor) 1))) (mv nil (cons :invalid-segment-type descriptor))) ((when (not (equal (data-segment-descriptorbits->p descriptor) 1))) (mv nil (cons :segment-not-present descriptor))) ((when (not (equal (data-segment-descriptorbits->l descriptor) 1))) (mv nil (cons :ia32e-mode-off descriptor)))) (mv t 0))))