模拟实模式x86 CPU
前一段时间commit了来自XFree86 -> NetBSD -> OpenBSD的x86emu,这是一个大约9千行C代码的x86实模式CPU模拟器。
由于 amd64/EM64T “long mode” 不支持先前 x86 保护模式中的 “vm86” 扩展(虚拟实模式环境),因此,这个模拟器使得 FreeBSD 能够在 amd64(EM64T) 平台上支持 vesa、dpms 等功能了。
共 9 篇文章。
前一段时间commit了来自XFree86 -> NetBSD -> OpenBSD的x86emu,这是一个大约9千行C代码的x86实模式CPU模拟器。
由于 amd64/EM64T “long mode” 不支持先前 x86 保护模式中的 “vm86” 扩展(虚拟实模式环境),因此,这个模拟器使得 FreeBSD 能够在 amd64(EM64T) 平台上支持 vesa、dpms 等功能了。
\SystemRoot\SysWow64\Drivers\KBWatch.SYS has been blocked from loading due to incompatibility with this system. Please contact your software vendor for a compatible version of the driver.
真是无话可说了。
Peter Wemm大长辈实现了在i386和amd64平台上的minidump。刚刚尝试了一下手动panic之后的结果,从512MB锐减到32MB了,而且该有的数据都有,确实不错。
今天想起来,把它打开看了看
[delphij@charlie] ~> uname -a
FreeBSD charlie.delphij.net 7.0-CURRENT FreeBSD 7.0-CURRENT #2: Sat Sep 3 02:16:50 CST 2005 delphij@charlie.delphij.net:/usr/obj/usr/src/sys/GENERIC amd64
刷!
So time comes that we should consider whether some of our string operations is not optimial and needs some operation. NetBSD seems to have done a lot of good work to make their MD layer better, and we should take these improvements if they are proven.
David O’Brien has pointed out that we should be careful on this, however, since some micro optimizations may hinder performance in a large scenario. With this concern in mind, I will redo some more benchmarks and request for -arch@’s idea before considering commiting the patchset. Currently, the NetBSD implementation of swab(2) is proven to be slower than the GCC generated code by about 25%. I will look into the assembly code generated to see whether I can help to solve this.
A stock 5.3-RELEASE /amd64 works on my workstation, while Windows 2003 x64 version would not :-)
As null@ advised, I have replaced the HY RAM Chips with KingSton chips, and everything goes well again!
Today I met a famous FreeBSD developer, David O’Brien (a.k.a. obrien@) and he gave us a presentation about the AMD64 architecture, which cleared my misunderstanding about the AMD64 architecture set by some marketing guys presenting in Tsinghua University.
David O’Brien has announced the -O2 clean for AMD64 platform. Meanwhile, it seems that alpha has a -O2 clean build now!