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

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

[复制链接]
发表于 2008-7-21 11:31:40 | 显示全部楼层 |阅读模式
sis 968 datasheet ,page468  说了2种存取APC reg的方法,但是其中的SB reg.48h不知道是指哪个寄存器?$ \  m. g6 s6 o0 y  M8 A$ V: w

* U1 _) l/ m- E4 F3 n' D& zIO index access   - R  ]5 W5 g! D8 d6 v* v% {
Software would use 2 way to access the APC register
# g8 w' u" T  L3 i- X* n1 t* A ' t+ x+ R% m' w3 Z

% o/ q. {& l# \# {7 v& A1.  Software would set SB reg. 48h bit 6 to 1 to enable the APC bank. Use index/data port 1 X& [8 ]5 J0 g) [# d0 ~8 x
with 70h/71h to read/write data. After access, reset the SB reg. 48h bit 6 to 0 to disable
+ t4 \7 H8 Y: F7 Mthe APC bank. . |( O0 _( B, B( [' ~1 l& T

, h5 @$ Y7 O8 U5 A. H2.  Software would set SB reg. 48h bit 1 to 0 to enable the new re-index. Use index/data
) E9 m3 ]5 c4 r1 f9 Oport with 78h/79h to read/write data. 8 {# B! W: R1 t$ R; ^! ^4 V
" F2 Z) c7 j8 i7 r( W- l8 Z
如果指的是48h  RTC control的话, 我将0x7f填进去后,为什么通过70H,71H访问的还是 Internal RTC
发表于 2008-7-21 13:02:13 | 显示全部楼层
你确认访问的位置是Bus0:Device2:Function0的Reg48h吗?& r3 r. Q& Z3 I7 A. v4 ~- s
请用下面这段代码来试试4 |# ]8 [5 z" X" u9 T) T. h) Y
    reg:BYTE' q% {3 g" q4 R) z; k7 @* J  _
        mov ax,0b108h- c- d* z) u+ w4 f3 v* K/ p2 E
        mov bx,10h) E2 B& E$ j$ B( B
        mov di,48h
( d" O" @! k- t, ?0 D3 s- ]$ \        int 1ah) u8 D; C' }# L5 @$ m
        mov reg,cl          ;get RTC Control Register
! A* o! M# V0 L, h3 l4 c8 K- }
$ l) S0 X( c1 S& V        mov cl,reg
: {/ z1 {" S9 d1 k9 Q) F        and cl,3fh; ~* _8 d# o  u5 K) v
        or cl,40h           ;set APCREG_EN9 N) l+ h# |$ O" _& L& A5 \3 q, R
        mov ax,0b10bh
! ?0 P: o% X$ B1 \        mov bx,10h
* P, U1 W8 a$ F) ~4 |( N3 p$ \        mov di,48h- B+ u) E0 n6 v. c: B- x3 s
        int 1ah
6 I- m/ k. x; U8 ^4 i; j       //now can access the APC register : u7 `3 }! W, B% |5 W

* r0 M/ Z& H3 Y" C+ O        mov cl,reg
& g. \4 x) q( ?+ c- b7 i        mov ax,0b10bh6 K3 V- P1 v% p; }- U2 W( r
        mov bx,10h
0 |; c. A6 J, r6 U5 E# y) t        mov di,48h
* X- S5 D. M& A( ^* m9 \        int 1ah              ;Restore
回复

使用道具 举报

 楼主| 发表于 2008-7-21 13:54:47 | 显示全部楼层
应该没弄错啊# t. s2 }+ `8 ~$ p! Y0 P/ Y8 v
(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了
9 Q8 T# y9 m4 O) Z
6 P) c3 ]+ `3 L2 |  z- }6 j& gps.看来还是要仔细的看datasheet
3 ?" r* c2 E: b1 o! w3 h" T/ s' I
% Q9 M0 }8 Q, u# ~9 A2 l[ 本帖最后由 jackey_gu 于 2008-7-21 16:13 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-29 05:48 , Processed in 0.057882 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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