Chinaunix
标题:
Aki看过来~~~请指教!
[打印本页]
作者:
老鸵鸟
时间:
2004-01-04 23:57
标题:
Aki看过来~~~请指教!
这两天忙着调试一套G5环境,本以为G5可以让我体验到超爽的速度,但相反我是无比的沮丧啊!!!其他的应用软件环境就不多说,简单点说就是一组SCSI硬盘通过ATTO 4D双通道卡连接到G5上。这个看起来完美的组合简直就是问题组合啊.........首先把ATTO 4D卡装在100Mhz的槽位上,经过反复折腾后系统可以识别到硬盘了,一套完全的ultra320环境速度速度好慢啊, 然后换到133Mhz的槽位上,不稳定不说速度还是那个伤心的慢啊。我估计是卡的底层驱动的问题,这到底是怎么回事?????? 请教了AKI.
作者:
glider
时间:
2004-01-05 09:20
提示:
作者被禁止或删除 内容自动屏蔽
作者:
老鸵鸟
时间:
2004-01-05 15:12
标题:
Aki看过来~~~请指教!
G5的版本:10.3 ATTO 4D的卡是支持苹果系统的,这个系列的产品都是支持苹果的啊!过去的G3 G4都是用的这个牌子的SCSI卡,从ATTO的网站和苹果的网站都可以得到证明的。
作者:
glider
时间:
2004-01-06 10:54
提示:
作者被禁止或删除 内容自动屏蔽
作者:
Aki
时间:
2004-01-06 14:51
标题:
Aki看过来~~~请指教!
你的驱动程序可能不是用苹果的指导文档编写的。
有很多原因造成这种现象:
IOMemoryDescriptor的变更:
当驱动程序调用IOMemoryDescriptor::prepare时,一个内存地址映射自动地加入到DART中。当它调用IOMemoryDescriptor::release时,这个映射就会从DART中删除。如果没有成功进行这个高用,那么设备驱动程序就可能出现随机数据损坏,或者崩溃。
由于DART要求为读写操作进行不同的缓存,DMA的方向对于包含DART的硬件来说就非常重要。一般地说,如果DMA的方向发生错误,你可能收到随机错误(在任何系统上),而如果你尝试对DMA方向设置成读的内存区域进行WriteByess调用,则在64们的硬件上将导致核心崩溃。
如果你试图对没有连线(unwired)内存(也即用户内存)执行DMA事务,在先前的系统中,你可能只能得到随机崩溃,或者数据损坏。但是在具有DART的机器上,你很呆能是没有得到任何数据而已。
对内存子系统进行变更带来了副作用,Mac OS X因此非常倾向于在内存区返回物理上连续的页面范围。由于历史的原因,Mac OS X按照相反的顺序返回多页的内存区,以最后一页开始,顺序移动到第一页。这导致Mac OS X返回的多页内存区在本质上就不会是物理是连续的。
由于对内存区中物理上连续的内存块进行操作的可能性越来越大,以上的改变对于一些必须处理物理上连续的内存页面的驱动程序来说,可能会带来潜在的错误,可能会使这些驱动程序出现不正确的行为或者崩溃。
不过Panher已经为硬件重新设计做出了改变,希望你能极时更新软件版本。
核心依赖性的变更:
从Panther开始,声明依赖于版本7(就是Panhter版本)的I/O kit 的设备驱动程序将不再自动得到Mach和BSD中定义的符号。之所以做这个变更是为了使I/O kit的开发者不再依赖于那些没有在I/O kit中显式声明可以使用的符号。
已经存在的驱动程序不受这个变更的影响。如果你为了得到新版的I/O kit的新功能而修改驱动程序并显式声明对版本7的依赖性,则将会受到影响。
以上只是问题出现可能的一部分原因,还有如PCI地址和虚存系统等问题。一些驱动程序可能需要做一些小的修改,才能支持Panther和更高版本的操作系统。为了最大程序的扩展,苹果已经尽力兼容所有已经存在的设备驱动程序,但是一部分驱动可能还有问题,你可以关注Apple Developer.希望你的问题能早日解决。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2