Call gates are intended to allow less privileged code to call code with a higher privilege level.
Call gates use a special selector value to reference a descriptor accessed via the Global Descriptor Table or the Local Descriptor Table, which contains the information needed for the call across privilege boundaries.