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

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

[复制链接]
发表于 2008-7-21 11:31:40 | 显示全部楼层 |阅读模式
sis 968 datasheet ,page468  说了2种存取APC reg的方法,但是其中的SB reg.48h不知道是指哪个寄存器?
! [2 v& w$ r$ w4 N: Q( ?# K! S9 f2 F! b8 d* T7 q7 V
IO index access   7 [4 d+ I: d1 @# X4 ^) ^1 q
Software would use 2 way to access the APC register , Y+ h6 {- b) K

; ~5 P) e8 U5 u5 n* y , K$ O4 X% e) G8 \4 C  ^6 e) ]
1.  Software would set SB reg. 48h bit 6 to 1 to enable the APC bank. Use index/data port
  Y: K0 w9 S, a( xwith 70h/71h to read/write data. After access, reset the SB reg. 48h bit 6 to 0 to disable & P% N' B2 W1 ?: Q9 S
the APC bank.
0 c" s5 @' U2 F' F+ ^! ]0 B # ^% ^1 G, u- O
2.  Software would set SB reg. 48h bit 1 to 0 to enable the new re-index. Use index/data
- g7 {& c. l1 N# |. ?4 F4 O2 Jport with 78h/79h to read/write data.
1 O+ X! i; v, a) M7 z: }" N9 R4 R. z& X
如果指的是48h  RTC control的话, 我将0x7f填进去后,为什么通过70H,71H访问的还是 Internal RTC
发表于 2008-7-21 13:02:13 | 显示全部楼层
你确认访问的位置是Bus0:Device2:Function0的Reg48h吗?8 _. P- ]7 t1 j! S
请用下面这段代码来试试
1 c9 w8 l0 R, F% o  u( U8 R    reg:BYTE
! ~# D" Z! u3 ^        mov ax,0b108h
! i# {- Y' j* i* A5 ~( |        mov bx,10h$ S' R1 {3 I% H4 F2 U
        mov di,48h7 p) F0 F- o  F4 o- g! y0 r& c
        int 1ah
: ^/ c- w' F  t9 x        mov reg,cl          ;get RTC Control Register
* V. J6 U4 o% l: H" ~% x! \" P
* P0 ~# a- [# \. P        mov cl,reg
9 n& ~+ R- N6 o3 o  V$ n        and cl,3fh
- P* o( S' F. c4 Z+ o        or cl,40h           ;set APCREG_EN
$ S/ l% x# v% C. L9 O* V. T, h        mov ax,0b10bh
+ L( }* ~, g8 Y3 ~* D        mov bx,10h
8 p3 s8 q- I9 p        mov di,48h
' t# W# ~2 i: r* T8 }7 q) D        int 1ah
5 z1 n( K& i  S; v" o% E, U- v, r       //now can access the APC register
5 V8 I7 G. t/ d+ r) ^
6 X7 y8 A/ {2 c* l. L- e" x        mov cl,reg4 {+ Y/ Q+ a6 \
        mov ax,0b10bh, @2 ?1 C+ k: a$ J; I+ r  f9 C2 Y
        mov bx,10h
6 r% d. E/ G3 V0 z' X        mov di,48h7 @& Y- |9 r2 L7 Z4 j
        int 1ah              ;Restore
回复

使用道具 举报

 楼主| 发表于 2008-7-21 13:54:47 | 显示全部楼层
应该没弄错啊0 G7 i3 |, k( X- B4 ^- P
(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了
, L' {5 i' g  P, j. h6 i7 J7 q: q4 [
7 R& ^2 w* I+ @8 ?ps.看来还是要仔细的看datasheet# Q9 w- n& k' _* @5 K8 B
$ O8 ]3 O* w- o% R. B
[ 本帖最后由 jackey_gu 于 2008-7-21 16:13 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-2 12:31 , Processed in 0.048312 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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