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

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

[复制链接]
发表于 2008-7-21 11:31:40 | 显示全部楼层 |阅读模式
sis 968 datasheet ,page468  说了2种存取APC reg的方法,但是其中的SB reg.48h不知道是指哪个寄存器?
6 X8 Q0 ~+ V* d$ B8 c
( n$ T, z2 V+ B2 IIO index access   
, h7 c. }+ ?; Q* j  n4 D% NSoftware would use 2 way to access the APC register ) c5 r8 `6 V5 \; l# r. I4 [" |: r

; Y; D+ X( s0 r8 D 6 W: `( F) f- X0 h9 p* n! Q
1.  Software would set SB reg. 48h bit 6 to 1 to enable the APC bank. Use index/data port . {7 [* r! v6 J9 y1 X% q
with 70h/71h to read/write data. After access, reset the SB reg. 48h bit 6 to 0 to disable
/ ]6 |1 t' f, F4 bthe APC bank. ' L/ q( i- C* _2 c9 r
: K% a! N2 E9 j' C8 u. {
2.  Software would set SB reg. 48h bit 1 to 0 to enable the new re-index. Use index/data
8 v0 E* s& b& Z+ i; _% J/ ^: hport with 78h/79h to read/write data. + X, Y) t# |. K, U6 e3 @8 G

4 ]4 P1 J- d+ F- `4 W2 [1 ]如果指的是48h  RTC control的话, 我将0x7f填进去后,为什么通过70H,71H访问的还是 Internal RTC
发表于 2008-7-21 13:02:13 | 显示全部楼层
你确认访问的位置是Bus0:Device2:Function0的Reg48h吗?2 Y* }9 O4 ^, O3 \. m
请用下面这段代码来试试
: g$ Q* L% I' }" x% b( \7 j    reg:BYTE
. @: M0 l* `* b        mov ax,0b108h# W2 y$ M& @2 K8 P
        mov bx,10h
" A  E, N# `1 j  w        mov di,48h+ q: g: A1 ]- k" |9 W
        int 1ah
; B4 `& }" ^1 F6 O1 ~        mov reg,cl          ;get RTC Control Register" K8 @+ m, q* N* w; T

- S6 Y0 B: z" C3 _& }( e/ j0 K8 m: c        mov cl,reg4 i: ]8 v/ {% y3 p" `) l
        and cl,3fh
/ q6 {! K& G4 U1 M+ S        or cl,40h           ;set APCREG_EN" _3 O1 z1 s7 b
        mov ax,0b10bh6 m2 }1 I, s. u9 }* z
        mov bx,10h  f8 N% R2 d  d& V# T1 K
        mov di,48h, n& u% l- p9 T/ Z( t" `
        int 1ah2 ^' ^4 f: ~* E8 `4 c# |
       //now can access the APC register , y3 M2 A# q6 _# L& A
2 t+ Y2 J8 \5 b- A
        mov cl,reg
: |4 x, }% L! J        mov ax,0b10bh  D- D: T/ f+ f9 K
        mov bx,10h3 ~  L. d2 u) i+ n% l4 n
        mov di,48h
, K( }7 s$ V' E% |8 r' l- `        int 1ah              ;Restore
回复

使用道具 举报

 楼主| 发表于 2008-7-21 13:54:47 | 显示全部楼层
应该没弄错啊
! V6 ]. f( z2 I" ~(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了
+ v) K, c6 d% T8 ]5 b* L
  }- z( Y1 X+ @, Kps.看来还是要仔细的看datasheet; Z/ n. a% u! }# ]5 g  l! C
/ ]& b' n% r# b
[ 本帖最后由 jackey_gu 于 2008-7-21 16:13 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-2 13:10 , Processed in 0.073820 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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