Es wäre schön wenn dazu mal jemand etwas konkreteres schreiben könnte, wenigstens ein Stichwort zum Suchen, würde mich persönlich echt mal interessieren.
http://www.o3one.org/hwdocs/amd64bit/x86-64_overview.pdfSpecial Treatment of FS and GS Segments. The FS and GS segment
registers are used by the Windows NT™ operating system to
locate the thread-environment-block (TEB) and processorcontrol-
region (PCR) data structures. The FS and GS segmentoverride
prefixes provide quick access to these data structures
in an otherwise unsegmented (flat address space) operating
system. To facilitate compatible access to these structures, the
FS and GS segment overrides can be used in 64-bit mode.
When FS and GS segment overrides are used in 64-bit mode,
their respective base addresses are used in the effectiveaddress
(EA) calculation. The complete EA calculation then
becomes (FS or GS).base + base + index + displacement.
In 64-bit mode, FS.base and GS.base are expanded to the full
virtual-address size supported by the implementation. The
resultant EA calculation is allowed to wrap across positive and
negative addresses.
In 64-bit mode, FS-segment and GS-segment overrides are not
checked for limit or attributes.
Normal segment loads (MOV to Sreg and POP Sreg) into FS and
GS only load a standard 32-bit base value into the hidden
portion of the segment descriptor register. The base address
bits above the standard 32 bits are cleared to 0. Because the
first implementation of the Hammer family of processors
supports 48 virtual-address bits, a segment-load instruction
loads the base value into the lower 32 address bits and clears
the high 16 bits to 0.
To load all address bits supported by a 64-bit implementation,
the FS.base and GS.base hidden descriptor register fields are
physically mapped to MSRs. Privileged software (CPL=0) can
load all supported virtual-address bits into FS.base or GS.base
using a single WRMSR instruction. The FS.base MSR index is
C000_0100h while the GS.base index is C000_0101h.
The addresses written into the expanded FS.base and GS.base
registers must be in canonical form. A WRMSR instruction that
attempts to write a non-canonical address to those registers
generates a general-protection exception, #GP.
When in compatibility mode, the FS and GS overrides operate
as defined by the legacy x86 architecture regardless of the
value loaded into the upper 32 virtual-address bits of the
hidden descriptor register base field. Compatibility mode
ignores the upper 32 bits when calculating an effective address.
Dirk