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

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

[复制链接]
发表于 2008-7-21 11:31:40 | 显示全部楼层 |阅读模式
sis 968 datasheet ,page468  说了2种存取APC reg的方法,但是其中的SB reg.48h不知道是指哪个寄存器?4 B) X8 \* ~9 ~7 F# `5 W3 y7 q
* e9 J$ N6 T; t' t, w4 m, v
IO index access   
0 H! D; c* F$ Q% a/ |Software would use 2 way to access the APC register ' |; ]; p# z( P& k1 U

, g% ?- u- v( F, |# i5 V5 n ( V* V# |( ?: p6 l/ H- \0 w
1.  Software would set SB reg. 48h bit 6 to 1 to enable the APC bank. Use index/data port
/ d% B( r6 o# O# _with 70h/71h to read/write data. After access, reset the SB reg. 48h bit 6 to 0 to disable 2 @" _: l$ q4 g& U* ^
the APC bank. ) a. |8 F& A) S  O- a: i; v

% b) T6 b# K/ i8 b1 F( O) Y2.  Software would set SB reg. 48h bit 1 to 0 to enable the new re-index. Use index/data
/ j* s4 a8 q9 N& cport with 78h/79h to read/write data. 5 o9 n, k, G: Q# I7 M7 Z
6 k0 b- s9 d$ n. F8 x5 f
如果指的是48h  RTC control的话, 我将0x7f填进去后,为什么通过70H,71H访问的还是 Internal RTC
发表于 2008-7-21 13:02:13 | 显示全部楼层
你确认访问的位置是Bus0:Device2:Function0的Reg48h吗?' h- v% h. k+ \; |
请用下面这段代码来试试
5 W/ E1 x9 s* i" |: V* f" H    reg:BYTE# h  Z% w. \! V" v( _) R4 g6 r, [
        mov ax,0b108h
" Q6 v- |0 M' H& @9 H$ X& o9 M) b        mov bx,10h
/ R$ @# }; _1 R        mov di,48h
" v1 ?$ P& ^% y        int 1ah
" ]7 f* p' ?: r% o  W" c  j4 k        mov reg,cl          ;get RTC Control Register! U. d; f) j$ f/ W  a  o6 g' F
( a) }) d, o( E/ [# S9 k( j2 K
        mov cl,reg/ V6 W0 O! G/ A. E3 A8 _: j+ Z' `5 b9 c
        and cl,3fh, y: `5 ]' G8 w" b. T; ]; p1 Y
        or cl,40h           ;set APCREG_EN
8 j0 J- k" ~4 d" A, `6 u9 q, q' ^        mov ax,0b10bh9 o$ \, `1 k% J8 c3 U8 Y
        mov bx,10h# V1 @; T5 v% q9 D
        mov di,48h
2 }2 W3 I3 |7 |5 v! Q# Y3 ^        int 1ah
8 R. e; S$ G9 g6 ^! {       //now can access the APC register 5 @& E! J; S6 x  J- ]; S

& j( ]; U5 }6 M+ J! r" Y- u5 G        mov cl,reg
- _8 _0 w! g0 Y& W6 ]+ H( [: ~        mov ax,0b10bh
/ s! b3 s. q7 ]        mov bx,10h
5 N7 j- E& w/ h; R2 E! D        mov di,48h0 G8 G: r+ b# }  d! M% V& e
        int 1ah              ;Restore
回复

使用道具 举报

 楼主| 发表于 2008-7-21 13:54:47 | 显示全部楼层
应该没弄错啊
. q, H& y$ d8 O6 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了/ V8 g: d$ p2 }) K3 Y1 W& I

! q& P5 a" S+ g' h" I0 U7 E* ~ps.看来还是要仔细的看datasheet
- K  Y- O% a& m) V* d; p; K. B0 ~$ _8 n- \6 V$ Y, D6 }
[ 本帖最后由 jackey_gu 于 2008-7-21 16:13 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-24 00:40 , Processed in 0.033598 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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