Programming °æ (¾«»ªÇø)
·¢ÐÅÈË: Sun (´óµÆÅÝ), ÐÅÇø: Programming
±ê Ìâ: [תÔØ] Win95ÏÂÔÚRing 0»òÕßVxDÖÐÈçºÎʹÓø¡µã»ò k
·¢ÐÅÕ¾: ×Ï ¶¡ Ïã (Thu Sep 9 10:40:54 1999), תÐÅ
¡¾ ÒÔÏÂÎÄ×ÖתÔØ×Ô VisualProgram ÌÖÂÛÇø ¡¿
¡¾ ÔÎÄÓÉ xiaojun Ëù·¢±í ¡¿
Ö÷Ìâ: Win95ÏÂÔÚRing 0»òÕßVxDÖÐÈçºÎʹÓø¡µã»ò kingchurch (ת¼Ä)
ÈÕÆÚ: 1998Äê9ÔÂ19ÈÕ 07:32:36
·¢¼þÈË: lyj.bbs@bbs.net.tsinghua.edu.cn
ÊÕ¼þÈË: lyj@hs1.hit.edu.cn
·¢ÐÅÈË: Abel (ÉñÉÏÍø), ÐÅÇø: Programming
±ê Ìâ: Win95ÏÂÔÚRing 0»òÕßVxDÖÐÈçºÎʹÓø¡µã»òMMXÖ¸Áî
·¢ÐÅÕ¾: BBS ˮľÇ廪վ (Tue Aug 4 19:01:47 1998)
3m7mm±¾ÎÄÕª×Ôhttp://www.intel.com/drg/mmx/appnotes/mmx_fpu.htm0m
m3m4mHow to use floating-point or MMX™ instructions
0m m3m4min Ring 0 or a VxD under Windows® 950m
m4m6mHow should you use floating-point or MMX™
0m m4m6minstructions within your VxD0m
The current release of Windows® 95 4.00 does not
allow floating-point or MMX™ instructions within
VxD's, which run in ring 0. Floating point and MMX
instructions in applications and DLL's are not
restricted The reason for the restriction is
because Windows® 95 does not allow floating-point
exceptions when they are originated from ring 0.
m4m6mImplication:0m
Systems using Intel processors with MMX™ technology,
including OverDrive pocessors with MMX™ technology will
display a blue screen exception error message when
attempting to run software which executes MMX
instructions at the ring 0 level, under early versions
of Windows® 95 (pre-OSR2 releases)
m4m6mThe solution: 0m
The solution is incorporated in the version 4.02 of
VMCPD VxD. The revised VxD is included in the new OEM version of
Windows® 95 called OSR2 (see MS web page).
m4m6mDistribution of the solution:0m
OSR2 will be distributed on new machines after release.
DirectX Beta 3 installs the new VMCPD VxD. Refer
to MS documentation.
m4m6mWhat should ISV do: 0m
Within Windows® 95 OSR2, support for FP/MMX™ instructions
in ring 0 is implemented in VMCPD.VxD version 4.02.
Ring 0 FPU/MMX instruction dependent software should
detect the existence of VMCPD.VxD version 4.02, at
installation time and at run time by checking the version
number of the VMCPD. If an early VMCPD VxD version is
deteced, then Direct X applications should intall the new
version of Direct X (Beta 3 and above) to update the VMCPD VxD.
The following API will report the version of the VMCPD VxD:
3mmVxDCall VMCPD_Get_Version0m
Version 4.02 or above will allow FP/MMX instruction usage within ring 0
m6m4mHow should you use floating-point or MMX instructions within your VxD? 0m
There are two major cases where the VxD is called:
1.If the VxD is being called from an application using
DevIOCcontrol then it runs on the same context of the calling
thread. It uses the state and cleans it when it returns.
The caller thread does not assume that the state is preserved.
2.If the VxD is being invoked by other means then:
3mm
CurrentThread = Get_Cur_Thread
VMCPD_GET_THREAD (CurrentThread, MyVxD_Buff)
MMX
MMX
...
VMCPD_SET_THREAD (CurrentThread, MyVxD_Buff)
RET
0m
m1m7mDisclaimer0m
Information in this document is provided in
connection with Intel products. No license,
express or implied, by estoppel or otherwise,
to any intellectual property rights is granted
by this document.Except as provided in Intel's
Terms and Conditions of Sale for such products,
Intel assumes no liability whatsoever, and Intel
disclaims any express or implied warranty, relating
to sale and/or use of Intel products including
liability or warranties relating to fitness for a
particular purpose,merchantability, or infringement
of any patent, copyright or other intellectual property
right. Intel products are not intended for use in
medical, life saving, or life sustaining applications.
Intel may make changes to specifications and product
descriptions at any time, without notice.
--
---------------------------
m6m4mAbel's ICQ:3m1622213200m
---------------------------
m7m¡ù À´Ô´:¡¤BBS ˮľÇ廪վ bbs.net.tsinghua.edu.cn¡¤[FROM: 202.115.11.202]m
--
¡ù À´Ô´:£®×Ï ¶¡ Ïã bbs.hit.edu.cn£®[FROM: hs5.hit.edu.cn]
--
¡ù תÔØ:£®×Ï ¶¡ Ïã bbs.hit.edu.cn£®[FROM: 202.118.239.237]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
Ò³ÃæÖ´ÐÐʱ¼ä£º5.300ºÁÃë