<#2274#> _set_tssldt_desc(n, addr, limit, type)<#2274#>
<#2275#> ulong *n<#2275#> points to the GDT entry to set (see fork.c).
The segment base (TSS or LDT) is set to 0xc0000000 + <#2276#> addr<#2276#>.
Specific instances of the above are, where ltype refers to the byte
containing P, DPL, S and type:
#dispitems2277#
<#2281#> load_TR(n)<#2281#>,
<#2282#> load_ldt(n)<#2282#> load descriptors for task
number n into the task register and ldt register.
<#2283#> ulong get_base (struct desc_struct ldt)<#2283#> gets the base
from a descriptor.
<#2284#> ulong get_limit (ulong segment)<#2284#>
gets the limit (size) from a segment selector.
Returns the size of the segment in bytes.
<#2285#> set_base(struct desc_struct ldt, ulong base)<#2285#>,
<#2286#> set_limit(struct desc_struct ldt, ulong limit)<#2286#>
Will set the base and limit for descriptors (4K granular segments).
The limit here is actually the size in bytes of the segment.
<#2287#> _set_seg_desc(gate_addr, type, dpl, base, limit)<#2287#>
Default values 0x00408000 =#tex2html_wrap_inline2931# D=1, P=1, G=0
Present, operation size is 32 bit and max size is 1M.
<#2288#> gate_addr<#2288#> must be a <#2289#> (ulong *)<#2289#>