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

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

[复制链接]
发表于 2008-7-21 11:31:40 | 显示全部楼层 |阅读模式
sis 968 datasheet ,page468  说了2种存取APC reg的方法,但是其中的SB reg.48h不知道是指哪个寄存器?
1 f8 Y; f- j7 B, \! J" m! k3 ~
( m- F1 u( K& f0 r5 yIO index access   
! Y, G. c9 f: H0 k8 j7 R+ H) VSoftware would use 2 way to access the APC register
+ M/ U9 ?  k  s7 Y/ @
$ m" t  f: S# Q* g' F' z : v/ p# J) T9 x! f9 g  M
1.  Software would set SB reg. 48h bit 6 to 1 to enable the APC bank. Use index/data port
8 Y7 ~$ w1 k$ v0 f; H/ T% b, fwith 70h/71h to read/write data. After access, reset the SB reg. 48h bit 6 to 0 to disable
% W5 `. G9 [/ v, x- X# z: ?# Wthe APC bank. . v. z' s, M1 [

3 _2 w; Z' u2 Y6 ]$ J7 J2.  Software would set SB reg. 48h bit 1 to 0 to enable the new re-index. Use index/data
  J+ d9 c2 K0 p3 ~, ?# Y* ~8 d* jport with 78h/79h to read/write data. " E9 h  l/ o0 ?% f
" H8 s( W5 K6 m4 Y7 ]/ u1 r
如果指的是48h  RTC control的话, 我将0x7f填进去后,为什么通过70H,71H访问的还是 Internal RTC
发表于 2008-7-21 13:02:13 | 显示全部楼层
你确认访问的位置是Bus0:Device2:Function0的Reg48h吗?$ S5 z7 }) y- @5 Z: m, T9 ?
请用下面这段代码来试试
7 l6 Y; ~4 V% l    reg:BYTE
: o1 F7 Y6 z6 p) c9 h- g5 @, h        mov ax,0b108h
# p, i% ]2 x4 Z8 _1 p9 D" P        mov bx,10h
7 X" s$ k1 ~( u, ?5 Q1 W        mov di,48h9 d' ~  o6 X5 X8 o
        int 1ah4 p; R" A* n! C0 {( o1 x: ?
        mov reg,cl          ;get RTC Control Register
5 Z6 n( t6 W& A6 u1 X  j
& S% ~/ v& H) K/ X1 y9 b        mov cl,reg
+ @! e# t1 Z5 _! Z% [        and cl,3fh8 p3 |; i0 N$ Y% b! s5 D5 I
        or cl,40h           ;set APCREG_EN& p4 |0 [. s6 O' k; r" r" D- X
        mov ax,0b10bh; ?  I) q0 R% G  G* D5 E8 c
        mov bx,10h) u- y- A6 _( F9 m: }3 Q
        mov di,48h
6 v* ], q1 V% h, V) l        int 1ah
3 i4 n, P9 U- V! C& W# {0 c% e       //now can access the APC register
" m9 g( Z/ Y5 C# ^5 t " v& [8 s: N+ y
        mov cl,reg" s/ B* ~. `4 q: ~) G( {' k" t" @
        mov ax,0b10bh& _4 k: `: e. {* b
        mov bx,10h# C7 o. D" h* k) F- K! [9 @
        mov di,48h
$ j3 N, ]& [. b9 e2 y        int 1ah              ;Restore
回复

使用道具 举报

 楼主| 发表于 2008-7-21 13:54:47 | 显示全部楼层
应该没弄错啊
3 d2 ?7 R8 g5 f" V(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了
, J# y2 k& _  B- T- d
4 _% Z1 j# A2 tps.看来还是要仔细的看datasheet# T4 {  x% R0 b

! J$ b9 a' S- ~, w+ H% ^1 p. x[ 本帖最后由 jackey_gu 于 2008-7-21 16:13 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-16 19:43 , Processed in 0.082177 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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