如何读写特定REG
比如,我想设RTC_EN =1以ICH8为例,该如何操作? 不是很明白你想问什么??
ICH8,RTC_EN是PM_Base+2的bit 10
假设PM_Base在IO space,用汇编可以这么写:
mov dx,PM_Base+2
in ax,dx
jmp $+2
or ax, 400h
out dx,ax
jmp $+2 不好意思,是我说的不清楚, 我的本意是想通过 code,去打开或关闭bios的 RTC项,即打开或关闭定时开机功能 In DOS mode ,你可以打开或关闭bios的 RTC项,即打开或关闭定时开机功能 (CMOS+PM Reg)
In windows mode , call API http://biosengineer.blogspot.com/2008/04/s3s4.html 参照ICH8, 写出一些code,由于本人电脑的南桥是ICH4,不知道是否是这个原因,最后还是达不到定时开机的功能,在DOS MODE运行后在BIOS中的看不到RTC有被ENABLE的情况
有条件的朋友是否能帮忙试试(pm我)
ICH4的datasheet太旧找不到,也不想去看了,所以已经去找ICH8的板子了,如果成功了,我会来这更新帖子
最后,谢谢xtdumpling 的指点
[ 本帖最后由 jackey_gu 于 2008-7-15 14:37 编辑 ] 1.set RTC EN
2.set RTC Alarm Time
3.Soft off (参考ich8)
以上做到就可达到 定时开机的效果(主板要支持RTC) 先要取相应的 pci 设备,都是通过CF8 ,cfc 来操作! Intel CHIP上面已经搞定了,在SIS CHIP上遇到了点问题,
APCRAM_EN(Bus0:Device2:Function0:Reg48h) must be set to one
and EXTEND_EN must be set to zero.
设定后,还是无法访问APC,访问的还是 Internal RTC 请教一下, 在 windows 下如何去置位 RTC_EN ?
我用 SE 或者 RW 去手动填的时候,RTC_EN 会自动清零... 不晓得这是为什么?
页:
[1]