Author: wmb
Date: 2009-07-31 11:27:04 +0200 (Fri, 31 Jul 2009)
New Revision: 1261
Added:
cpu/x86/pc/olpc/via/cmos.fth
Modified:
cpu/x86/pc/olpc/via/devices.fth
Log:
Via - fixed CMOS RAM high ban access (see trac 9431).
Added: cpu/x86/pc/olpc/via/cmos.fth
===================================================================
--- cpu/x86/pc/olpc/via/cmos.fth (rev 0)
+++ cpu/x86/pc/olpc/via/cmos.fth 2009-07-31 09:27:04 UTC (rev 1261)
@@ -0,0 +1,50 @@
+\ See license at end of file
+purpose: Access to CMOS RAM on Via VX855
+
+: cmos-setup ( index -- data-reg )
+ dup h# 80 and if
+ h# 74 pc! h# 75
+ else
+ h# 70 pc! h# 71
+ then
+;
+
+: cmos@ ( index -- b ) lock[ cmos-setup pc@ ]unlock ;
+
+: cmos! ( b index -- ) lock[ cmos-setup pc! ]unlock ;
+
+: bios-checksum-bad? ( -- flag )
+ 0 h# 2d h# 10 do i cmos@ + loop ( sum )
+ h# 2f cmos@ h# 2e cmos@ bwjoin <>
+;
+
+\ Zero is the right checksum for zero data
+: init-bios-cmos ( -- ) h# 30 h# 10 do 0 i cmos! loop ;
+
+stand-init: CMOS
+ bios-checksum-bad? if init-bios-cmos then
+;
+
+\ LICENSE_BEGIN
+\ Copyright (c) 2006 FirmWorks
+\
+\ Permission is hereby granted, free of charge, to any person obtaining
+\ a copy of this software and associated documentation files (the
+\ "Software"), to deal in the Software without restriction, including
+\ without limitation the rights to use, copy, modify, merge, publish,
+\ distribute, sublicense, and/or sell copies of the Software, and to
+\ permit persons to whom the Software is furnished to do so, subject to
+\ the following conditions:
+\
+\ The above copyright notice and this permission notice shall be
+\ included in all copies or substantial portions of the Software.
+\
+\ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+\ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+\ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+\ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+\ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+\ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+\ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+\
+\ LICENSE_END
Modified: cpu/x86/pc/olpc/via/devices.fth
===================================================================
--- cpu/x86/pc/olpc/via/devices.fth 2009-07-29 21:45:59 UTC (rev 1260)
+++ cpu/x86/pc/olpc/via/devices.fth 2009-07-31 09:27:04 UTC (rev 1261)
@@ -160,7 +160,7 @@
\ XXX remove the OS file commands from tools.dic
fload ${BP}/ofw/core/filecmds.fth \ File commands: dir, del, ren, etc.
-fload ${BP}/cpu/x86/pc/olpc/cmos.fth \ CMOS RAM indices are 1f..ff , above RTC
+fload ${BP}/cpu/x86/pc/olpc/via/cmos.fth \ CMOS RAM indices are 1f..ff , above RTC
.( XXX Not clearing CMOS) cr
patch noop init-bios-cmos stand-init