找回密码
 加入计匠网
搜索
热搜: BIOS ACPI CPU Windows
查看: 10775|回复: 3

关于SIS 968中APC REG的读写问题

[复制链接]
发表于 2008-7-21 11:31:40 | 显示全部楼层 |阅读模式
sis 968 datasheet ,page468  说了2种存取APC reg的方法,但是其中的SB reg.48h不知道是指哪个寄存器?2 ~' W. `1 u& O3 P

0 I4 n& X8 D  d6 \$ N" f) cIO index access   
6 D5 M* ?& h4 D! x8 [. i" gSoftware would use 2 way to access the APC register
6 _- h- w# Q5 M, B( V4 v * f, Q4 `/ a$ e0 v4 Q: i4 Q
0 b9 C, S; i% X/ b: X$ H% z
1.  Software would set SB reg. 48h bit 6 to 1 to enable the APC bank. Use index/data port " z$ _% e! f, V9 L, ?' X( v# u; @: O
with 70h/71h to read/write data. After access, reset the SB reg. 48h bit 6 to 0 to disable
, J/ E) o$ |' S; X( v/ Hthe APC bank.
- b: m' K/ @: \" n" i& |' O 0 e0 m/ p8 T& O/ B
2.  Software would set SB reg. 48h bit 1 to 0 to enable the new re-index. Use index/data / k. N+ o; w/ g7 Y
port with 78h/79h to read/write data. 7 ?/ K! C" f+ l5 z
& e1 N+ w/ ?3 f1 D- \+ i+ q
如果指的是48h  RTC control的话, 我将0x7f填进去后,为什么通过70H,71H访问的还是 Internal RTC
发表于 2008-7-21 13:02:13 | 显示全部楼层
你确认访问的位置是Bus0:Device2:Function0的Reg48h吗?
1 U) ]$ E; D! h+ N% D8 z请用下面这段代码来试试
4 y; G  n# l+ |5 l) T) ~    reg:BYTE6 g  J- i: B3 p) c$ e# }- d
        mov ax,0b108h1 m& y1 ?3 E7 B9 [
        mov bx,10h! w, S: j4 N8 l! C8 G! O7 c9 Y
        mov di,48h
; Q2 G& ^# W5 w        int 1ah
: V2 B* }" T+ Z! ^" c4 O7 p        mov reg,cl          ;get RTC Control Register7 _! S6 F5 P2 u" l/ e; X9 F8 T5 w8 [; e
- o! q2 `' j$ o
        mov cl,reg1 H6 o* @2 |) S% T
        and cl,3fh7 W9 x/ n0 @# c4 ~7 W' Z4 ~1 G! |& ^
        or cl,40h           ;set APCREG_EN
; _4 U1 ~9 y7 R- _        mov ax,0b10bh
. B; @! R5 J5 `! E1 D: F% j        mov bx,10h  o4 b! `5 @# Y
        mov di,48h' O$ N+ C) {" H' v% D* B$ i
        int 1ah
/ E7 p. ], f2 O2 s5 H1 e       //now can access the APC register 9 |% R4 G" G% l. ]) v* t% c

4 f9 I* W/ G( }% @. L! L# a+ O/ z        mov cl,reg
2 T# E% ]! O8 P- X8 L        mov ax,0b10bh2 Y& o" g. ?( \; ]9 y
        mov bx,10h
+ O- l2 y& F, j7 E* e- ]+ h        mov di,48h
% ]7 c& S( ?2 m2 Z$ h$ G        int 1ah              ;Restore
回复

使用道具 举报

 楼主| 发表于 2008-7-21 13:54:47 | 显示全部楼层
应该没弄错啊
5 H& j: C! [. B$ Z* p, h* j(1L <<31) + (0L << 16) + (2 << 11) + ( 0 << 8) + (0x48 & 0xfc)
回复

使用道具 举报

 楼主| 发表于 2008-7-21 16:11:58 | 显示全部楼层
问题已找到,原因是bios默认ACPI base registers在I/O SPACE(在角落里有这个设定),而我在MEMORY SPACE 中读的,所以只要改一下就OK了* U' J% F6 o6 E

$ D0 p3 Y3 X/ C) F9 b# [8 a& i& t1 ]+ Aps.看来还是要仔细的看datasheet. I, W1 J* X1 p
7 h% \0 m  w- _, E; B
[ 本帖最后由 jackey_gu 于 2008-7-21 16:13 编辑 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

Archiver|手机版|小黑屋|计匠网

GMT+8, 2026-8-11 16:59 , Processed in 0.081387 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表