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

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

[复制链接]
发表于 2008-7-21 11:31:40 | 显示全部楼层 |阅读模式
sis 968 datasheet ,page468  说了2种存取APC reg的方法,但是其中的SB reg.48h不知道是指哪个寄存器?
# X5 P- w5 [& i2 U6 G0 p6 O
1 y- q. y8 B. A$ oIO index access   
) u9 ]2 U: r% k; b( H$ JSoftware would use 2 way to access the APC register ' _  i  r+ G" r9 Q

( }# Z: I- @/ ^) n5 U7 a
  Z9 C* |+ s+ @1.  Software would set SB reg. 48h bit 6 to 1 to enable the APC bank. Use index/data port
9 k+ S" z+ s7 h2 y0 i" D& Ewith 70h/71h to read/write data. After access, reset the SB reg. 48h bit 6 to 0 to disable
! M/ U3 I1 p& Z( ?) @+ M& x( w3 Xthe APC bank. - L8 D# w6 `1 D

; W9 v& I. w4 Z$ O2.  Software would set SB reg. 48h bit 1 to 0 to enable the new re-index. Use index/data
' i+ G" q+ @3 E* h+ d. bport with 78h/79h to read/write data. % L2 V5 e8 k6 t: L  M3 p: w! L5 h8 p: ]

: Q4 B1 N: \. w, t2 q: I" o如果指的是48h  RTC control的话, 我将0x7f填进去后,为什么通过70H,71H访问的还是 Internal RTC
发表于 2008-7-21 13:02:13 | 显示全部楼层
你确认访问的位置是Bus0:Device2:Function0的Reg48h吗?/ Z( m  d& x7 X. H
请用下面这段代码来试试
0 w% `3 o. P- ?, X) C$ T    reg:BYTE
( M7 n1 h* A% k2 y        mov ax,0b108h
7 [4 ?- P8 ~) Z" Q# X# U        mov bx,10h
& I; }1 I+ D) j# g' B/ O0 c        mov di,48h: i  i& _" b- K% }8 _
        int 1ah
8 z' f5 }4 t+ Y, s7 T" q1 b        mov reg,cl          ;get RTC Control Register
# O9 [7 e* F+ k' J% ^/ u . b5 o4 f2 S, \& |" ?
        mov cl,reg
2 k1 O; N+ `) a7 V        and cl,3fh7 F5 q. T  S3 j$ D* A
        or cl,40h           ;set APCREG_EN8 h( T$ d/ A; ?5 I
        mov ax,0b10bh  H, s0 O6 @* @$ D
        mov bx,10h
/ t0 v+ S2 h; d0 r. d3 E        mov di,48h; w) B; c: Y4 ?* G
        int 1ah, h. C" Z+ E! |. e) q+ ]$ s4 W
       //now can access the APC register " ^4 x" {6 h5 |6 ^
  u( Q% G5 [9 {. Y7 i9 i& v, W
        mov cl,reg
3 A$ `3 @. s) n; s1 t* x        mov ax,0b10bh
9 {1 C9 T. S; |2 ?# S; X        mov bx,10h# ~! S$ a( [5 q" o. `* j1 o
        mov di,48h8 T2 E2 H; G8 k2 X1 O
        int 1ah              ;Restore
回复

使用道具 举报

 楼主| 发表于 2008-7-21 13:54:47 | 显示全部楼层
应该没弄错啊
; z0 g  J6 t' i3 C( k  @(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了
! W1 M- S8 d' I7 _) p* W7 V4 L7 d$ l
ps.看来还是要仔细的看datasheet6 k$ ~& R, [  Z6 \, }; x
/ y' c$ b- [- h/ Z- I3 L
[ 本帖最后由 jackey_gu 于 2008-7-21 16:13 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-9-19 21:01 , Processed in 0.085321 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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