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

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

[复制链接]
发表于 2008-7-21 11:31:40 | 显示全部楼层 |阅读模式
sis 968 datasheet ,page468  说了2种存取APC reg的方法,但是其中的SB reg.48h不知道是指哪个寄存器?
' A9 ?2 L& b5 ~; |7 w3 a/ ^" \' T7 E6 D
IO index access   3 c0 l4 J* c" M& ]& r: b. a
Software would use 2 way to access the APC register
0 C) L# b: g" n3 o
) A8 u* P! Q# P1 g) o$ V
# K1 A+ ~/ b) R2 j1.  Software would set SB reg. 48h bit 6 to 1 to enable the APC bank. Use index/data port 3 E* E$ B' F( A% [3 U
with 70h/71h to read/write data. After access, reset the SB reg. 48h bit 6 to 0 to disable
, _$ z! }9 p' W$ Q, [the APC bank.   C: X6 r& ~& F$ `3 G/ x

+ f; j, G9 V( X  c) A2.  Software would set SB reg. 48h bit 1 to 0 to enable the new re-index. Use index/data 2 t4 w+ C9 j3 s) U: i
port with 78h/79h to read/write data. . s& A- p: x5 ^% O5 A! ]5 A0 [5 q
& x5 c0 z; y: f: n. _; ]$ I
如果指的是48h  RTC control的话, 我将0x7f填进去后,为什么通过70H,71H访问的还是 Internal RTC
发表于 2008-7-21 13:02:13 | 显示全部楼层
你确认访问的位置是Bus0:Device2:Function0的Reg48h吗?8 q7 E! z% h; Z8 q
请用下面这段代码来试试. @' Y. v2 m6 q! C
    reg:BYTE9 D+ I$ B8 C6 b5 w0 P" o2 c, F; M
        mov ax,0b108h  {) f* q  {6 ]; G- l( y/ n
        mov bx,10h
1 y( R; H, j& j) y        mov di,48h
# E, {6 v- [$ H        int 1ah
5 ^; s" v3 V( q( Z# H        mov reg,cl          ;get RTC Control Register
5 {# w, f5 v$ X4 e' o+ m/ D3 ` - W7 u7 h: u/ b
        mov cl,reg7 j7 t, s; t4 ^5 d# e
        and cl,3fh
  P  w8 Q) O3 A0 i: B        or cl,40h           ;set APCREG_EN, ~; E+ l6 r9 S" r9 {0 T
        mov ax,0b10bh
7 O8 s7 G/ i  i        mov bx,10h
/ k5 n5 ~: v0 N6 e( q, ?) B) u        mov di,48h
) w6 |# J4 a! O7 |+ R        int 1ah6 p" h" t7 r! n( @! p; V
       //now can access the APC register & b' d; ?1 s- x7 X5 _% n

3 S" a) J  A8 B2 C7 y* @5 R        mov cl,reg
; G# G* o. S* ]! D5 q        mov ax,0b10bh
- @" y, k  W! f        mov bx,10h! P1 t% x& U3 j+ x% D  C6 Q' b8 z
        mov di,48h
- w  P6 A" f) y5 r( {        int 1ah              ;Restore
回复

使用道具 举报

 楼主| 发表于 2008-7-21 13:54:47 | 显示全部楼层
应该没弄错啊3 R4 i) g& X& O. t' s$ d
(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了; W0 \, r1 ^6 L

0 u  q1 B- @8 z2 n4 ^ps.看来还是要仔细的看datasheet
+ u$ B" I- ?  Q& h. U8 ~6 x. }4 k' |. b' g, y
[ 本帖最后由 jackey_gu 于 2008-7-21 16:13 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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