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

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

[复制链接]
发表于 2008-7-21 11:31:40 | 显示全部楼层 |阅读模式
sis 968 datasheet ,page468  说了2种存取APC reg的方法,但是其中的SB reg.48h不知道是指哪个寄存器?* q# m7 j) {, @  P

( E/ }1 r# n) J& }IO index access   
$ g& N; V3 ^. b. ISoftware would use 2 way to access the APC register
+ D) q4 S! v7 U* C% h+ j
6 _! ?3 J6 |% E3 n0 o 8 Q# @* u9 }* R2 n% y
1.  Software would set SB reg. 48h bit 6 to 1 to enable the APC bank. Use index/data port . P# ^% F0 r, `9 _
with 70h/71h to read/write data. After access, reset the SB reg. 48h bit 6 to 0 to disable
% e* p0 H( A& X9 C2 Fthe APC bank. 6 v% d- a% ^: ]4 ^0 I

# h3 I9 ^, |1 }" F2.  Software would set SB reg. 48h bit 1 to 0 to enable the new re-index. Use index/data ; \- Z+ k  T) g
port with 78h/79h to read/write data.
9 x- Y4 D, `  ?/ [, u% M8 ~
1 ?* S+ C* H; Y+ C如果指的是48h  RTC control的话, 我将0x7f填进去后,为什么通过70H,71H访问的还是 Internal RTC
发表于 2008-7-21 13:02:13 | 显示全部楼层
你确认访问的位置是Bus0:Device2:Function0的Reg48h吗?
! w- ]' ^5 x$ V2 k7 v3 e, }请用下面这段代码来试试5 @6 e+ y% O2 a! l' l6 F% |
    reg:BYTE1 {6 S! w2 M2 d' v  X
        mov ax,0b108h
  O" N7 W9 J) B7 X' o3 ]) n        mov bx,10h
% V. z6 R( D* i5 |7 o        mov di,48h
. e- A( X4 W( z: ?        int 1ah
4 g1 b4 v: o4 Z6 |# e) m8 s        mov reg,cl          ;get RTC Control Register' W' H. e- M9 h' S% M1 _
8 U# W1 ~" {6 @& S# _' m
        mov cl,reg
& H8 c: E( o7 d        and cl,3fh* R) q; P! a1 t1 G+ Z
        or cl,40h           ;set APCREG_EN) ]' h6 b& u6 O% b. I# H
        mov ax,0b10bh& a; P/ o( D1 ^* _
        mov bx,10h
; D+ w& {5 \& k* `% c/ _        mov di,48h
! ?# |& K) m" t* U9 d6 H5 Z        int 1ah7 W1 C& D, |) k9 l
       //now can access the APC register 7 D- o( z3 @+ K
, d1 a3 e' @+ K; R" g$ Y6 B6 O
        mov cl,reg: I) j& g, Y0 Y" y# b5 v
        mov ax,0b10bh6 U. @7 G6 T1 _. w( H
        mov bx,10h
8 w, N; a; e$ @2 w2 o  `/ F7 [0 x        mov di,48h# b) L' e- s1 w! b2 o
        int 1ah              ;Restore
回复

使用道具 举报

 楼主| 发表于 2008-7-21 13:54:47 | 显示全部楼层
应该没弄错啊! p) j6 \" `. ?; N1 [3 ?# d- s
(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了! G1 C$ B& I8 a% B+ f+ j+ C

, t6 A- [5 M5 ^& m- vps.看来还是要仔细的看datasheet& k* L8 c/ P9 ]9 K6 M& {! ?
' X" w% k5 E+ b2 F
[ 本帖最后由 jackey_gu 于 2008-7-21 16:13 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-7-19 20:14 , Processed in 0.460388 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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