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

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

[复制链接]
发表于 2008-7-21 11:31:40 | 显示全部楼层 |阅读模式
sis 968 datasheet ,page468  说了2种存取APC reg的方法,但是其中的SB reg.48h不知道是指哪个寄存器?
+ R) J. S8 x5 E# c  _% s* R  Q  x+ q
IO index access   ' t3 a* `% ?9 o6 O2 C- o
Software would use 2 way to access the APC register / Z4 w" H1 l+ Y0 D* N1 ^+ T9 B
, q$ A* m0 c# Z

% Q8 z, f% B7 P# @' \# ]) M* l1.  Software would set SB reg. 48h bit 6 to 1 to enable the APC bank. Use index/data port * E" q  t+ E- p5 `* ~4 w
with 70h/71h to read/write data. After access, reset the SB reg. 48h bit 6 to 0 to disable : C# @% j( P0 ~& m, f
the APC bank. ) n! w* ?* Z- Q# C) W: b# a

5 ~) f( B! ]" \+ o" f2.  Software would set SB reg. 48h bit 1 to 0 to enable the new re-index. Use index/data 4 F9 o+ L0 E  a7 o0 V
port with 78h/79h to read/write data.
. E" F4 n# e% Q2 o) f* J! ~) i
' @" J6 e( \* X/ a/ N' m如果指的是48h  RTC control的话, 我将0x7f填进去后,为什么通过70H,71H访问的还是 Internal RTC
发表于 2008-7-21 13:02:13 | 显示全部楼层
你确认访问的位置是Bus0:Device2:Function0的Reg48h吗?
# W, w' S+ o. W6 N7 d0 F7 x+ \请用下面这段代码来试试
& f8 V: g8 k' [+ R  E# k    reg:BYTE
/ l, G8 ?) l. |+ s4 `/ h* p9 X: |& k        mov ax,0b108h3 _9 K$ r/ n% _, d8 `) {5 |' {3 J
        mov bx,10h
7 h* l& S. R$ C# w5 \        mov di,48h- Q! `/ n* ?9 w8 l/ M8 w# r
        int 1ah
5 p7 ~/ Z) V; n* t. B. Z) T8 H        mov reg,cl          ;get RTC Control Register: {& ?8 ^! @7 o. P! D3 k- Q
; a: l" c6 A4 Q' n# I- N; B
        mov cl,reg
1 E  [: v/ V- X  Z        and cl,3fh
! F$ T0 `( y$ |; [( o' F- h6 U% B/ ]        or cl,40h           ;set APCREG_EN5 c; P2 R. P8 g1 Z
        mov ax,0b10bh0 ?+ U0 O+ i" Q4 R
        mov bx,10h! e6 q5 a8 d. S
        mov di,48h
, z! _$ i% c9 b        int 1ah
. y$ t) r4 h9 J2 {       //now can access the APC register
/ J1 Q) ^9 A. Z0 Q5 E. Y- I- C% }
9 Q# f( z! J8 M8 X0 C1 @7 J$ g' s        mov cl,reg. D: B2 B: N! Q3 U5 v! W; \) M
        mov ax,0b10bh
: @# T3 ?1 i+ R  p3 Y# ^# l        mov bx,10h
4 k9 o) D; r& h+ I: i        mov di,48h
" O* h- U# V& Z, }5 J+ ~1 L        int 1ah              ;Restore
回复

使用道具 举报

 楼主| 发表于 2008-7-21 13:54:47 | 显示全部楼层
应该没弄错啊
! X: N( k& A0 [0 l! v2 C4 h(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了4 t8 h5 H% s. P: `0 {- g
1 G2 U  |, Y* d  ~. Z# @
ps.看来还是要仔细的看datasheet
1 w: ~2 n& x  r4 v4 l; J7 t! c. h: U
[ 本帖最后由 jackey_gu 于 2008-7-21 16:13 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-1 02:49 , Processed in 0.072288 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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