kangtel 发表于 2008-6-21 18:11:07

Bini 能不能给我说说VGA

我今天看模块图VGA是连到南桥上(intel)的,模块图上画的是VGA芯片通过pci接到南桥,但是我不知道系统是怎么断定这个device是VGA模块的,希望赐教

bini 发表于 2008-6-22 11:07:17

不知道你看的是什么东西。再者论坛上高手多得是,不必要指名问我。

kangtel 发表于 2008-6-23 07:38:41

我的意思是当插上一块VGA卡,系统怎么知道屏幕输出要定向到这这个设备

bini 发表于 2008-6-23 09:38:29

建议你去看看PCI spec,找到系统是如何认出VGA设备的、以及Option ROM的章节。VGA BIOS(即VGA Option ROM),在BIOS初始化调用VBIOS时,会Hook住Int 10h的中断,再去看VESA的spec。

jackey_gu 发表于 2008-8-8 14:13:04

那么在BIOS刚开始的时候,如何让HOST知道VGA挂在哪个Bridge上呢?是否对于VGA设备来说,存在一个特征码???

happybasic 发表于 2008-8-8 16:15:10

是不是应该先给host bridge设定一个Pri. Bus Num , Sec Bus, Num, Sub Bus Num, 然后再去访问下级的pci device, 或是bridge再往下...

这部分猜想中,,., 请 bini指教一下....TKS~

bini 发表于 2008-8-8 16:48:12

BIOS POST时会进行PCI枚举,枚举程序会把找到的VGA Device给记录下来。

jackey_gu 发表于 2008-8-8 17:40:32

happybasic的意思好象是问 : 在BIOS POST前如何去分配资源给各种设备(不按BIOS 正常POST流程,人为干预),此时PCI相关的讯息还没MAP到MEMORY ,也能枚举吗?

bini 发表于 2008-8-8 17:44:57

麻烦两位攻读一下PCI SPEC和南北桥Datasheet。亲手写程序去Try一下,问到的东西不是一定是正确的。

happybasic 发表于 2008-8-8 17:55:57

谢谢,正在试验中...

jackey_gu 发表于 2008-8-8 18:12:19

PCI_LOCAL_BUS_30 这本 Spec正在看。。。
问个很弱的问题, PCI spec所定义的 PCI config registers 中40H以后的内容找不到,请问在哪本SPEC中???

xtdumpling 发表于 2008-8-11 14:39:22

:L :lol
1.PCI spec有写PCI configuration header里面的class code用于表示设备的类型,base class(0Bh)=03表示是显示相关的设备...
2.PCI config registers 中40h以后的内容由各个chipset vendor自己定义,看各个chipset的spec.

deci 发表于 2008-9-26 09:52:43

你的想法是对的,需要先给host bridge设定一个Pri. Bus Num , Sec Bus Num, Sub Bus Num, 然后再去访问下级的PCI bridge,再对此bridge进行设置,进而才可以访问它下面的VGA
页: [1]
查看完整版本: Bini 能不能给我说说VGA