[ros-dev] Re: [ros-svn] [ion] 13090: SYSENTER support,
INT2E Optimization,
new Syscall Table/Stub generator and svn:ignore fixes.
Please read associated Mailing List Post.
Alex Ionescu
ionucu at videotron.ca
Mon Jan 17 15:21:46 CET 2005
This changes expand the user mode data/code segment to 4GB. This is
wrong. If I change it back to the correct limit, the sysenter support
doesn't work. Ros does crash within the first application (smss). See
the debug output.
>
> - Hartmut
>
Hi Hartmut,
The changes are not wrong. This is required as per the SYSENTER/SYSEXIT
documentation. Please see Intel's Programmers Manual, Volume 2A:
The SYSEXIT instruction always transfers to a flat protected mode user
at CPL = 3. SYSEXIT can be invoked only from protected mode and CPL = 0.
The instruction requires that the following conditions are met by the
operating system:
The CS selector for the target ring 3 code segment is 32 bits,
mapped as a flat 0-4 GB address space with execute, read, and
non-conforming permissions.
The SS selector for the target ring 3 stack segment is 32 bits,
mapped as a flat 0-4 GB address space with expand-up, read, and write
permissions.
This is also a requirement for proper VMWare support and other emulators
which depend on this fact. Please set it back to a Flat segment.
Best regards,
Alex Ionescu
More information about the Ros-dev
mailing list