Author: wmb
Date: Thu Jun 10 20:24:35 2010
New Revision: 1818
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/1818
Log:
OLPC XO-1.5 - Added signature string to ACPI DSDT table for
Windows OEM activation.
Modified:
cpu/x86/pc/olpc/via/dsdt.dsl
Modified: cpu/x86/pc/olpc/via/dsdt.dsl
==============================================================================
--- cpu/x86/pc/olpc/via/dsdt.dsl Thu Jun 10 07:54:52 2010 (r1817)
+++ cpu/x86/pc/olpc/via/dsdt.dsl Thu Jun 10 20:24:35 2010 (r1818)
@@ -30,6 +30,16 @@
0x00000001) // OEM Revision
{
+// This entity must be present very near the beginning of the DSDT
+// so Windows OEM Activation will work. The OEMBIOS.INI file that
+// was supplied to Microsoft stipulates that the sequence "OLPC XO"
+// will appear within 60 bytes of the address 0xfc000, which is the
+// DSDT start address.
+Name (VERS, Package (0x02) {
+ "OLPC XO-1.5",
+ "$Id$"
+})
+
OperationRegion (UART, SystemIO, 0x03f8, 0x07)
// set to 1 to enable debug output
Author: wmb
Date: Thu Jun 10 07:54:52 2010
New Revision: 1817
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/1817
Log:
When booting Windows from the external SD card, disable the internal
SD card to prevent Windows from making the internal card C:.
Modified:
cpu/x86/pc/biosints.fth
Modified: cpu/x86/pc/biosints.fth
==============================================================================
--- cpu/x86/pc/biosints.fth Tue Jun 8 03:13:51 2010 (r1816)
+++ cpu/x86/pc/biosints.fth Thu Jun 10 07:54:52 2010 (r1817)
@@ -1209,7 +1209,8 @@
" ext:1" ntfs? if
" ext:0" set-hd-boot
" sound-end" evaluate
-
+ \ Disable the internal SD to prevent Windows from making it C:
+ h# f9 h# 6099 config-b!
true exit
then
false
Author: wmb
Date: Tue May 18 05:44:02 2010
New Revision: 1812
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/1812
Log:
OLPC trac 10146 - tweak to last checkin for even more reliable timer selftest.
Modified:
cpu/x86/pc/olpc/timertest.fth
Modified: cpu/x86/pc/olpc/timertest.fth
==============================================================================
--- cpu/x86/pc/olpc/timertest.fth Tue May 18 01:31:18 2010 (r1811)
+++ cpu/x86/pc/olpc/timertest.fth Tue May 18 05:44:02 2010 (r1812)
@@ -9,7 +9,7 @@
\ depend on being able to see any specific value.
: wait-rollover ( -- error? )
get-msecs d# 100 + begin ( time-limit )
- 0 count@ 5 < if drop false exit then
+ 0 count@ 6 < if drop false exit then
dup get-msecs - ( time-limit diff )
0<= until
drop true
Author: wmb
Date: Tue May 18 01:31:18 2010
New Revision: 1811
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/1811
Log:
OLPC trac 10146 - fixed reliability problem with ISA timer selftest.
Modified:
cpu/x86/pc/olpc/timertest.fth
Modified: cpu/x86/pc/olpc/timertest.fth
==============================================================================
--- cpu/x86/pc/olpc/timertest.fth Tue May 18 00:42:46 2010 (r1810)
+++ cpu/x86/pc/olpc/timertest.fth Tue May 18 01:31:18 2010 (r1811)
@@ -3,9 +3,13 @@
dev /isa/timer
+\ "0 count@" takes 4.5 uS on XO-1 and 6.3 uS on XO-1.5, due to the
+\ several I/O port accesses involved. That is longer than the per-count
+\ time, so the test for rollover needs some slop ("5 <") because you can't
+\ depend on being able to see any specific value.
: wait-rollover ( -- error? )
- get-msecs d# 200 + begin ( time-limit )
- 0 count@ 1 = if drop false exit then
+ get-msecs d# 100 + begin ( time-limit )
+ 0 count@ 5 < if drop false exit then
dup get-msecs - ( time-limit diff )
0<= until
drop true
@@ -20,14 +24,19 @@
then
then
- wait-rollover if
+ lock[ wait-rollover if
+ ]unlock
." The ISA PIT timer did not reach a count of 1." cr
true exit
then
- 1 ms
+ \ Ensure that rollover has completed so the first count below
+ \ is higher than the second count (the counter counts down).
+ d# 10 us
- 0 count@ d# 10000 d# 11000 between 0= if
+ 0 count@ 1 ms 0 count@ ]unlock - ( delta-ticks )
+
+ d# 1150 d# 1250 between 0= if \ Nominal delta is 1199
." The ISA PIT timer is ticking at the wrong rate." cr
true exit
then