diff --git a/src/IDF/Diff.php b/src/IDF/Diff.php index 8909618..501b2b1 100644 --- a/src/IDF/Diff.php +++ b/src/IDF/Diff.php @@ -35,9 +35,29 @@ class IDF_Diff public function __construct($diff, $path_strip_level = 0) { $this->path_strip_level = $path_strip_level; + $this->lines = self::splitIntoLines($diff); + } + + /** + * Splits a diff into separate lines while retaining the individual + * line ending character for every line + */ + private static function splitIntoLines($diff) + { // this works because in unified diff format even empty lines are // either prefixed with a '+', '-' or ' ' - $this->lines = preg_split("/\015\012|\015|\012/", $diff, -1, PREG_SPLIT_NO_EMPTY); + $splitted = preg_split("/\r\n|\n/", $diff, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_OFFSET_CAPTURE); + + $last_off = -1; + $lines = array(); + while (($split = array_shift($splitted)) !== null) { + if ($last_off != -1) { + $lines[] .= substr($diff, $last_off, $split[1] - $last_off); + } + $last_off = $split[1]; + } + $lines[] = substr($diff, $last_off); + return $lines; } public function parse() @@ -66,12 +86,12 @@ class IDF_Diff } // use new file name by default - preg_match("/^\+\+\+ ([^\t]+)/", $newfileline, $m); + preg_match("/^\+\+\+ ([^\t\n\r]+)/", $newfileline, $m); $current_file = $m[1]; if ($current_file === '/dev/null') { // except if it's /dev/null, use the old one instead // eg. mtn 0.48 and newer - preg_match("/^--- ([^\t]+)/", $oldfileline, $m); + preg_match("/^--- ([^\t\r\n]+)/", $oldfileline, $m); $current_file = $m[1]; } if ($this->path_strip_level > 0) { @@ -102,10 +122,11 @@ class IDF_Diff while ($i < $diffsize && ($addlines >= 0 || $dellines >= 0)) { $linetype = $this->lines[$i] != '' ? $this->lines[$i][0] : false; + $content = substr($this->lines[$i], 1); switch ($linetype) { case ' ': $files[$current_file]['chunks'][$current_chunk][] = - array($delstart, $addstart, substr($this->lines[$i++], 1)); + array($delstart, $addstart, $content); $dellines--; $addlines--; $delstart++; @@ -113,23 +134,26 @@ class IDF_Diff break; case '+': $files[$current_file]['chunks'][$current_chunk][] = - array('', $addstart, substr($this->lines[$i++], 1)); + array('', $addstart, $content); $addlines--; $addstart++; break; case '-': $files[$current_file]['chunks'][$current_chunk][] = - array($delstart, '', substr($this->lines[$i++], 1)); + array($delstart, '', $content); $dellines--; $delstart++; break; case '\\': - // ignore newline handling for now, see issue 636 - $i++; + // no new line at the end of this file; remove pseudo new line from last line + $cur = count($files[$current_file]['chunks'][$current_chunk]) - 1; + $files[$current_file]['chunks'][$current_chunk][$cur][2] = + rtrim($files[$current_file]['chunks'][$current_chunk][$cur][2], "\r\n"); continue; default: break 2; } + $i++; } $current_chunk++; } @@ -156,13 +180,15 @@ class IDF_Diff foreach ($file['chunks'] as $chunk) { foreach ($chunk as $line) { if ($line[0] and $line[1]) { - $class = 'diff-c'; + $class = 'diff diff-c'; } elseif ($line[0]) { - $class = 'diff-r'; + $class = 'diff diff-r'; } else { - $class = 'diff-a'; + $class = 'diff diff-a'; } - $line_content = self::padLine(Pluf_esc($line[2])); + $line_content = Pluf_esc($line[2]); + $line_content = preg_replace("/\t/", " ", $line_content); + $line_content = self::makeNonPrintableCharsVisible($line_content); $out .= sprintf('%s%s%s'."\n", $line[0], $line[1], $class, $pretty, $line_content); } if (count($file['chunks']) > $cc) @@ -174,6 +200,13 @@ class IDF_Diff return Pluf_Template::markSafe($out); } + private static function makeNonPrintableCharsVisible($line) + { + return preg_replace('/([^[:print:]])/e', + '"".bin2hex("\\1").""', + $line); + } + public static function padLine($line) { $line = str_replace("\t", ' ', $line); @@ -208,7 +241,7 @@ class IDF_Diff */ public function fileCompare($orig, $chunks, $filename, $context=10) { - $orig_lines = preg_split("/\015\012|\015|\012/", $orig); + $orig_lines = self::splitIntoLines($orig); $new_chunks = $this->mergeChunks($orig_lines, $chunks, $context); return $this->renderCompared($new_chunks, $filename); } diff --git a/test/IDF/DiffTest.php b/test/IDF/DiffTest.php index 62cf53d..3ff8b09 100644 --- a/test/IDF/DiffTest.php +++ b/test/IDF/DiffTest.php @@ -38,11 +38,9 @@ class IDF_DiffTest extends PHPUnit_Framework_TestCase } $expectedfile = str_replace('.diff', '.expected', $difffile); - $expectedcontent = @file_get_contents($expectedfile); - $diffcontent = file_get_contents($difffile); $diff = new IDF_Diff($diffcontent, $diffprefix); - $this->assertEquals(unserialize($expectedcontent), + $this->assertEquals(require_once($expectedfile), $diff->parse(), 'parsed diff '.$difffile.' does not match'); } diff --git a/test/data/IDF_DiffTest/test-01-svn-new-files.expected b/test/data/IDF_DiffTest/test-01-svn-new-files.expected index 00c201a..045287c 100644 --- a/test/data/IDF_DiffTest/test-01-svn-new-files.expected +++ b/test/data/IDF_DiffTest/test-01-svn-new-files.expected @@ -1 +1,7050 @@ -a:12:{s:32:"src/mainboard/lenovo/x60/Kconfig";a:2:{s:6:"chunks";a:1:{i:0;a:7:{i:0;a:3:{i:0;s:2:"21";i:1;s:2:"21";i:2;s:29:" select BOARD_ROMSIZE_KB_2048";}i:1;a:3:{i:0;i:22;i:1;i:22;i:2;s:33:" select CHANNEL_XOR_RANDOMIZATION";}i:2;a:3:{i:0;i:23;i:1;i:23;i:2;s:24:" select HAVE_SMI_HANDLER";}i:3;a:3:{i:0;s:0:"";i:1;i:24;i:2;s:24:" select HAVE_ACPI_TABLES";}i:4;a:3:{i:0;i:24;i:1;i:25;i:2;b:0;}i:5;a:3:{i:0;i:25;i:1;i:26;i:2;s:20:"config MAINBOARD_DIR";}i:6;a:3:{i:0;i:26;i:1;i:27;i:2;s:7:" string";}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:2:"21";i:1;s:1:"6";}i:1;a:2:{i:0;s:2:"21";i:1;s:1:"7";}}}}s:36:"src/mainboard/lenovo/x60/acpi/ac.asl";a:2:{s:6:"chunks";a:1:{i:0;a:44:{i:0;a:3:{i:0;s:0:"";i:1;s:1:"1";i:2;s:2:"/*";}i:1;a:3:{i:0;s:0:"";i:1;i:2;i:2;s:45:" * This file is part of the coreboot project.";}i:2;a:3:{i:0;s:0:"";i:1;i:3;i:2;s:2:" *";}i:3;a:3:{i:0;s:0:"";i:1;i:4;i:2;s:58:" * Copyright (c) 2011 Sven Schnelle ";}i:4;a:3:{i:0;s:0:"";i:1;i:5;i:2;s:2:" *";}i:5;a:3:{i:0;s:0:"";i:1;i:6;i:2;s:64:" * This program is free software; you can redistribute it and/or";}i:6;a:3:{i:0;s:0:"";i:1;i:7;i:2;s:65:" * modify it under the terms of the GNU General Public License as";}i:7;a:3:{i:0;s:0:"";i:1;i:8;i:2;s:58:" * published by the Free Software Foundation; version 2 of";}i:8;a:3:{i:0;s:0:"";i:1;i:9;i:2;s:15:" * the License.";}i:9;a:3:{i:0;s:0:"";i:1;i:10;i:2;s:2:" *";}i:10;a:3:{i:0;s:0:"";i:1;i:11;i:2;s:66:" * This program is distributed in the hope that it will be useful,";}i:11;a:3:{i:0;s:0:"";i:1;i:12;i:2;s:65:" * but WITHOUT ANY WARRANTY; without even the implied warranty of";}i:12;a:3:{i:0;s:0:"";i:1;i:13;i:2;s:64:" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the";}i:13;a:3:{i:0;s:0:"";i:1;i:14;i:2;s:47:" * GNU General Public License for more details.";}i:14;a:3:{i:0;s:0:"";i:1;i:15;i:2;s:2:" *";}i:15;a:3:{i:0;s:0:"";i:1;i:16;i:2;s:68:" * You should have received a copy of the GNU General Public License";}i:16;a:3:{i:0;s:0:"";i:1;i:17;i:2;s:62:" * along with this program; if not, write to the Free Software";}i:17;a:3:{i:0;s:0:"";i:1;i:18;i:2;s:57:" * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,";}i:18;a:3:{i:0;s:0:"";i:1;i:19;i:2;s:20:" * MA 02110-1301 USA";}i:19;a:3:{i:0;s:0:"";i:1;i:20;i:2;s:3:" */";}i:20;a:3:{i:0;s:0:"";i:1;i:21;i:2;b:0;}i:21;a:3:{i:0;s:0:"";i:1;i:22;i:2;s:38:"Field(ERAM, ByteAcc, NoLock, Preserve)";}i:22;a:3:{i:0;s:0:"";i:1;i:23;i:2;s:1:"{";}i:23;a:3:{i:0;s:0:"";i:1;i:24;i:2;s:16:" Offset (0x46),";}i:24;a:3:{i:0;s:0:"";i:1;i:25;i:2;s:8:" , 4,";}i:25;a:3:{i:0;s:0:"";i:1;i:26;i:2;s:14:" HPAC, 1";}i:26;a:3:{i:0;s:0:"";i:1;i:27;i:2;s:1:"}";}i:27;a:3:{i:0;s:0:"";i:1;i:28;i:2;b:0;}i:28;a:3:{i:0;s:0:"";i:1;i:29;i:2;s:10:"Device(AC)";}i:29;a:3:{i:0;s:0:"";i:1;i:30;i:2;s:1:"{";}i:30;a:3:{i:0;s:0:"";i:1;i:31;i:2;s:23:" Name(_HID, "ACPI0003")";}i:31;a:3:{i:0;s:0:"";i:1;i:32;i:2;s:17:" Name(_UID, 0x00)";}i:32;a:3:{i:0;s:0:"";i:1;i:33;i:2;s:32:" Name(_PCL, Package() { \_SB } )";}i:33;a:3:{i:0;s:0:"";i:1;i:34;i:2;b:0;}i:34;a:3:{i:0;s:0:"";i:1;i:35;i:2;s:31:" Method(_PSR, 0, NotSerialized)";}i:35;a:3:{i:0;s:0:"";i:1;i:36;i:2;s:2:" {";}i:36;a:3:{i:0;s:0:"";i:1;i:37;i:2;s:15:" return (HPAC)";}i:37;a:3:{i:0;s:0:"";i:1;i:38;i:2;s:2:" }";}i:38;a:3:{i:0;s:0:"";i:1;i:39;i:2;b:0;}i:39;a:3:{i:0;s:0:"";i:1;i:40;i:2;s:31:" Method(_STA, 0, NotSerialized)";}i:40;a:3:{i:0;s:0:"";i:1;i:41;i:2;s:2:" {";}i:41;a:3:{i:0;s:0:"";i:1;i:42;i:2;s:15:" Return (0x0f)";}i:42;a:3:{i:0;s:0:"";i:1;i:43;i:2;s:2:" }";}i:43;a:3:{i:0;s:0:"";i:1;i:44;i:2;s:1:"}";}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"0";i:1;s:1:"0";}i:1;a:2:{i:0;s:1:"1";i:1;s:2:"44";}}}}s:47:"src/mainboard/lenovo/x60/acpi/i945_pci_irqs.asl";a:2:{s:6:"chunks";a:1:{i:0;a:63:{i:0;a:3:{i:0;s:0:"";i:1;s:1:"1";i:2;s:2:"/*";}i:1;a:3:{i:0;s:0:"";i:1;i:2;i:2;s:45:" * This file is part of the coreboot project.";}i:2;a:3:{i:0;s:0:"";i:1;i:3;i:2;s:2:" *";}i:3;a:3:{i:0;s:0:"";i:1;i:4;i:2;s:58:" * Copyright (C) 2011 Sven Schnelle ";}i:4;a:3:{i:0;s:0:"";i:1;i:5;i:2;s:2:" *";}i:5;a:3:{i:0;s:0:"";i:1;i:6;i:2;s:64:" * This program is free software; you can redistribute it and/or";}i:6;a:3:{i:0;s:0:"";i:1;i:7;i:2;s:65:" * modify it under the terms of the GNU General Public License as";}i:7;a:3:{i:0;s:0:"";i:1;i:8;i:2;s:58:" * published by the Free Software Foundation; version 2 of";}i:8;a:3:{i:0;s:0:"";i:1;i:9;i:2;s:15:" * the License.";}i:9;a:3:{i:0;s:0:"";i:1;i:10;i:2;s:2:" *";}i:10;a:3:{i:0;s:0:"";i:1;i:11;i:2;s:66:" * This program is distributed in the hope that it will be useful,";}i:11;a:3:{i:0;s:0:"";i:1;i:12;i:2;s:65:" * but WITHOUT ANY WARRANTY; without even the implied warranty of";}i:12;a:3:{i:0;s:0:"";i:1;i:13;i:2;s:64:" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the";}i:13;a:3:{i:0;s:0:"";i:1;i:14;i:2;s:47:" * GNU General Public License for more details.";}i:14;a:3:{i:0;s:0:"";i:1;i:15;i:2;s:2:" *";}i:15;a:3:{i:0;s:0:"";i:1;i:16;i:2;s:68:" * You should have received a copy of the GNU General Public License";}i:16;a:3:{i:0;s:0:"";i:1;i:17;i:2;s:62:" * along with this program; if not, write to the Free Software";}i:17;a:3:{i:0;s:0:"";i:1;i:18;i:2;s:57:" * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,";}i:18;a:3:{i:0;s:0:"";i:1;i:19;i:2;s:20:" * MA 02110-1301 USA";}i:19;a:3:{i:0;s:0:"";i:1;i:20;i:2;s:3:" */";}i:20;a:3:{i:0;s:0:"";i:1;i:21;i:2;b:0;}i:21;a:3:{i:0;s:0:"";i:1;i:22;i:2;s:58:"/* This is board specific information: IRQ routing for the";}i:22;a:3:{i:0;s:0:"";i:1;i:23;i:2;s:7:" * i945";}i:23;a:3:{i:0;s:0:"";i:1;i:24;i:2;s:3:" */";}i:24;a:3:{i:0;s:0:"";i:1;i:25;i:2;b:0;}i:25;a:3:{i:0;s:0:"";i:1;i:26;i:2;b:0;}i:26;a:3:{i:0;s:0:"";i:1;i:27;i:2;s:24:"// PCI Interrupt Routing";}i:27;a:3:{i:0;s:0:"";i:1;i:28;i:2;s:12:"Method(_PRT)";}i:28;a:3:{i:0;s:0:"";i:1;i:29;i:2;s:1:"{";}i:29;a:3:{i:0;s:0:"";i:1;i:30;i:2;s:12:" If (PICM) {";}i:30;a:3:{i:0;s:0:"";i:1;i:31;i:2;s:21:" Return (Package() {";}i:31;a:3:{i:0;s:0:"";i:1;i:32;i:2;s:47:" Package() { 0x0002ffff, 0, 0, 0x10 }, // VGA";}i:32;a:3:{i:0;s:0:"";i:1;i:33;i:2;s:49:" Package() { 0x001bffff, 1, 0, 0x11 }, // Audio";}i:33;a:3:{i:0;s:0:"";i:1;i:34;i:2;s:54:" Package() { 0x001cffff, 0, 0, 0x14 }, // PCI bridge";}i:34;a:3:{i:0;s:0:"";i:1;i:35;i:2;s:54:" Package() { 0x001cffff, 1, 0, 0x15 }, // PCI bridge";}i:35;a:3:{i:0;s:0:"";i:1;i:36;i:2;s:54:" Package() { 0x001cffff, 2, 0, 0x16 }, // PCI bridge";}i:36;a:3:{i:0;s:0:"";i:1;i:37;i:2;s:54:" Package() { 0x001cffff, 3, 0, 0x17 }, // PCI bridge";}i:37;a:3:{i:0;s:0:"";i:1;i:38;i:2;s:47:" Package() { 0x001dffff, 0, 0, 0x10 }, // USB";}i:38;a:3:{i:0;s:0:"";i:1;i:39;i:2;s:47:" Package() { 0x001dffff, 1, 0, 0x11 }, // USB";}i:39;a:3:{i:0;s:0:"";i:1;i:40;i:2;s:47:" Package() { 0x001dffff, 2, 0, 0x12 }, // USB";}i:40;a:3:{i:0;s:0:"";i:1;i:41;i:2;s:47:" Package() { 0x001dffff, 3, 0, 0x13 }, // USB";}i:41;a:3:{i:0;s:0:"";i:1;i:42;i:2;s:47:" Package() { 0x001fffff, 0, 0, 0x17 }, // LPC";}i:42;a:3:{i:0;s:0:"";i:1;i:43;i:2;s:47:" Package() { 0x001fffff, 1, 0, 0x10 }, // IDE";}i:43;a:3:{i:0;s:0:"";i:1;i:44;i:2;s:48:" Package() { 0x001fffff, 2, 0, 0x10 } // SATA";}i:44;a:3:{i:0;s:0:"";i:1;i:45;i:2;s:4:" })";}i:45;a:3:{i:0;s:0:"";i:1;i:46;i:2;s:9:" } Else {";}i:46;a:3:{i:0;s:0:"";i:1;i:47;i:2;s:21:" Return (Package() {";}i:47;a:3:{i:0;s:0:"";i:1;i:48;i:2;s:62:" Package() { 0x0002ffff, 0, \_SB.PCI0.LPCB.LNKA, 0 }, // VGA";}i:48;a:3:{i:0;s:0:"";i:1;i:49;i:2;s:64:" Package() { 0x001bffff, 1, \_SB.PCI0.LPCB.LNKB, 0 }, // Audio";}i:49;a:3:{i:0;s:0:"";i:1;i:50;i:2;s:62:" Package() { 0x001cffff, 0, \_SB.PCI0.LPCB.LNKE, 0 }, // PCI";}i:50;a:3:{i:0;s:0:"";i:1;i:51;i:2;s:62:" Package() { 0x001cffff, 1, \_SB.PCI0.LPCB.LNKF, 0 }, // PCI";}i:51;a:3:{i:0;s:0:"";i:1;i:52;i:2;s:62:" Package() { 0x001cffff, 2, \_SB.PCI0.LPCB.LNKG, 0 }, // PCI";}i:52;a:3:{i:0;s:0:"";i:1;i:53;i:2;s:62:" Package() { 0x001cffff, 3, \_SB.PCI0.LPCB.LNKH, 0 }, // PCI";}i:53;a:3:{i:0;s:0:"";i:1;i:54;i:2;s:62:" Package() { 0x001dffff, 0, \_SB.PCI0.LPCB.LNKA, 0 }, // USB";}i:54;a:3:{i:0;s:0:"";i:1;i:55;i:2;s:62:" Package() { 0x001dffff, 1, \_SB.PCI0.LPCB.LNKB, 0 }, // USB";}i:55;a:3:{i:0;s:0:"";i:1;i:56;i:2;s:62:" Package() { 0x001dffff, 2, \_SB.PCI0.LPCB.LNKC, 0 }, // USB";}i:56;a:3:{i:0;s:0:"";i:1;i:57;i:2;s:62:" Package() { 0x001dffff, 3, \_SB.PCI0.LPCB.LNKD, 0 }, // USB";}i:57;a:3:{i:0;s:0:"";i:1;i:58;i:2;s:62:" Package() { 0x001fffff, 0, \_SB.PCI0.LPCB.LNKH, 0 }, // LPC";}i:58;a:3:{i:0;s:0:"";i:1;i:59;i:2;s:62:" Package() { 0x001fffff, 1, \_SB.PCI0.LPCB.LNKA, 0 }, // IDE";}i:59;a:3:{i:0;s:0:"";i:1;i:60;i:2;s:63:" Package() { 0x001fffff, 2, \_SB.PCI0.LPCB.LNKA, 0 } // SATA";}i:60;a:3:{i:0;s:0:"";i:1;i:61;i:2;s:4:" })";}i:61;a:3:{i:0;s:0:"";i:1;i:62;i:2;s:2:" }";}i:62;a:3:{i:0;s:0:"";i:1;i:63;i:2;s:1:"}";}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"0";i:1;s:1:"0";}i:1;a:2:{i:0;s:1:"1";i:1;s:2:"63";}}}}s:47:"src/mainboard/lenovo/x60/acpi/ich7_pci_irqs.asl";a:2:{s:6:"chunks";a:1:{i:0;a:46:{i:0;a:3:{i:0;s:0:"";i:1;s:1:"1";i:2;s:2:"/*";}i:1;a:3:{i:0;s:0:"";i:1;i:2;i:2;s:45:" * This file is part of the coreboot project.";}i:2;a:3:{i:0;s:0:"";i:1;i:3;i:2;s:2:" *";}i:3;a:3:{i:0;s:0:"";i:1;i:4;i:2;s:43:" * Copyright (C) 2007-2009 coresystems GmbH";}i:4;a:3:{i:0;s:0:"";i:1;i:5;i:2;s:2:" *";}i:5;a:3:{i:0;s:0:"";i:1;i:6;i:2;s:64:" * This program is free software; you can redistribute it and/or";}i:6;a:3:{i:0;s:0:"";i:1;i:7;i:2;s:65:" * modify it under the terms of the GNU General Public License as";}i:7;a:3:{i:0;s:0:"";i:1;i:8;i:2;s:58:" * published by the Free Software Foundation; version 2 of";}i:8;a:3:{i:0;s:0:"";i:1;i:9;i:2;s:15:" * the License.";}i:9;a:3:{i:0;s:0:"";i:1;i:10;i:2;s:2:" *";}i:10;a:3:{i:0;s:0:"";i:1;i:11;i:2;s:66:" * This program is distributed in the hope that it will be useful,";}i:11;a:3:{i:0;s:0:"";i:1;i:12;i:2;s:65:" * but WITHOUT ANY WARRANTY; without even the implied warranty of";}i:12;a:3:{i:0;s:0:"";i:1;i:13;i:2;s:64:" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the";}i:13;a:3:{i:0;s:0:"";i:1;i:14;i:2;s:47:" * GNU General Public License for more details.";}i:14;a:3:{i:0;s:0:"";i:1;i:15;i:2;s:2:" *";}i:15;a:3:{i:0;s:0:"";i:1;i:16;i:2;s:68:" * You should have received a copy of the GNU General Public License";}i:16;a:3:{i:0;s:0:"";i:1;i:17;i:2;s:62:" * along with this program; if not, write to the Free Software";}i:17;a:3:{i:0;s:0:"";i:1;i:18;i:2;s:57:" * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,";}i:18;a:3:{i:0;s:0:"";i:1;i:19;i:2;s:20:" * MA 02110-1301 USA";}i:19;a:3:{i:0;s:0:"";i:1;i:20;i:2;s:3:" */";}i:20;a:3:{i:0;s:0:"";i:1;i:21;i:2;b:0;}i:21;a:3:{i:0;s:0:"";i:1;i:22;i:2;s:58:"/* This is board specific information: IRQ routing for the";}i:22;a:3:{i:0;s:0:"";i:1;i:23;i:2;s:32:" * 0:1e.0 PCI bridge of the ICH7";}i:23;a:3:{i:0;s:0:"";i:1;i:24;i:2;s:3:" */";}i:24;a:3:{i:0;s:0:"";i:1;i:25;i:2;b:0;}i:25;a:3:{i:0;s:0:"";i:1;i:26;i:2;s:11:"If (PICM) {";}i:26;a:3:{i:0;s:0:"";i:1;i:27;i:2;s:20:" Return (Package() {";}i:27;a:3:{i:0;s:0:"";i:1;i:28;i:2;s:50:" Package (0x04) { 0x0000FFFF, 0x00, 0x00, 0x10 },";}i:28;a:3:{i:0;s:0:"";i:1;i:29;i:2;s:50:" Package (0x04) { 0x0000FFFF, 0x01, 0x00, 0x11 },";}i:29;a:3:{i:0;s:0:"";i:1;i:30;i:2;s:50:" Package (0x04) { 0x0000FFFF, 0x02, 0x00, 0x12 },";}i:30;a:3:{i:0;s:0:"";i:1;i:31;i:2;s:50:" Package (0x04) { 0x0001FFFF, 0x00, 0x00, 0x10 },";}i:31;a:3:{i:0;s:0:"";i:1;i:32;i:2;s:50:" Package (0x04) { 0x0002FFFF, 0x00, 0x00, 0x15 },";}i:32;a:3:{i:0;s:0:"";i:1;i:33;i:2;s:50:" Package (0x04) { 0x0002FFFF, 0x01, 0x00, 0x16 },";}i:33;a:3:{i:0;s:0:"";i:1;i:34;i:2;s:49:" Package (0x04) { 0x0008FFFF, 0x00, 0x00, 0x14 }";}i:34;a:3:{i:0;s:0:"";i:1;i:35;i:2;s:3:" })";}i:35;a:3:{i:0;s:0:"";i:1;i:36;i:2;s:9:" } Else {";}i:36;a:3:{i:0;s:0:"";i:1;i:37;i:2;s:20:" Return (Package() {";}i:37;a:3:{i:0;s:0:"";i:1;i:38;i:2;s:65:" Package (0x04) { 0x0000FFFF, 0x00, \_SB.PCI0.LPCB.LNKA, 0x00 },";}i:38;a:3:{i:0;s:0:"";i:1;i:39;i:2;s:65:" Package (0x04) { 0x0000FFFF, 0x01, \_SB.PCI0.LPCB.LNKB, 0x00 },";}i:39;a:3:{i:0;s:0:"";i:1;i:40;i:2;s:65:" Package (0x04) { 0x0000FFFF, 0x02, \_SB.PCI0.LPCB.LNKC, 0x00 },";}i:40;a:3:{i:0;s:0:"";i:1;i:41;i:2;s:65:" Package (0x04) { 0x0001FFFF, 0x00, \_SB.PCI0.LPCB.LNKA, 0x00 },";}i:41;a:3:{i:0;s:0:"";i:1;i:42;i:2;s:65:" Package (0x04) { 0x0002FFFF, 0x00, \_SB.PCI0.LPCB.LNKF, 0x00 },";}i:42;a:3:{i:0;s:0:"";i:1;i:43;i:2;s:65:" Package (0x04) { 0x0002FFFF, 0x01, \_SB.PCI0.LPCB.LNKG, 0x00 },";}i:43;a:3:{i:0;s:0:"";i:1;i:44;i:2;s:64:" Package (0x04) { 0x0008FFFF, 0x00, \_SB.PCI0.LPCB.LNKE, 0x00 }";}i:44;a:3:{i:0;s:0:"";i:1;i:45;i:2;s:3:" })";}i:45;a:3:{i:0;s:0:"";i:1;i:46;i:2;s:1:"}";}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"0";i:1;s:1:"0";}i:1;a:2:{i:0;s:1:"1";i:1;s:2:"46";}}}}s:42:"src/mainboard/lenovo/x60/acpi/platform.asl";a:2:{s:6:"chunks";a:1:{i:0;a:206:{i:0;a:3:{i:0;s:0:"";i:1;s:1:"1";i:2;s:2:"/*";}i:1;a:3:{i:0;s:0:"";i:1;i:2;i:2;s:45:" * This file is part of the coreboot project.";}i:2;a:3:{i:0;s:0:"";i:1;i:3;i:2;s:2:" *";}i:3;a:3:{i:0;s:0:"";i:1;i:4;i:2;s:43:" * Copyright (C) 2007-2009 coresystems GmbH";}i:4;a:3:{i:0;s:0:"";i:1;i:5;i:2;s:2:" *";}i:5;a:3:{i:0;s:0:"";i:1;i:6;i:2;s:64:" * This program is free software; you can redistribute it and/or";}i:6;a:3:{i:0;s:0:"";i:1;i:7;i:2;s:65:" * modify it under the terms of the GNU General Public License as";}i:7;a:3:{i:0;s:0:"";i:1;i:8;i:2;s:58:" * published by the Free Software Foundation; version 2 of";}i:8;a:3:{i:0;s:0:"";i:1;i:9;i:2;s:15:" * the License.";}i:9;a:3:{i:0;s:0:"";i:1;i:10;i:2;s:2:" *";}i:10;a:3:{i:0;s:0:"";i:1;i:11;i:2;s:66:" * This program is distributed in the hope that it will be useful,";}i:11;a:3:{i:0;s:0:"";i:1;i:12;i:2;s:65:" * but WITHOUT ANY WARRANTY; without even the implied warranty of";}i:12;a:3:{i:0;s:0:"";i:1;i:13;i:2;s:64:" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the";}i:13;a:3:{i:0;s:0:"";i:1;i:14;i:2;s:47:" * GNU General Public License for more details.";}i:14;a:3:{i:0;s:0:"";i:1;i:15;i:2;s:2:" *";}i:15;a:3:{i:0;s:0:"";i:1;i:16;i:2;s:68:" * You should have received a copy of the GNU General Public License";}i:16;a:3:{i:0;s:0:"";i:1;i:17;i:2;s:62:" * along with this program; if not, write to the Free Software";}i:17;a:3:{i:0;s:0:"";i:1;i:18;i:2;s:57:" * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,";}i:18;a:3:{i:0;s:0:"";i:1;i:19;i:2;s:20:" * MA 02110-1301 USA";}i:19;a:3:{i:0;s:0:"";i:1;i:20;i:2;s:3:" */";}i:20;a:3:{i:0;s:0:"";i:1;i:21;i:2;b:0;}i:21;a:3:{i:0;s:0:"";i:1;i:22;i:2;s:54:"/* These come from the dynamically created CPU SSDT */";}i:22;a:3:{i:0;s:0:"";i:1;i:23;i:2;s:14:"External(PDC0)";}i:23;a:3:{i:0;s:0:"";i:1;i:24;i:2;s:14:"External(PDC1)";}i:24;a:3:{i:0;s:0:"";i:1;i:25;i:2;b:0;}i:25;a:3:{i:0;s:0:"";i:1;i:26;i:2;s:59:"/* The APM port can be used for generating software SMIs */";}i:26;a:3:{i:0;s:0:"";i:1;i:27;i:2;b:0;}i:27;a:3:{i:0;s:0:"";i:1;i:28;i:2;s:41:"OperationRegion (APMP, SystemIO, 0xb2, 2)";}i:28;a:3:{i:0;s:0:"";i:1;i:29;i:2;s:39:"Field (APMP, ByteAcc, NoLock, Preserve)";}i:29;a:3:{i:0;s:0:"";i:1;i:30;i:2;s:1:"{";}i:30;a:3:{i:0;s:0:"";i:1;i:31;i:2;s:24:" APMC, 8, // APM command";}i:31;a:3:{i:0;s:0:"";i:1;i:32;i:2;s:23:" APMS, 8 // APM status";}i:32;a:3:{i:0;s:0:"";i:1;i:33;i:2;s:1:"}";}i:33;a:3:{i:0;s:0:"";i:1;i:34;i:2;b:0;}i:34;a:3:{i:0;s:0:"";i:1;i:35;i:2;s:18:"/* Port 80 POST */";}i:35;a:3:{i:0;s:0:"";i:1;i:36;i:2;b:0;}i:36;a:3:{i:0;s:0:"";i:1;i:37;i:2;s:41:"OperationRegion (POST, SystemIO, 0x80, 1)";}i:37;a:3:{i:0;s:0:"";i:1;i:38;i:2;s:37:"Field (POST, ByteAcc, Lock, Preserve)";}i:38;a:3:{i:0;s:0:"";i:1;i:39;i:2;s:1:"{";}i:39;a:3:{i:0;s:0:"";i:1;i:40;i:2;s:8:" DBG0, 8";}i:40;a:3:{i:0;s:0:"";i:1;i:41;i:2;s:1:"}";}i:41;a:3:{i:0;s:0:"";i:1;i:42;i:2;b:0;}i:42;a:3:{i:0;s:0:"";i:1;i:43;i:2;s:18:"/* SMI I/O Trap */";}i:43;a:3:{i:0;s:0:"";i:1;i:44;i:2;s:27:"Method(TRAP, 1, Serialized)";}i:44;a:3:{i:0;s:0:"";i:1;i:45;i:2;s:1:"{";}i:45;a:3:{i:0;s:0:"";i:1;i:46;i:2;s:35:" Store (Arg0, SMIF) // SMI Function";}i:46;a:3:{i:0;s:0:"";i:1;i:47;i:2;s:34:" Store (0, TRP0) // Generate trap";}i:47;a:3:{i:0;s:0:"";i:1;i:48;i:2;s:46:" Return (SMIF) // Return value of SMI handler";}i:48;a:3:{i:0;s:0:"";i:1;i:49;i:2;s:1:"}";}i:49;a:3:{i:0;s:0:"";i:1;i:50;i:2;b:0;}i:50;a:3:{i:0;s:0:"";i:1;i:51;i:2;s:66:"/* The _PIC method is called by the OS to choose between interrupt";}i:51;a:3:{i:0;s:0:"";i:1;i:52;i:2;s:58:" * routing via the i8259 interrupt controller or the APIC.";}i:52;a:3:{i:0;s:0:"";i:1;i:53;i:2;s:2:" *";}i:53;a:3:{i:0;s:0:"";i:1;i:54;i:2;s:67:" * _PIC is called with a parameter of 0 for i8259 configuration and";}i:54;a:3:{i:0;s:0:"";i:1;i:55;i:2;s:61:" * with a parameter of 1 for Local Apic/IOAPIC configuration.";}i:55;a:3:{i:0;s:0:"";i:1;i:56;i:2;s:3:" */";}i:56;a:3:{i:0;s:0:"";i:1;i:57;i:2;b:0;}i:57;a:3:{i:0;s:0:"";i:1;i:58;i:2;s:15:"Method(_PIC, 1)";}i:58;a:3:{i:0;s:0:"";i:1;i:59;i:2;s:1:"{";}i:59;a:3:{i:0;s:0:"";i:1;i:60;i:2;s:40:" // Remember the OS' IRQ routing choice.";}i:60;a:3:{i:0;s:0:"";i:1;i:61;i:2;s:18:" Store(Arg0, PICM)";}i:61;a:3:{i:0;s:0:"";i:1;i:62;i:2;s:1:"}";}i:62;a:3:{i:0;s:0:"";i:1;i:63;i:2;b:0;}i:63;a:3:{i:0;s:0:"";i:1;i:64;i:2;s:64:"/* The _PTS method (Prepare To Sleep) is called before the OS is";}i:64;a:3:{i:0;s:0:"";i:1;i:65;i:2;s:67:" * entering a sleep state. The sleep state number is passed in Arg0";}i:65;a:3:{i:0;s:0:"";i:1;i:66;i:2;s:3:" */";}i:66;a:3:{i:0;s:0:"";i:1;i:67;i:2;b:0;}i:67;a:3:{i:0;s:0:"";i:1;i:68;i:2;s:14:"Method(_PTS,1)";}i:68;a:3:{i:0;s:0:"";i:1;i:69;i:2;s:1:"{";}i:69;a:3:{i:0;s:0:"";i:1;i:70;i:2;s:53:" // Call a trap so SMI can prepare for Sleep as well.";}i:70;a:3:{i:0;s:0:"";i:1;i:71;i:2;s:14:" // TRAP(0x55)";}i:71;a:3:{i:0;s:0:"";i:1;i:72;i:2;s:1:"}";}i:72;a:3:{i:0;s:0:"";i:1;i:73;i:2;b:0;}i:73;a:3:{i:0;s:0:"";i:1;i:74;i:2;s:48:"/* The _WAK method is called on system wakeup */";}i:74;a:3:{i:0;s:0:"";i:1;i:75;i:2;b:0;}i:75;a:3:{i:0;s:0:"";i:1;i:76;i:2;s:14:"Method(_WAK,1)";}i:76;a:3:{i:0;s:0:"";i:1;i:77;i:2;s:1:"{";}i:77;a:3:{i:0;s:0:"";i:1;i:78;i:2;s:21:" // CPU specific part";}i:78;a:3:{i:0;s:0:"";i:1;i:79;i:2;b:0;}i:79;a:3:{i:0;s:0:"";i:1;i:80;i:2;s:43:" // Notify PCI Express slots in case a card";}i:80;a:3:{i:0;s:0:"";i:1;i:81;i:2;s:48:" // was inserted while a sleep state was active.";}i:81;a:3:{i:0;s:0:"";i:1;i:82;i:2;b:0;}i:82;a:3:{i:0;s:0:"";i:1;i:83;i:2;s:23:" // Are we going to S3?";}i:83;a:3:{i:0;s:0:"";i:1;i:84;i:2;s:23:" If (LEqual(Arg0, 3)) {";}i:84;a:3:{i:0;s:0:"";i:1;i:85;i:2;s:7:" // ..";}i:85;a:3:{i:0;s:0:"";i:1;i:86;i:2;s:2:" }";}i:86;a:3:{i:0;s:0:"";i:1;i:87;i:2;b:0;}i:87;a:3:{i:0;s:0:"";i:1;i:88;i:2;s:23:" // Are we going to S4?";}i:88;a:3:{i:0;s:0:"";i:1;i:89;i:2;s:23:" If (LEqual(Arg0, 4)) {";}i:89;a:3:{i:0;s:0:"";i:1;i:90;i:2;s:7:" // ..";}i:90;a:3:{i:0;s:0:"";i:1;i:91;i:2;s:2:" }";}i:91;a:3:{i:0;s:0:"";i:1;i:92;i:2;b:0;}i:92;a:3:{i:0;s:0:"";i:1;i:93;i:2;s:40:" // TODO: Windows XP SP2 P-State restore";}i:93;a:3:{i:0;s:0:"";i:1;i:94;i:2;b:0;}i:94;a:3:{i:0;s:0:"";i:1;i:95;i:2;s:23:" Return(Package(){0,0})";}i:95;a:3:{i:0;s:0:"";i:1;i:96;i:2;s:1:"}";}i:96;a:3:{i:0;s:0:"";i:1;i:97;i:2;b:0;}i:97;a:3:{i:0;s:0:"";i:1;i:98;i:2;s:21:"// Power notification";}i:98;a:3:{i:0;s:0:"";i:1;i:99;i:2;b:0;}i:99;a:3:{i:0;s:0:"";i:1;i:100;i:2;s:32:"External (\_PR_.CPU0, DeviceObj)";}i:100;a:3:{i:0;s:0:"";i:1;i:101;i:2;s:32:"External (\_PR_.CPU1, DeviceObj)";}i:101;a:3:{i:0;s:0:"";i:1;i:102;i:2;b:0;}i:102;a:3:{i:0;s:0:"";i:1;i:103;i:2;s:13:"Method (PNOT)";}i:103;a:3:{i:0;s:0:"";i:1;i:104;i:2;s:1:"{";}i:104;a:3:{i:0;s:0:"";i:1;i:105;i:2;s:12:" If (MPEN) {";}i:105;a:3:{i:0;s:0:"";i:1;i:106;i:2;s:23:" If(And(PDC0, 0x08)) {";}i:106;a:3:{i:0;s:0:"";i:1;i:107;i:2;s:37:" Notify (\_PR_.CPU0, 0x80) // _PPC";}i:107;a:3:{i:0;s:0:"";i:1;i:108;i:2;b:0;}i:108;a:3:{i:0;s:0:"";i:1;i:109;i:2;s:25:" If (And(PDC0, 0x10)) {";}i:109;a:3:{i:0;s:0:"";i:1;i:110;i:2;s:14:" Sleep(100)";}i:110;a:3:{i:0;s:0:"";i:1;i:111;i:2;s:36:" Notify(\_PR_.CPU0, 0x81) // _CST";}i:111;a:3:{i:0;s:0:"";i:1;i:112;i:2;s:4:" }";}i:112;a:3:{i:0;s:0:"";i:1;i:113;i:2;s:3:" }";}i:113;a:3:{i:0;s:0:"";i:1;i:114;i:2;b:0;}i:114;a:3:{i:0;s:0:"";i:1;i:115;i:2;s:23:" If(And(PDC1, 0x08)) {";}i:115;a:3:{i:0;s:0:"";i:1;i:116;i:2;s:37:" Notify (\_PR_.CPU1, 0x80) // _PPC";}i:116;a:3:{i:0;s:0:"";i:1;i:117;i:2;s:25:" If (And(PDC1, 0x10)) {";}i:117;a:3:{i:0;s:0:"";i:1;i:118;i:2;s:14:" Sleep(100)";}i:118;a:3:{i:0;s:0:"";i:1;i:119;i:2;s:36:" Notify(\_PR_.CPU1, 0x81) // _CST";}i:119;a:3:{i:0;s:0:"";i:1;i:120;i:2;s:4:" }";}i:120;a:3:{i:0;s:0:"";i:1;i:121;i:2;s:3:" }";}i:121;a:3:{i:0;s:0:"";i:1;i:122;i:2;b:0;}i:122;a:3:{i:0;s:0:"";i:1;i:123;i:2;s:15:" } Else { // UP";}i:123;a:3:{i:0;s:0:"";i:1;i:124;i:2;s:27:" Notify (\_PR_.CPU0, 0x80)";}i:124;a:3:{i:0;s:0:"";i:1;i:125;i:2;s:13:" Sleep(0x64)";}i:125;a:3:{i:0;s:0:"";i:1;i:126;i:2;s:26:" Notify(\_PR_.CPU0, 0x81)";}i:126;a:3:{i:0;s:0:"";i:1;i:127;i:2;s:2:" }";}i:127;a:3:{i:0;s:0:"";i:1;i:128;i:2;b:0;}i:128;a:3:{i:0;s:0:"";i:1;i:129;i:2;s:24:" // Notify the Batteries";}i:129;a:3:{i:0;s:0:"";i:1;i:130;i:2;s:58:" Notify(\_SB.PCI0.LPCB.EC.BAT0, 0x80) // Execute BAT1 _BST";}i:130;a:3:{i:0;s:0:"";i:1;i:131;i:2;s:58:" Notify(\_SB.PCI0.LPCB.EC.BAT1, 0x80) // Execute BAT2 _BST";}i:131;a:3:{i:0;s:0:"";i:1;i:132;i:2;s:1:"}";}i:132;a:3:{i:0;s:0:"";i:1;i:133;i:2;b:0;}i:133;a:3:{i:0;s:0:"";i:1;i:134;i:2;s:16:"/* System Bus */";}i:134;a:3:{i:0;s:0:"";i:1;i:135;i:2;b:0;}i:135;a:3:{i:0;s:0:"";i:1;i:136;i:2;s:11:"Scope(\_SB)";}i:136;a:3:{i:0;s:0:"";i:1;i:137;i:2;s:1:"{";}i:137;a:3:{i:0;s:0:"";i:1;i:138;i:2;s:72:" /* This method is placed on the top level, so we can make sure it's the";}i:138;a:3:{i:0;s:0:"";i:1;i:139;i:2;s:31:" * first executed _INI method.";}i:139;a:3:{i:0;s:0:"";i:1;i:140;i:2;s:4:" */";}i:140;a:3:{i:0;s:0:"";i:1;i:141;i:2;s:16:" Method(_INI, 0)";}i:141;a:3:{i:0;s:0:"";i:1;i:142;i:2;s:2:" {";}i:142;a:3:{i:0;s:0:"";i:1;i:143;i:2;s:52:" /* The DTS data in NVS is probably not up to date.";}i:143;a:3:{i:0;s:0:"";i:1;i:144;i:2;s:55:" * Update temperature values and make sure AP thermal";}i:144;a:3:{i:0;s:0:"";i:1;i:145;i:2;s:26:" * interrupts can happen";}i:145;a:3:{i:0;s:0:"";i:1;i:146;i:2;s:5:" */";}i:146;a:3:{i:0;s:0:"";i:1;i:147;i:2;b:0;}i:147;a:3:{i:0;s:0:"";i:1;i:148;i:2;s:21:" // TRAP(71) // TODO";}i:148;a:3:{i:0;s:0:"";i:1;i:149;i:2;b:0;}i:149;a:3:{i:0;s:0:"";i:1;i:150;i:2;s:63:" /* Determine the Operating System and save the value in OSYS.";}i:150;a:3:{i:0;s:0:"";i:1;i:151;i:2;s:58:" * We have to do this in order to be able to work around";}i:151;a:3:{i:0;s:0:"";i:1;i:152;i:2;s:26:" * certain windows bugs.";}i:152;a:3:{i:0;s:0:"";i:1;i:153;i:2;s:4:" *";}i:153;a:3:{i:0;s:0:"";i:1;i:154;i:2;s:37:" * OSYS value | Operating System";}i:154;a:3:{i:0;s:0:"";i:1;i:155;i:2;s:38:" * -----------+------------------";}i:155;a:3:{i:0;s:0:"";i:1;i:156;i:2;s:33:" * 2000 | Windows 2000";}i:156;a:3:{i:0;s:0:"";i:1;i:157;i:2;s:37:" * 2001 | Windows XP(+SP1)";}i:157;a:3:{i:0;s:0:"";i:1;i:158;i:2;s:35:" * 2002 | Windows XP SP2";}i:158;a:3:{i:0;s:0:"";i:1;i:159;i:2;s:34:" * 2006 | Windows Vista";}i:159;a:3:{i:0;s:0:"";i:1;i:160;i:2;s:30:" * ???? | Windows 7";}i:160;a:3:{i:0;s:0:"";i:1;i:161;i:2;s:5:" */";}i:161;a:3:{i:0;s:0:"";i:1;i:162;i:2;b:0;}i:162;a:3:{i:0;s:0:"";i:1;i:163;i:2;s:56:" /* Let's assume we're running at least Windows 2000 */";}i:163;a:3:{i:0;s:0:"";i:1;i:164;i:2;s:20:" Store (2000, OSYS)";}i:164;a:3:{i:0;s:0:"";i:1;i:165;i:2;b:0;}i:165;a:3:{i:0;s:0:"";i:1;i:166;i:2;s:32:" If (CondRefOf(_OSI, Local0)) {";}i:166;a:3:{i:0;s:0:"";i:1;i:167;i:2;s:52:" /* Linux answers _OSI with "True" for a couple of";}i:167;a:3:{i:0;s:0:"";i:1;i:168;i:2;s:52:" * Windows version queries. But unlike Windows it";}i:168;a:3:{i:0;s:0:"";i:1;i:169;i:2;s:54:" * needs a Video repost, so let's determine whether";}i:169;a:3:{i:0;s:0:"";i:1;i:170;i:2;s:26:" * we're running Linux.";}i:170;a:3:{i:0;s:0:"";i:1;i:171;i:2;s:6:" */";}i:171;a:3:{i:0;s:0:"";i:1;i:172;i:2;b:0;}i:172;a:3:{i:0;s:0:"";i:1;i:173;i:2;s:23:" If (_OSI("Linux")) {";}i:173;a:3:{i:0;s:0:"";i:1;i:174;i:2;s:19:" Store (1, LINX)";}i:174;a:3:{i:0;s:0:"";i:1;i:175;i:2;s:4:" }";}i:175;a:3:{i:0;s:0:"";i:1;i:176;i:2;b:0;}i:176;a:3:{i:0;s:0:"";i:1;i:177;i:2;s:30:" If (_OSI("Windows 2001")) {";}i:177;a:3:{i:0;s:0:"";i:1;i:178;i:2;s:22:" Store (2001, OSYS)";}i:178;a:3:{i:0;s:0:"";i:1;i:179;i:2;s:4:" }";}i:179;a:3:{i:0;s:0:"";i:1;i:180;i:2;b:0;}i:180;a:3:{i:0;s:0:"";i:1;i:181;i:2;s:34:" If (_OSI("Windows 2001 SP1")) {";}i:181;a:3:{i:0;s:0:"";i:1;i:182;i:2;s:22:" Store (2001, OSYS)";}i:182;a:3:{i:0;s:0:"";i:1;i:183;i:2;s:4:" }";}i:183;a:3:{i:0;s:0:"";i:1;i:184;i:2;b:0;}i:184;a:3:{i:0;s:0:"";i:1;i:185;i:2;s:34:" If (_OSI("Windows 2001 SP2")) {";}i:185;a:3:{i:0;s:0:"";i:1;i:186;i:2;s:22:" Store (2002, OSYS)";}i:186;a:3:{i:0;s:0:"";i:1;i:187;i:2;s:4:" }";}i:187;a:3:{i:0;s:0:"";i:1;i:188;i:2;b:0;}i:188;a:3:{i:0;s:0:"";i:1;i:189;i:2;s:30:" If (_OSI("Windows 2006")) {";}i:189;a:3:{i:0;s:0:"";i:1;i:190;i:2;s:22:" Store (2006, OSYS)";}i:190;a:3:{i:0;s:0:"";i:1;i:191;i:2;s:4:" }";}i:191;a:3:{i:0;s:0:"";i:1;i:192;i:2;s:3:" }";}i:192;a:3:{i:0;s:0:"";i:1;i:193;i:2;b:0;}i:193;a:3:{i:0;s:0:"";i:1;i:194;i:2;s:64:" /* And the OS workarounds start right after we know what we're";}i:194;a:3:{i:0;s:0:"";i:1;i:195;i:2;s:63:" * running: Windows XP SP1 needs to have C-State coordination";}i:195;a:3:{i:0;s:0:"";i:1;i:196;i:2;s:20:" * enabled in SMM.";}i:196;a:3:{i:0;s:0:"";i:1;i:197;i:2;s:5:" */";}i:197;a:3:{i:0;s:0:"";i:1;i:198;i:2;s:39:" If (LAnd(LEqual(OSYS, 2001), MPEN)) {";}i:198;a:3:{i:0;s:0:"";i:1;i:199;i:2;s:22:" // TRAP(61) // TODO";}i:199;a:3:{i:0;s:0:"";i:1;i:200;i:2;s:3:" }";}i:200;a:3:{i:0;s:0:"";i:1;i:201;i:2;b:0;}i:201;a:3:{i:0;s:0:"";i:1;i:202;i:2;s:64:" /* SMM power state and C4-on-C3 settings need to be updated */";}i:202;a:3:{i:0;s:0:"";i:1;i:203;i:2;s:21:" // TRAP(43) // TODO";}i:203;a:3:{i:0;s:0:"";i:1;i:204;i:2;s:2:" }";}i:204;a:3:{i:0;s:0:"";i:1;i:205;i:2;s:1:"}";}i:205;a:3:{i:0;s:0:"";i:1;i:206;i:2;b:0;}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"0";i:1;s:1:"0";}i:1;a:2:{i:0;s:1:"1";i:1;s:3:"206";}}}}s:45:"src/mainboard/lenovo/x60/acpi/sleepbutton.asl";a:2:{s:6:"chunks";a:1:{i:0;a:25:{i:0;a:3:{i:0;s:0:"";i:1;s:1:"1";i:2;s:2:"/*";}i:1;a:3:{i:0;s:0:"";i:1;i:2;i:2;s:45:" * This file is part of the coreboot project.";}i:2;a:3:{i:0;s:0:"";i:1;i:3;i:2;s:2:" *";}i:3;a:3:{i:0;s:0:"";i:1;i:4;i:2;s:58:" * Copyright (c) 2011 Sven Schnelle ";}i:4;a:3:{i:0;s:0:"";i:1;i:5;i:2;s:2:" *";}i:5;a:3:{i:0;s:0:"";i:1;i:6;i:2;s:64:" * This program is free software; you can redistribute it and/or";}i:6;a:3:{i:0;s:0:"";i:1;i:7;i:2;s:65:" * modify it under the terms of the GNU General Public License as";}i:7;a:3:{i:0;s:0:"";i:1;i:8;i:2;s:58:" * published by the Free Software Foundation; version 2 of";}i:8;a:3:{i:0;s:0:"";i:1;i:9;i:2;s:15:" * the License.";}i:9;a:3:{i:0;s:0:"";i:1;i:10;i:2;s:2:" *";}i:10;a:3:{i:0;s:0:"";i:1;i:11;i:2;s:66:" * This program is distributed in the hope that it will be useful,";}i:11;a:3:{i:0;s:0:"";i:1;i:12;i:2;s:65:" * but WITHOUT ANY WARRANTY; without even the implied warranty of";}i:12;a:3:{i:0;s:0:"";i:1;i:13;i:2;s:64:" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the";}i:13;a:3:{i:0;s:0:"";i:1;i:14;i:2;s:47:" * GNU General Public License for more details.";}i:14;a:3:{i:0;s:0:"";i:1;i:15;i:2;s:2:" *";}i:15;a:3:{i:0;s:0:"";i:1;i:16;i:2;s:68:" * You should have received a copy of the GNU General Public License";}i:16;a:3:{i:0;s:0:"";i:1;i:17;i:2;s:62:" * along with this program; if not, write to the Free Software";}i:17;a:3:{i:0;s:0:"";i:1;i:18;i:2;s:57:" * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,";}i:18;a:3:{i:0;s:0:"";i:1;i:19;i:2;s:20:" * MA 02110-1301 USA";}i:19;a:3:{i:0;s:0:"";i:1;i:20;i:2;s:3:" */";}i:20;a:3:{i:0;s:0:"";i:1;i:21;i:2;b:0;}i:21;a:3:{i:0;s:0:"";i:1;i:22;i:2;s:12:"Device(SLPB)";}i:22;a:3:{i:0;s:0:"";i:1;i:23;i:2;s:1:"{";}i:23;a:3:{i:0;s:0:"";i:1;i:24;i:2;s:39:" Name (_HID, EisaId ("PNP0C0E"))";}i:24;a:3:{i:0;s:0:"";i:1;i:25;i:2;s:1:"}";}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"0";i:1;s:1:"0";}i:1;a:2:{i:0;s:1:"1";i:1;s:2:"25";}}}}s:39:"src/mainboard/lenovo/x60/acpi/video.asl";a:2:{s:6:"chunks";a:1:{i:0;a:51:{i:0;a:3:{i:0;s:0:"";i:1;s:1:"1";i:2;s:2:"/*";}i:1;a:3:{i:0;s:0:"";i:1;i:2;i:2;s:45:" * This file is part of the coreboot project.";}i:2;a:3:{i:0;s:0:"";i:1;i:3;i:2;s:2:" *";}i:3;a:3:{i:0;s:0:"";i:1;i:4;i:2;s:58:" * Copyright (c) 2011 Sven Schnelle ";}i:4;a:3:{i:0;s:0:"";i:1;i:5;i:2;s:2:" *";}i:5;a:3:{i:0;s:0:"";i:1;i:6;i:2;s:64:" * This program is free software; you can redistribute it and/or";}i:6;a:3:{i:0;s:0:"";i:1;i:7;i:2;s:65:" * modify it under the terms of the GNU General Public License as";}i:7;a:3:{i:0;s:0:"";i:1;i:8;i:2;s:58:" * published by the Free Software Foundation; version 2 of";}i:8;a:3:{i:0;s:0:"";i:1;i:9;i:2;s:15:" * the License.";}i:9;a:3:{i:0;s:0:"";i:1;i:10;i:2;s:2:" *";}i:10;a:3:{i:0;s:0:"";i:1;i:11;i:2;s:66:" * This program is distributed in the hope that it will be useful,";}i:11;a:3:{i:0;s:0:"";i:1;i:12;i:2;s:65:" * but WITHOUT ANY WARRANTY; without even the implied warranty of";}i:12;a:3:{i:0;s:0:"";i:1;i:13;i:2;s:64:" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the";}i:13;a:3:{i:0;s:0:"";i:1;i:14;i:2;s:47:" * GNU General Public License for more details.";}i:14;a:3:{i:0;s:0:"";i:1;i:15;i:2;s:2:" *";}i:15;a:3:{i:0;s:0:"";i:1;i:16;i:2;s:68:" * You should have received a copy of the GNU General Public License";}i:16;a:3:{i:0;s:0:"";i:1;i:17;i:2;s:62:" * along with this program; if not, write to the Free Software";}i:17;a:3:{i:0;s:0:"";i:1;i:18;i:2;s:57:" * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,";}i:18;a:3:{i:0;s:0:"";i:1;i:19;i:2;s:20:" * MA 02110-1301 USA";}i:19;a:3:{i:0;s:0:"";i:1;i:20;i:2;s:3:" */";}i:20;a:3:{i:0;s:0:"";i:1;i:21;i:2;b:0;}i:21;a:3:{i:0;s:0:"";i:1;i:22;i:2;s:13:"Device (DSPC)";}i:22;a:3:{i:0;s:0:"";i:1;i:23;i:2;s:1:"{";}i:23;a:3:{i:0;s:0:"";i:1;i:24;i:2;s:24:" Name (_ADR, 0x00020001)";}i:24;a:3:{i:0;s:0:"";i:1;i:25;i:2;s:48:" OperationRegion (DSPC, PCI_Config, 0x00, 0x100)";}i:25;a:3:{i:0;s:0:"";i:1;i:26;i:2;s:40:" Field (DSPC, ByteAcc, NoLock, Preserve)";}i:26;a:3:{i:0;s:0:"";i:1;i:27;i:2;s:2:" {";}i:27;a:3:{i:0;s:0:"";i:1;i:28;i:2;s:16:" Offset (0xf4),";}i:28;a:3:{i:0;s:0:"";i:1;i:29;i:2;s:16:" BRTC, 8";}i:29;a:3:{i:0;s:0:"";i:1;i:30;i:2;s:2:" }";}i:30;a:3:{i:0;s:0:"";i:1;i:31;i:2;b:0;}i:31;a:3:{i:0;s:0:"";i:1;i:32;i:2;s:31:" Method(BRTD, 0, NotSerialized)";}i:32;a:3:{i:0;s:0:"";i:1;i:33;i:2;s:2:" {";}i:33;a:3:{i:0;s:0:"";i:1;i:34;i:2;s:21:" Store(BRTC, Local0)";}i:34;a:3:{i:0;s:0:"";i:1;i:35;i:2;s:28:" if (LGreater (Local0, 15))";}i:35;a:3:{i:0;s:0:"";i:1;i:36;i:2;s:3:" {";}i:36;a:3:{i:0;s:0:"";i:1;i:37;i:2;s:31:" Subtract(Local0, 16, Local0)";}i:37;a:3:{i:0;s:0:"";i:1;i:38;i:2;s:22:" Store(Local0, BRTC)";}i:38;a:3:{i:0;s:0:"";i:1;i:39;i:2;s:3:" }";}i:39;a:3:{i:0;s:0:"";i:1;i:40;i:2;s:2:" }";}i:40;a:3:{i:0;s:0:"";i:1;i:41;i:2;b:0;}i:41;a:3:{i:0;s:0:"";i:1;i:42;i:2;s:31:" Method(BRTU, 0, NotSerialized)";}i:42;a:3:{i:0;s:0:"";i:1;i:43;i:2;s:2:" {";}i:43;a:3:{i:0;s:0:"";i:1;i:44;i:2;s:22:" Store (BRTC, Local0)";}i:44;a:3:{i:0;s:0:"";i:1;i:45;i:2;s:26:" if (LLess(Local0, 0xff))";}i:45;a:3:{i:0;s:0:"";i:1;i:46;i:2;s:3:" {";}i:46;a:3:{i:0;s:0:"";i:1;i:47;i:2;s:27:" Add (Local0, 16, Local0)";}i:47;a:3:{i:0;s:0:"";i:1;i:48;i:2;s:22:" Store(Local0, BRTC)";}i:48;a:3:{i:0;s:0:"";i:1;i:49;i:2;s:3:" }";}i:49;a:3:{i:0;s:0:"";i:1;i:50;i:2;s:2:" }";}i:50;a:3:{i:0;s:0:"";i:1;i:51;i:2;s:1:"}";}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"0";i:1;s:1:"0";}i:1;a:2:{i:0;s:1:"1";i:1;s:2:"51";}}}}s:36:"src/mainboard/lenovo/x60/acpi/ec.asl";a:2:{s:6:"chunks";a:1:{i:0;a:101:{i:0;a:3:{i:0;s:0:"";i:1;s:1:"1";i:2;s:2:"/*";}i:1;a:3:{i:0;s:0:"";i:1;i:2;i:2;s:45:" * This file is part of the coreboot project.";}i:2;a:3:{i:0;s:0:"";i:1;i:3;i:2;s:2:" *";}i:3;a:3:{i:0;s:0:"";i:1;i:4;i:2;s:58:" * Copyright (c) 2011 Sven Schnelle ";}i:4;a:3:{i:0;s:0:"";i:1;i:5;i:2;s:2:" *";}i:5;a:3:{i:0;s:0:"";i:1;i:6;i:2;s:64:" * This program is free software; you can redistribute it and/or";}i:6;a:3:{i:0;s:0:"";i:1;i:7;i:2;s:65:" * modify it under the terms of the GNU General Public License as";}i:7;a:3:{i:0;s:0:"";i:1;i:8;i:2;s:58:" * published by the Free Software Foundation; version 2 of";}i:8;a:3:{i:0;s:0:"";i:1;i:9;i:2;s:15:" * the License.";}i:9;a:3:{i:0;s:0:"";i:1;i:10;i:2;s:2:" *";}i:10;a:3:{i:0;s:0:"";i:1;i:11;i:2;s:66:" * This program is distributed in the hope that it will be useful,";}i:11;a:3:{i:0;s:0:"";i:1;i:12;i:2;s:65:" * but WITHOUT ANY WARRANTY; without even the implied warranty of";}i:12;a:3:{i:0;s:0:"";i:1;i:13;i:2;s:64:" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the";}i:13;a:3:{i:0;s:0:"";i:1;i:14;i:2;s:47:" * GNU General Public License for more details.";}i:14;a:3:{i:0;s:0:"";i:1;i:15;i:2;s:2:" *";}i:15;a:3:{i:0;s:0:"";i:1;i:16;i:2;s:68:" * You should have received a copy of the GNU General Public License";}i:16;a:3:{i:0;s:0:"";i:1;i:17;i:2;s:62:" * along with this program; if not, write to the Free Software";}i:17;a:3:{i:0;s:0:"";i:1;i:18;i:2;s:57:" * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,";}i:18;a:3:{i:0;s:0:"";i:1;i:19;i:2;s:20:" * MA 02110-1301 USA";}i:19;a:3:{i:0;s:0:"";i:1;i:20;i:2;s:3:" */";}i:20;a:3:{i:0;s:0:"";i:1;i:21;i:2;b:0;}i:21;a:3:{i:0;s:0:"";i:1;i:22;i:2;s:10:"Device(EC)";}i:22;a:3:{i:0;s:0:"";i:1;i:23;i:2;s:1:"{";}i:23;a:3:{i:0;s:0:"";i:1;i:24;i:2;s:31:" Name (_HID, EISAID("PNP0C09"))";}i:24;a:3:{i:0;s:0:"";i:1;i:25;i:2;s:15:" Name (_UID, 0)";}i:25;a:3:{i:0;s:0:"";i:1;i:26;i:2;b:0;}i:26;a:3:{i:0;s:0:"";i:1;i:27;i:2;s:16:" Name (_GPE, 28)";}i:27;a:3:{i:0;s:0:"";i:1;i:28;i:2;s:16:" Mutex (ECLK, 0)";}i:28;a:3:{i:0;s:0:"";i:1;i:29;i:2;b:0;}i:29;a:3:{i:0;s:0:"";i:1;i:30;i:2;s:52:" OperationRegion(ERAM, EmbeddedControl, 0x00, 0x100)";}i:30;a:3:{i:0;s:0:"";i:1;i:31;i:2;s:40:" Field (ERAM, ByteAcc, NoLock, Preserve)";}i:31;a:3:{i:0;s:0:"";i:1;i:32;i:2;s:2:" {";}i:32;a:3:{i:0;s:0:"";i:1;i:33;i:2;s:16:" Offset (0x05),";}i:33;a:3:{i:0;s:0:"";i:1;i:34;i:2;s:12:" HSPA, 1,";}i:34;a:3:{i:0;s:0:"";i:1;i:35;i:2;s:16:" Offset (0x0C),";}i:35;a:3:{i:0;s:0:"";i:1;i:36;i:2;s:28:" LEDS, 8, /* LED state */";}i:36;a:3:{i:0;s:0:"";i:1;i:37;i:2;s:16:" Offset (0x3B),";}i:37;a:3:{i:0;s:0:"";i:1;i:38;i:2;s:12:" , 1,";}i:38;a:3:{i:0;s:0:"";i:1;i:39;i:2;s:41:" KBLT, 1, /* Keyboard Light */";}i:39;a:3:{i:0;s:0:"";i:1;i:40;i:2;s:16:" Offset (0x81),";}i:40;a:3:{i:0;s:0:"";i:1;i:41;i:2;s:44:" PAGE, 8 /* Information Page Selector */";}i:41;a:3:{i:0;s:0:"";i:1;i:42;i:2;s:9:" }";}i:42;a:3:{i:0;s:0:"";i:1;i:43;i:2;b:0;}i:43;a:3:{i:0;s:0:"";i:1;i:44;i:2;s:17:" Method (_CRS, 0)";}i:44;a:3:{i:0;s:0:"";i:1;i:45;i:2;s:2:" {";}i:45;a:3:{i:0;s:0:"";i:1;i:46;i:2;s:32:" Name (ECMD, ResourceTemplate()";}i:46;a:3:{i:0;s:0:"";i:1;i:47;i:2;s:3:" {";}i:47;a:3:{i:0;s:0:"";i:1;i:48;i:2;s:34:" IO (Decode16, 0x62, 0x62, 1, 1)";}i:48;a:3:{i:0;s:0:"";i:1;i:49;i:2;s:37:" IO (Decode16, 0x66, 0x66, 1, 1)";}i:49;a:3:{i:0;s:0:"";i:1;i:50;i:2;s:4:" })";}i:50;a:3:{i:0;s:0:"";i:1;i:51;i:2;s:15:" Return (ECMD)";}i:51;a:3:{i:0;s:0:"";i:1;i:52;i:2;s:2:" }";}i:52;a:3:{i:0;s:0:"";i:1;i:53;i:2;b:0;}i:53;a:3:{i:0;s:0:"";i:1;i:54;i:2;s:31:" Method (LED, 1, NotSerialized)";}i:54;a:3:{i:0;s:0:"";i:1;i:55;i:2;s:2:" {";}i:55;a:3:{i:0;s:0:"";i:1;i:56;i:2;s:19:" Store(Arg0, LEDS)";}i:56;a:3:{i:0;s:0:"";i:1;i:57;i:2;s:2:" }";}i:57;a:3:{i:0;s:0:"";i:1;i:58;i:2;b:0;}i:58;a:3:{i:0;s:0:"";i:1;i:59;i:2;s:32:" Method (_INI, 0, NotSerialized)";}i:59;a:3:{i:0;s:0:"";i:1;i:60;i:2;s:2:" {";}i:60;a:3:{i:0;s:0:"";i:1;i:61;i:2;s:2:" }";}i:61;a:3:{i:0;s:0:"";i:1;i:62;i:2;b:0;}i:62;a:3:{i:0;s:0:"";i:1;i:63;i:2;s:27:" /* Sleep Button pressed */";}i:63;a:3:{i:0;s:0:"";i:1;i:64;i:2;s:31:" Method(_Q13, 0, NotSerialized)";}i:64;a:3:{i:0;s:0:"";i:1;i:65;i:2;s:2:" {";}i:65;a:3:{i:0;s:0:"";i:1;i:66;i:2;s:38:" Notify(\_SB.PCI0.LPCB.EC.SLPB, 0x80)";}i:66;a:3:{i:0;s:0:"";i:1;i:67;i:2;s:2:" }";}i:67;a:3:{i:0;s:0:"";i:1;i:68;i:2;b:0;}i:68;a:3:{i:0;s:0:"";i:1;i:69;i:2;s:24:" /* Brightness up GPE */";}i:69;a:3:{i:0;s:0:"";i:1;i:70;i:2;s:31:" Method(_Q14, 0, NotSerialized)";}i:70;a:3:{i:0;s:0:"";i:1;i:71;i:2;s:2:" {";}i:71;a:3:{i:0;s:0:"";i:1;i:72;i:2;s:15:" \DSPC.BRTU ()";}i:72;a:3:{i:0;s:0:"";i:1;i:73;i:2;s:2:" }";}i:73;a:3:{i:0;s:0:"";i:1;i:74;i:2;b:0;}i:74;a:3:{i:0;s:0:"";i:1;i:75;i:2;s:26:" /* Brightness down GPE */";}i:75;a:3:{i:0;s:0:"";i:1;i:76;i:2;s:31:" Method(_Q15, 0, NotSerialized)";}i:76;a:3:{i:0;s:0:"";i:1;i:77;i:2;s:2:" {";}i:77;a:3:{i:0;s:0:"";i:1;i:78;i:2;s:14:" \DSPC.BRTD()";}i:78;a:3:{i:0;s:0:"";i:1;i:79;i:2;s:2:" }";}i:79;a:3:{i:0;s:0:"";i:1;i:80;i:2;b:0;}i:80;a:3:{i:0;s:0:"";i:1;i:81;i:2;s:32:" /* AC status change: present */";}i:81;a:3:{i:0;s:0:"";i:1;i:82;i:2;s:31:" Method(_Q26, 0, NotSerialized)";}i:82;a:3:{i:0;s:0:"";i:1;i:83;i:2;s:2:" {";}i:83;a:3:{i:0;s:0:"";i:1;i:84;i:2;s:19:" Notify (AC, 0x80)";}i:84;a:3:{i:0;s:0:"";i:1;i:85;i:2;s:9:" Beep(6)";}i:85;a:3:{i:0;s:0:"";i:1;i:86;i:2;s:2:" }";}i:86;a:3:{i:0;s:0:"";i:1;i:87;i:2;b:0;}i:87;a:3:{i:0;s:0:"";i:1;i:88;i:2;s:36:" /* AC status change: not present */";}i:88;a:3:{i:0;s:0:"";i:1;i:89;i:2;s:31:" Method(_Q27, 0, NotSerialized)";}i:89;a:3:{i:0;s:0:"";i:1;i:90;i:2;s:2:" {";}i:90;a:3:{i:0;s:0:"";i:1;i:91;i:2;s:19:" Notify (AC, 0x80)";}i:91;a:3:{i:0;s:0:"";i:1;i:92;i:2;s:9:" Beep(6)";}i:92;a:3:{i:0;s:0:"";i:1;i:93;i:2;s:2:" }";}i:93;a:3:{i:0;s:0:"";i:1;i:94;i:2;b:0;}i:94;a:3:{i:0;s:0:"";i:1;i:95;i:2;b:0;}i:95;a:3:{i:0;s:0:"";i:1;i:96;i:2;s:17:"#include "ac.asl"";}i:96;a:3:{i:0;s:0:"";i:1;i:97;i:2;s:22:"#include "battery.asl"";}i:97;a:3:{i:0;s:0:"";i:1;i:98;i:2;s:26:"#include "sleepbutton.asl"";}i:98;a:3:{i:0;s:0:"";i:1;i:99;i:2;s:18:"#include "lid.asl"";}i:99;a:3:{i:0;s:0:"";i:1;i:100;i:2;s:19:"#include "beep.asl"";}i:100;a:3:{i:0;s:0:"";i:1;i:101;i:2;s:1:"}";}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"0";i:1;s:1:"0";}i:1;a:2:{i:0;s:1:"1";i:1;s:3:"101";}}}}s:37:"src/mainboard/lenovo/x60/acpi/lid.asl";a:2:{s:6:"chunks";a:1:{i:0;a:37:{i:0;a:3:{i:0;s:0:"";i:1;s:1:"1";i:2;s:2:"/*";}i:1;a:3:{i:0;s:0:"";i:1;i:2;i:2;s:45:" * This file is part of the coreboot project.";}i:2;a:3:{i:0;s:0:"";i:1;i:3;i:2;s:2:" *";}i:3;a:3:{i:0;s:0:"";i:1;i:4;i:2;s:58:" * Copyright (c) 2011 Sven Schnelle ";}i:4;a:3:{i:0;s:0:"";i:1;i:5;i:2;s:2:" *";}i:5;a:3:{i:0;s:0:"";i:1;i:6;i:2;s:64:" * This program is free software; you can redistribute it and/or";}i:6;a:3:{i:0;s:0:"";i:1;i:7;i:2;s:65:" * modify it under the terms of the GNU General Public License as";}i:7;a:3:{i:0;s:0:"";i:1;i:8;i:2;s:58:" * published by the Free Software Foundation; version 2 of";}i:8;a:3:{i:0;s:0:"";i:1;i:9;i:2;s:15:" * the License.";}i:9;a:3:{i:0;s:0:"";i:1;i:10;i:2;s:2:" *";}i:10;a:3:{i:0;s:0:"";i:1;i:11;i:2;s:66:" * This program is distributed in the hope that it will be useful,";}i:11;a:3:{i:0;s:0:"";i:1;i:12;i:2;s:65:" * but WITHOUT ANY WARRANTY; without even the implied warranty of";}i:12;a:3:{i:0;s:0:"";i:1;i:13;i:2;s:64:" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the";}i:13;a:3:{i:0;s:0:"";i:1;i:14;i:2;s:47:" * GNU General Public License for more details.";}i:14;a:3:{i:0;s:0:"";i:1;i:15;i:2;s:2:" *";}i:15;a:3:{i:0;s:0:"";i:1;i:16;i:2;s:68:" * You should have received a copy of the GNU General Public License";}i:16;a:3:{i:0;s:0:"";i:1;i:17;i:2;s:62:" * along with this program; if not, write to the Free Software";}i:17;a:3:{i:0;s:0:"";i:1;i:18;i:2;s:57:" * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,";}i:18;a:3:{i:0;s:0:"";i:1;i:19;i:2;s:20:" * MA 02110-1301 USA";}i:19;a:3:{i:0;s:0:"";i:1;i:20;i:2;s:3:" */";}i:20;a:3:{i:0;s:0:"";i:1;i:21;i:2;b:0;}i:21;a:3:{i:0;s:0:"";i:1;i:22;i:2;s:38:"Field(ERAM, ByteAcc, NoLock, Preserve)";}i:22;a:3:{i:0;s:0:"";i:1;i:23;i:2;s:1:"{";}i:23;a:3:{i:0;s:0:"";i:1;i:24;i:2;s:16:" Offset (0x46),";}i:24;a:3:{i:0;s:0:"";i:1;i:25;i:2;s:8:" , 2,";}i:25;a:3:{i:0;s:0:"";i:1;i:26;i:2;s:11:" LIDS , 1";}i:26;a:3:{i:0;s:0:"";i:1;i:27;i:2;s:1:"}";}i:27;a:3:{i:0;s:0:"";i:1;i:28;i:2;b:0;}i:28;a:3:{i:0;s:0:"";i:1;i:29;i:2;s:11:"Device(LID)";}i:29;a:3:{i:0;s:0:"";i:1;i:30;i:2;s:1:"{";}i:30;a:3:{i:0;s:0:"";i:1;i:31;i:2;s:22:" Name(_HID, "PNP0C0D")";}i:31;a:3:{i:0;s:0:"";i:1;i:32;i:2;b:0;}i:32;a:3:{i:0;s:0:"";i:1;i:33;i:2;s:31:" Method(_LId, 0, NotSerialized)";}i:33;a:3:{i:0;s:0:"";i:1;i:34;i:2;s:2:" {";}i:34;a:3:{i:0;s:0:"";i:1;i:35;i:2;s:15:" return (LIDS)";}i:35;a:3:{i:0;s:0:"";i:1;i:36;i:2;s:2:" }";}i:36;a:3:{i:0;s:0:"";i:1;i:37;i:2;s:1:"}";}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"0";i:1;s:1:"0";}i:1;a:2:{i:0;s:1:"1";i:1;s:2:"37";}}}}s:41:"src/mainboard/lenovo/x60/acpi/battery.asl";a:2:{s:6:"chunks";a:1:{i:0;a:296:{i:0;a:3:{i:0;s:0:"";i:1;s:1:"1";i:2;s:2:"/*";}i:1;a:3:{i:0;s:0:"";i:1;i:2;i:2;s:45:" * This file is part of the coreboot project.";}i:2;a:3:{i:0;s:0:"";i:1;i:3;i:2;s:2:" *";}i:3;a:3:{i:0;s:0:"";i:1;i:4;i:2;s:58:" * Copyright (c) 2011 Sven Schnelle ";}i:4;a:3:{i:0;s:0:"";i:1;i:5;i:2;s:2:" *";}i:5;a:3:{i:0;s:0:"";i:1;i:6;i:2;s:64:" * This program is free software; you can redistribute it and/or";}i:6;a:3:{i:0;s:0:"";i:1;i:7;i:2;s:65:" * modify it under the terms of the GNU General Public License as";}i:7;a:3:{i:0;s:0:"";i:1;i:8;i:2;s:58:" * published by the Free Software Foundation; version 2 of";}i:8;a:3:{i:0;s:0:"";i:1;i:9;i:2;s:15:" * the License.";}i:9;a:3:{i:0;s:0:"";i:1;i:10;i:2;s:2:" *";}i:10;a:3:{i:0;s:0:"";i:1;i:11;i:2;s:66:" * This program is distributed in the hope that it will be useful,";}i:11;a:3:{i:0;s:0:"";i:1;i:12;i:2;s:65:" * but WITHOUT ANY WARRANTY; without even the implied warranty of";}i:12;a:3:{i:0;s:0:"";i:1;i:13;i:2;s:64:" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the";}i:13;a:3:{i:0;s:0:"";i:1;i:14;i:2;s:47:" * GNU General Public License for more details.";}i:14;a:3:{i:0;s:0:"";i:1;i:15;i:2;s:2:" *";}i:15;a:3:{i:0;s:0:"";i:1;i:16;i:2;s:68:" * You should have received a copy of the GNU General Public License";}i:16;a:3:{i:0;s:0:"";i:1;i:17;i:2;s:62:" * along with this program; if not, write to the Free Software";}i:17;a:3:{i:0;s:0:"";i:1;i:18;i:2;s:57:" * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,";}i:18;a:3:{i:0;s:0:"";i:1;i:19;i:2;s:20:" * MA 02110-1301 USA";}i:19;a:3:{i:0;s:0:"";i:1;i:20;i:2;s:3:" */";}i:20;a:3:{i:0;s:0:"";i:1;i:21;i:2;b:0;}i:21;a:3:{i:0;s:0:"";i:1;i:22;i:2;s:38:"Field(ERAM, ByteAcc, NoLock, Preserve)";}i:22;a:3:{i:0;s:0:"";i:1;i:23;i:2;s:1:"{";}i:23;a:3:{i:0;s:0:"";i:1;i:24;i:2;s:15:" Offset (0x38),";}i:24;a:3:{i:0;s:0:"";i:1;i:25;i:2;s:33:" B0ST, 4, /* Battery 0 state */";}i:25;a:3:{i:0;s:0:"";i:1;i:26;i:2;s:11:" , 1,";}i:26;a:3:{i:0;s:0:"";i:1;i:27;i:2;s:36:" B0CH, 1, /* Battery 0 charging */";}i:27;a:3:{i:0;s:0:"";i:1;i:28;i:2;s:39:" B0DI, 1, /* Battery 0 discharging */";}i:28;a:3:{i:0;s:0:"";i:1;i:29;i:2;s:35:" B0PR, 1, /* Battery 0 present */";}i:29;a:3:{i:0;s:0:"";i:1;i:30;i:2;s:15:" Offset (0x39),";}i:30;a:3:{i:0;s:0:"";i:1;i:31;i:2;s:33:" B1ST, 4, /* Battery 1 state */";}i:31;a:3:{i:0;s:0:"";i:1;i:32;i:2;s:11:" , 1,";}i:32;a:3:{i:0;s:0:"";i:1;i:33;i:2;s:37:" B1CH, 1, /* Battery 1 charging, */";}i:33;a:3:{i:0;s:0:"";i:1;i:34;i:2;s:46:" B1DI, 1, /* Battery 1 discharging,*/";}i:34;a:3:{i:0;s:0:"";i:1;i:35;i:2;s:35:" B1PR, 1 /* Battery 1 present */";}i:35;a:3:{i:0;s:0:"";i:1;i:36;i:2;s:1:"}";}i:36;a:3:{i:0;s:0:"";i:1;i:37;i:2;b:0;}i:37;a:3:{i:0;s:0:"";i:1;i:38;i:2;s:18:"/* EC Registers */";}i:38;a:3:{i:0;s:0:"";i:1;i:39;i:2;s:18:"/* PAGE == 0x00 */";}i:39;a:3:{i:0;s:0:"";i:1;i:40;i:2;s:39:"Field (ERAM, ByteAcc, NoLock, Preserve)";}i:40;a:3:{i:0;s:0:"";i:1;i:41;i:2;s:1:"{";}i:41;a:3:{i:0;s:0:"";i:1;i:42;i:2;s:14:" Offset(0xa0),";}i:42;a:3:{i:0;s:0:"";i:1;i:43;i:2;s:46:" BARC, 16, /* Battery remaining capacity */";}i:43;a:3:{i:0;s:0:"";i:1;i:44;i:2;s:48:" BAFC, 16, /* Battery full charge capacity */";}i:44;a:3:{i:0;s:0:"";i:1;i:45;i:2;s:14:" Offset(0xa8),";}i:45;a:3:{i:0;s:0:"";i:1;i:46;i:2;s:40:" BAPR, 16, /* Battery present rate */";}i:46;a:3:{i:0;s:0:"";i:1;i:47;i:2;s:35:" BAVO, 16, /* Battery Voltage */";}i:47;a:3:{i:0;s:0:"";i:1;i:48;i:2;s:1:"}";}i:48;a:3:{i:0;s:0:"";i:1;i:49;i:2;b:0;}i:49;a:3:{i:0;s:0:"";i:1;i:50;i:2;s:18:"/* PAGE == 0x01 */";}i:50;a:3:{i:0;s:0:"";i:1;i:51;i:2;s:39:"Field (ERAM, ByteAcc, NoLock, Preserve)";}i:51;a:3:{i:0;s:0:"";i:1;i:52;i:2;s:1:"{";}i:52;a:3:{i:0;s:0:"";i:1;i:53;i:2;s:14:" Offset(0xa0),";}i:53;a:3:{i:0;s:0:"";i:1;i:54;i:2;s:12:" , 15,";}i:54;a:3:{i:0;s:0:"";i:1;i:55;i:2;s:12:" BAMA, 1,";}i:55;a:3:{i:0;s:0:"";i:1;i:56;i:2;s:1:"}";}i:56;a:3:{i:0;s:0:"";i:1;i:57;i:2;b:0;}i:57;a:3:{i:0;s:0:"";i:1;i:58;i:2;s:18:"/* PAGE == 0x02 */";}i:58;a:3:{i:0;s:0:"";i:1;i:59;i:2;s:39:"Field (ERAM, ByteAcc, NoLock, Preserve)";}i:59;a:3:{i:0;s:0:"";i:1;i:60;i:2;s:1:"{";}i:60;a:3:{i:0;s:0:"";i:1;i:61;i:2;s:14:" Offset(0xa0),";}i:61;a:3:{i:0;s:0:"";i:1;i:62;i:2;s:35:" BADC, 16, /* Design Capacity */";}i:62;a:3:{i:0;s:0:"";i:1;i:63;i:2;s:34:" BADV, 16, /* Design voltage */";}i:63;a:3:{i:0;s:0:"";i:1;i:64;i:2;s:12:" , 16,";}i:64;a:3:{i:0;s:0:"";i:1;i:65;i:2;s:12:" , 16,";}i:65;a:3:{i:0;s:0:"";i:1;i:66;i:2;s:12:" , 16,";}i:66;a:3:{i:0;s:0:"";i:1;i:67;i:2;s:12:" BASN, 16,";}i:67;a:3:{i:0;s:0:"";i:1;i:68;i:2;s:1:"}";}i:68;a:3:{i:0;s:0:"";i:1;i:69;i:2;b:0;}i:69;a:3:{i:0;s:0:"";i:1;i:70;i:2;s:32:"/* PAGE == 0x04: Battery type */";}i:70;a:3:{i:0;s:0:"";i:1;i:71;i:2;s:39:"Field (ERAM, ByteAcc, NoLock, Preserve)";}i:71;a:3:{i:0;s:0:"";i:1;i:72;i:2;s:1:"{";}i:72;a:3:{i:0;s:0:"";i:1;i:73;i:2;s:14:" Offset(0xa0),";}i:73;a:3:{i:0;s:0:"";i:1;i:74;i:2;s:11:" BATY, 32";}i:74;a:3:{i:0;s:0:"";i:1;i:75;i:2;s:1:"}";}i:75;a:3:{i:0;s:0:"";i:1;i:76;i:2;b:0;}i:76;a:3:{i:0;s:0:"";i:1;i:77;i:2;b:0;}i:77;a:3:{i:0;s:0:"";i:1;i:78;i:2;s:43:"/* PAGE == 0x05: Battery OEM information */";}i:78;a:3:{i:0;s:0:"";i:1;i:79;i:2;s:39:"Field (ERAM, ByteAcc, NoLock, Preserve)";}i:79;a:3:{i:0;s:0:"";i:1;i:80;i:2;s:1:"{";}i:80;a:3:{i:0;s:0:"";i:1;i:81;i:2;s:14:" Offset(0xa0),";}i:81;a:3:{i:0;s:0:"";i:1;i:82;i:2;s:12:" BAOE, 128";}i:82;a:3:{i:0;s:0:"";i:1;i:83;i:2;s:1:"}";}i:83;a:3:{i:0;s:0:"";i:1;i:84;i:2;b:0;}i:84;a:3:{i:0;s:0:"";i:1;i:85;i:2;s:32:"/* PAGE == 0x06: Battery name */";}i:85;a:3:{i:0;s:0:"";i:1;i:86;i:2;s:39:"Field (ERAM, ByteAcc, NoLock, Preserve)";}i:86;a:3:{i:0;s:0:"";i:1;i:87;i:2;s:1:"{";}i:87;a:3:{i:0;s:0:"";i:1;i:88;i:2;s:14:" Offset(0xa0),";}i:88;a:3:{i:0;s:0:"";i:1;i:89;i:2;s:12:" BANA, 128";}i:89;a:3:{i:0;s:0:"";i:1;i:90;i:2;s:1:"}";}i:90;a:3:{i:0;s:0:"";i:1;i:91;i:2;b:0;}i:91;a:3:{i:0;s:0:"";i:1;i:92;i:2;s:16:"/* Arg0: Battery";}i:92;a:3:{i:0;s:0:"";i:1;i:93;i:2;s:31:" * Arg1: Battery Status Package";}i:93;a:3:{i:0;s:0:"";i:1;i:94;i:2;s:17:" * Arg2: charging";}i:94;a:3:{i:0;s:0:"";i:1;i:95;i:2;s:20:" * Arg3: discharging";}i:95;a:3:{i:0;s:0:"";i:1;i:96;i:2;s:3:" */";}i:96;a:3:{i:0;s:0:"";i:1;i:97;i:2;s:30:"Method(BSTA, 4, NotSerialized)";}i:97;a:3:{i:0;s:0:"";i:1;i:98;i:2;s:1:"{";}i:98;a:3:{i:0;s:0:"";i:1;i:99;i:2;s:22:" Acquire(ECLK, 0xffff)";}i:99;a:3:{i:0;s:0:"";i:1;i:100;i:2;s:17:" Store(0, Local0)";}i:100;a:3:{i:0;s:0:"";i:1;i:101;i:2;s:18:" Or(1, Arg0, PAGE)";}i:101;a:3:{i:0;s:0:"";i:1;i:102;i:2;s:20:" Store(BAMA, Local1)";}i:102;a:3:{i:0;s:0:"";i:1;i:103;i:2;s:52:" Store(Arg0, PAGE) /* Battery dynamic information */";}i:103;a:3:{i:0;s:0:"";i:1;i:104;i:2;b:0;}i:104;a:3:{i:0;s:0:"";i:1;i:105;i:2;s:20:" Store(BAPR, Local2)";}i:105;a:3:{i:0;s:0:"";i:1;i:106;i:2;b:0;}i:106;a:3:{i:0;s:0:"";i:1;i:107;i:2;s:22:" if (Arg2) // charging";}i:107;a:3:{i:0;s:0:"";i:1;i:108;i:2;s:2:" {";}i:108;a:3:{i:0;s:0:"";i:1;i:109;i:2;s:23:" Or(2, Local0, Local0)";}i:109;a:3:{i:0;s:0:"";i:1;i:110;i:2;b:0;}i:110;a:3:{i:0;s:0:"";i:1;i:111;i:2;s:39:" If (LGreaterEqual (Local2, 0x8000)) {";}i:111;a:3:{i:0;s:0:"";i:1;i:112;i:2;s:19:" Store(0, Local2)";}i:112;a:3:{i:0;s:0:"";i:1;i:113;i:2;s:3:" }";}i:113;a:3:{i:0;s:0:"";i:1;i:114;i:2;s:2:" }";}i:114;a:3:{i:0;s:0:"";i:1;i:115;i:2;b:0;}i:115;a:3:{i:0;s:0:"";i:1;i:116;i:2;s:25:" if (Arg3) // discharging";}i:116;a:3:{i:0;s:0:"";i:1;i:117;i:2;s:2:" {";}i:117;a:3:{i:0;s:0:"";i:1;i:118;i:2;s:23:" Or(1, Local0, Local0)";}i:118;a:3:{i:0;s:0:"";i:1;i:119;i:2;s:35:" Subtract(0x10000, Local2, Local2)";}i:119;a:3:{i:0;s:0:"";i:1;i:120;i:2;s:2:" }";}i:120;a:3:{i:0;s:0:"";i:1;i:121;i:2;b:0;}i:121;a:3:{i:0;s:0:"";i:1;i:122;i:2;s:33:" Store(Local0, Index(Arg1, 0x00))";}i:122;a:3:{i:0;s:0:"";i:1;i:123;i:2;b:0;}i:123;a:3:{i:0;s:0:"";i:1;i:124;i:2;s:14:" if (Local1) {";}i:124;a:3:{i:0;s:0:"";i:1;i:125;i:2;s:37:" Multiply (BARC, 10, Index(Arg1, 2))";}i:125;a:3:{i:0;s:0:"";i:1;i:126;i:2;s:33:" Multiply (Local2, BAVO, Local2)";}i:126;a:3:{i:0;s:0:"";i:1;i:127;i:2;s:47:" Divide (Local2, 1000, Local3, Index(Arg1, 1))";}i:127;a:3:{i:0;s:0:"";i:1;i:128;i:2;s:9:" } else {";}i:128;a:3:{i:0;s:0:"";i:1;i:129;i:2;s:29:" Store(BARC, Index(Arg1, 2))";}i:129;a:3:{i:0;s:0:"";i:1;i:130;i:2;s:31:" Store(Local2, Index(Arg1, 1))";}i:130;a:3:{i:0;s:0:"";i:1;i:131;i:2;s:2:" }";}i:131;a:3:{i:0;s:0:"";i:1;i:132;i:2;s:28:" Store(BAVO, Index(Arg1, 3))";}i:132;a:3:{i:0;s:0:"";i:1;i:133;i:2;s:14:" Release(ECLK)";}i:133;a:3:{i:0;s:0:"";i:1;i:134;i:2;s:14:" Return (Arg1)";}i:134;a:3:{i:0;s:0:"";i:1;i:135;i:2;s:1:"}";}i:135;a:3:{i:0;s:0:"";i:1;i:136;i:2;b:0;}i:136;a:3:{i:0;s:0:"";i:1;i:137;i:2;s:30:"Method(BINF, 2, NotSerialized)";}i:137;a:3:{i:0;s:0:"";i:1;i:138;i:2;s:1:"{";}i:138;a:3:{i:0;s:0:"";i:1;i:139;i:2;s:22:" Acquire(ECLK, 0xffff)";}i:139;a:3:{i:0;s:0:"";i:1;i:140;i:2;s:53:" Or(1, Arg1, PAGE) /* Battery 0 static information */";}i:140;a:3:{i:0;s:0:"";i:1;i:141;i:2;s:29:" Xor(BAMA, 1, Index(Arg0, 0))";}i:141;a:3:{i:0;s:0:"";i:1;i:142;i:2;s:20:" Store(BAMA, Local0)";}i:142;a:3:{i:0;s:0:"";i:1;i:143;i:2;s:18:" Store(Arg1, PAGE)";}i:143;a:3:{i:0;s:0:"";i:1;i:144;i:2;s:20:" Store(BAFC, Local2)";}i:144;a:3:{i:0;s:0:"";i:1;i:145;i:2;s:18:" Or(2, Arg1, PAGE)";}i:145;a:3:{i:0;s:0:"";i:1;i:146;i:2;s:20:" Store(BADC, Local1)";}i:146;a:3:{i:0;s:0:"";i:1;i:147;i:2;b:0;}i:147;a:3:{i:0;s:0:"";i:1;i:148;i:2;s:12:" if (Local0)";}i:148;a:3:{i:0;s:0:"";i:1;i:149;i:2;s:2:" {";}i:149;a:3:{i:0;s:0:"";i:1;i:150;i:2;s:31:" Multiply (Local1, 10, Local1)";}i:150;a:3:{i:0;s:0:"";i:1;i:151;i:2;s:31:" Multiply (Local2, 10, Local2)";}i:151;a:3:{i:0;s:0:"";i:1;i:152;i:2;s:2:" }";}i:152;a:3:{i:0;s:0:"";i:1;i:153;i:2;b:0;}i:153;a:3:{i:0;s:0:"";i:1;i:154;i:2;s:49:" Store(Local1, Index(Arg0, 1)) // Design Capacity";}i:154;a:3:{i:0;s:0:"";i:1;i:155;i:2;s:59:" Store(Local2, Index(Arg0, 2)) // Last full charge capacity";}i:155;a:3:{i:0;s:0:"";i:1;i:156;i:2;s:46:" Store(BADV, Index(Arg0, 4)) // Design Voltage";}i:156;a:3:{i:0;s:0:"";i:1;i:157;i:2;s:64:" Divide (Local2, 20, Local0, Index(Arg0, 5)) // Warning capacity";}i:157;a:3:{i:0;s:0:"";i:1;i:158;i:2;b:0;}i:158;a:3:{i:0;s:0:"";i:1;i:159;i:2;s:21:" Store (BASN, Local0)";}i:159;a:3:{i:0;s:0:"";i:1;i:160;i:2;s:39:" Name (SERN, Buffer (0x06) { " " })";}i:160;a:3:{i:0;s:0:"";i:1;i:161;i:2;s:18:" Store (4, Local1)";}i:161;a:3:{i:0;s:0:"";i:1;i:162;i:2;s:15:" While (Local0)";}i:162;a:3:{i:0;s:0:"";i:1;i:163;i:2;s:2:" {";}i:163;a:3:{i:0;s:0:"";i:1;i:164;i:2;s:39:" Divide (Local0, 0x0A, Local2, Local0)";}i:164;a:3:{i:0;s:0:"";i:1;i:165;i:2;s:40:" Add (Local2, 48, Index (SERN, Local1))";}i:165;a:3:{i:0;s:0:"";i:1;i:166;i:2;s:20:" Decrement (Local1)";}i:166;a:3:{i:0;s:0:"";i:1;i:167;i:2;s:2:" }";}i:167;a:3:{i:0;s:0:"";i:1;i:168;i:2;s:48:" Store (SERN, Index (Arg0, 10)) // Serial Number";}i:168;a:3:{i:0;s:0:"";i:1;i:169;i:2;b:0;}i:169;a:3:{i:0;s:0:"";i:1;i:170;i:2;s:18:" Or(4, Arg1, PAGE)";}i:170;a:3:{i:0;s:0:"";i:1;i:171;i:2;s:40:" Name (TYPE, Buffer() { 0, 0, 0, 0, 0 })";}i:171;a:3:{i:0;s:0:"";i:1;i:172;i:2;s:18:" Store(BATY, TYPE)";}i:172;a:3:{i:0;s:0:"";i:1;i:173;i:2;s:46:" Store(TYPE, Index (Arg0, 11)) // Battery type";}i:173;a:3:{i:0;s:0:"";i:1;i:174;i:2;s:18:" Or(5, Arg1, PAGE)";}i:174;a:3:{i:0;s:0:"";i:1;i:175;i:2;s:49:" Store(BAOE, Index (Arg0, 12)) // OEM information";}i:175;a:3:{i:0;s:0:"";i:1;i:176;i:2;s:18:" Or(6, Arg1, PAGE)";}i:176;a:3:{i:0;s:0:"";i:1;i:177;i:2;s:46:" Store(BANA, Index (Arg0, 9)) // Model number";}i:177;a:3:{i:0;s:0:"";i:1;i:178;i:2;s:14:" Release(ECLK)";}i:178;a:3:{i:0;s:0:"";i:1;i:179;i:2;s:14:" Return (Arg0)";}i:179;a:3:{i:0;s:0:"";i:1;i:180;i:2;s:1:"}";}i:180;a:3:{i:0;s:0:"";i:1;i:181;i:2;b:0;}i:181;a:3:{i:0;s:0:"";i:1;i:182;i:2;s:13:"Device (BAT0)";}i:182;a:3:{i:0;s:0:"";i:1;i:183;i:2;s:1:"{";}i:183;a:3:{i:0;s:0:"";i:1;i:184;i:2;s:32:" Name (_HID, EisaId ("PNP0C0A"))";}i:184;a:3:{i:0;s:0:"";i:1;i:185;i:2;s:18:" Name (_UID, 0x00)";}i:185;a:3:{i:0;s:0:"";i:1;i:186;i:2;s:33:" Name (_PCL, Package () { \_SB })";}i:186;a:3:{i:0;s:0:"";i:1;i:187;i:2;b:0;}i:187;a:3:{i:0;s:0:"";i:1;i:188;i:2;s:23:" Name (BATS, Package ()";}i:188;a:3:{i:0;s:0:"";i:1;i:189;i:2;s:2:" {";}i:189;a:3:{i:0;s:0:"";i:1;i:190;i:2;s:40:" 0x00, // 0: PowerUnit: Report in mWh";}i:190;a:3:{i:0;s:0:"";i:1;i:191;i:2;s:31:" 0xFFFFFFFF, // 1: Design cap";}i:191;a:3:{i:0;s:0:"";i:1;i:192;i:2;s:41:" 0xFFFFFFFF, // 2: Last full charge cap";}i:192;a:3:{i:0;s:0:"";i:1;i:193;i:2;s:34:" 0x01, // 3: Battery Technology";}i:193;a:3:{i:0;s:0:"";i:1;i:194;i:2;s:36:" 10800, // 4: Design Voltage (mV)";}i:194;a:3:{i:0;s:0:"";i:1;i:195;i:2;s:39:" 0x00, // 5: Warning design capacity";}i:195;a:3:{i:0;s:0:"";i:1;i:196;i:2;s:34:" 200, // 6: Low design capacity";}i:196;a:3:{i:0;s:0:"";i:1;i:197;i:2;s:25:" 1, // 7: granularity1";}i:197;a:3:{i:0;s:0:"";i:1;i:198;i:2;s:25:" 1, // 8: granularity2";}i:198;a:3:{i:0;s:0:"";i:1;i:199;i:2;s:26:" "", // 9: Model number";}i:199;a:3:{i:0;s:0:"";i:1;i:200;i:2;s:27:" "", // A: Serial number";}i:200;a:3:{i:0;s:0:"";i:1;i:201;i:2;s:26:" "", // B: Battery Type";}i:201;a:3:{i:0;s:0:"";i:1;i:202;i:2;s:28:" "" // C: OEM information";}i:202;a:3:{i:0;s:0:"";i:1;i:203;i:2;s:3:" })";}i:203;a:3:{i:0;s:0:"";i:1;i:204;i:2;b:0;}i:204;a:3:{i:0;s:0:"";i:1;i:205;i:2;s:32:" Method (_BIF, 0, NotSerialized)";}i:205;a:3:{i:0;s:0:"";i:1;i:206;i:2;s:2:" {";}i:206;a:3:{i:0;s:0:"";i:1;i:207;i:2;s:24:" Return (BINF(BATS, 0))";}i:207;a:3:{i:0;s:0:"";i:1;i:208;i:2;s:2:" }";}i:208;a:3:{i:0;s:0:"";i:1;i:209;i:2;b:0;}i:209;a:3:{i:0;s:0:"";i:1;i:210;i:2;s:23:" Name (BATI, Package ()";}i:210;a:3:{i:0;s:0:"";i:1;i:211;i:2;s:2:" {";}i:211;a:3:{i:0;s:0:"";i:1;i:212;i:2;s:23:" 0, // Battery State";}i:212;a:3:{i:0;s:0:"";i:1;i:213;i:2;s:25:" // Bit 0 - discharge";}i:213;a:3:{i:0;s:0:"";i:1;i:214;i:2;s:22:" // Bit 1 - charge";}i:214;a:3:{i:0;s:0:"";i:1;i:215;i:2;s:30:" // Bit 2 - critical state";}i:215;a:3:{i:0;s:0:"";i:1;i:216;i:2;s:30:" 0, // Battery present Rate";}i:216;a:3:{i:0;s:0:"";i:1;i:217;i:2;s:36:" 0, // Battery remaining capacity";}i:217;a:3:{i:0;s:0:"";i:1;i:218;i:2;s:32:" 0 // Battery present voltage";}i:218;a:3:{i:0;s:0:"";i:1;i:219;i:2;s:3:" })";}i:219;a:3:{i:0;s:0:"";i:1;i:220;i:2;b:0;}i:220;a:3:{i:0;s:0:"";i:1;i:221;i:2;s:32:" Method (_BST, 0, NotSerialized)";}i:221;a:3:{i:0;s:0:"";i:1;i:222;i:2;s:2:" {";}i:222;a:3:{i:0;s:0:"";i:1;i:223;i:2;s:13:" if (B0PR) {";}i:223;a:3:{i:0;s:0:"";i:1;i:224;i:2;s:37:" Return (BSTA(0, BATI, B0CH, B0DI))";}i:224;a:3:{i:0;s:0:"";i:1;i:225;i:2;s:10:" } else {";}i:225;a:3:{i:0;s:0:"";i:1;i:226;i:2;s:16:" Return (BATS)";}i:226;a:3:{i:0;s:0:"";i:1;i:227;i:2;s:3:" }";}i:227;a:3:{i:0;s:0:"";i:1;i:228;i:2;s:2:" }";}i:228;a:3:{i:0;s:0:"";i:1;i:229;i:2;b:0;}i:229;a:3:{i:0;s:0:"";i:1;i:230;i:2;s:32:" Method (_STA, 0, NotSerialized)";}i:230;a:3:{i:0;s:0:"";i:1;i:231;i:2;s:2:" {";}i:231;a:3:{i:0;s:0:"";i:1;i:232;i:2;s:13:" if (B0PR) {";}i:232;a:3:{i:0;s:0:"";i:1;i:233;i:2;s:16:" Return (0x1f)";}i:233;a:3:{i:0;s:0:"";i:1;i:234;i:2;s:10:" } else {";}i:234;a:3:{i:0;s:0:"";i:1;i:235;i:2;s:16:" Return (0x0f)";}i:235;a:3:{i:0;s:0:"";i:1;i:236;i:2;s:3:" }";}i:236;a:3:{i:0;s:0:"";i:1;i:237;i:2;s:2:" }";}i:237;a:3:{i:0;s:0:"";i:1;i:238;i:2;s:1:"}";}i:238;a:3:{i:0;s:0:"";i:1;i:239;i:2;b:0;}i:239;a:3:{i:0;s:0:"";i:1;i:240;i:2;s:13:"Device (BAT1)";}i:240;a:3:{i:0;s:0:"";i:1;i:241;i:2;s:1:"{";}i:241;a:3:{i:0;s:0:"";i:1;i:242;i:2;s:32:" Name (_HID, EisaId ("PNP0C0A"))";}i:242;a:3:{i:0;s:0:"";i:1;i:243;i:2;s:18:" Name (_UID, 0x00)";}i:243;a:3:{i:0;s:0:"";i:1;i:244;i:2;s:33:" Name (_PCL, Package () { \_SB })";}i:244;a:3:{i:0;s:0:"";i:1;i:245;i:2;b:0;}i:245;a:3:{i:0;s:0:"";i:1;i:246;i:2;s:23:" Name (BATS, Package ()";}i:246;a:3:{i:0;s:0:"";i:1;i:247;i:2;s:2:" {";}i:247;a:3:{i:0;s:0:"";i:1;i:248;i:2;s:40:" 0x00, // 0: PowerUnit: Report in mWh";}i:248;a:3:{i:0;s:0:"";i:1;i:249;i:2;s:31:" 0xFFFFFFFF, // 1: Design cap";}i:249;a:3:{i:0;s:0:"";i:1;i:250;i:2;s:41:" 0xFFFFFFFF, // 2: Last full charge cap";}i:250;a:3:{i:0;s:0:"";i:1;i:251;i:2;s:34:" 0x01, // 3: Battery Technology";}i:251;a:3:{i:0;s:0:"";i:1;i:252;i:2;s:36:" 10800, // 4: Design Voltage (mV)";}i:252;a:3:{i:0;s:0:"";i:1;i:253;i:2;s:39:" 0x00, // 5: Warning design capacity";}i:253;a:3:{i:0;s:0:"";i:1;i:254;i:2;s:34:" 200, // 6: Low design capacity";}i:254;a:3:{i:0;s:0:"";i:1;i:255;i:2;s:25:" 1, // 7: granularity1";}i:255;a:3:{i:0;s:0:"";i:1;i:256;i:2;s:25:" 1, // 8: granularity2";}i:256;a:3:{i:0;s:0:"";i:1;i:257;i:2;s:26:" "", // 9: Model number";}i:257;a:3:{i:0;s:0:"";i:1;i:258;i:2;s:27:" "", // A: Serial number";}i:258;a:3:{i:0;s:0:"";i:1;i:259;i:2;s:26:" "", // B: Battery Type";}i:259;a:3:{i:0;s:0:"";i:1;i:260;i:2;s:28:" "" // C: OEM information";}i:260;a:3:{i:0;s:0:"";i:1;i:261;i:2;s:3:" })";}i:261;a:3:{i:0;s:0:"";i:1;i:262;i:2;b:0;}i:262;a:3:{i:0;s:0:"";i:1;i:263;i:2;s:32:" Method (_BIF, 0, NotSerialized)";}i:263;a:3:{i:0;s:0:"";i:1;i:264;i:2;s:2:" {";}i:264;a:3:{i:0;s:0:"";i:1;i:265;i:2;s:27:" Return (BINF(BATS, 0x10))";}i:265;a:3:{i:0;s:0:"";i:1;i:266;i:2;s:2:" }";}i:266;a:3:{i:0;s:0:"";i:1;i:267;i:2;b:0;}i:267;a:3:{i:0;s:0:"";i:1;i:268;i:2;s:23:" Name (BATI, Package ()";}i:268;a:3:{i:0;s:0:"";i:1;i:269;i:2;s:2:" {";}i:269;a:3:{i:0;s:0:"";i:1;i:270;i:2;s:23:" 0, // Battery State";}i:270;a:3:{i:0;s:0:"";i:1;i:271;i:2;s:25:" // Bit 0 - discharge";}i:271;a:3:{i:0;s:0:"";i:1;i:272;i:2;s:22:" // Bit 1 - charge";}i:272;a:3:{i:0;s:0:"";i:1;i:273;i:2;s:30:" // Bit 2 - critical state";}i:273;a:3:{i:0;s:0:"";i:1;i:274;i:2;s:30:" 0, // Battery present Rate";}i:274;a:3:{i:0;s:0:"";i:1;i:275;i:2;s:36:" 0, // Battery remaining capacity";}i:275;a:3:{i:0;s:0:"";i:1;i:276;i:2;s:32:" 0 // Battery present voltage";}i:276;a:3:{i:0;s:0:"";i:1;i:277;i:2;s:3:" })";}i:277;a:3:{i:0;s:0:"";i:1;i:278;i:2;b:0;}i:278;a:3:{i:0;s:0:"";i:1;i:279;i:2;s:32:" Method (_BST, 0, NotSerialized)";}i:279;a:3:{i:0;s:0:"";i:1;i:280;i:2;s:2:" {";}i:280;a:3:{i:0;s:0:"";i:1;i:281;i:2;s:13:" if (B1PR) {";}i:281;a:3:{i:0;s:0:"";i:1;i:282;i:2;s:40:" Return (BSTA(0x10, BATI, B1CH, B1DI))";}i:282;a:3:{i:0;s:0:"";i:1;i:283;i:2;s:10:" } else {";}i:283;a:3:{i:0;s:0:"";i:1;i:284;i:2;s:16:" Return (BATS)";}i:284;a:3:{i:0;s:0:"";i:1;i:285;i:2;s:3:" }";}i:285;a:3:{i:0;s:0:"";i:1;i:286;i:2;s:2:" }";}i:286;a:3:{i:0;s:0:"";i:1;i:287;i:2;b:0;}i:287;a:3:{i:0;s:0:"";i:1;i:288;i:2;s:32:" Method (_STA, 0, NotSerialized)";}i:288;a:3:{i:0;s:0:"";i:1;i:289;i:2;s:2:" {";}i:289;a:3:{i:0;s:0:"";i:1;i:290;i:2;s:13:" if (B1PR) {";}i:290;a:3:{i:0;s:0:"";i:1;i:291;i:2;s:16:" Return (0x1f)";}i:291;a:3:{i:0;s:0:"";i:1;i:292;i:2;s:10:" } else {";}i:292;a:3:{i:0;s:0:"";i:1;i:293;i:2;s:16:" Return (0x0f)";}i:293;a:3:{i:0;s:0:"";i:1;i:294;i:2;s:3:" }";}i:294;a:3:{i:0;s:0:"";i:1;i:295;i:2;s:2:" }";}i:295;a:3:{i:0;s:0:"";i:1;i:296;i:2;s:1:"}";}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"0";i:1;s:1:"0";}i:1;a:2:{i:0;s:1:"1";i:1;s:3:"296";}}}}s:38:"src/mainboard/lenovo/x60/acpi/beep.asl";a:2:{s:6:"chunks";a:1:{i:0;a:32:{i:0;a:3:{i:0;s:0:"";i:1;s:1:"1";i:2;s:2:"/*";}i:1;a:3:{i:0;s:0:"";i:1;i:2;i:2;s:45:" * This file is part of the coreboot project.";}i:2;a:3:{i:0;s:0:"";i:1;i:3;i:2;s:2:" *";}i:3;a:3:{i:0;s:0:"";i:1;i:4;i:2;s:58:" * Copyright (c) 2011 Sven Schnelle ";}i:4;a:3:{i:0;s:0:"";i:1;i:5;i:2;s:2:" *";}i:5;a:3:{i:0;s:0:"";i:1;i:6;i:2;s:64:" * This program is free software; you can redistribute it and/or";}i:6;a:3:{i:0;s:0:"";i:1;i:7;i:2;s:65:" * modify it under the terms of the GNU General Public License as";}i:7;a:3:{i:0;s:0:"";i:1;i:8;i:2;s:58:" * published by the Free Software Foundation; version 2 of";}i:8;a:3:{i:0;s:0:"";i:1;i:9;i:2;s:15:" * the License.";}i:9;a:3:{i:0;s:0:"";i:1;i:10;i:2;s:2:" *";}i:10;a:3:{i:0;s:0:"";i:1;i:11;i:2;s:66:" * This program is distributed in the hope that it will be useful,";}i:11;a:3:{i:0;s:0:"";i:1;i:12;i:2;s:65:" * but WITHOUT ANY WARRANTY; without even the implied warranty of";}i:12;a:3:{i:0;s:0:"";i:1;i:13;i:2;s:64:" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the";}i:13;a:3:{i:0;s:0:"";i:1;i:14;i:2;s:47:" * GNU General Public License for more details.";}i:14;a:3:{i:0;s:0:"";i:1;i:15;i:2;s:2:" *";}i:15;a:3:{i:0;s:0:"";i:1;i:16;i:2;s:68:" * You should have received a copy of the GNU General Public License";}i:16;a:3:{i:0;s:0:"";i:1;i:17;i:2;s:62:" * along with this program; if not, write to the Free Software";}i:17;a:3:{i:0;s:0:"";i:1;i:18;i:2;s:57:" * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,";}i:18;a:3:{i:0;s:0:"";i:1;i:19;i:2;s:20:" * MA 02110-1301 USA";}i:19;a:3:{i:0;s:0:"";i:1;i:20;i:2;s:3:" */";}i:20;a:3:{i:0;s:0:"";i:1;i:21;i:2;b:0;}i:21;a:3:{i:0;s:0:"";i:1;i:22;i:2;s:38:"Field(ERAM, ByteAcc, NoLock, Preserve)";}i:22;a:3:{i:0;s:0:"";i:1;i:23;i:2;s:1:"{";}i:23;a:3:{i:0;s:0:"";i:1;i:24;i:2;s:16:" Offset (0x06),";}i:24;a:3:{i:0;s:0:"";i:1;i:25;i:2;s:58:" SNDS, 8 /* Write to this register to generate sound */";}i:25;a:3:{i:0;s:0:"";i:1;i:26;i:2;b:0;}i:26;a:3:{i:0;s:0:"";i:1;i:27;i:2;s:1:"}";}i:27;a:3:{i:0;s:0:"";i:1;i:28;i:2;b:0;}i:28;a:3:{i:0;s:0:"";i:1;i:29;i:2;s:30:"Method(BEEP, 1, NotSerialized)";}i:29;a:3:{i:0;s:0:"";i:1;i:30;i:2;s:1:"{";}i:30;a:3:{i:0;s:0:"";i:1;i:31;i:2;s:19:" Store (Arg0, SNDS)";}i:31;a:3:{i:0;s:0:"";i:1;i:32;i:2;s:1:"}";}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"0";i:1;s:1:"0";}i:1;a:2:{i:0;s:1:"1";i:1;s:2:"32";}}}}s:33:"src/mainboard/lenovo/x60/dsdt.asl";a:2:{s:6:"chunks";a:1:{i:0;a:56:{i:0;a:3:{i:0;s:0:"";i:1;s:1:"1";i:2;s:2:"/*";}i:1;a:3:{i:0;s:0:"";i:1;i:2;i:2;s:45:" * This file is part of the coreboot project.";}i:2;a:3:{i:0;s:0:"";i:1;i:3;i:2;s:2:" *";}i:3;a:3:{i:0;s:0:"";i:1;i:4;i:2;s:43:" * Copyright (C) 2007-2009 coresystems GmbH";}i:4;a:3:{i:0;s:0:"";i:1;i:5;i:2;s:2:" *";}i:5;a:3:{i:0;s:0:"";i:1;i:6;i:2;s:64:" * This program is free software; you can redistribute it and/or";}i:6;a:3:{i:0;s:0:"";i:1;i:7;i:2;s:65:" * modify it under the terms of the GNU General Public License as";}i:7;a:3:{i:0;s:0:"";i:1;i:8;i:2;s:58:" * published by the Free Software Foundation; version 2 of";}i:8;a:3:{i:0;s:0:"";i:1;i:9;i:2;s:15:" * the License.";}i:9;a:3:{i:0;s:0:"";i:1;i:10;i:2;s:2:" *";}i:10;a:3:{i:0;s:0:"";i:1;i:11;i:2;s:66:" * This program is distributed in the hope that it will be useful,";}i:11;a:3:{i:0;s:0:"";i:1;i:12;i:2;s:65:" * but WITHOUT ANY WARRANTY; without even the implied warranty of";}i:12;a:3:{i:0;s:0:"";i:1;i:13;i:2;s:64:" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the";}i:13;a:3:{i:0;s:0:"";i:1;i:14;i:2;s:47:" * GNU General Public License for more details.";}i:14;a:3:{i:0;s:0:"";i:1;i:15;i:2;s:2:" *";}i:15;a:3:{i:0;s:0:"";i:1;i:16;i:2;s:68:" * You should have received a copy of the GNU General Public License";}i:16;a:3:{i:0;s:0:"";i:1;i:17;i:2;s:62:" * along with this program; if not, write to the Free Software";}i:17;a:3:{i:0;s:0:"";i:1;i:18;i:2;s:57:" * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,";}i:18;a:3:{i:0;s:0:"";i:1;i:19;i:2;s:20:" * MA 02110-1301 USA";}i:19;a:3:{i:0;s:0:"";i:1;i:20;i:2;s:3:" */";}i:20;a:3:{i:0;s:0:"";i:1;i:21;i:2;b:0;}i:21;a:3:{i:0;s:0:"";i:1;i:22;i:2;s:16:"DefinitionBlock(";}i:22;a:3:{i:0;s:0:"";i:1;i:23;i:2;s:12:" "dsdt.aml",";}i:23;a:3:{i:0;s:0:"";i:1;i:24;i:2;s:8:" "DSDT",";}i:24;a:3:{i:0;s:0:"";i:1;i:25;i:2;s:35:" 0x03, // DSDT revision: ACPI v3.0";}i:25;a:3:{i:0;s:0:"";i:1;i:26;i:2;s:20:" "COREv4", // OEM id";}i:26;a:3:{i:0;s:0:"";i:1;i:27;i:2;s:32:" "COREBOOT", // OEM table id";}i:27;a:3:{i:0;s:0:"";i:1;i:28;i:2;s:27:" 0x20090419 // OEM revision";}i:28;a:3:{i:0;s:0:"";i:1;i:29;i:2;s:1:")";}i:29;a:3:{i:0;s:0:"";i:1;i:30;i:2;s:1:"{";}i:30;a:3:{i:0;s:0:"";i:1;i:31;i:2;s:23:" // Some generic macros";}i:31;a:3:{i:0;s:0:"";i:1;i:32;i:2;s:29:" #include "acpi/platform.asl"";}i:32;a:3:{i:0;s:0:"";i:1;i:33;i:2;b:0;}i:33;a:3:{i:0;s:0:"";i:1;i:34;i:2;s:28:" // global NVS and variables";}i:34;a:3:{i:0;s:0:"";i:1;i:35;i:2;s:66:" #include "../../../southbridge/intel/i82801gx/acpi/globalnvs.asl"";}i:35;a:3:{i:0;s:0:"";i:1;i:36;i:2;b:0;}i:36;a:3:{i:0;s:0:"";i:1;i:37;i:2;s:26:" // General Purpose Events";}i:37;a:3:{i:0;s:0:"";i:1;i:38;i:2;s:24:" #include "acpi/gpe.asl"";}i:38;a:3:{i:0;s:0:"";i:1;i:39;i:2;b:0;}i:39;a:3:{i:0;s:0:"";i:1;i:40;i:2;s:30:" // mainboard specific devices";}i:40;a:3:{i:0;s:0:"";i:1;i:41;i:2;s:30:" #include "acpi/mainboard.asl"";}i:41;a:3:{i:0;s:0:"";i:1;i:42;i:2;b:0;}i:42;a:3:{i:0;s:0:"";i:1;i:43;i:2;s:16:" // Thermal Zone";}i:43;a:3:{i:0;s:0:"";i:1;i:44;i:2;s:28:" #include "acpi/thermal.asl"";}i:44;a:3:{i:0;s:0:"";i:1;i:45;i:2;b:0;}i:45;a:3:{i:0;s:0:"";i:1;i:46;i:2;s:15:" Scope (\_SB) {";}i:46;a:3:{i:0;s:0:"";i:1;i:47;i:2;s:15:" Device (PCI0)";}i:47;a:3:{i:0;s:0:"";i:1;i:48;i:2;s:3:" {";}i:48;a:3:{i:0;s:0:"";i:1;i:49;i:2;s:59:" #include "../../../northbridge/intel/i945/acpi/i945.asl"";}i:49;a:3:{i:0;s:0:"";i:1;i:50;i:2;s:63:" #include "../../../southbridge/intel/i82801gx/acpi/ich7.asl"";}i:50;a:3:{i:0;s:0:"";i:1;i:51;i:2;s:3:" }";}i:51;a:3:{i:0;s:0:"";i:1;i:52;i:2;s:2:" }";}i:52;a:3:{i:0;s:0:"";i:1;i:53;i:2;b:0;}i:53;a:3:{i:0;s:0:"";i:1;i:54;i:2;s:36:" /* Chipset specific sleep states */";}i:54;a:3:{i:0;s:0:"";i:1;i:55;i:2;s:68:" #include "../../../southbridge/intel/i82801gx/acpi/sleepstates.asl"";}i:55;a:3:{i:0;s:0:"";i:1;i:56;i:2;s:1:"}";}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"0";i:1;s:1:"0";}i:1;a:2:{i:0;s:1:"1";i:1;s:2:"56";}}}}} \ No newline at end of file + + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '21', + 1 => '21', + 2 => ' select BOARD_ROMSIZE_KB_2048 +', + ), + 1 => + array ( + 0 => 22, + 1 => 22, + 2 => ' select CHANNEL_XOR_RANDOMIZATION +', + ), + 2 => + array ( + 0 => 23, + 1 => 23, + 2 => ' select HAVE_SMI_HANDLER +', + ), + 3 => + array ( + 0 => '', + 1 => 24, + 2 => ' select HAVE_ACPI_TABLES +', + ), + 4 => + array ( + 0 => 24, + 1 => 25, + 2 => ' +', + ), + 5 => + array ( + 0 => 25, + 1 => 26, + 2 => 'config MAINBOARD_DIR +', + ), + 6 => + array ( + 0 => 26, + 1 => 27, + 2 => ' string +', + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '21', + 1 => '6', + ), + 1 => + array ( + 0 => '21', + 1 => '7', + ), + ), + ), + ), + 'src/mainboard/lenovo/x60/acpi/ac.asl' => + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '', + 1 => '1', + 2 => '/* +', + ), + 1 => + array ( + 0 => '', + 1 => 2, + 2 => ' * This file is part of the coreboot project. +', + ), + 2 => + array ( + 0 => '', + 1 => 3, + 2 => ' * +', + ), + 3 => + array ( + 0 => '', + 1 => 4, + 2 => ' * Copyright (c) 2011 Sven Schnelle +', + ), + 4 => + array ( + 0 => '', + 1 => 5, + 2 => ' * +', + ), + 5 => + array ( + 0 => '', + 1 => 6, + 2 => ' * This program is free software; you can redistribute it and/or +', + ), + 6 => + array ( + 0 => '', + 1 => 7, + 2 => ' * modify it under the terms of the GNU General Public License as +', + ), + 7 => + array ( + 0 => '', + 1 => 8, + 2 => ' * published by the Free Software Foundation; version 2 of +', + ), + 8 => + array ( + 0 => '', + 1 => 9, + 2 => ' * the License. +', + ), + 9 => + array ( + 0 => '', + 1 => 10, + 2 => ' * +', + ), + 10 => + array ( + 0 => '', + 1 => 11, + 2 => ' * This program is distributed in the hope that it will be useful, +', + ), + 11 => + array ( + 0 => '', + 1 => 12, + 2 => ' * but WITHOUT ANY WARRANTY; without even the implied warranty of +', + ), + 12 => + array ( + 0 => '', + 1 => 13, + 2 => ' * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +', + ), + 13 => + array ( + 0 => '', + 1 => 14, + 2 => ' * GNU General Public License for more details. +', + ), + 14 => + array ( + 0 => '', + 1 => 15, + 2 => ' * +', + ), + 15 => + array ( + 0 => '', + 1 => 16, + 2 => ' * You should have received a copy of the GNU General Public License +', + ), + 16 => + array ( + 0 => '', + 1 => 17, + 2 => ' * along with this program; if not, write to the Free Software +', + ), + 17 => + array ( + 0 => '', + 1 => 18, + 2 => ' * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +', + ), + 18 => + array ( + 0 => '', + 1 => 19, + 2 => ' * MA 02110-1301 USA +', + ), + 19 => + array ( + 0 => '', + 1 => 20, + 2 => ' */ +', + ), + 20 => + array ( + 0 => '', + 1 => 21, + 2 => ' +', + ), + 21 => + array ( + 0 => '', + 1 => 22, + 2 => 'Field(ERAM, ByteAcc, NoLock, Preserve) +', + ), + 22 => + array ( + 0 => '', + 1 => 23, + 2 => '{ +', + ), + 23 => + array ( + 0 => '', + 1 => 24, + 2 => ' Offset (0x46), +', + ), + 24 => + array ( + 0 => '', + 1 => 25, + 2 => ' , 4, +', + ), + 25 => + array ( + 0 => '', + 1 => 26, + 2 => ' HPAC, 1 +', + ), + 26 => + array ( + 0 => '', + 1 => 27, + 2 => '} +', + ), + 27 => + array ( + 0 => '', + 1 => 28, + 2 => ' +', + ), + 28 => + array ( + 0 => '', + 1 => 29, + 2 => 'Device(AC) +', + ), + 29 => + array ( + 0 => '', + 1 => 30, + 2 => '{ +', + ), + 30 => + array ( + 0 => '', + 1 => 31, + 2 => ' Name(_HID, "ACPI0003") +', + ), + 31 => + array ( + 0 => '', + 1 => 32, + 2 => ' Name(_UID, 0x00) +', + ), + 32 => + array ( + 0 => '', + 1 => 33, + 2 => ' Name(_PCL, Package() { \\_SB } ) +', + ), + 33 => + array ( + 0 => '', + 1 => 34, + 2 => ' +', + ), + 34 => + array ( + 0 => '', + 1 => 35, + 2 => ' Method(_PSR, 0, NotSerialized) +', + ), + 35 => + array ( + 0 => '', + 1 => 36, + 2 => ' { +', + ), + 36 => + array ( + 0 => '', + 1 => 37, + 2 => ' return (HPAC) +', + ), + 37 => + array ( + 0 => '', + 1 => 38, + 2 => ' } +', + ), + 38 => + array ( + 0 => '', + 1 => 39, + 2 => ' +', + ), + 39 => + array ( + 0 => '', + 1 => 40, + 2 => ' Method(_STA, 0, NotSerialized) +', + ), + 40 => + array ( + 0 => '', + 1 => 41, + 2 => ' { +', + ), + 41 => + array ( + 0 => '', + 1 => 42, + 2 => ' Return (0x0f) +', + ), + 42 => + array ( + 0 => '', + 1 => 43, + 2 => ' } +', + ), + 43 => + array ( + 0 => '', + 1 => 44, + 2 => '} +', + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '0', + 1 => '0', + ), + 1 => + array ( + 0 => '1', + 1 => '44', + ), + ), + ), + ), + 'src/mainboard/lenovo/x60/acpi/i945_pci_irqs.asl' => + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '', + 1 => '1', + 2 => '/* +', + ), + 1 => + array ( + 0 => '', + 1 => 2, + 2 => ' * This file is part of the coreboot project. +', + ), + 2 => + array ( + 0 => '', + 1 => 3, + 2 => ' * +', + ), + 3 => + array ( + 0 => '', + 1 => 4, + 2 => ' * Copyright (C) 2011 Sven Schnelle +', + ), + 4 => + array ( + 0 => '', + 1 => 5, + 2 => ' * +', + ), + 5 => + array ( + 0 => '', + 1 => 6, + 2 => ' * This program is free software; you can redistribute it and/or +', + ), + 6 => + array ( + 0 => '', + 1 => 7, + 2 => ' * modify it under the terms of the GNU General Public License as +', + ), + 7 => + array ( + 0 => '', + 1 => 8, + 2 => ' * published by the Free Software Foundation; version 2 of +', + ), + 8 => + array ( + 0 => '', + 1 => 9, + 2 => ' * the License. +', + ), + 9 => + array ( + 0 => '', + 1 => 10, + 2 => ' * +', + ), + 10 => + array ( + 0 => '', + 1 => 11, + 2 => ' * This program is distributed in the hope that it will be useful, +', + ), + 11 => + array ( + 0 => '', + 1 => 12, + 2 => ' * but WITHOUT ANY WARRANTY; without even the implied warranty of +', + ), + 12 => + array ( + 0 => '', + 1 => 13, + 2 => ' * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +', + ), + 13 => + array ( + 0 => '', + 1 => 14, + 2 => ' * GNU General Public License for more details. +', + ), + 14 => + array ( + 0 => '', + 1 => 15, + 2 => ' * +', + ), + 15 => + array ( + 0 => '', + 1 => 16, + 2 => ' * You should have received a copy of the GNU General Public License +', + ), + 16 => + array ( + 0 => '', + 1 => 17, + 2 => ' * along with this program; if not, write to the Free Software +', + ), + 17 => + array ( + 0 => '', + 1 => 18, + 2 => ' * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +', + ), + 18 => + array ( + 0 => '', + 1 => 19, + 2 => ' * MA 02110-1301 USA +', + ), + 19 => + array ( + 0 => '', + 1 => 20, + 2 => ' */ +', + ), + 20 => + array ( + 0 => '', + 1 => 21, + 2 => ' +', + ), + 21 => + array ( + 0 => '', + 1 => 22, + 2 => '/* This is board specific information: IRQ routing for the +', + ), + 22 => + array ( + 0 => '', + 1 => 23, + 2 => ' * i945 +', + ), + 23 => + array ( + 0 => '', + 1 => 24, + 2 => ' */ +', + ), + 24 => + array ( + 0 => '', + 1 => 25, + 2 => ' +', + ), + 25 => + array ( + 0 => '', + 1 => 26, + 2 => ' +', + ), + 26 => + array ( + 0 => '', + 1 => 27, + 2 => '// PCI Interrupt Routing +', + ), + 27 => + array ( + 0 => '', + 1 => 28, + 2 => 'Method(_PRT) +', + ), + 28 => + array ( + 0 => '', + 1 => 29, + 2 => '{ +', + ), + 29 => + array ( + 0 => '', + 1 => 30, + 2 => ' If (PICM) { +', + ), + 30 => + array ( + 0 => '', + 1 => 31, + 2 => ' Return (Package() { +', + ), + 31 => + array ( + 0 => '', + 1 => 32, + 2 => ' Package() { 0x0002ffff, 0, 0, 0x10 }, // VGA +', + ), + 32 => + array ( + 0 => '', + 1 => 33, + 2 => ' Package() { 0x001bffff, 1, 0, 0x11 }, // Audio +', + ), + 33 => + array ( + 0 => '', + 1 => 34, + 2 => ' Package() { 0x001cffff, 0, 0, 0x14 }, // PCI bridge +', + ), + 34 => + array ( + 0 => '', + 1 => 35, + 2 => ' Package() { 0x001cffff, 1, 0, 0x15 }, // PCI bridge +', + ), + 35 => + array ( + 0 => '', + 1 => 36, + 2 => ' Package() { 0x001cffff, 2, 0, 0x16 }, // PCI bridge +', + ), + 36 => + array ( + 0 => '', + 1 => 37, + 2 => ' Package() { 0x001cffff, 3, 0, 0x17 }, // PCI bridge +', + ), + 37 => + array ( + 0 => '', + 1 => 38, + 2 => ' Package() { 0x001dffff, 0, 0, 0x10 }, // USB +', + ), + 38 => + array ( + 0 => '', + 1 => 39, + 2 => ' Package() { 0x001dffff, 1, 0, 0x11 }, // USB +', + ), + 39 => + array ( + 0 => '', + 1 => 40, + 2 => ' Package() { 0x001dffff, 2, 0, 0x12 }, // USB +', + ), + 40 => + array ( + 0 => '', + 1 => 41, + 2 => ' Package() { 0x001dffff, 3, 0, 0x13 }, // USB +', + ), + 41 => + array ( + 0 => '', + 1 => 42, + 2 => ' Package() { 0x001fffff, 0, 0, 0x17 }, // LPC +', + ), + 42 => + array ( + 0 => '', + 1 => 43, + 2 => ' Package() { 0x001fffff, 1, 0, 0x10 }, // IDE +', + ), + 43 => + array ( + 0 => '', + 1 => 44, + 2 => ' Package() { 0x001fffff, 2, 0, 0x10 } // SATA +', + ), + 44 => + array ( + 0 => '', + 1 => 45, + 2 => ' }) +', + ), + 45 => + array ( + 0 => '', + 1 => 46, + 2 => ' } Else { +', + ), + 46 => + array ( + 0 => '', + 1 => 47, + 2 => ' Return (Package() { +', + ), + 47 => + array ( + 0 => '', + 1 => 48, + 2 => ' Package() { 0x0002ffff, 0, \\_SB.PCI0.LPCB.LNKA, 0 }, // VGA +', + ), + 48 => + array ( + 0 => '', + 1 => 49, + 2 => ' Package() { 0x001bffff, 1, \\_SB.PCI0.LPCB.LNKB, 0 }, // Audio +', + ), + 49 => + array ( + 0 => '', + 1 => 50, + 2 => ' Package() { 0x001cffff, 0, \\_SB.PCI0.LPCB.LNKE, 0 }, // PCI +', + ), + 50 => + array ( + 0 => '', + 1 => 51, + 2 => ' Package() { 0x001cffff, 1, \\_SB.PCI0.LPCB.LNKF, 0 }, // PCI +', + ), + 51 => + array ( + 0 => '', + 1 => 52, + 2 => ' Package() { 0x001cffff, 2, \\_SB.PCI0.LPCB.LNKG, 0 }, // PCI +', + ), + 52 => + array ( + 0 => '', + 1 => 53, + 2 => ' Package() { 0x001cffff, 3, \\_SB.PCI0.LPCB.LNKH, 0 }, // PCI +', + ), + 53 => + array ( + 0 => '', + 1 => 54, + 2 => ' Package() { 0x001dffff, 0, \\_SB.PCI0.LPCB.LNKA, 0 }, // USB +', + ), + 54 => + array ( + 0 => '', + 1 => 55, + 2 => ' Package() { 0x001dffff, 1, \\_SB.PCI0.LPCB.LNKB, 0 }, // USB +', + ), + 55 => + array ( + 0 => '', + 1 => 56, + 2 => ' Package() { 0x001dffff, 2, \\_SB.PCI0.LPCB.LNKC, 0 }, // USB +', + ), + 56 => + array ( + 0 => '', + 1 => 57, + 2 => ' Package() { 0x001dffff, 3, \\_SB.PCI0.LPCB.LNKD, 0 }, // USB +', + ), + 57 => + array ( + 0 => '', + 1 => 58, + 2 => ' Package() { 0x001fffff, 0, \\_SB.PCI0.LPCB.LNKH, 0 }, // LPC +', + ), + 58 => + array ( + 0 => '', + 1 => 59, + 2 => ' Package() { 0x001fffff, 1, \\_SB.PCI0.LPCB.LNKA, 0 }, // IDE +', + ), + 59 => + array ( + 0 => '', + 1 => 60, + 2 => ' Package() { 0x001fffff, 2, \\_SB.PCI0.LPCB.LNKA, 0 } // SATA +', + ), + 60 => + array ( + 0 => '', + 1 => 61, + 2 => ' }) +', + ), + 61 => + array ( + 0 => '', + 1 => 62, + 2 => ' } +', + ), + 62 => + array ( + 0 => '', + 1 => 63, + 2 => '} +', + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '0', + 1 => '0', + ), + 1 => + array ( + 0 => '1', + 1 => '63', + ), + ), + ), + ), + 'src/mainboard/lenovo/x60/acpi/ich7_pci_irqs.asl' => + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '', + 1 => '1', + 2 => '/* +', + ), + 1 => + array ( + 0 => '', + 1 => 2, + 2 => ' * This file is part of the coreboot project. +', + ), + 2 => + array ( + 0 => '', + 1 => 3, + 2 => ' * +', + ), + 3 => + array ( + 0 => '', + 1 => 4, + 2 => ' * Copyright (C) 2007-2009 coresystems GmbH +', + ), + 4 => + array ( + 0 => '', + 1 => 5, + 2 => ' * +', + ), + 5 => + array ( + 0 => '', + 1 => 6, + 2 => ' * This program is free software; you can redistribute it and/or +', + ), + 6 => + array ( + 0 => '', + 1 => 7, + 2 => ' * modify it under the terms of the GNU General Public License as +', + ), + 7 => + array ( + 0 => '', + 1 => 8, + 2 => ' * published by the Free Software Foundation; version 2 of +', + ), + 8 => + array ( + 0 => '', + 1 => 9, + 2 => ' * the License. +', + ), + 9 => + array ( + 0 => '', + 1 => 10, + 2 => ' * +', + ), + 10 => + array ( + 0 => '', + 1 => 11, + 2 => ' * This program is distributed in the hope that it will be useful, +', + ), + 11 => + array ( + 0 => '', + 1 => 12, + 2 => ' * but WITHOUT ANY WARRANTY; without even the implied warranty of +', + ), + 12 => + array ( + 0 => '', + 1 => 13, + 2 => ' * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +', + ), + 13 => + array ( + 0 => '', + 1 => 14, + 2 => ' * GNU General Public License for more details. +', + ), + 14 => + array ( + 0 => '', + 1 => 15, + 2 => ' * +', + ), + 15 => + array ( + 0 => '', + 1 => 16, + 2 => ' * You should have received a copy of the GNU General Public License +', + ), + 16 => + array ( + 0 => '', + 1 => 17, + 2 => ' * along with this program; if not, write to the Free Software +', + ), + 17 => + array ( + 0 => '', + 1 => 18, + 2 => ' * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +', + ), + 18 => + array ( + 0 => '', + 1 => 19, + 2 => ' * MA 02110-1301 USA +', + ), + 19 => + array ( + 0 => '', + 1 => 20, + 2 => ' */ +', + ), + 20 => + array ( + 0 => '', + 1 => 21, + 2 => ' +', + ), + 21 => + array ( + 0 => '', + 1 => 22, + 2 => '/* This is board specific information: IRQ routing for the +', + ), + 22 => + array ( + 0 => '', + 1 => 23, + 2 => ' * 0:1e.0 PCI bridge of the ICH7 +', + ), + 23 => + array ( + 0 => '', + 1 => 24, + 2 => ' */ +', + ), + 24 => + array ( + 0 => '', + 1 => 25, + 2 => ' +', + ), + 25 => + array ( + 0 => '', + 1 => 26, + 2 => 'If (PICM) { +', + ), + 26 => + array ( + 0 => '', + 1 => 27, + 2 => ' Return (Package() { +', + ), + 27 => + array ( + 0 => '', + 1 => 28, + 2 => ' Package (0x04) { 0x0000FFFF, 0x00, 0x00, 0x10 }, +', + ), + 28 => + array ( + 0 => '', + 1 => 29, + 2 => ' Package (0x04) { 0x0000FFFF, 0x01, 0x00, 0x11 }, +', + ), + 29 => + array ( + 0 => '', + 1 => 30, + 2 => ' Package (0x04) { 0x0000FFFF, 0x02, 0x00, 0x12 }, +', + ), + 30 => + array ( + 0 => '', + 1 => 31, + 2 => ' Package (0x04) { 0x0001FFFF, 0x00, 0x00, 0x10 }, +', + ), + 31 => + array ( + 0 => '', + 1 => 32, + 2 => ' Package (0x04) { 0x0002FFFF, 0x00, 0x00, 0x15 }, +', + ), + 32 => + array ( + 0 => '', + 1 => 33, + 2 => ' Package (0x04) { 0x0002FFFF, 0x01, 0x00, 0x16 }, +', + ), + 33 => + array ( + 0 => '', + 1 => 34, + 2 => ' Package (0x04) { 0x0008FFFF, 0x00, 0x00, 0x14 } +', + ), + 34 => + array ( + 0 => '', + 1 => 35, + 2 => ' }) +', + ), + 35 => + array ( + 0 => '', + 1 => 36, + 2 => ' } Else { +', + ), + 36 => + array ( + 0 => '', + 1 => 37, + 2 => ' Return (Package() { +', + ), + 37 => + array ( + 0 => '', + 1 => 38, + 2 => ' Package (0x04) { 0x0000FFFF, 0x00, \\_SB.PCI0.LPCB.LNKA, 0x00 }, +', + ), + 38 => + array ( + 0 => '', + 1 => 39, + 2 => ' Package (0x04) { 0x0000FFFF, 0x01, \\_SB.PCI0.LPCB.LNKB, 0x00 }, +', + ), + 39 => + array ( + 0 => '', + 1 => 40, + 2 => ' Package (0x04) { 0x0000FFFF, 0x02, \\_SB.PCI0.LPCB.LNKC, 0x00 }, +', + ), + 40 => + array ( + 0 => '', + 1 => 41, + 2 => ' Package (0x04) { 0x0001FFFF, 0x00, \\_SB.PCI0.LPCB.LNKA, 0x00 }, +', + ), + 41 => + array ( + 0 => '', + 1 => 42, + 2 => ' Package (0x04) { 0x0002FFFF, 0x00, \\_SB.PCI0.LPCB.LNKF, 0x00 }, +', + ), + 42 => + array ( + 0 => '', + 1 => 43, + 2 => ' Package (0x04) { 0x0002FFFF, 0x01, \\_SB.PCI0.LPCB.LNKG, 0x00 }, +', + ), + 43 => + array ( + 0 => '', + 1 => 44, + 2 => ' Package (0x04) { 0x0008FFFF, 0x00, \\_SB.PCI0.LPCB.LNKE, 0x00 } +', + ), + 44 => + array ( + 0 => '', + 1 => 45, + 2 => ' }) +', + ), + 45 => + array ( + 0 => '', + 1 => 46, + 2 => '} +', + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '0', + 1 => '0', + ), + 1 => + array ( + 0 => '1', + 1 => '46', + ), + ), + ), + ), + 'src/mainboard/lenovo/x60/acpi/platform.asl' => + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '', + 1 => '1', + 2 => '/* +', + ), + 1 => + array ( + 0 => '', + 1 => 2, + 2 => ' * This file is part of the coreboot project. +', + ), + 2 => + array ( + 0 => '', + 1 => 3, + 2 => ' * +', + ), + 3 => + array ( + 0 => '', + 1 => 4, + 2 => ' * Copyright (C) 2007-2009 coresystems GmbH +', + ), + 4 => + array ( + 0 => '', + 1 => 5, + 2 => ' * +', + ), + 5 => + array ( + 0 => '', + 1 => 6, + 2 => ' * This program is free software; you can redistribute it and/or +', + ), + 6 => + array ( + 0 => '', + 1 => 7, + 2 => ' * modify it under the terms of the GNU General Public License as +', + ), + 7 => + array ( + 0 => '', + 1 => 8, + 2 => ' * published by the Free Software Foundation; version 2 of +', + ), + 8 => + array ( + 0 => '', + 1 => 9, + 2 => ' * the License. +', + ), + 9 => + array ( + 0 => '', + 1 => 10, + 2 => ' * +', + ), + 10 => + array ( + 0 => '', + 1 => 11, + 2 => ' * This program is distributed in the hope that it will be useful, +', + ), + 11 => + array ( + 0 => '', + 1 => 12, + 2 => ' * but WITHOUT ANY WARRANTY; without even the implied warranty of +', + ), + 12 => + array ( + 0 => '', + 1 => 13, + 2 => ' * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +', + ), + 13 => + array ( + 0 => '', + 1 => 14, + 2 => ' * GNU General Public License for more details. +', + ), + 14 => + array ( + 0 => '', + 1 => 15, + 2 => ' * +', + ), + 15 => + array ( + 0 => '', + 1 => 16, + 2 => ' * You should have received a copy of the GNU General Public License +', + ), + 16 => + array ( + 0 => '', + 1 => 17, + 2 => ' * along with this program; if not, write to the Free Software +', + ), + 17 => + array ( + 0 => '', + 1 => 18, + 2 => ' * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +', + ), + 18 => + array ( + 0 => '', + 1 => 19, + 2 => ' * MA 02110-1301 USA +', + ), + 19 => + array ( + 0 => '', + 1 => 20, + 2 => ' */ +', + ), + 20 => + array ( + 0 => '', + 1 => 21, + 2 => ' +', + ), + 21 => + array ( + 0 => '', + 1 => 22, + 2 => '/* These come from the dynamically created CPU SSDT */ +', + ), + 22 => + array ( + 0 => '', + 1 => 23, + 2 => 'External(PDC0) +', + ), + 23 => + array ( + 0 => '', + 1 => 24, + 2 => 'External(PDC1) +', + ), + 24 => + array ( + 0 => '', + 1 => 25, + 2 => ' +', + ), + 25 => + array ( + 0 => '', + 1 => 26, + 2 => '/* The APM port can be used for generating software SMIs */ +', + ), + 26 => + array ( + 0 => '', + 1 => 27, + 2 => ' +', + ), + 27 => + array ( + 0 => '', + 1 => 28, + 2 => 'OperationRegion (APMP, SystemIO, 0xb2, 2) +', + ), + 28 => + array ( + 0 => '', + 1 => 29, + 2 => 'Field (APMP, ByteAcc, NoLock, Preserve) +', + ), + 29 => + array ( + 0 => '', + 1 => 30, + 2 => '{ +', + ), + 30 => + array ( + 0 => '', + 1 => 31, + 2 => ' APMC, 8, // APM command +', + ), + 31 => + array ( + 0 => '', + 1 => 32, + 2 => ' APMS, 8 // APM status +', + ), + 32 => + array ( + 0 => '', + 1 => 33, + 2 => '} +', + ), + 33 => + array ( + 0 => '', + 1 => 34, + 2 => ' +', + ), + 34 => + array ( + 0 => '', + 1 => 35, + 2 => '/* Port 80 POST */ +', + ), + 35 => + array ( + 0 => '', + 1 => 36, + 2 => ' +', + ), + 36 => + array ( + 0 => '', + 1 => 37, + 2 => 'OperationRegion (POST, SystemIO, 0x80, 1) +', + ), + 37 => + array ( + 0 => '', + 1 => 38, + 2 => 'Field (POST, ByteAcc, Lock, Preserve) +', + ), + 38 => + array ( + 0 => '', + 1 => 39, + 2 => '{ +', + ), + 39 => + array ( + 0 => '', + 1 => 40, + 2 => ' DBG0, 8 +', + ), + 40 => + array ( + 0 => '', + 1 => 41, + 2 => '} +', + ), + 41 => + array ( + 0 => '', + 1 => 42, + 2 => ' +', + ), + 42 => + array ( + 0 => '', + 1 => 43, + 2 => '/* SMI I/O Trap */ +', + ), + 43 => + array ( + 0 => '', + 1 => 44, + 2 => 'Method(TRAP, 1, Serialized) +', + ), + 44 => + array ( + 0 => '', + 1 => 45, + 2 => '{ +', + ), + 45 => + array ( + 0 => '', + 1 => 46, + 2 => ' Store (Arg0, SMIF) // SMI Function +', + ), + 46 => + array ( + 0 => '', + 1 => 47, + 2 => ' Store (0, TRP0) // Generate trap +', + ), + 47 => + array ( + 0 => '', + 1 => 48, + 2 => ' Return (SMIF) // Return value of SMI handler +', + ), + 48 => + array ( + 0 => '', + 1 => 49, + 2 => '} +', + ), + 49 => + array ( + 0 => '', + 1 => 50, + 2 => ' +', + ), + 50 => + array ( + 0 => '', + 1 => 51, + 2 => '/* The _PIC method is called by the OS to choose between interrupt +', + ), + 51 => + array ( + 0 => '', + 1 => 52, + 2 => ' * routing via the i8259 interrupt controller or the APIC. +', + ), + 52 => + array ( + 0 => '', + 1 => 53, + 2 => ' * +', + ), + 53 => + array ( + 0 => '', + 1 => 54, + 2 => ' * _PIC is called with a parameter of 0 for i8259 configuration and +', + ), + 54 => + array ( + 0 => '', + 1 => 55, + 2 => ' * with a parameter of 1 for Local Apic/IOAPIC configuration. +', + ), + 55 => + array ( + 0 => '', + 1 => 56, + 2 => ' */ +', + ), + 56 => + array ( + 0 => '', + 1 => 57, + 2 => ' +', + ), + 57 => + array ( + 0 => '', + 1 => 58, + 2 => 'Method(_PIC, 1) +', + ), + 58 => + array ( + 0 => '', + 1 => 59, + 2 => '{ +', + ), + 59 => + array ( + 0 => '', + 1 => 60, + 2 => ' // Remember the OS\' IRQ routing choice. +', + ), + 60 => + array ( + 0 => '', + 1 => 61, + 2 => ' Store(Arg0, PICM) +', + ), + 61 => + array ( + 0 => '', + 1 => 62, + 2 => '} +', + ), + 62 => + array ( + 0 => '', + 1 => 63, + 2 => ' +', + ), + 63 => + array ( + 0 => '', + 1 => 64, + 2 => '/* The _PTS method (Prepare To Sleep) is called before the OS is +', + ), + 64 => + array ( + 0 => '', + 1 => 65, + 2 => ' * entering a sleep state. The sleep state number is passed in Arg0 +', + ), + 65 => + array ( + 0 => '', + 1 => 66, + 2 => ' */ +', + ), + 66 => + array ( + 0 => '', + 1 => 67, + 2 => ' +', + ), + 67 => + array ( + 0 => '', + 1 => 68, + 2 => 'Method(_PTS,1) +', + ), + 68 => + array ( + 0 => '', + 1 => 69, + 2 => '{ +', + ), + 69 => + array ( + 0 => '', + 1 => 70, + 2 => ' // Call a trap so SMI can prepare for Sleep as well. +', + ), + 70 => + array ( + 0 => '', + 1 => 71, + 2 => ' // TRAP(0x55) +', + ), + 71 => + array ( + 0 => '', + 1 => 72, + 2 => '} +', + ), + 72 => + array ( + 0 => '', + 1 => 73, + 2 => ' +', + ), + 73 => + array ( + 0 => '', + 1 => 74, + 2 => '/* The _WAK method is called on system wakeup */ +', + ), + 74 => + array ( + 0 => '', + 1 => 75, + 2 => ' +', + ), + 75 => + array ( + 0 => '', + 1 => 76, + 2 => 'Method(_WAK,1) +', + ), + 76 => + array ( + 0 => '', + 1 => 77, + 2 => '{ +', + ), + 77 => + array ( + 0 => '', + 1 => 78, + 2 => ' // CPU specific part +', + ), + 78 => + array ( + 0 => '', + 1 => 79, + 2 => ' +', + ), + 79 => + array ( + 0 => '', + 1 => 80, + 2 => ' // Notify PCI Express slots in case a card +', + ), + 80 => + array ( + 0 => '', + 1 => 81, + 2 => ' // was inserted while a sleep state was active. +', + ), + 81 => + array ( + 0 => '', + 1 => 82, + 2 => ' +', + ), + 82 => + array ( + 0 => '', + 1 => 83, + 2 => ' // Are we going to S3? +', + ), + 83 => + array ( + 0 => '', + 1 => 84, + 2 => ' If (LEqual(Arg0, 3)) { +', + ), + 84 => + array ( + 0 => '', + 1 => 85, + 2 => ' // .. +', + ), + 85 => + array ( + 0 => '', + 1 => 86, + 2 => ' } +', + ), + 86 => + array ( + 0 => '', + 1 => 87, + 2 => ' +', + ), + 87 => + array ( + 0 => '', + 1 => 88, + 2 => ' // Are we going to S4? +', + ), + 88 => + array ( + 0 => '', + 1 => 89, + 2 => ' If (LEqual(Arg0, 4)) { +', + ), + 89 => + array ( + 0 => '', + 1 => 90, + 2 => ' // .. +', + ), + 90 => + array ( + 0 => '', + 1 => 91, + 2 => ' } +', + ), + 91 => + array ( + 0 => '', + 1 => 92, + 2 => ' +', + ), + 92 => + array ( + 0 => '', + 1 => 93, + 2 => ' // TODO: Windows XP SP2 P-State restore +', + ), + 93 => + array ( + 0 => '', + 1 => 94, + 2 => ' +', + ), + 94 => + array ( + 0 => '', + 1 => 95, + 2 => ' Return(Package(){0,0}) +', + ), + 95 => + array ( + 0 => '', + 1 => 96, + 2 => '} +', + ), + 96 => + array ( + 0 => '', + 1 => 97, + 2 => ' +', + ), + 97 => + array ( + 0 => '', + 1 => 98, + 2 => '// Power notification +', + ), + 98 => + array ( + 0 => '', + 1 => 99, + 2 => ' +', + ), + 99 => + array ( + 0 => '', + 1 => 100, + 2 => 'External (\\_PR_.CPU0, DeviceObj) +', + ), + 100 => + array ( + 0 => '', + 1 => 101, + 2 => 'External (\\_PR_.CPU1, DeviceObj) +', + ), + 101 => + array ( + 0 => '', + 1 => 102, + 2 => ' +', + ), + 102 => + array ( + 0 => '', + 1 => 103, + 2 => 'Method (PNOT) +', + ), + 103 => + array ( + 0 => '', + 1 => 104, + 2 => '{ +', + ), + 104 => + array ( + 0 => '', + 1 => 105, + 2 => ' If (MPEN) { +', + ), + 105 => + array ( + 0 => '', + 1 => 106, + 2 => ' If(And(PDC0, 0x08)) { +', + ), + 106 => + array ( + 0 => '', + 1 => 107, + 2 => ' Notify (\\_PR_.CPU0, 0x80) // _PPC +', + ), + 107 => + array ( + 0 => '', + 1 => 108, + 2 => ' +', + ), + 108 => + array ( + 0 => '', + 1 => 109, + 2 => ' If (And(PDC0, 0x10)) { +', + ), + 109 => + array ( + 0 => '', + 1 => 110, + 2 => ' Sleep(100) +', + ), + 110 => + array ( + 0 => '', + 1 => 111, + 2 => ' Notify(\\_PR_.CPU0, 0x81) // _CST +', + ), + 111 => + array ( + 0 => '', + 1 => 112, + 2 => ' } +', + ), + 112 => + array ( + 0 => '', + 1 => 113, + 2 => ' } +', + ), + 113 => + array ( + 0 => '', + 1 => 114, + 2 => ' +', + ), + 114 => + array ( + 0 => '', + 1 => 115, + 2 => ' If(And(PDC1, 0x08)) { +', + ), + 115 => + array ( + 0 => '', + 1 => 116, + 2 => ' Notify (\\_PR_.CPU1, 0x80) // _PPC +', + ), + 116 => + array ( + 0 => '', + 1 => 117, + 2 => ' If (And(PDC1, 0x10)) { +', + ), + 117 => + array ( + 0 => '', + 1 => 118, + 2 => ' Sleep(100) +', + ), + 118 => + array ( + 0 => '', + 1 => 119, + 2 => ' Notify(\\_PR_.CPU1, 0x81) // _CST +', + ), + 119 => + array ( + 0 => '', + 1 => 120, + 2 => ' } +', + ), + 120 => + array ( + 0 => '', + 1 => 121, + 2 => ' } +', + ), + 121 => + array ( + 0 => '', + 1 => 122, + 2 => ' +', + ), + 122 => + array ( + 0 => '', + 1 => 123, + 2 => ' } Else { // UP +', + ), + 123 => + array ( + 0 => '', + 1 => 124, + 2 => ' Notify (\\_PR_.CPU0, 0x80) +', + ), + 124 => + array ( + 0 => '', + 1 => 125, + 2 => ' Sleep(0x64) +', + ), + 125 => + array ( + 0 => '', + 1 => 126, + 2 => ' Notify(\\_PR_.CPU0, 0x81) +', + ), + 126 => + array ( + 0 => '', + 1 => 127, + 2 => ' } +', + ), + 127 => + array ( + 0 => '', + 1 => 128, + 2 => ' +', + ), + 128 => + array ( + 0 => '', + 1 => 129, + 2 => ' // Notify the Batteries +', + ), + 129 => + array ( + 0 => '', + 1 => 130, + 2 => ' Notify(\\_SB.PCI0.LPCB.EC.BAT0, 0x80) // Execute BAT1 _BST +', + ), + 130 => + array ( + 0 => '', + 1 => 131, + 2 => ' Notify(\\_SB.PCI0.LPCB.EC.BAT1, 0x80) // Execute BAT2 _BST +', + ), + 131 => + array ( + 0 => '', + 1 => 132, + 2 => '} +', + ), + 132 => + array ( + 0 => '', + 1 => 133, + 2 => ' +', + ), + 133 => + array ( + 0 => '', + 1 => 134, + 2 => '/* System Bus */ +', + ), + 134 => + array ( + 0 => '', + 1 => 135, + 2 => ' +', + ), + 135 => + array ( + 0 => '', + 1 => 136, + 2 => 'Scope(\\_SB) +', + ), + 136 => + array ( + 0 => '', + 1 => 137, + 2 => '{ +', + ), + 137 => + array ( + 0 => '', + 1 => 138, + 2 => ' /* This method is placed on the top level, so we can make sure it\'s the +', + ), + 138 => + array ( + 0 => '', + 1 => 139, + 2 => ' * first executed _INI method. +', + ), + 139 => + array ( + 0 => '', + 1 => 140, + 2 => ' */ +', + ), + 140 => + array ( + 0 => '', + 1 => 141, + 2 => ' Method(_INI, 0) +', + ), + 141 => + array ( + 0 => '', + 1 => 142, + 2 => ' { +', + ), + 142 => + array ( + 0 => '', + 1 => 143, + 2 => ' /* The DTS data in NVS is probably not up to date. +', + ), + 143 => + array ( + 0 => '', + 1 => 144, + 2 => ' * Update temperature values and make sure AP thermal +', + ), + 144 => + array ( + 0 => '', + 1 => 145, + 2 => ' * interrupts can happen +', + ), + 145 => + array ( + 0 => '', + 1 => 146, + 2 => ' */ +', + ), + 146 => + array ( + 0 => '', + 1 => 147, + 2 => ' +', + ), + 147 => + array ( + 0 => '', + 1 => 148, + 2 => ' // TRAP(71) // TODO +', + ), + 148 => + array ( + 0 => '', + 1 => 149, + 2 => ' +', + ), + 149 => + array ( + 0 => '', + 1 => 150, + 2 => ' /* Determine the Operating System and save the value in OSYS. +', + ), + 150 => + array ( + 0 => '', + 1 => 151, + 2 => ' * We have to do this in order to be able to work around +', + ), + 151 => + array ( + 0 => '', + 1 => 152, + 2 => ' * certain windows bugs. +', + ), + 152 => + array ( + 0 => '', + 1 => 153, + 2 => ' * +', + ), + 153 => + array ( + 0 => '', + 1 => 154, + 2 => ' * OSYS value | Operating System +', + ), + 154 => + array ( + 0 => '', + 1 => 155, + 2 => ' * -----------+------------------ +', + ), + 155 => + array ( + 0 => '', + 1 => 156, + 2 => ' * 2000 | Windows 2000 +', + ), + 156 => + array ( + 0 => '', + 1 => 157, + 2 => ' * 2001 | Windows XP(+SP1) +', + ), + 157 => + array ( + 0 => '', + 1 => 158, + 2 => ' * 2002 | Windows XP SP2 +', + ), + 158 => + array ( + 0 => '', + 1 => 159, + 2 => ' * 2006 | Windows Vista +', + ), + 159 => + array ( + 0 => '', + 1 => 160, + 2 => ' * ???? | Windows 7 +', + ), + 160 => + array ( + 0 => '', + 1 => 161, + 2 => ' */ +', + ), + 161 => + array ( + 0 => '', + 1 => 162, + 2 => ' +', + ), + 162 => + array ( + 0 => '', + 1 => 163, + 2 => ' /* Let\'s assume we\'re running at least Windows 2000 */ +', + ), + 163 => + array ( + 0 => '', + 1 => 164, + 2 => ' Store (2000, OSYS) +', + ), + 164 => + array ( + 0 => '', + 1 => 165, + 2 => ' +', + ), + 165 => + array ( + 0 => '', + 1 => 166, + 2 => ' If (CondRefOf(_OSI, Local0)) { +', + ), + 166 => + array ( + 0 => '', + 1 => 167, + 2 => ' /* Linux answers _OSI with "True" for a couple of +', + ), + 167 => + array ( + 0 => '', + 1 => 168, + 2 => ' * Windows version queries. But unlike Windows it +', + ), + 168 => + array ( + 0 => '', + 1 => 169, + 2 => ' * needs a Video repost, so let\'s determine whether +', + ), + 169 => + array ( + 0 => '', + 1 => 170, + 2 => ' * we\'re running Linux. +', + ), + 170 => + array ( + 0 => '', + 1 => 171, + 2 => ' */ +', + ), + 171 => + array ( + 0 => '', + 1 => 172, + 2 => ' +', + ), + 172 => + array ( + 0 => '', + 1 => 173, + 2 => ' If (_OSI("Linux")) { +', + ), + 173 => + array ( + 0 => '', + 1 => 174, + 2 => ' Store (1, LINX) +', + ), + 174 => + array ( + 0 => '', + 1 => 175, + 2 => ' } +', + ), + 175 => + array ( + 0 => '', + 1 => 176, + 2 => ' +', + ), + 176 => + array ( + 0 => '', + 1 => 177, + 2 => ' If (_OSI("Windows 2001")) { +', + ), + 177 => + array ( + 0 => '', + 1 => 178, + 2 => ' Store (2001, OSYS) +', + ), + 178 => + array ( + 0 => '', + 1 => 179, + 2 => ' } +', + ), + 179 => + array ( + 0 => '', + 1 => 180, + 2 => ' +', + ), + 180 => + array ( + 0 => '', + 1 => 181, + 2 => ' If (_OSI("Windows 2001 SP1")) { +', + ), + 181 => + array ( + 0 => '', + 1 => 182, + 2 => ' Store (2001, OSYS) +', + ), + 182 => + array ( + 0 => '', + 1 => 183, + 2 => ' } +', + ), + 183 => + array ( + 0 => '', + 1 => 184, + 2 => ' +', + ), + 184 => + array ( + 0 => '', + 1 => 185, + 2 => ' If (_OSI("Windows 2001 SP2")) { +', + ), + 185 => + array ( + 0 => '', + 1 => 186, + 2 => ' Store (2002, OSYS) +', + ), + 186 => + array ( + 0 => '', + 1 => 187, + 2 => ' } +', + ), + 187 => + array ( + 0 => '', + 1 => 188, + 2 => ' +', + ), + 188 => + array ( + 0 => '', + 1 => 189, + 2 => ' If (_OSI("Windows 2006")) { +', + ), + 189 => + array ( + 0 => '', + 1 => 190, + 2 => ' Store (2006, OSYS) +', + ), + 190 => + array ( + 0 => '', + 1 => 191, + 2 => ' } +', + ), + 191 => + array ( + 0 => '', + 1 => 192, + 2 => ' } +', + ), + 192 => + array ( + 0 => '', + 1 => 193, + 2 => ' +', + ), + 193 => + array ( + 0 => '', + 1 => 194, + 2 => ' /* And the OS workarounds start right after we know what we\'re +', + ), + 194 => + array ( + 0 => '', + 1 => 195, + 2 => ' * running: Windows XP SP1 needs to have C-State coordination +', + ), + 195 => + array ( + 0 => '', + 1 => 196, + 2 => ' * enabled in SMM. +', + ), + 196 => + array ( + 0 => '', + 1 => 197, + 2 => ' */ +', + ), + 197 => + array ( + 0 => '', + 1 => 198, + 2 => ' If (LAnd(LEqual(OSYS, 2001), MPEN)) { +', + ), + 198 => + array ( + 0 => '', + 1 => 199, + 2 => ' // TRAP(61) // TODO +', + ), + 199 => + array ( + 0 => '', + 1 => 200, + 2 => ' } +', + ), + 200 => + array ( + 0 => '', + 1 => 201, + 2 => ' +', + ), + 201 => + array ( + 0 => '', + 1 => 202, + 2 => ' /* SMM power state and C4-on-C3 settings need to be updated */ +', + ), + 202 => + array ( + 0 => '', + 1 => 203, + 2 => ' // TRAP(43) // TODO +', + ), + 203 => + array ( + 0 => '', + 1 => 204, + 2 => ' } +', + ), + 204 => + array ( + 0 => '', + 1 => 205, + 2 => '} +', + ), + 205 => + array ( + 0 => '', + 1 => 206, + 2 => ' +', + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '0', + 1 => '0', + ), + 1 => + array ( + 0 => '1', + 1 => '206', + ), + ), + ), + ), + 'src/mainboard/lenovo/x60/acpi/sleepbutton.asl' => + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '', + 1 => '1', + 2 => '/* +', + ), + 1 => + array ( + 0 => '', + 1 => 2, + 2 => ' * This file is part of the coreboot project. +', + ), + 2 => + array ( + 0 => '', + 1 => 3, + 2 => ' * +', + ), + 3 => + array ( + 0 => '', + 1 => 4, + 2 => ' * Copyright (c) 2011 Sven Schnelle +', + ), + 4 => + array ( + 0 => '', + 1 => 5, + 2 => ' * +', + ), + 5 => + array ( + 0 => '', + 1 => 6, + 2 => ' * This program is free software; you can redistribute it and/or +', + ), + 6 => + array ( + 0 => '', + 1 => 7, + 2 => ' * modify it under the terms of the GNU General Public License as +', + ), + 7 => + array ( + 0 => '', + 1 => 8, + 2 => ' * published by the Free Software Foundation; version 2 of +', + ), + 8 => + array ( + 0 => '', + 1 => 9, + 2 => ' * the License. +', + ), + 9 => + array ( + 0 => '', + 1 => 10, + 2 => ' * +', + ), + 10 => + array ( + 0 => '', + 1 => 11, + 2 => ' * This program is distributed in the hope that it will be useful, +', + ), + 11 => + array ( + 0 => '', + 1 => 12, + 2 => ' * but WITHOUT ANY WARRANTY; without even the implied warranty of +', + ), + 12 => + array ( + 0 => '', + 1 => 13, + 2 => ' * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +', + ), + 13 => + array ( + 0 => '', + 1 => 14, + 2 => ' * GNU General Public License for more details. +', + ), + 14 => + array ( + 0 => '', + 1 => 15, + 2 => ' * +', + ), + 15 => + array ( + 0 => '', + 1 => 16, + 2 => ' * You should have received a copy of the GNU General Public License +', + ), + 16 => + array ( + 0 => '', + 1 => 17, + 2 => ' * along with this program; if not, write to the Free Software +', + ), + 17 => + array ( + 0 => '', + 1 => 18, + 2 => ' * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +', + ), + 18 => + array ( + 0 => '', + 1 => 19, + 2 => ' * MA 02110-1301 USA +', + ), + 19 => + array ( + 0 => '', + 1 => 20, + 2 => ' */ +', + ), + 20 => + array ( + 0 => '', + 1 => 21, + 2 => ' +', + ), + 21 => + array ( + 0 => '', + 1 => 22, + 2 => 'Device(SLPB) +', + ), + 22 => + array ( + 0 => '', + 1 => 23, + 2 => '{ +', + ), + 23 => + array ( + 0 => '', + 1 => 24, + 2 => ' Name (_HID, EisaId ("PNP0C0E")) +', + ), + 24 => + array ( + 0 => '', + 1 => 25, + 2 => '} +', + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '0', + 1 => '0', + ), + 1 => + array ( + 0 => '1', + 1 => '25', + ), + ), + ), + ), + 'src/mainboard/lenovo/x60/acpi/video.asl' => + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '', + 1 => '1', + 2 => '/* +', + ), + 1 => + array ( + 0 => '', + 1 => 2, + 2 => ' * This file is part of the coreboot project. +', + ), + 2 => + array ( + 0 => '', + 1 => 3, + 2 => ' * +', + ), + 3 => + array ( + 0 => '', + 1 => 4, + 2 => ' * Copyright (c) 2011 Sven Schnelle +', + ), + 4 => + array ( + 0 => '', + 1 => 5, + 2 => ' * +', + ), + 5 => + array ( + 0 => '', + 1 => 6, + 2 => ' * This program is free software; you can redistribute it and/or +', + ), + 6 => + array ( + 0 => '', + 1 => 7, + 2 => ' * modify it under the terms of the GNU General Public License as +', + ), + 7 => + array ( + 0 => '', + 1 => 8, + 2 => ' * published by the Free Software Foundation; version 2 of +', + ), + 8 => + array ( + 0 => '', + 1 => 9, + 2 => ' * the License. +', + ), + 9 => + array ( + 0 => '', + 1 => 10, + 2 => ' * +', + ), + 10 => + array ( + 0 => '', + 1 => 11, + 2 => ' * This program is distributed in the hope that it will be useful, +', + ), + 11 => + array ( + 0 => '', + 1 => 12, + 2 => ' * but WITHOUT ANY WARRANTY; without even the implied warranty of +', + ), + 12 => + array ( + 0 => '', + 1 => 13, + 2 => ' * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +', + ), + 13 => + array ( + 0 => '', + 1 => 14, + 2 => ' * GNU General Public License for more details. +', + ), + 14 => + array ( + 0 => '', + 1 => 15, + 2 => ' * +', + ), + 15 => + array ( + 0 => '', + 1 => 16, + 2 => ' * You should have received a copy of the GNU General Public License +', + ), + 16 => + array ( + 0 => '', + 1 => 17, + 2 => ' * along with this program; if not, write to the Free Software +', + ), + 17 => + array ( + 0 => '', + 1 => 18, + 2 => ' * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +', + ), + 18 => + array ( + 0 => '', + 1 => 19, + 2 => ' * MA 02110-1301 USA +', + ), + 19 => + array ( + 0 => '', + 1 => 20, + 2 => ' */ +', + ), + 20 => + array ( + 0 => '', + 1 => 21, + 2 => ' +', + ), + 21 => + array ( + 0 => '', + 1 => 22, + 2 => 'Device (DSPC) +', + ), + 22 => + array ( + 0 => '', + 1 => 23, + 2 => '{ +', + ), + 23 => + array ( + 0 => '', + 1 => 24, + 2 => ' Name (_ADR, 0x00020001) +', + ), + 24 => + array ( + 0 => '', + 1 => 25, + 2 => ' OperationRegion (DSPC, PCI_Config, 0x00, 0x100) +', + ), + 25 => + array ( + 0 => '', + 1 => 26, + 2 => ' Field (DSPC, ByteAcc, NoLock, Preserve) +', + ), + 26 => + array ( + 0 => '', + 1 => 27, + 2 => ' { +', + ), + 27 => + array ( + 0 => '', + 1 => 28, + 2 => ' Offset (0xf4), +', + ), + 28 => + array ( + 0 => '', + 1 => 29, + 2 => ' BRTC, 8 +', + ), + 29 => + array ( + 0 => '', + 1 => 30, + 2 => ' } +', + ), + 30 => + array ( + 0 => '', + 1 => 31, + 2 => ' +', + ), + 31 => + array ( + 0 => '', + 1 => 32, + 2 => ' Method(BRTD, 0, NotSerialized) +', + ), + 32 => + array ( + 0 => '', + 1 => 33, + 2 => ' { +', + ), + 33 => + array ( + 0 => '', + 1 => 34, + 2 => ' Store(BRTC, Local0) +', + ), + 34 => + array ( + 0 => '', + 1 => 35, + 2 => ' if (LGreater (Local0, 15)) +', + ), + 35 => + array ( + 0 => '', + 1 => 36, + 2 => ' { +', + ), + 36 => + array ( + 0 => '', + 1 => 37, + 2 => ' Subtract(Local0, 16, Local0) +', + ), + 37 => + array ( + 0 => '', + 1 => 38, + 2 => ' Store(Local0, BRTC) +', + ), + 38 => + array ( + 0 => '', + 1 => 39, + 2 => ' } +', + ), + 39 => + array ( + 0 => '', + 1 => 40, + 2 => ' } +', + ), + 40 => + array ( + 0 => '', + 1 => 41, + 2 => ' +', + ), + 41 => + array ( + 0 => '', + 1 => 42, + 2 => ' Method(BRTU, 0, NotSerialized) +', + ), + 42 => + array ( + 0 => '', + 1 => 43, + 2 => ' { +', + ), + 43 => + array ( + 0 => '', + 1 => 44, + 2 => ' Store (BRTC, Local0) +', + ), + 44 => + array ( + 0 => '', + 1 => 45, + 2 => ' if (LLess(Local0, 0xff)) +', + ), + 45 => + array ( + 0 => '', + 1 => 46, + 2 => ' { +', + ), + 46 => + array ( + 0 => '', + 1 => 47, + 2 => ' Add (Local0, 16, Local0) +', + ), + 47 => + array ( + 0 => '', + 1 => 48, + 2 => ' Store(Local0, BRTC) +', + ), + 48 => + array ( + 0 => '', + 1 => 49, + 2 => ' } +', + ), + 49 => + array ( + 0 => '', + 1 => 50, + 2 => ' } +', + ), + 50 => + array ( + 0 => '', + 1 => 51, + 2 => '} +', + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '0', + 1 => '0', + ), + 1 => + array ( + 0 => '1', + 1 => '51', + ), + ), + ), + ), + 'src/mainboard/lenovo/x60/acpi/ec.asl' => + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '', + 1 => '1', + 2 => '/* +', + ), + 1 => + array ( + 0 => '', + 1 => 2, + 2 => ' * This file is part of the coreboot project. +', + ), + 2 => + array ( + 0 => '', + 1 => 3, + 2 => ' * +', + ), + 3 => + array ( + 0 => '', + 1 => 4, + 2 => ' * Copyright (c) 2011 Sven Schnelle +', + ), + 4 => + array ( + 0 => '', + 1 => 5, + 2 => ' * +', + ), + 5 => + array ( + 0 => '', + 1 => 6, + 2 => ' * This program is free software; you can redistribute it and/or +', + ), + 6 => + array ( + 0 => '', + 1 => 7, + 2 => ' * modify it under the terms of the GNU General Public License as +', + ), + 7 => + array ( + 0 => '', + 1 => 8, + 2 => ' * published by the Free Software Foundation; version 2 of +', + ), + 8 => + array ( + 0 => '', + 1 => 9, + 2 => ' * the License. +', + ), + 9 => + array ( + 0 => '', + 1 => 10, + 2 => ' * +', + ), + 10 => + array ( + 0 => '', + 1 => 11, + 2 => ' * This program is distributed in the hope that it will be useful, +', + ), + 11 => + array ( + 0 => '', + 1 => 12, + 2 => ' * but WITHOUT ANY WARRANTY; without even the implied warranty of +', + ), + 12 => + array ( + 0 => '', + 1 => 13, + 2 => ' * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +', + ), + 13 => + array ( + 0 => '', + 1 => 14, + 2 => ' * GNU General Public License for more details. +', + ), + 14 => + array ( + 0 => '', + 1 => 15, + 2 => ' * +', + ), + 15 => + array ( + 0 => '', + 1 => 16, + 2 => ' * You should have received a copy of the GNU General Public License +', + ), + 16 => + array ( + 0 => '', + 1 => 17, + 2 => ' * along with this program; if not, write to the Free Software +', + ), + 17 => + array ( + 0 => '', + 1 => 18, + 2 => ' * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +', + ), + 18 => + array ( + 0 => '', + 1 => 19, + 2 => ' * MA 02110-1301 USA +', + ), + 19 => + array ( + 0 => '', + 1 => 20, + 2 => ' */ +', + ), + 20 => + array ( + 0 => '', + 1 => 21, + 2 => ' +', + ), + 21 => + array ( + 0 => '', + 1 => 22, + 2 => 'Device(EC) +', + ), + 22 => + array ( + 0 => '', + 1 => 23, + 2 => '{ +', + ), + 23 => + array ( + 0 => '', + 1 => 24, + 2 => ' Name (_HID, EISAID("PNP0C09")) +', + ), + 24 => + array ( + 0 => '', + 1 => 25, + 2 => ' Name (_UID, 0) +', + ), + 25 => + array ( + 0 => '', + 1 => 26, + 2 => ' +', + ), + 26 => + array ( + 0 => '', + 1 => 27, + 2 => ' Name (_GPE, 28) +', + ), + 27 => + array ( + 0 => '', + 1 => 28, + 2 => ' Mutex (ECLK, 0) +', + ), + 28 => + array ( + 0 => '', + 1 => 29, + 2 => ' +', + ), + 29 => + array ( + 0 => '', + 1 => 30, + 2 => ' OperationRegion(ERAM, EmbeddedControl, 0x00, 0x100) +', + ), + 30 => + array ( + 0 => '', + 1 => 31, + 2 => ' Field (ERAM, ByteAcc, NoLock, Preserve) +', + ), + 31 => + array ( + 0 => '', + 1 => 32, + 2 => ' { +', + ), + 32 => + array ( + 0 => '', + 1 => 33, + 2 => ' Offset (0x05), +', + ), + 33 => + array ( + 0 => '', + 1 => 34, + 2 => ' HSPA, 1, +', + ), + 34 => + array ( + 0 => '', + 1 => 35, + 2 => ' Offset (0x0C), +', + ), + 35 => + array ( + 0 => '', + 1 => 36, + 2 => ' LEDS, 8, /* LED state */ +', + ), + 36 => + array ( + 0 => '', + 1 => 37, + 2 => ' Offset (0x3B), +', + ), + 37 => + array ( + 0 => '', + 1 => 38, + 2 => ' , 1, +', + ), + 38 => + array ( + 0 => '', + 1 => 39, + 2 => ' KBLT, 1, /* Keyboard Light */ +', + ), + 39 => + array ( + 0 => '', + 1 => 40, + 2 => ' Offset (0x81), +', + ), + 40 => + array ( + 0 => '', + 1 => 41, + 2 => ' PAGE, 8 /* Information Page Selector */ +', + ), + 41 => + array ( + 0 => '', + 1 => 42, + 2 => ' } +', + ), + 42 => + array ( + 0 => '', + 1 => 43, + 2 => ' +', + ), + 43 => + array ( + 0 => '', + 1 => 44, + 2 => ' Method (_CRS, 0) +', + ), + 44 => + array ( + 0 => '', + 1 => 45, + 2 => ' { +', + ), + 45 => + array ( + 0 => '', + 1 => 46, + 2 => ' Name (ECMD, ResourceTemplate() +', + ), + 46 => + array ( + 0 => '', + 1 => 47, + 2 => ' { +', + ), + 47 => + array ( + 0 => '', + 1 => 48, + 2 => ' IO (Decode16, 0x62, 0x62, 1, 1) +', + ), + 48 => + array ( + 0 => '', + 1 => 49, + 2 => ' IO (Decode16, 0x66, 0x66, 1, 1) +', + ), + 49 => + array ( + 0 => '', + 1 => 50, + 2 => ' }) +', + ), + 50 => + array ( + 0 => '', + 1 => 51, + 2 => ' Return (ECMD) +', + ), + 51 => + array ( + 0 => '', + 1 => 52, + 2 => ' } +', + ), + 52 => + array ( + 0 => '', + 1 => 53, + 2 => ' +', + ), + 53 => + array ( + 0 => '', + 1 => 54, + 2 => ' Method (LED, 1, NotSerialized) +', + ), + 54 => + array ( + 0 => '', + 1 => 55, + 2 => ' { +', + ), + 55 => + array ( + 0 => '', + 1 => 56, + 2 => ' Store(Arg0, LEDS) +', + ), + 56 => + array ( + 0 => '', + 1 => 57, + 2 => ' } +', + ), + 57 => + array ( + 0 => '', + 1 => 58, + 2 => ' +', + ), + 58 => + array ( + 0 => '', + 1 => 59, + 2 => ' Method (_INI, 0, NotSerialized) +', + ), + 59 => + array ( + 0 => '', + 1 => 60, + 2 => ' { +', + ), + 60 => + array ( + 0 => '', + 1 => 61, + 2 => ' } +', + ), + 61 => + array ( + 0 => '', + 1 => 62, + 2 => ' +', + ), + 62 => + array ( + 0 => '', + 1 => 63, + 2 => ' /* Sleep Button pressed */ +', + ), + 63 => + array ( + 0 => '', + 1 => 64, + 2 => ' Method(_Q13, 0, NotSerialized) +', + ), + 64 => + array ( + 0 => '', + 1 => 65, + 2 => ' { +', + ), + 65 => + array ( + 0 => '', + 1 => 66, + 2 => ' Notify(\\_SB.PCI0.LPCB.EC.SLPB, 0x80) +', + ), + 66 => + array ( + 0 => '', + 1 => 67, + 2 => ' } +', + ), + 67 => + array ( + 0 => '', + 1 => 68, + 2 => ' +', + ), + 68 => + array ( + 0 => '', + 1 => 69, + 2 => ' /* Brightness up GPE */ +', + ), + 69 => + array ( + 0 => '', + 1 => 70, + 2 => ' Method(_Q14, 0, NotSerialized) +', + ), + 70 => + array ( + 0 => '', + 1 => 71, + 2 => ' { +', + ), + 71 => + array ( + 0 => '', + 1 => 72, + 2 => ' \\DSPC.BRTU () +', + ), + 72 => + array ( + 0 => '', + 1 => 73, + 2 => ' } +', + ), + 73 => + array ( + 0 => '', + 1 => 74, + 2 => ' +', + ), + 74 => + array ( + 0 => '', + 1 => 75, + 2 => ' /* Brightness down GPE */ +', + ), + 75 => + array ( + 0 => '', + 1 => 76, + 2 => ' Method(_Q15, 0, NotSerialized) +', + ), + 76 => + array ( + 0 => '', + 1 => 77, + 2 => ' { +', + ), + 77 => + array ( + 0 => '', + 1 => 78, + 2 => ' \\DSPC.BRTD() +', + ), + 78 => + array ( + 0 => '', + 1 => 79, + 2 => ' } +', + ), + 79 => + array ( + 0 => '', + 1 => 80, + 2 => ' +', + ), + 80 => + array ( + 0 => '', + 1 => 81, + 2 => ' /* AC status change: present */ +', + ), + 81 => + array ( + 0 => '', + 1 => 82, + 2 => ' Method(_Q26, 0, NotSerialized) +', + ), + 82 => + array ( + 0 => '', + 1 => 83, + 2 => ' { +', + ), + 83 => + array ( + 0 => '', + 1 => 84, + 2 => ' Notify (AC, 0x80) +', + ), + 84 => + array ( + 0 => '', + 1 => 85, + 2 => ' Beep(6) +', + ), + 85 => + array ( + 0 => '', + 1 => 86, + 2 => ' } +', + ), + 86 => + array ( + 0 => '', + 1 => 87, + 2 => ' +', + ), + 87 => + array ( + 0 => '', + 1 => 88, + 2 => ' /* AC status change: not present */ +', + ), + 88 => + array ( + 0 => '', + 1 => 89, + 2 => ' Method(_Q27, 0, NotSerialized) +', + ), + 89 => + array ( + 0 => '', + 1 => 90, + 2 => ' { +', + ), + 90 => + array ( + 0 => '', + 1 => 91, + 2 => ' Notify (AC, 0x80) +', + ), + 91 => + array ( + 0 => '', + 1 => 92, + 2 => ' Beep(6) +', + ), + 92 => + array ( + 0 => '', + 1 => 93, + 2 => ' } +', + ), + 93 => + array ( + 0 => '', + 1 => 94, + 2 => ' +', + ), + 94 => + array ( + 0 => '', + 1 => 95, + 2 => ' +', + ), + 95 => + array ( + 0 => '', + 1 => 96, + 2 => '#include "ac.asl" +', + ), + 96 => + array ( + 0 => '', + 1 => 97, + 2 => '#include "battery.asl" +', + ), + 97 => + array ( + 0 => '', + 1 => 98, + 2 => '#include "sleepbutton.asl" +', + ), + 98 => + array ( + 0 => '', + 1 => 99, + 2 => '#include "lid.asl" +', + ), + 99 => + array ( + 0 => '', + 1 => 100, + 2 => '#include "beep.asl" +', + ), + 100 => + array ( + 0 => '', + 1 => 101, + 2 => '} +', + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '0', + 1 => '0', + ), + 1 => + array ( + 0 => '1', + 1 => '101', + ), + ), + ), + ), + 'src/mainboard/lenovo/x60/acpi/lid.asl' => + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '', + 1 => '1', + 2 => '/* +', + ), + 1 => + array ( + 0 => '', + 1 => 2, + 2 => ' * This file is part of the coreboot project. +', + ), + 2 => + array ( + 0 => '', + 1 => 3, + 2 => ' * +', + ), + 3 => + array ( + 0 => '', + 1 => 4, + 2 => ' * Copyright (c) 2011 Sven Schnelle +', + ), + 4 => + array ( + 0 => '', + 1 => 5, + 2 => ' * +', + ), + 5 => + array ( + 0 => '', + 1 => 6, + 2 => ' * This program is free software; you can redistribute it and/or +', + ), + 6 => + array ( + 0 => '', + 1 => 7, + 2 => ' * modify it under the terms of the GNU General Public License as +', + ), + 7 => + array ( + 0 => '', + 1 => 8, + 2 => ' * published by the Free Software Foundation; version 2 of +', + ), + 8 => + array ( + 0 => '', + 1 => 9, + 2 => ' * the License. +', + ), + 9 => + array ( + 0 => '', + 1 => 10, + 2 => ' * +', + ), + 10 => + array ( + 0 => '', + 1 => 11, + 2 => ' * This program is distributed in the hope that it will be useful, +', + ), + 11 => + array ( + 0 => '', + 1 => 12, + 2 => ' * but WITHOUT ANY WARRANTY; without even the implied warranty of +', + ), + 12 => + array ( + 0 => '', + 1 => 13, + 2 => ' * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +', + ), + 13 => + array ( + 0 => '', + 1 => 14, + 2 => ' * GNU General Public License for more details. +', + ), + 14 => + array ( + 0 => '', + 1 => 15, + 2 => ' * +', + ), + 15 => + array ( + 0 => '', + 1 => 16, + 2 => ' * You should have received a copy of the GNU General Public License +', + ), + 16 => + array ( + 0 => '', + 1 => 17, + 2 => ' * along with this program; if not, write to the Free Software +', + ), + 17 => + array ( + 0 => '', + 1 => 18, + 2 => ' * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +', + ), + 18 => + array ( + 0 => '', + 1 => 19, + 2 => ' * MA 02110-1301 USA +', + ), + 19 => + array ( + 0 => '', + 1 => 20, + 2 => ' */ +', + ), + 20 => + array ( + 0 => '', + 1 => 21, + 2 => ' +', + ), + 21 => + array ( + 0 => '', + 1 => 22, + 2 => 'Field(ERAM, ByteAcc, NoLock, Preserve) +', + ), + 22 => + array ( + 0 => '', + 1 => 23, + 2 => '{ +', + ), + 23 => + array ( + 0 => '', + 1 => 24, + 2 => ' Offset (0x46), +', + ), + 24 => + array ( + 0 => '', + 1 => 25, + 2 => ' , 2, +', + ), + 25 => + array ( + 0 => '', + 1 => 26, + 2 => ' LIDS , 1 +', + ), + 26 => + array ( + 0 => '', + 1 => 27, + 2 => '} +', + ), + 27 => + array ( + 0 => '', + 1 => 28, + 2 => ' +', + ), + 28 => + array ( + 0 => '', + 1 => 29, + 2 => 'Device(LID) +', + ), + 29 => + array ( + 0 => '', + 1 => 30, + 2 => '{ +', + ), + 30 => + array ( + 0 => '', + 1 => 31, + 2 => ' Name(_HID, "PNP0C0D") +', + ), + 31 => + array ( + 0 => '', + 1 => 32, + 2 => ' +', + ), + 32 => + array ( + 0 => '', + 1 => 33, + 2 => ' Method(_LId, 0, NotSerialized) +', + ), + 33 => + array ( + 0 => '', + 1 => 34, + 2 => ' { +', + ), + 34 => + array ( + 0 => '', + 1 => 35, + 2 => ' return (LIDS) +', + ), + 35 => + array ( + 0 => '', + 1 => 36, + 2 => ' } +', + ), + 36 => + array ( + 0 => '', + 1 => 37, + 2 => '} +', + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '0', + 1 => '0', + ), + 1 => + array ( + 0 => '1', + 1 => '37', + ), + ), + ), + ), + 'src/mainboard/lenovo/x60/acpi/battery.asl' => + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '', + 1 => '1', + 2 => '/* +', + ), + 1 => + array ( + 0 => '', + 1 => 2, + 2 => ' * This file is part of the coreboot project. +', + ), + 2 => + array ( + 0 => '', + 1 => 3, + 2 => ' * +', + ), + 3 => + array ( + 0 => '', + 1 => 4, + 2 => ' * Copyright (c) 2011 Sven Schnelle +', + ), + 4 => + array ( + 0 => '', + 1 => 5, + 2 => ' * +', + ), + 5 => + array ( + 0 => '', + 1 => 6, + 2 => ' * This program is free software; you can redistribute it and/or +', + ), + 6 => + array ( + 0 => '', + 1 => 7, + 2 => ' * modify it under the terms of the GNU General Public License as +', + ), + 7 => + array ( + 0 => '', + 1 => 8, + 2 => ' * published by the Free Software Foundation; version 2 of +', + ), + 8 => + array ( + 0 => '', + 1 => 9, + 2 => ' * the License. +', + ), + 9 => + array ( + 0 => '', + 1 => 10, + 2 => ' * +', + ), + 10 => + array ( + 0 => '', + 1 => 11, + 2 => ' * This program is distributed in the hope that it will be useful, +', + ), + 11 => + array ( + 0 => '', + 1 => 12, + 2 => ' * but WITHOUT ANY WARRANTY; without even the implied warranty of +', + ), + 12 => + array ( + 0 => '', + 1 => 13, + 2 => ' * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +', + ), + 13 => + array ( + 0 => '', + 1 => 14, + 2 => ' * GNU General Public License for more details. +', + ), + 14 => + array ( + 0 => '', + 1 => 15, + 2 => ' * +', + ), + 15 => + array ( + 0 => '', + 1 => 16, + 2 => ' * You should have received a copy of the GNU General Public License +', + ), + 16 => + array ( + 0 => '', + 1 => 17, + 2 => ' * along with this program; if not, write to the Free Software +', + ), + 17 => + array ( + 0 => '', + 1 => 18, + 2 => ' * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +', + ), + 18 => + array ( + 0 => '', + 1 => 19, + 2 => ' * MA 02110-1301 USA +', + ), + 19 => + array ( + 0 => '', + 1 => 20, + 2 => ' */ +', + ), + 20 => + array ( + 0 => '', + 1 => 21, + 2 => ' +', + ), + 21 => + array ( + 0 => '', + 1 => 22, + 2 => 'Field(ERAM, ByteAcc, NoLock, Preserve) +', + ), + 22 => + array ( + 0 => '', + 1 => 23, + 2 => '{ +', + ), + 23 => + array ( + 0 => '', + 1 => 24, + 2 => ' Offset (0x38), +', + ), + 24 => + array ( + 0 => '', + 1 => 25, + 2 => ' B0ST, 4, /* Battery 0 state */ +', + ), + 25 => + array ( + 0 => '', + 1 => 26, + 2 => ' , 1, +', + ), + 26 => + array ( + 0 => '', + 1 => 27, + 2 => ' B0CH, 1, /* Battery 0 charging */ +', + ), + 27 => + array ( + 0 => '', + 1 => 28, + 2 => ' B0DI, 1, /* Battery 0 discharging */ +', + ), + 28 => + array ( + 0 => '', + 1 => 29, + 2 => ' B0PR, 1, /* Battery 0 present */ +', + ), + 29 => + array ( + 0 => '', + 1 => 30, + 2 => ' Offset (0x39), +', + ), + 30 => + array ( + 0 => '', + 1 => 31, + 2 => ' B1ST, 4, /* Battery 1 state */ +', + ), + 31 => + array ( + 0 => '', + 1 => 32, + 2 => ' , 1, +', + ), + 32 => + array ( + 0 => '', + 1 => 33, + 2 => ' B1CH, 1, /* Battery 1 charging, */ +', + ), + 33 => + array ( + 0 => '', + 1 => 34, + 2 => ' B1DI, 1, /* Battery 1 discharging,*/ +', + ), + 34 => + array ( + 0 => '', + 1 => 35, + 2 => ' B1PR, 1 /* Battery 1 present */ +', + ), + 35 => + array ( + 0 => '', + 1 => 36, + 2 => '} +', + ), + 36 => + array ( + 0 => '', + 1 => 37, + 2 => ' +', + ), + 37 => + array ( + 0 => '', + 1 => 38, + 2 => '/* EC Registers */ +', + ), + 38 => + array ( + 0 => '', + 1 => 39, + 2 => '/* PAGE == 0x00 */ +', + ), + 39 => + array ( + 0 => '', + 1 => 40, + 2 => 'Field (ERAM, ByteAcc, NoLock, Preserve) +', + ), + 40 => + array ( + 0 => '', + 1 => 41, + 2 => '{ +', + ), + 41 => + array ( + 0 => '', + 1 => 42, + 2 => ' Offset(0xa0), +', + ), + 42 => + array ( + 0 => '', + 1 => 43, + 2 => ' BARC, 16, /* Battery remaining capacity */ +', + ), + 43 => + array ( + 0 => '', + 1 => 44, + 2 => ' BAFC, 16, /* Battery full charge capacity */ +', + ), + 44 => + array ( + 0 => '', + 1 => 45, + 2 => ' Offset(0xa8), +', + ), + 45 => + array ( + 0 => '', + 1 => 46, + 2 => ' BAPR, 16, /* Battery present rate */ +', + ), + 46 => + array ( + 0 => '', + 1 => 47, + 2 => ' BAVO, 16, /* Battery Voltage */ +', + ), + 47 => + array ( + 0 => '', + 1 => 48, + 2 => '} +', + ), + 48 => + array ( + 0 => '', + 1 => 49, + 2 => ' +', + ), + 49 => + array ( + 0 => '', + 1 => 50, + 2 => '/* PAGE == 0x01 */ +', + ), + 50 => + array ( + 0 => '', + 1 => 51, + 2 => 'Field (ERAM, ByteAcc, NoLock, Preserve) +', + ), + 51 => + array ( + 0 => '', + 1 => 52, + 2 => '{ +', + ), + 52 => + array ( + 0 => '', + 1 => 53, + 2 => ' Offset(0xa0), +', + ), + 53 => + array ( + 0 => '', + 1 => 54, + 2 => ' , 15, +', + ), + 54 => + array ( + 0 => '', + 1 => 55, + 2 => ' BAMA, 1, +', + ), + 55 => + array ( + 0 => '', + 1 => 56, + 2 => '} +', + ), + 56 => + array ( + 0 => '', + 1 => 57, + 2 => ' +', + ), + 57 => + array ( + 0 => '', + 1 => 58, + 2 => '/* PAGE == 0x02 */ +', + ), + 58 => + array ( + 0 => '', + 1 => 59, + 2 => 'Field (ERAM, ByteAcc, NoLock, Preserve) +', + ), + 59 => + array ( + 0 => '', + 1 => 60, + 2 => '{ +', + ), + 60 => + array ( + 0 => '', + 1 => 61, + 2 => ' Offset(0xa0), +', + ), + 61 => + array ( + 0 => '', + 1 => 62, + 2 => ' BADC, 16, /* Design Capacity */ +', + ), + 62 => + array ( + 0 => '', + 1 => 63, + 2 => ' BADV, 16, /* Design voltage */ +', + ), + 63 => + array ( + 0 => '', + 1 => 64, + 2 => ' , 16, +', + ), + 64 => + array ( + 0 => '', + 1 => 65, + 2 => ' , 16, +', + ), + 65 => + array ( + 0 => '', + 1 => 66, + 2 => ' , 16, +', + ), + 66 => + array ( + 0 => '', + 1 => 67, + 2 => ' BASN, 16, +', + ), + 67 => + array ( + 0 => '', + 1 => 68, + 2 => '} +', + ), + 68 => + array ( + 0 => '', + 1 => 69, + 2 => ' +', + ), + 69 => + array ( + 0 => '', + 1 => 70, + 2 => '/* PAGE == 0x04: Battery type */ +', + ), + 70 => + array ( + 0 => '', + 1 => 71, + 2 => 'Field (ERAM, ByteAcc, NoLock, Preserve) +', + ), + 71 => + array ( + 0 => '', + 1 => 72, + 2 => '{ +', + ), + 72 => + array ( + 0 => '', + 1 => 73, + 2 => ' Offset(0xa0), +', + ), + 73 => + array ( + 0 => '', + 1 => 74, + 2 => ' BATY, 32 +', + ), + 74 => + array ( + 0 => '', + 1 => 75, + 2 => '} +', + ), + 75 => + array ( + 0 => '', + 1 => 76, + 2 => ' +', + ), + 76 => + array ( + 0 => '', + 1 => 77, + 2 => ' +', + ), + 77 => + array ( + 0 => '', + 1 => 78, + 2 => '/* PAGE == 0x05: Battery OEM information */ +', + ), + 78 => + array ( + 0 => '', + 1 => 79, + 2 => 'Field (ERAM, ByteAcc, NoLock, Preserve) +', + ), + 79 => + array ( + 0 => '', + 1 => 80, + 2 => '{ +', + ), + 80 => + array ( + 0 => '', + 1 => 81, + 2 => ' Offset(0xa0), +', + ), + 81 => + array ( + 0 => '', + 1 => 82, + 2 => ' BAOE, 128 +', + ), + 82 => + array ( + 0 => '', + 1 => 83, + 2 => '} +', + ), + 83 => + array ( + 0 => '', + 1 => 84, + 2 => ' +', + ), + 84 => + array ( + 0 => '', + 1 => 85, + 2 => '/* PAGE == 0x06: Battery name */ +', + ), + 85 => + array ( + 0 => '', + 1 => 86, + 2 => 'Field (ERAM, ByteAcc, NoLock, Preserve) +', + ), + 86 => + array ( + 0 => '', + 1 => 87, + 2 => '{ +', + ), + 87 => + array ( + 0 => '', + 1 => 88, + 2 => ' Offset(0xa0), +', + ), + 88 => + array ( + 0 => '', + 1 => 89, + 2 => ' BANA, 128 +', + ), + 89 => + array ( + 0 => '', + 1 => 90, + 2 => '} +', + ), + 90 => + array ( + 0 => '', + 1 => 91, + 2 => ' +', + ), + 91 => + array ( + 0 => '', + 1 => 92, + 2 => '/* Arg0: Battery +', + ), + 92 => + array ( + 0 => '', + 1 => 93, + 2 => ' * Arg1: Battery Status Package +', + ), + 93 => + array ( + 0 => '', + 1 => 94, + 2 => ' * Arg2: charging +', + ), + 94 => + array ( + 0 => '', + 1 => 95, + 2 => ' * Arg3: discharging +', + ), + 95 => + array ( + 0 => '', + 1 => 96, + 2 => ' */ +', + ), + 96 => + array ( + 0 => '', + 1 => 97, + 2 => 'Method(BSTA, 4, NotSerialized) +', + ), + 97 => + array ( + 0 => '', + 1 => 98, + 2 => '{ +', + ), + 98 => + array ( + 0 => '', + 1 => 99, + 2 => ' Acquire(ECLK, 0xffff) +', + ), + 99 => + array ( + 0 => '', + 1 => 100, + 2 => ' Store(0, Local0) +', + ), + 100 => + array ( + 0 => '', + 1 => 101, + 2 => ' Or(1, Arg0, PAGE) +', + ), + 101 => + array ( + 0 => '', + 1 => 102, + 2 => ' Store(BAMA, Local1) +', + ), + 102 => + array ( + 0 => '', + 1 => 103, + 2 => ' Store(Arg0, PAGE) /* Battery dynamic information */ +', + ), + 103 => + array ( + 0 => '', + 1 => 104, + 2 => ' +', + ), + 104 => + array ( + 0 => '', + 1 => 105, + 2 => ' Store(BAPR, Local2) +', + ), + 105 => + array ( + 0 => '', + 1 => 106, + 2 => ' +', + ), + 106 => + array ( + 0 => '', + 1 => 107, + 2 => ' if (Arg2) // charging +', + ), + 107 => + array ( + 0 => '', + 1 => 108, + 2 => ' { +', + ), + 108 => + array ( + 0 => '', + 1 => 109, + 2 => ' Or(2, Local0, Local0) +', + ), + 109 => + array ( + 0 => '', + 1 => 110, + 2 => ' +', + ), + 110 => + array ( + 0 => '', + 1 => 111, + 2 => ' If (LGreaterEqual (Local2, 0x8000)) { +', + ), + 111 => + array ( + 0 => '', + 1 => 112, + 2 => ' Store(0, Local2) +', + ), + 112 => + array ( + 0 => '', + 1 => 113, + 2 => ' } +', + ), + 113 => + array ( + 0 => '', + 1 => 114, + 2 => ' } +', + ), + 114 => + array ( + 0 => '', + 1 => 115, + 2 => ' +', + ), + 115 => + array ( + 0 => '', + 1 => 116, + 2 => ' if (Arg3) // discharging +', + ), + 116 => + array ( + 0 => '', + 1 => 117, + 2 => ' { +', + ), + 117 => + array ( + 0 => '', + 1 => 118, + 2 => ' Or(1, Local0, Local0) +', + ), + 118 => + array ( + 0 => '', + 1 => 119, + 2 => ' Subtract(0x10000, Local2, Local2) +', + ), + 119 => + array ( + 0 => '', + 1 => 120, + 2 => ' } +', + ), + 120 => + array ( + 0 => '', + 1 => 121, + 2 => ' +', + ), + 121 => + array ( + 0 => '', + 1 => 122, + 2 => ' Store(Local0, Index(Arg1, 0x00)) +', + ), + 122 => + array ( + 0 => '', + 1 => 123, + 2 => ' +', + ), + 123 => + array ( + 0 => '', + 1 => 124, + 2 => ' if (Local1) { +', + ), + 124 => + array ( + 0 => '', + 1 => 125, + 2 => ' Multiply (BARC, 10, Index(Arg1, 2)) +', + ), + 125 => + array ( + 0 => '', + 1 => 126, + 2 => ' Multiply (Local2, BAVO, Local2) +', + ), + 126 => + array ( + 0 => '', + 1 => 127, + 2 => ' Divide (Local2, 1000, Local3, Index(Arg1, 1)) +', + ), + 127 => + array ( + 0 => '', + 1 => 128, + 2 => ' } else { +', + ), + 128 => + array ( + 0 => '', + 1 => 129, + 2 => ' Store(BARC, Index(Arg1, 2)) +', + ), + 129 => + array ( + 0 => '', + 1 => 130, + 2 => ' Store(Local2, Index(Arg1, 1)) +', + ), + 130 => + array ( + 0 => '', + 1 => 131, + 2 => ' } +', + ), + 131 => + array ( + 0 => '', + 1 => 132, + 2 => ' Store(BAVO, Index(Arg1, 3)) +', + ), + 132 => + array ( + 0 => '', + 1 => 133, + 2 => ' Release(ECLK) +', + ), + 133 => + array ( + 0 => '', + 1 => 134, + 2 => ' Return (Arg1) +', + ), + 134 => + array ( + 0 => '', + 1 => 135, + 2 => '} +', + ), + 135 => + array ( + 0 => '', + 1 => 136, + 2 => ' +', + ), + 136 => + array ( + 0 => '', + 1 => 137, + 2 => 'Method(BINF, 2, NotSerialized) +', + ), + 137 => + array ( + 0 => '', + 1 => 138, + 2 => '{ +', + ), + 138 => + array ( + 0 => '', + 1 => 139, + 2 => ' Acquire(ECLK, 0xffff) +', + ), + 139 => + array ( + 0 => '', + 1 => 140, + 2 => ' Or(1, Arg1, PAGE) /* Battery 0 static information */ +', + ), + 140 => + array ( + 0 => '', + 1 => 141, + 2 => ' Xor(BAMA, 1, Index(Arg0, 0)) +', + ), + 141 => + array ( + 0 => '', + 1 => 142, + 2 => ' Store(BAMA, Local0) +', + ), + 142 => + array ( + 0 => '', + 1 => 143, + 2 => ' Store(Arg1, PAGE) +', + ), + 143 => + array ( + 0 => '', + 1 => 144, + 2 => ' Store(BAFC, Local2) +', + ), + 144 => + array ( + 0 => '', + 1 => 145, + 2 => ' Or(2, Arg1, PAGE) +', + ), + 145 => + array ( + 0 => '', + 1 => 146, + 2 => ' Store(BADC, Local1) +', + ), + 146 => + array ( + 0 => '', + 1 => 147, + 2 => ' +', + ), + 147 => + array ( + 0 => '', + 1 => 148, + 2 => ' if (Local0) +', + ), + 148 => + array ( + 0 => '', + 1 => 149, + 2 => ' { +', + ), + 149 => + array ( + 0 => '', + 1 => 150, + 2 => ' Multiply (Local1, 10, Local1) +', + ), + 150 => + array ( + 0 => '', + 1 => 151, + 2 => ' Multiply (Local2, 10, Local2) +', + ), + 151 => + array ( + 0 => '', + 1 => 152, + 2 => ' } +', + ), + 152 => + array ( + 0 => '', + 1 => 153, + 2 => ' +', + ), + 153 => + array ( + 0 => '', + 1 => 154, + 2 => ' Store(Local1, Index(Arg0, 1)) // Design Capacity +', + ), + 154 => + array ( + 0 => '', + 1 => 155, + 2 => ' Store(Local2, Index(Arg0, 2)) // Last full charge capacity +', + ), + 155 => + array ( + 0 => '', + 1 => 156, + 2 => ' Store(BADV, Index(Arg0, 4)) // Design Voltage +', + ), + 156 => + array ( + 0 => '', + 1 => 157, + 2 => ' Divide (Local2, 20, Local0, Index(Arg0, 5)) // Warning capacity +', + ), + 157 => + array ( + 0 => '', + 1 => 158, + 2 => ' +', + ), + 158 => + array ( + 0 => '', + 1 => 159, + 2 => ' Store (BASN, Local0) +', + ), + 159 => + array ( + 0 => '', + 1 => 160, + 2 => ' Name (SERN, Buffer (0x06) { " " }) +', + ), + 160 => + array ( + 0 => '', + 1 => 161, + 2 => ' Store (4, Local1) +', + ), + 161 => + array ( + 0 => '', + 1 => 162, + 2 => ' While (Local0) +', + ), + 162 => + array ( + 0 => '', + 1 => 163, + 2 => ' { +', + ), + 163 => + array ( + 0 => '', + 1 => 164, + 2 => ' Divide (Local0, 0x0A, Local2, Local0) +', + ), + 164 => + array ( + 0 => '', + 1 => 165, + 2 => ' Add (Local2, 48, Index (SERN, Local1)) +', + ), + 165 => + array ( + 0 => '', + 1 => 166, + 2 => ' Decrement (Local1) +', + ), + 166 => + array ( + 0 => '', + 1 => 167, + 2 => ' } +', + ), + 167 => + array ( + 0 => '', + 1 => 168, + 2 => ' Store (SERN, Index (Arg0, 10)) // Serial Number +', + ), + 168 => + array ( + 0 => '', + 1 => 169, + 2 => ' +', + ), + 169 => + array ( + 0 => '', + 1 => 170, + 2 => ' Or(4, Arg1, PAGE) +', + ), + 170 => + array ( + 0 => '', + 1 => 171, + 2 => ' Name (TYPE, Buffer() { 0, 0, 0, 0, 0 }) +', + ), + 171 => + array ( + 0 => '', + 1 => 172, + 2 => ' Store(BATY, TYPE) +', + ), + 172 => + array ( + 0 => '', + 1 => 173, + 2 => ' Store(TYPE, Index (Arg0, 11)) // Battery type +', + ), + 173 => + array ( + 0 => '', + 1 => 174, + 2 => ' Or(5, Arg1, PAGE) +', + ), + 174 => + array ( + 0 => '', + 1 => 175, + 2 => ' Store(BAOE, Index (Arg0, 12)) // OEM information +', + ), + 175 => + array ( + 0 => '', + 1 => 176, + 2 => ' Or(6, Arg1, PAGE) +', + ), + 176 => + array ( + 0 => '', + 1 => 177, + 2 => ' Store(BANA, Index (Arg0, 9)) // Model number +', + ), + 177 => + array ( + 0 => '', + 1 => 178, + 2 => ' Release(ECLK) +', + ), + 178 => + array ( + 0 => '', + 1 => 179, + 2 => ' Return (Arg0) +', + ), + 179 => + array ( + 0 => '', + 1 => 180, + 2 => '} +', + ), + 180 => + array ( + 0 => '', + 1 => 181, + 2 => ' +', + ), + 181 => + array ( + 0 => '', + 1 => 182, + 2 => 'Device (BAT0) +', + ), + 182 => + array ( + 0 => '', + 1 => 183, + 2 => '{ +', + ), + 183 => + array ( + 0 => '', + 1 => 184, + 2 => ' Name (_HID, EisaId ("PNP0C0A")) +', + ), + 184 => + array ( + 0 => '', + 1 => 185, + 2 => ' Name (_UID, 0x00) +', + ), + 185 => + array ( + 0 => '', + 1 => 186, + 2 => ' Name (_PCL, Package () { \\_SB }) +', + ), + 186 => + array ( + 0 => '', + 1 => 187, + 2 => ' +', + ), + 187 => + array ( + 0 => '', + 1 => 188, + 2 => ' Name (BATS, Package () +', + ), + 188 => + array ( + 0 => '', + 1 => 189, + 2 => ' { +', + ), + 189 => + array ( + 0 => '', + 1 => 190, + 2 => ' 0x00, // 0: PowerUnit: Report in mWh +', + ), + 190 => + array ( + 0 => '', + 1 => 191, + 2 => ' 0xFFFFFFFF, // 1: Design cap +', + ), + 191 => + array ( + 0 => '', + 1 => 192, + 2 => ' 0xFFFFFFFF, // 2: Last full charge cap +', + ), + 192 => + array ( + 0 => '', + 1 => 193, + 2 => ' 0x01, // 3: Battery Technology +', + ), + 193 => + array ( + 0 => '', + 1 => 194, + 2 => ' 10800, // 4: Design Voltage (mV) +', + ), + 194 => + array ( + 0 => '', + 1 => 195, + 2 => ' 0x00, // 5: Warning design capacity +', + ), + 195 => + array ( + 0 => '', + 1 => 196, + 2 => ' 200, // 6: Low design capacity +', + ), + 196 => + array ( + 0 => '', + 1 => 197, + 2 => ' 1, // 7: granularity1 +', + ), + 197 => + array ( + 0 => '', + 1 => 198, + 2 => ' 1, // 8: granularity2 +', + ), + 198 => + array ( + 0 => '', + 1 => 199, + 2 => ' "", // 9: Model number +', + ), + 199 => + array ( + 0 => '', + 1 => 200, + 2 => ' "", // A: Serial number +', + ), + 200 => + array ( + 0 => '', + 1 => 201, + 2 => ' "", // B: Battery Type +', + ), + 201 => + array ( + 0 => '', + 1 => 202, + 2 => ' "" // C: OEM information +', + ), + 202 => + array ( + 0 => '', + 1 => 203, + 2 => ' }) +', + ), + 203 => + array ( + 0 => '', + 1 => 204, + 2 => ' +', + ), + 204 => + array ( + 0 => '', + 1 => 205, + 2 => ' Method (_BIF, 0, NotSerialized) +', + ), + 205 => + array ( + 0 => '', + 1 => 206, + 2 => ' { +', + ), + 206 => + array ( + 0 => '', + 1 => 207, + 2 => ' Return (BINF(BATS, 0)) +', + ), + 207 => + array ( + 0 => '', + 1 => 208, + 2 => ' } +', + ), + 208 => + array ( + 0 => '', + 1 => 209, + 2 => ' +', + ), + 209 => + array ( + 0 => '', + 1 => 210, + 2 => ' Name (BATI, Package () +', + ), + 210 => + array ( + 0 => '', + 1 => 211, + 2 => ' { +', + ), + 211 => + array ( + 0 => '', + 1 => 212, + 2 => ' 0, // Battery State +', + ), + 212 => + array ( + 0 => '', + 1 => 213, + 2 => ' // Bit 0 - discharge +', + ), + 213 => + array ( + 0 => '', + 1 => 214, + 2 => ' // Bit 1 - charge +', + ), + 214 => + array ( + 0 => '', + 1 => 215, + 2 => ' // Bit 2 - critical state +', + ), + 215 => + array ( + 0 => '', + 1 => 216, + 2 => ' 0, // Battery present Rate +', + ), + 216 => + array ( + 0 => '', + 1 => 217, + 2 => ' 0, // Battery remaining capacity +', + ), + 217 => + array ( + 0 => '', + 1 => 218, + 2 => ' 0 // Battery present voltage +', + ), + 218 => + array ( + 0 => '', + 1 => 219, + 2 => ' }) +', + ), + 219 => + array ( + 0 => '', + 1 => 220, + 2 => ' +', + ), + 220 => + array ( + 0 => '', + 1 => 221, + 2 => ' Method (_BST, 0, NotSerialized) +', + ), + 221 => + array ( + 0 => '', + 1 => 222, + 2 => ' { +', + ), + 222 => + array ( + 0 => '', + 1 => 223, + 2 => ' if (B0PR) { +', + ), + 223 => + array ( + 0 => '', + 1 => 224, + 2 => ' Return (BSTA(0, BATI, B0CH, B0DI)) +', + ), + 224 => + array ( + 0 => '', + 1 => 225, + 2 => ' } else { +', + ), + 225 => + array ( + 0 => '', + 1 => 226, + 2 => ' Return (BATS) +', + ), + 226 => + array ( + 0 => '', + 1 => 227, + 2 => ' } +', + ), + 227 => + array ( + 0 => '', + 1 => 228, + 2 => ' } +', + ), + 228 => + array ( + 0 => '', + 1 => 229, + 2 => ' +', + ), + 229 => + array ( + 0 => '', + 1 => 230, + 2 => ' Method (_STA, 0, NotSerialized) +', + ), + 230 => + array ( + 0 => '', + 1 => 231, + 2 => ' { +', + ), + 231 => + array ( + 0 => '', + 1 => 232, + 2 => ' if (B0PR) { +', + ), + 232 => + array ( + 0 => '', + 1 => 233, + 2 => ' Return (0x1f) +', + ), + 233 => + array ( + 0 => '', + 1 => 234, + 2 => ' } else { +', + ), + 234 => + array ( + 0 => '', + 1 => 235, + 2 => ' Return (0x0f) +', + ), + 235 => + array ( + 0 => '', + 1 => 236, + 2 => ' } +', + ), + 236 => + array ( + 0 => '', + 1 => 237, + 2 => ' } +', + ), + 237 => + array ( + 0 => '', + 1 => 238, + 2 => '} +', + ), + 238 => + array ( + 0 => '', + 1 => 239, + 2 => ' +', + ), + 239 => + array ( + 0 => '', + 1 => 240, + 2 => 'Device (BAT1) +', + ), + 240 => + array ( + 0 => '', + 1 => 241, + 2 => '{ +', + ), + 241 => + array ( + 0 => '', + 1 => 242, + 2 => ' Name (_HID, EisaId ("PNP0C0A")) +', + ), + 242 => + array ( + 0 => '', + 1 => 243, + 2 => ' Name (_UID, 0x00) +', + ), + 243 => + array ( + 0 => '', + 1 => 244, + 2 => ' Name (_PCL, Package () { \\_SB }) +', + ), + 244 => + array ( + 0 => '', + 1 => 245, + 2 => ' +', + ), + 245 => + array ( + 0 => '', + 1 => 246, + 2 => ' Name (BATS, Package () +', + ), + 246 => + array ( + 0 => '', + 1 => 247, + 2 => ' { +', + ), + 247 => + array ( + 0 => '', + 1 => 248, + 2 => ' 0x00, // 0: PowerUnit: Report in mWh +', + ), + 248 => + array ( + 0 => '', + 1 => 249, + 2 => ' 0xFFFFFFFF, // 1: Design cap +', + ), + 249 => + array ( + 0 => '', + 1 => 250, + 2 => ' 0xFFFFFFFF, // 2: Last full charge cap +', + ), + 250 => + array ( + 0 => '', + 1 => 251, + 2 => ' 0x01, // 3: Battery Technology +', + ), + 251 => + array ( + 0 => '', + 1 => 252, + 2 => ' 10800, // 4: Design Voltage (mV) +', + ), + 252 => + array ( + 0 => '', + 1 => 253, + 2 => ' 0x00, // 5: Warning design capacity +', + ), + 253 => + array ( + 0 => '', + 1 => 254, + 2 => ' 200, // 6: Low design capacity +', + ), + 254 => + array ( + 0 => '', + 1 => 255, + 2 => ' 1, // 7: granularity1 +', + ), + 255 => + array ( + 0 => '', + 1 => 256, + 2 => ' 1, // 8: granularity2 +', + ), + 256 => + array ( + 0 => '', + 1 => 257, + 2 => ' "", // 9: Model number +', + ), + 257 => + array ( + 0 => '', + 1 => 258, + 2 => ' "", // A: Serial number +', + ), + 258 => + array ( + 0 => '', + 1 => 259, + 2 => ' "", // B: Battery Type +', + ), + 259 => + array ( + 0 => '', + 1 => 260, + 2 => ' "" // C: OEM information +', + ), + 260 => + array ( + 0 => '', + 1 => 261, + 2 => ' }) +', + ), + 261 => + array ( + 0 => '', + 1 => 262, + 2 => ' +', + ), + 262 => + array ( + 0 => '', + 1 => 263, + 2 => ' Method (_BIF, 0, NotSerialized) +', + ), + 263 => + array ( + 0 => '', + 1 => 264, + 2 => ' { +', + ), + 264 => + array ( + 0 => '', + 1 => 265, + 2 => ' Return (BINF(BATS, 0x10)) +', + ), + 265 => + array ( + 0 => '', + 1 => 266, + 2 => ' } +', + ), + 266 => + array ( + 0 => '', + 1 => 267, + 2 => ' +', + ), + 267 => + array ( + 0 => '', + 1 => 268, + 2 => ' Name (BATI, Package () +', + ), + 268 => + array ( + 0 => '', + 1 => 269, + 2 => ' { +', + ), + 269 => + array ( + 0 => '', + 1 => 270, + 2 => ' 0, // Battery State +', + ), + 270 => + array ( + 0 => '', + 1 => 271, + 2 => ' // Bit 0 - discharge +', + ), + 271 => + array ( + 0 => '', + 1 => 272, + 2 => ' // Bit 1 - charge +', + ), + 272 => + array ( + 0 => '', + 1 => 273, + 2 => ' // Bit 2 - critical state +', + ), + 273 => + array ( + 0 => '', + 1 => 274, + 2 => ' 0, // Battery present Rate +', + ), + 274 => + array ( + 0 => '', + 1 => 275, + 2 => ' 0, // Battery remaining capacity +', + ), + 275 => + array ( + 0 => '', + 1 => 276, + 2 => ' 0 // Battery present voltage +', + ), + 276 => + array ( + 0 => '', + 1 => 277, + 2 => ' }) +', + ), + 277 => + array ( + 0 => '', + 1 => 278, + 2 => ' +', + ), + 278 => + array ( + 0 => '', + 1 => 279, + 2 => ' Method (_BST, 0, NotSerialized) +', + ), + 279 => + array ( + 0 => '', + 1 => 280, + 2 => ' { +', + ), + 280 => + array ( + 0 => '', + 1 => 281, + 2 => ' if (B1PR) { +', + ), + 281 => + array ( + 0 => '', + 1 => 282, + 2 => ' Return (BSTA(0x10, BATI, B1CH, B1DI)) +', + ), + 282 => + array ( + 0 => '', + 1 => 283, + 2 => ' } else { +', + ), + 283 => + array ( + 0 => '', + 1 => 284, + 2 => ' Return (BATS) +', + ), + 284 => + array ( + 0 => '', + 1 => 285, + 2 => ' } +', + ), + 285 => + array ( + 0 => '', + 1 => 286, + 2 => ' } +', + ), + 286 => + array ( + 0 => '', + 1 => 287, + 2 => ' +', + ), + 287 => + array ( + 0 => '', + 1 => 288, + 2 => ' Method (_STA, 0, NotSerialized) +', + ), + 288 => + array ( + 0 => '', + 1 => 289, + 2 => ' { +', + ), + 289 => + array ( + 0 => '', + 1 => 290, + 2 => ' if (B1PR) { +', + ), + 290 => + array ( + 0 => '', + 1 => 291, + 2 => ' Return (0x1f) +', + ), + 291 => + array ( + 0 => '', + 1 => 292, + 2 => ' } else { +', + ), + 292 => + array ( + 0 => '', + 1 => 293, + 2 => ' Return (0x0f) +', + ), + 293 => + array ( + 0 => '', + 1 => 294, + 2 => ' } +', + ), + 294 => + array ( + 0 => '', + 1 => 295, + 2 => ' } +', + ), + 295 => + array ( + 0 => '', + 1 => 296, + 2 => '} +', + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '0', + 1 => '0', + ), + 1 => + array ( + 0 => '1', + 1 => '296', + ), + ), + ), + ), + 'src/mainboard/lenovo/x60/acpi/beep.asl' => + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '', + 1 => '1', + 2 => '/* +', + ), + 1 => + array ( + 0 => '', + 1 => 2, + 2 => ' * This file is part of the coreboot project. +', + ), + 2 => + array ( + 0 => '', + 1 => 3, + 2 => ' * +', + ), + 3 => + array ( + 0 => '', + 1 => 4, + 2 => ' * Copyright (c) 2011 Sven Schnelle +', + ), + 4 => + array ( + 0 => '', + 1 => 5, + 2 => ' * +', + ), + 5 => + array ( + 0 => '', + 1 => 6, + 2 => ' * This program is free software; you can redistribute it and/or +', + ), + 6 => + array ( + 0 => '', + 1 => 7, + 2 => ' * modify it under the terms of the GNU General Public License as +', + ), + 7 => + array ( + 0 => '', + 1 => 8, + 2 => ' * published by the Free Software Foundation; version 2 of +', + ), + 8 => + array ( + 0 => '', + 1 => 9, + 2 => ' * the License. +', + ), + 9 => + array ( + 0 => '', + 1 => 10, + 2 => ' * +', + ), + 10 => + array ( + 0 => '', + 1 => 11, + 2 => ' * This program is distributed in the hope that it will be useful, +', + ), + 11 => + array ( + 0 => '', + 1 => 12, + 2 => ' * but WITHOUT ANY WARRANTY; without even the implied warranty of +', + ), + 12 => + array ( + 0 => '', + 1 => 13, + 2 => ' * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +', + ), + 13 => + array ( + 0 => '', + 1 => 14, + 2 => ' * GNU General Public License for more details. +', + ), + 14 => + array ( + 0 => '', + 1 => 15, + 2 => ' * +', + ), + 15 => + array ( + 0 => '', + 1 => 16, + 2 => ' * You should have received a copy of the GNU General Public License +', + ), + 16 => + array ( + 0 => '', + 1 => 17, + 2 => ' * along with this program; if not, write to the Free Software +', + ), + 17 => + array ( + 0 => '', + 1 => 18, + 2 => ' * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +', + ), + 18 => + array ( + 0 => '', + 1 => 19, + 2 => ' * MA 02110-1301 USA +', + ), + 19 => + array ( + 0 => '', + 1 => 20, + 2 => ' */ +', + ), + 20 => + array ( + 0 => '', + 1 => 21, + 2 => ' +', + ), + 21 => + array ( + 0 => '', + 1 => 22, + 2 => 'Field(ERAM, ByteAcc, NoLock, Preserve) +', + ), + 22 => + array ( + 0 => '', + 1 => 23, + 2 => '{ +', + ), + 23 => + array ( + 0 => '', + 1 => 24, + 2 => ' Offset (0x06), +', + ), + 24 => + array ( + 0 => '', + 1 => 25, + 2 => ' SNDS, 8 /* Write to this register to generate sound */ +', + ), + 25 => + array ( + 0 => '', + 1 => 26, + 2 => ' +', + ), + 26 => + array ( + 0 => '', + 1 => 27, + 2 => '} +', + ), + 27 => + array ( + 0 => '', + 1 => 28, + 2 => ' +', + ), + 28 => + array ( + 0 => '', + 1 => 29, + 2 => 'Method(BEEP, 1, NotSerialized) +', + ), + 29 => + array ( + 0 => '', + 1 => 30, + 2 => '{ +', + ), + 30 => + array ( + 0 => '', + 1 => 31, + 2 => ' Store (Arg0, SNDS) +', + ), + 31 => + array ( + 0 => '', + 1 => 32, + 2 => '} +', + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '0', + 1 => '0', + ), + 1 => + array ( + 0 => '1', + 1 => '32', + ), + ), + ), + ), + 'src/mainboard/lenovo/x60/dsdt.asl' => + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '', + 1 => '1', + 2 => '/* +', + ), + 1 => + array ( + 0 => '', + 1 => 2, + 2 => ' * This file is part of the coreboot project. +', + ), + 2 => + array ( + 0 => '', + 1 => 3, + 2 => ' * +', + ), + 3 => + array ( + 0 => '', + 1 => 4, + 2 => ' * Copyright (C) 2007-2009 coresystems GmbH +', + ), + 4 => + array ( + 0 => '', + 1 => 5, + 2 => ' * +', + ), + 5 => + array ( + 0 => '', + 1 => 6, + 2 => ' * This program is free software; you can redistribute it and/or +', + ), + 6 => + array ( + 0 => '', + 1 => 7, + 2 => ' * modify it under the terms of the GNU General Public License as +', + ), + 7 => + array ( + 0 => '', + 1 => 8, + 2 => ' * published by the Free Software Foundation; version 2 of +', + ), + 8 => + array ( + 0 => '', + 1 => 9, + 2 => ' * the License. +', + ), + 9 => + array ( + 0 => '', + 1 => 10, + 2 => ' * +', + ), + 10 => + array ( + 0 => '', + 1 => 11, + 2 => ' * This program is distributed in the hope that it will be useful, +', + ), + 11 => + array ( + 0 => '', + 1 => 12, + 2 => ' * but WITHOUT ANY WARRANTY; without even the implied warranty of +', + ), + 12 => + array ( + 0 => '', + 1 => 13, + 2 => ' * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +', + ), + 13 => + array ( + 0 => '', + 1 => 14, + 2 => ' * GNU General Public License for more details. +', + ), + 14 => + array ( + 0 => '', + 1 => 15, + 2 => ' * +', + ), + 15 => + array ( + 0 => '', + 1 => 16, + 2 => ' * You should have received a copy of the GNU General Public License +', + ), + 16 => + array ( + 0 => '', + 1 => 17, + 2 => ' * along with this program; if not, write to the Free Software +', + ), + 17 => + array ( + 0 => '', + 1 => 18, + 2 => ' * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +', + ), + 18 => + array ( + 0 => '', + 1 => 19, + 2 => ' * MA 02110-1301 USA +', + ), + 19 => + array ( + 0 => '', + 1 => 20, + 2 => ' */ +', + ), + 20 => + array ( + 0 => '', + 1 => 21, + 2 => ' +', + ), + 21 => + array ( + 0 => '', + 1 => 22, + 2 => 'DefinitionBlock( +', + ), + 22 => + array ( + 0 => '', + 1 => 23, + 2 => ' "dsdt.aml", +', + ), + 23 => + array ( + 0 => '', + 1 => 24, + 2 => ' "DSDT", +', + ), + 24 => + array ( + 0 => '', + 1 => 25, + 2 => ' 0x03, // DSDT revision: ACPI v3.0 +', + ), + 25 => + array ( + 0 => '', + 1 => 26, + 2 => ' "COREv4", // OEM id +', + ), + 26 => + array ( + 0 => '', + 1 => 27, + 2 => ' "COREBOOT", // OEM table id +', + ), + 27 => + array ( + 0 => '', + 1 => 28, + 2 => ' 0x20090419 // OEM revision +', + ), + 28 => + array ( + 0 => '', + 1 => 29, + 2 => ') +', + ), + 29 => + array ( + 0 => '', + 1 => 30, + 2 => '{ +', + ), + 30 => + array ( + 0 => '', + 1 => 31, + 2 => ' // Some generic macros +', + ), + 31 => + array ( + 0 => '', + 1 => 32, + 2 => ' #include "acpi/platform.asl" +', + ), + 32 => + array ( + 0 => '', + 1 => 33, + 2 => ' +', + ), + 33 => + array ( + 0 => '', + 1 => 34, + 2 => ' // global NVS and variables +', + ), + 34 => + array ( + 0 => '', + 1 => 35, + 2 => ' #include "../../../southbridge/intel/i82801gx/acpi/globalnvs.asl" +', + ), + 35 => + array ( + 0 => '', + 1 => 36, + 2 => ' +', + ), + 36 => + array ( + 0 => '', + 1 => 37, + 2 => ' // General Purpose Events +', + ), + 37 => + array ( + 0 => '', + 1 => 38, + 2 => ' #include "acpi/gpe.asl" +', + ), + 38 => + array ( + 0 => '', + 1 => 39, + 2 => ' +', + ), + 39 => + array ( + 0 => '', + 1 => 40, + 2 => ' // mainboard specific devices +', + ), + 40 => + array ( + 0 => '', + 1 => 41, + 2 => ' #include "acpi/mainboard.asl" +', + ), + 41 => + array ( + 0 => '', + 1 => 42, + 2 => ' +', + ), + 42 => + array ( + 0 => '', + 1 => 43, + 2 => ' // Thermal Zone +', + ), + 43 => + array ( + 0 => '', + 1 => 44, + 2 => ' #include "acpi/thermal.asl" +', + ), + 44 => + array ( + 0 => '', + 1 => 45, + 2 => ' +', + ), + 45 => + array ( + 0 => '', + 1 => 46, + 2 => ' Scope (\\_SB) { +', + ), + 46 => + array ( + 0 => '', + 1 => 47, + 2 => ' Device (PCI0) +', + ), + 47 => + array ( + 0 => '', + 1 => 48, + 2 => ' { +', + ), + 48 => + array ( + 0 => '', + 1 => 49, + 2 => ' #include "../../../northbridge/intel/i945/acpi/i945.asl" +', + ), + 49 => + array ( + 0 => '', + 1 => 50, + 2 => ' #include "../../../southbridge/intel/i82801gx/acpi/ich7.asl" +', + ), + 50 => + array ( + 0 => '', + 1 => 51, + 2 => ' } +', + ), + 51 => + array ( + 0 => '', + 1 => 52, + 2 => ' } +', + ), + 52 => + array ( + 0 => '', + 1 => 53, + 2 => ' +', + ), + 53 => + array ( + 0 => '', + 1 => 54, + 2 => ' /* Chipset specific sleep states */ +', + ), + 54 => + array ( + 0 => '', + 1 => 55, + 2 => ' #include "../../../southbridge/intel/i82801gx/acpi/sleepstates.asl" +', + ), + 55 => + array ( + 0 => '', + 1 => 56, + 2 => '} +', + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '0', + 1 => '0', + ), + 1 => + array ( + 0 => '1', + 1 => '56', + ), + ), + ), + ), +); \ No newline at end of file diff --git a/test/data/IDF_DiffTest/test-02-svn-new-files-with-properties.diff b/test/data/IDF_DiffTest/test-02-svn-new-files-with-properties.diff index 8e6bf24..6cb2152 100644 --- a/test/data/IDF_DiffTest/test-02-svn-new-files-with-properties.diff +++ b/test/data/IDF_DiffTest/test-02-svn-new-files-with-properties.diff @@ -15,375 +15,10 @@ Index: LinuxBIOSv1/src/include/cpu/i786/cpufixup.h + + -Eigenschaftsänderungen: LinuxBIOSv1\src\include\cpu\i786\cpufixup.h +Eigenschafts�nderungen: LinuxBIOSv1\src\include\cpu\i786\cpufixup.h ___________________________________________________________________ -Hinzugefügt: svn:keywords +Hinzugef�gt: svn:keywords + Author Date Id Revision -Hinzugefügt: svn:eol-style - + native - -Index: LinuxBIOSv1/src/mainboard/tyan/guiness/cmos.layout -=================================================================== ---- LinuxBIOSv1/src/mainboard/tyan/guiness/cmos.layout (Revision 0) -+++ LinuxBIOSv1/src/mainboard/tyan/guiness/cmos.layout (Revision 665) -@@ -0,0 +1,63 @@ -+entries -+ -+#start-bit length config config-ID name -+#0 8 r 0 seconds -+#8 8 r 0 alarm_seconds -+#16 8 r 0 minutes -+#24 8 r 0 alarm_minutes -+#32 8 r 0 hours -+#40 8 r 0 alarm_hours -+#48 8 r 0 day_of_week -+#56 8 r 0 day_of_month -+#64 8 r 0 month -+#72 8 r 0 year -+#80 4 r 0 rate_select -+#84 3 r 0 REF_Clock -+#87 1 r 0 UIP -+#88 1 r 0 auto_switch_DST -+#89 1 r 0 24_hour_mode -+#90 1 r 0 binary_values_enable -+#91 1 r 0 square-wave_out_enable -+#92 1 r 0 update_finished_enable -+#93 1 r 0 alarm_interrupt_enable -+#94 1 r 0 periodic_interrupt_enable -+#95 1 r 0 disable_clock_updates -+#96 288 r 0 temporary_filler -+0 384 r 0 reserved_memory -+384 1 e 4 boot_option -+385 1 e 4 last_boot -+386 3 e 5 baud_rate -+392 4 e 6 debug_level -+396 1 e 1 power_on_after_fail -+#401 1 e 1 ECC_memory -+#402 1 e 2 hda_disk -+#403 1 e 2 hdb_disk -+#404 1 e 2 hdc_disk -+#405 1 e 2 hdd_disk -+#406 2 e 7 boot_device -+ -+enumerations -+ -+#ID value text -+1 0 Disable -+1 1 Enable -+#2 0 No -+#2 1 Yes -+4 0 Fallback -+4 1 Normal -+5 0 115200 -+5 1 57600 -+5 2 38400 -+5 3 19200 -+5 4 9600 -+5 5 4800 -+5 6 2400 -+5 7 1200 -+6 6 Notice -+6 7 Info -+6 8 Debug -+6 9 Spew -+#7 0 Network -+#7 1 HDD -+#7 2 Floppy -+#7 3 ROM - -Eigenschaftsänderungen: LinuxBIOSv1\src\mainboard\tyan\guiness\cmos.layout -___________________________________________________________________ -Hinzugefügt: svn:keywords - + Author Date Id Revision -Hinzugefügt: svn:eol-style - + native - -Index: LinuxBIOSv1/src/config/linuxbios_c.ld -=================================================================== ---- LinuxBIOSv1/src/config/linuxbios_c.ld (Revision 0) -+++ LinuxBIOSv1/src/config/linuxbios_c.ld (Revision 665) -@@ -0,0 +1,105 @@ -+/* -+ * Memory map: -+ * -+ * _RAMBASE -+ * : data segment -+ * : bss segment -+ * : heap -+ * : stack -+ */ -+/* -+ * Bootstrap code for the STPC Consumer -+ * Copyright (c) 1999 by Net Insight AB. All Rights Reserved. -+ * -+ * $Id$ -+ * -+ */ -+ -+/* -+ * Written by Johan Rydberg, based on work by Daniel Kahlin. -+ * Rewritten by Eric Biederman -+ */ -+/* -+ * We use ELF as output format. So that we can -+ * debug the code in some form. -+ */ -+INCLUDE ldoptions -+ -+ENTRY(_start) -+ -+SECTIONS -+{ -+ . = _RAMBASE; -+ /* -+ * First we place the code and read only data (typically const declared). -+ * This get placed in rom. -+ */ -+ .text : { -+ _text = .; -+ *(.text); -+ *(.text.*); -+ . = ALIGN(16); -+ _etext = .; -+ } -+ .rodata : { -+ _rodata = .; -+ . = ALIGN(4); -+ streams = . ; -+ *(.rodata.streams) -+ estreams = .; -+ . = ALIGN(4); -+ pci_drivers = . ; -+ *(.rodata.pci_drivers) -+ epci_drivers = . ; -+ *(.rodata) -+ *(.rodata.*) -+ _erodata = .; -+ } -+ /* -+ * After the code we place initialized data (typically initialized -+ * global variables). This gets copied into ram by startup code. -+ * __data_start and __data_end shows where in ram this should be placed, -+ * whereas __data_loadstart and __data_loadend shows where in rom to -+ * copy from. -+ */ -+ .data : { -+ _data = .; -+ *(.data) -+ _edata = .; -+ } -+ /* -+ * bss does not contain data, it is just a space that should be zero -+ * initialized on startup. (typically uninitialized global variables) -+ * crt0.S fills between _bss and _ebss with zeroes. -+ */ -+ _bss = .; -+ .bss . : { -+ *(.bss) -+ *(.sbss) -+ *(COMMON) -+ } -+ _ebss = .; -+ _end = .; -+ _stack = .; -+ .stack . : { -+ /* Reserve a stack for each possible cpu, +1 extra */ -+ . = ((MAX_CPUS * STACK_SIZE) + STACK_SIZE) ; -+ } -+ _estack = .; -+ _heap = .; -+ .heap . : { -+ /* Reserve 256K for the heap */ -+ . = HEAP_SIZE ; -+ . = ALIGN(4); -+ } -+ _eheap = .; -+ /* The ram segment -+ * This is all address of the memory resident copy of linuxBIOS. -+ */ -+ _ram_seg = _text; -+ _eram_seg = _eheap; -+ /DISCARD/ : { -+ *(.comment) -+ *(.note) -+ } -+} - -Eigenschaftsänderungen: LinuxBIOSv1\src\config\linuxbios_c.ld -___________________________________________________________________ -Hinzugefügt: svn:keywords - + Author Date Id Revision -Hinzugefügt: svn:eol-style - + native - -Index: LinuxBIOSv1/src/arch/i386/include/arch/rom_segs.h -=================================================================== ---- LinuxBIOSv1/src/arch/i386/include/arch/rom_segs.h (Revision 0) -+++ LinuxBIOSv1/src/arch/i386/include/arch/rom_segs.h (Revision 665) -@@ -0,0 +1,10 @@ -+#ifndef ROM_SEGS_H -+#define ROM_SEGS_H -+ -+#define ROM_CODE_SEG 0x08 -+#define ROM_DATA_SEG 0x10 -+ -+#define CACHE_RAM_CODE_SEG 0x18 -+#define CACHE_RAM_DATA_SEG 0x20 -+ -+#endif /* ROM_SEGS_H */ - -Eigenschaftsänderungen: LinuxBIOSv1\src\arch\i386\include\arch\rom_segs.h -___________________________________________________________________ -Hinzugefügt: svn:keywords - + Author Date Id Revision -Hinzugefügt: svn:eol-style - + native - -Index: LinuxBIOSv1/src/arch/i386/lib/c_start.S -=================================================================== ---- LinuxBIOSv1/src/arch/i386/lib/c_start.S (Revision 0) -+++ LinuxBIOSv1/src/arch/i386/lib/c_start.S (Revision 665) -@@ -0,0 +1,135 @@ -+#include -+#include -+#ifdef SMP -+#include -+#endif -+ .section ".text" -+ .code32 -+ .globl _start -+_start: -+ cli -+ lgdt %cs:gdtaddr -+ ljmp $0x10, $1f -+1: movl $0x18, %ax -+ movl %eax, %ds -+ movl %eax, %es -+ movl %eax, %ss -+ movl %eax, %fs -+ movl %eax, %gs -+ -+ intel_chip_post_macro(0x13) /* post 12 */ -+ -+ /** clear stack */ -+ leal EXT(_stack), %edi -+ movl $EXT(_estack), %ecx -+ subl %edi, %ecx -+ xorl %eax, %eax -+ rep -+ stosb -+ -+ /** clear bss */ -+ leal EXT(_bss), %edi -+ movl $EXT(_ebss), %ecx -+ subl %edi, %ecx -+ jz .Lnobss -+ xorl %eax, %eax -+ rep -+ stosb -+.Lnobss: -+ -+ /* set new stack */ -+ movl $_estack, %esp -+#ifdef SMP -+ /* Get the cpu id */ -+ movl $APIC_DEFAULT_BASE, %edi -+ movl APIC_ID(%edi), %eax -+ shrl $24, %eax -+ -+ /* Get the cpu index (MAX_CPUS on error) */ -+ movl $-4, %ebx -+1: addl $4, %ebx -+ cmpl $(MAX_CPUS << 2), %ebx -+ je 2 -+ cmpl %eax, EXT(initial_apicid)(%ebx) -+ jne 1b -+2: shrl $2, %ebx -+ -+ /* Now compute the appropriate stack */ -+ movl %ebx, %eax -+ movl $STACK_SIZE, %ebx -+ mull %ebx -+ subl %eax, %esp -+ -+ /* push the boot_complete flag */ -+ pushl %ebp -+ -+ /* Save the stack location */ -+ movl %esp, %ebp -+ -+ /* -+ * Now we are finished. Memory is up, data is copied and -+ * bss is cleared. Now we call the main routine and -+ * let it do the rest. -+ */ -+ intel_chip_post_macro(0xfe) /* post fe */ -+ -+ /* Resort the stack location */ -+ movl %ebp, %esp -+ -+ /* The boot_complete flag has already been pushed */ -+ call EXT(hardwaremain) -+ /*NOTREACHED*/ -+.Lhlt: -+ intel_chip_post_macro(0xee) /* post fe */ -+ hlt -+ jmp .Lhlt -+#endif -+ -+ -+ .globl gdt, gdt_end, gdt_limit -+ -+gdt_limit = gdt_end - gdt - 1 /* compute the table limit */ -+gdtaddr: -+ .word gdt_limit -+ .long gdt /* we know the offset */ -+ -+gdt: -+// selgdt 0 -+ .word 0x0000, 0x0000 /* dummy */ -+ .byte 0x00, 0x00, 0x00, 0x00 -+ -+// selgdt 8 -+ .word 0x0000, 0x0000 /* dummy */ -+ .byte 0x00, 0x00, 0x00, 0x00 -+ -+// selgdt 0x10 -+/* flat code segment */ -+ .word 0xffff, 0x0000 -+ .byte 0x00, 0x9b, 0xcf, 0x00 -+ -+//selgdt 0x18 -+/* flat data segment */ -+ .word 0xffff, 0x0000 -+ .byte 0x00, 0x93, 0xcf, 0x00 -+ -+//selgdt 0x20 -+ .word 0x0000, 0x0000 /* dummy */ -+ .byte 0x00, 0x00, 0x00, 0x00 -+ -+#if defined(CONFIG_VGABIOS) && (CONFIG_VGABIOS == 1) -+ // from monty: -+ /* 0x00009a00,0000ffffULL, 20h: 16-bit 64k code at 0x00000000 */ -+ /* 0x00009200,0000ffffULL 28h: 16-bit 64k data at 0x00000000 */ -+// selgdt 0x28 -+/*16-bit 64k code at 0x00000000 */ -+ .word 0xffff, 0x0000 -+ .byte 0, 0x9a, 0, 0 -+ -+// selgdt 0x30 -+/*16-bit 64k data at 0x00000000 */ -+ .word 0xffff, 0x0000 -+ .byte 0, 0x92, 0, 0 -+#endif // defined(CONFIG_VGABIOS) && (CONFIG_VGABIOS == 1) -+gdt_end: -+ -+.code32 - -Eigenschaftsänderungen: LinuxBIOSv1\src\arch\i386\lib\c_start.S -___________________________________________________________________ -Hinzugefügt: svn:keywords - + Author Date Id Revision -Hinzugefügt: svn:eol-style +Hinzugef�gt: svn:eol-style + native diff --git a/test/data/IDF_DiffTest/test-02-svn-new-files-with-properties.expected b/test/data/IDF_DiffTest/test-02-svn-new-files-with-properties.expected index c61fdf6..964b6e5 100644 --- a/test/data/IDF_DiffTest/test-02-svn-new-files-with-properties.expected +++ b/test/data/IDF_DiffTest/test-02-svn-new-files-with-properties.expected @@ -1 +1,105 @@ -a:5:{s:43:"LinuxBIOSv1/src/include/cpu/i786/cpufixup.h";a:2:{s:6:"chunks";a:1:{i:0;a:11:{i:0;a:3:{i:0;s:0:"";i:1;s:1:"1";i:2;s:27:"#ifndef CPU_I786_CPUFIXUP_H";}i:1;a:3:{i:0;s:0:"";i:1;i:2;i:2;s:27:"#define CPU_I786_CPUFIXUP_H";}i:2;a:3:{i:0;s:0:"";i:1;i:3;i:2;b:0;}i:3;a:3:{i:0;s:0:"";i:1;i:4;i:2;b:0;}i:4;a:3:{i:0;s:0:"";i:1;i:5;i:2;s:42:"void i786_cpufixup(struct mem_range *mem);";}i:5;a:3:{i:0;s:0:"";i:1;i:6;i:2;b:0;}i:6;a:3:{i:0;s:0:"";i:1;i:7;i:2;s:29:"#define L3_CACHE_DISABLE 0x40";}i:7;a:3:{i:0;s:0:"";i:1;i:8;i:2;b:0;}i:8;a:3:{i:0;s:0:"";i:1;i:9;i:2;s:32:"#endif /* CPU_I786_CPUFIXUP_H */";}i:9;a:3:{i:0;s:0:"";i:1;i:10;i:2;b:0;}i:10;a:3:{i:0;s:0:"";i:1;i:11;i:2;b:0;}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"0";i:1;s:1:"0";}i:1;a:2:{i:0;s:1:"1";i:1;s:2:"11";}}}}s:50:"LinuxBIOSv1/src/mainboard/tyan/guiness/cmos.layout";a:2:{s:6:"chunks";a:1:{i:0;a:63:{i:0;a:3:{i:0;s:0:"";i:1;s:1:"1";i:2;s:7:"entries";}i:1;a:3:{i:0;s:0:"";i:1;i:2;i:2;b:0;}i:2;a:3:{i:0;s:0:"";i:1;i:3;i:2;s:43:"#start-bit length config config-ID name";}i:3;a:3:{i:0;s:0:"";i:1;i:4;i:2;s:46:"#0 8 r 0 seconds";}i:4;a:3:{i:0;s:0:"";i:1;i:5;i:2;s:52:"#8 8 r 0 alarm_seconds";}i:5;a:3:{i:0;s:0:"";i:1;i:6;i:2;s:46:"#16 8 r 0 minutes";}i:6;a:3:{i:0;s:0:"";i:1;i:7;i:2;s:52:"#24 8 r 0 alarm_minutes";}i:7;a:3:{i:0;s:0:"";i:1;i:8;i:2;s:44:"#32 8 r 0 hours";}i:8;a:3:{i:0;s:0:"";i:1;i:9;i:2;s:50:"#40 8 r 0 alarm_hours";}i:9;a:3:{i:0;s:0:"";i:1;i:10;i:2;s:50:"#48 8 r 0 day_of_week";}i:10;a:3:{i:0;s:0:"";i:1;i:11;i:2;s:51:"#56 8 r 0 day_of_month";}i:11;a:3:{i:0;s:0:"";i:1;i:12;i:2;s:44:"#64 8 r 0 month";}i:12;a:3:{i:0;s:0:"";i:1;i:13;i:2;s:43:"#72 8 r 0 year";}i:13;a:3:{i:0;s:0:"";i:1;i:14;i:2;s:50:"#80 4 r 0 rate_select";}i:14;a:3:{i:0;s:0:"";i:1;i:15;i:2;s:48:"#84 3 r 0 REF_Clock";}i:15;a:3:{i:0;s:0:"";i:1;i:16;i:2;s:42:"#87 1 r 0 UIP";}i:16;a:3:{i:0;s:0:"";i:1;i:17;i:2;s:54:"#88 1 r 0 auto_switch_DST";}i:17;a:3:{i:0;s:0:"";i:1;i:18;i:2;s:51:"#89 1 r 0 24_hour_mode";}i:18;a:3:{i:0;s:0:"";i:1;i:19;i:2;s:59:"#90 1 r 0 binary_values_enable";}i:19;a:3:{i:0;s:0:"";i:1;i:20;i:2;s:61:"#91 1 r 0 square-wave_out_enable";}i:20;a:3:{i:0;s:0:"";i:1;i:21;i:2;s:61:"#92 1 r 0 update_finished_enable";}i:21;a:3:{i:0;s:0:"";i:1;i:22;i:2;s:61:"#93 1 r 0 alarm_interrupt_enable";}i:22;a:3:{i:0;s:0:"";i:1;i:23;i:2;s:64:"#94 1 r 0 periodic_interrupt_enable";}i:23;a:3:{i:0;s:0:"";i:1;i:24;i:2;s:60:"#95 1 r 0 disable_clock_updates";}i:24;a:3:{i:0;s:0:"";i:1;i:25;i:2;s:55:"#96 288 r 0 temporary_filler";}i:25;a:3:{i:0;s:0:"";i:1;i:26;i:2;s:53:"0 384 r 0 reserved_memory";}i:26;a:3:{i:0;s:0:"";i:1;i:27;i:2;s:49:"384 1 e 4 boot_option";}i:27;a:3:{i:0;s:0:"";i:1;i:28;i:2;s:47:"385 1 e 4 last_boot";}i:28;a:3:{i:0;s:0:"";i:1;i:29;i:2;s:47:"386 3 e 5 baud_rate";}i:29;a:3:{i:0;s:0:"";i:1;i:30;i:2;s:49:"392 4 e 6 debug_level";}i:30;a:3:{i:0;s:0:"";i:1;i:31;i:2;s:57:"396 1 e 1 power_on_after_fail";}i:31;a:3:{i:0;s:0:"";i:1;i:32;i:2;s:49:"#401 1 e 1 ECC_memory";}i:32;a:3:{i:0;s:0:"";i:1;i:33;i:2;s:47:"#402 1 e 2 hda_disk";}i:33;a:3:{i:0;s:0:"";i:1;i:34;i:2;s:47:"#403 1 e 2 hdb_disk";}i:34;a:3:{i:0;s:0:"";i:1;i:35;i:2;s:47:"#404 1 e 2 hdc_disk";}i:35;a:3:{i:0;s:0:"";i:1;i:36;i:2;s:47:"#405 1 e 2 hdd_disk";}i:36;a:3:{i:0;s:0:"";i:1;i:37;i:2;s:50:"#406 2 e 7 boot_device";}i:37;a:3:{i:0;s:0:"";i:1;i:38;i:2;b:0;}i:38;a:3:{i:0;s:0:"";i:1;i:39;i:2;s:12:"enumerations";}i:39;a:3:{i:0;s:0:"";i:1;i:40;i:2;b:0;}i:40;a:3:{i:0;s:0:"";i:1;i:41;i:2;s:16:"#ID value text";}i:41;a:3:{i:0;s:0:"";i:1;i:42;i:2;s:19:"1 0 Disable";}i:42;a:3:{i:0;s:0:"";i:1;i:43;i:2;s:18:"1 1 Enable";}i:43;a:3:{i:0;s:0:"";i:1;i:44;i:2;s:15:"#2 0 No";}i:44;a:3:{i:0;s:0:"";i:1;i:45;i:2;s:16:"#2 1 Yes";}i:45;a:3:{i:0;s:0:"";i:1;i:46;i:2;s:20:"4 0 Fallback";}i:46;a:3:{i:0;s:0:"";i:1;i:47;i:2;s:18:"4 1 Normal";}i:47;a:3:{i:0;s:0:"";i:1;i:48;i:2;s:18:"5 0 115200";}i:48;a:3:{i:0;s:0:"";i:1;i:49;i:2;s:17:"5 1 57600";}i:49;a:3:{i:0;s:0:"";i:1;i:50;i:2;s:17:"5 2 38400";}i:50;a:3:{i:0;s:0:"";i:1;i:51;i:2;s:17:"5 3 19200";}i:51;a:3:{i:0;s:0:"";i:1;i:52;i:2;s:16:"5 4 9600";}i:52;a:3:{i:0;s:0:"";i:1;i:53;i:2;s:16:"5 5 4800";}i:53;a:3:{i:0;s:0:"";i:1;i:54;i:2;s:16:"5 6 2400";}i:54;a:3:{i:0;s:0:"";i:1;i:55;i:2;s:16:"5 7 1200";}i:55;a:3:{i:0;s:0:"";i:1;i:56;i:2;s:18:"6 6 Notice";}i:56;a:3:{i:0;s:0:"";i:1;i:57;i:2;s:16:"6 7 Info";}i:57;a:3:{i:0;s:0:"";i:1;i:58;i:2;s:17:"6 8 Debug";}i:58;a:3:{i:0;s:0:"";i:1;i:59;i:2;s:16:"6 9 Spew";}i:59;a:3:{i:0;s:0:"";i:1;i:60;i:2;s:20:"#7 0 Network";}i:60;a:3:{i:0;s:0:"";i:1;i:61;i:2;s:16:"#7 1 HDD";}i:61;a:3:{i:0;s:0:"";i:1;i:62;i:2;s:19:"#7 2 Floppy";}i:62;a:3:{i:0;s:0:"";i:1;i:63;i:2;s:16:"#7 3 ROM";}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"0";i:1;s:1:"0";}i:1;a:2:{i:0;s:1:"1";i:1;s:2:"63";}}}}s:37:"LinuxBIOSv1/src/config/linuxbios_c.ld";a:2:{s:6:"chunks";a:1:{i:0;a:105:{i:0;a:3:{i:0;s:0:"";i:1;s:1:"1";i:2;s:2:"/*";}i:1;a:3:{i:0;s:0:"";i:1;i:2;i:2;s:14:" * Memory map:";}i:2;a:3:{i:0;s:0:"";i:1;i:3;i:2;s:2:" *";}i:3;a:3:{i:0;s:0:"";i:1;i:4;i:2;s:13:" * _RAMBASE ";}i:4;a:3:{i:0;s:0:"";i:1;i:5;i:2;s:20:" * : data segment";}i:5;a:3:{i:0;s:0:"";i:1;i:6;i:2;s:19:" * : bss segment";}i:6;a:3:{i:0;s:0:"";i:1;i:7;i:2;s:12:" * : heap";}i:7;a:3:{i:0;s:0:"";i:1;i:8;i:2;s:13:" * : stack";}i:8;a:3:{i:0;s:0:"";i:1;i:9;i:2;s:3:" */";}i:9;a:3:{i:0;s:0:"";i:1;i:10;i:2;s:2:"/*";}i:10;a:3:{i:0;s:0:"";i:1;i:11;i:2;s:39:" * Bootstrap code for the STPC Consumer";}i:11;a:3:{i:0;s:0:"";i:1;i:12;i:2;s:61:" * Copyright (c) 1999 by Net Insight AB. All Rights Reserved.";}i:12;a:3:{i:0;s:0:"";i:1;i:13;i:2;s:2:" *";}i:13;a:3:{i:0;s:0:"";i:1;i:14;i:2;s:7:" * $Id$";}i:14;a:3:{i:0;s:0:"";i:1;i:15;i:2;s:2:" *";}i:15;a:3:{i:0;s:0:"";i:1;i:16;i:2;s:3:" */";}i:16;a:3:{i:0;s:0:"";i:1;i:17;i:2;b:0;}i:17;a:3:{i:0;s:0:"";i:1;i:18;i:2;s:2:"/*";}i:18;a:3:{i:0;s:0:"";i:1;i:19;i:2;s:60:" * Written by Johan Rydberg, based on work by Daniel Kahlin.";}i:19;a:3:{i:0;s:0:"";i:1;i:20;i:2;s:35:" * Rewritten by Eric Biederman";}i:20;a:3:{i:0;s:0:"";i:1;i:21;i:2;s:3:" */";}i:21;a:3:{i:0;s:0:"";i:1;i:22;i:2;s:2:"/*";}i:22;a:3:{i:0;s:0:"";i:1;i:23;i:2;s:46:" * We use ELF as output format. So that we can";}i:23;a:3:{i:0;s:0:"";i:1;i:24;i:2;s:32:" * debug the code in some form. ";}i:24;a:3:{i:0;s:0:"";i:1;i:25;i:2;s:3:" */";}i:25;a:3:{i:0;s:0:"";i:1;i:26;i:2;s:17:"INCLUDE ldoptions";}i:26;a:3:{i:0;s:0:"";i:1;i:27;i:2;b:0;}i:27;a:3:{i:0;s:0:"";i:1;i:28;i:2;s:13:"ENTRY(_start)";}i:28;a:3:{i:0;s:0:"";i:1;i:29;i:2;b:0;}i:29;a:3:{i:0;s:0:"";i:1;i:30;i:2;s:8:"SECTIONS";}i:30;a:3:{i:0;s:0:"";i:1;i:31;i:2;s:1:"{";}i:31;a:3:{i:0;s:0:"";i:1;i:32;i:2;s:14:" . = _RAMBASE;";}i:32;a:3:{i:0;s:0:"";i:1;i:33;i:2;s:3:" /*";}i:33;a:3:{i:0;s:0:"";i:1;i:34;i:2;s:74:" * First we place the code and read only data (typically const declared).";}i:34;a:3:{i:0;s:0:"";i:1;i:35;i:2;s:27:" * This get placed in rom.";}i:35;a:3:{i:0;s:0:"";i:1;i:36;i:2;s:4:" */";}i:36;a:3:{i:0;s:0:"";i:1;i:37;i:2;s:10:" .text : {";}i:37;a:3:{i:0;s:0:"";i:1;i:38;i:2;s:12:" _text = .;";}i:38;a:3:{i:0;s:0:"";i:1;i:39;i:2;s:11:" *(.text);";}i:39;a:3:{i:0;s:0:"";i:1;i:40;i:2;s:13:" *(.text.*);";}i:40;a:3:{i:0;s:0:"";i:1;i:41;i:2;s:16:" . = ALIGN(16);";}i:41;a:3:{i:0;s:0:"";i:1;i:42;i:2;s:13:" _etext = .;";}i:42;a:3:{i:0;s:0:"";i:1;i:43;i:2;s:2:" }";}i:43;a:3:{i:0;s:0:"";i:1;i:44;i:2;s:12:" .rodata : {";}i:44;a:3:{i:0;s:0:"";i:1;i:45;i:2;s:14:" _rodata = .;";}i:45;a:3:{i:0;s:0:"";i:1;i:46;i:2;s:15:" . = ALIGN(4);";}i:46;a:3:{i:0;s:0:"";i:1;i:47;i:2;s:15:" streams = . ;";}i:47;a:3:{i:0;s:0:"";i:1;i:48;i:2;s:20:" *(.rodata.streams)";}i:48;a:3:{i:0;s:0:"";i:1;i:49;i:2;s:15:" estreams = .;";}i:49;a:3:{i:0;s:0:"";i:1;i:50;i:2;s:15:" . = ALIGN(4);";}i:50;a:3:{i:0;s:0:"";i:1;i:51;i:2;s:19:" pci_drivers = . ;";}i:51;a:3:{i:0;s:0:"";i:1;i:52;i:2;s:24:" *(.rodata.pci_drivers)";}i:52;a:3:{i:0;s:0:"";i:1;i:53;i:2;s:20:" epci_drivers = . ;";}i:53;a:3:{i:0;s:0:"";i:1;i:54;i:2;s:12:" *(.rodata)";}i:54;a:3:{i:0;s:0:"";i:1;i:55;i:2;s:14:" *(.rodata.*)";}i:55;a:3:{i:0;s:0:"";i:1;i:56;i:2;s:15:" _erodata = .;";}i:56;a:3:{i:0;s:0:"";i:1;i:57;i:2;s:3:" } ";}i:57;a:3:{i:0;s:0:"";i:1;i:58;i:2;s:3:" /*";}i:58;a:3:{i:0;s:0:"";i:1;i:59;i:2;s:67:" * After the code we place initialized data (typically initialized";}i:59;a:3:{i:0;s:0:"";i:1;i:60;i:2;s:65:" * global variables). This gets copied into ram by startup code.";}i:60;a:3:{i:0;s:0:"";i:1;i:61;i:2;s:73:" * __data_start and __data_end shows where in ram this should be placed,";}i:61;a:3:{i:0;s:0:"";i:1;i:62;i:2;s:69:" * whereas __data_loadstart and __data_loadend shows where in rom to";}i:62;a:3:{i:0;s:0:"";i:1;i:63;i:2;s:14:" * copy from.";}i:63;a:3:{i:0;s:0:"";i:1;i:64;i:2;s:4:" */";}i:64;a:3:{i:0;s:0:"";i:1;i:65;i:2;s:10:" .data : {";}i:65;a:3:{i:0;s:0:"";i:1;i:66;i:2;s:12:" _data = .;";}i:66;a:3:{i:0;s:0:"";i:1;i:67;i:2;s:10:" *(.data)";}i:67;a:3:{i:0;s:0:"";i:1;i:68;i:2;s:13:" _edata = .;";}i:68;a:3:{i:0;s:0:"";i:1;i:69;i:2;s:2:" }";}i:69;a:3:{i:0;s:0:"";i:1;i:70;i:2;s:3:" /*";}i:70;a:3:{i:0;s:0:"";i:1;i:71;i:2;s:69:" * bss does not contain data, it is just a space that should be zero";}i:71;a:3:{i:0;s:0:"";i:1;i:72;i:2;s:70:" * initialized on startup. (typically uninitialized global variables)";}i:72;a:3:{i:0;s:0:"";i:1;i:73;i:2;s:52:" * crt0.S fills between _bss and _ebss with zeroes.";}i:73;a:3:{i:0;s:0:"";i:1;i:74;i:2;s:4:" */";}i:74;a:3:{i:0;s:0:"";i:1;i:75;i:2;s:10:" _bss = .;";}i:75;a:3:{i:0;s:0:"";i:1;i:76;i:2;s:11:" .bss . : {";}i:76;a:3:{i:0;s:0:"";i:1;i:77;i:2;s:9:" *(.bss)";}i:77;a:3:{i:0;s:0:"";i:1;i:78;i:2;s:10:" *(.sbss)";}i:78;a:3:{i:0;s:0:"";i:1;i:79;i:2;s:11:" *(COMMON)";}i:79;a:3:{i:0;s:0:"";i:1;i:80;i:2;s:2:" }";}i:80;a:3:{i:0;s:0:"";i:1;i:81;i:2;s:11:" _ebss = .;";}i:81;a:3:{i:0;s:0:"";i:1;i:82;i:2;s:10:" _end = .;";}i:82;a:3:{i:0;s:0:"";i:1;i:83;i:2;s:12:" _stack = .;";}i:83;a:3:{i:0;s:0:"";i:1;i:84;i:2;s:13:" .stack . : {";}i:84;a:3:{i:0;s:0:"";i:1;i:85;i:2;s:55:" /* Reserve a stack for each possible cpu, +1 extra */";}i:85;a:3:{i:0;s:0:"";i:1;i:86;i:2;s:47:" . = ((MAX_CPUS * STACK_SIZE) + STACK_SIZE) ; ";}i:86;a:3:{i:0;s:0:"";i:1;i:87;i:2;s:2:" }";}i:87;a:3:{i:0;s:0:"";i:1;i:88;i:2;s:13:" _estack = .;";}i:88;a:3:{i:0;s:0:"";i:1;i:89;i:2;s:11:" _heap = .;";}i:89;a:3:{i:0;s:0:"";i:1;i:90;i:2;s:12:" .heap . : {";}i:90;a:3:{i:0;s:0:"";i:1;i:91;i:2;s:33:" /* Reserve 256K for the heap */";}i:91;a:3:{i:0;s:0:"";i:1;i:92;i:2;s:17:" . = HEAP_SIZE ;";}i:92;a:3:{i:0;s:0:"";i:1;i:93;i:2;s:15:" . = ALIGN(4);";}i:93;a:3:{i:0;s:0:"";i:1;i:94;i:2;s:2:" }";}i:94;a:3:{i:0;s:0:"";i:1;i:95;i:2;s:12:" _eheap = .;";}i:95;a:3:{i:0;s:0:"";i:1;i:96;i:2;s:19:" /* The ram segment";}i:96;a:3:{i:0;s:0:"";i:1;i:97;i:2;s:66:" * This is all address of the memory resident copy of linuxBIOS.";}i:97;a:3:{i:0;s:0:"";i:1;i:98;i:2;s:4:" */";}i:98;a:3:{i:0;s:0:"";i:1;i:99;i:2;s:18:" _ram_seg = _text;";}i:99;a:3:{i:0;s:0:"";i:1;i:100;i:2;s:20:" _eram_seg = _eheap;";}i:100;a:3:{i:0;s:0:"";i:1;i:101;i:2;s:14:" /DISCARD/ : {";}i:101;a:3:{i:0;s:0:"";i:1;i:102;i:2;s:13:" *(.comment)";}i:102;a:3:{i:0;s:0:"";i:1;i:103;i:2;s:10:" *(.note)";}i:103;a:3:{i:0;s:0:"";i:1;i:104;i:2;s:2:" }";}i:104;a:3:{i:0;s:0:"";i:1;i:105;i:2;s:1:"}";}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"0";i:1;s:1:"0";}i:1;a:2:{i:0;s:1:"1";i:1;s:3:"105";}}}}s:49:"LinuxBIOSv1/src/arch/i386/include/arch/rom_segs.h";a:2:{s:6:"chunks";a:1:{i:0;a:10:{i:0;a:3:{i:0;s:0:"";i:1;s:1:"1";i:2;s:18:"#ifndef ROM_SEGS_H";}i:1;a:3:{i:0;s:0:"";i:1;i:2;i:2;s:18:"#define ROM_SEGS_H";}i:2;a:3:{i:0;s:0:"";i:1;i:3;i:2;b:0;}i:3;a:3:{i:0;s:0:"";i:1;i:4;i:2;s:25:"#define ROM_CODE_SEG 0x08";}i:4;a:3:{i:0;s:0:"";i:1;i:5;i:2;s:25:"#define ROM_DATA_SEG 0x10";}i:5;a:3:{i:0;s:0:"";i:1;i:6;i:2;b:0;}i:6;a:3:{i:0;s:0:"";i:1;i:7;i:2;s:31:"#define CACHE_RAM_CODE_SEG 0x18";}i:7;a:3:{i:0;s:0:"";i:1;i:8;i:2;s:31:"#define CACHE_RAM_DATA_SEG 0x20";}i:8;a:3:{i:0;s:0:"";i:1;i:9;i:2;b:0;}i:9;a:3:{i:0;s:0:"";i:1;i:10;i:2;s:23:"#endif /* ROM_SEGS_H */";}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"0";i:1;s:1:"0";}i:1;a:2:{i:0;s:1:"1";i:1;s:2:"10";}}}}s:39:"LinuxBIOSv1/src/arch/i386/lib/c_start.S";a:2:{s:6:"chunks";a:1:{i:0;a:135:{i:0;a:3:{i:0;s:0:"";i:1;s:1:"1";i:2;s:21:"#include ";}i:1;a:3:{i:0;s:0:"";i:1;i:2;i:2;s:23:"#include ";}i:2;a:3:{i:0;s:0:"";i:1;i:3;i:2;s:10:"#ifdef SMP";}i:3;a:3:{i:0;s:0:"";i:1;i:4;i:2;s:24:"#include ";}i:4;a:3:{i:0;s:0:"";i:1;i:5;i:2;s:6:"#endif";}i:5;a:3:{i:0;s:0:"";i:1;i:6;i:2;s:17:" .section ".text"";}i:6;a:3:{i:0;s:0:"";i:1;i:7;i:2;s:8:" .code32";}i:7;a:3:{i:0;s:0:"";i:1;i:8;i:2;s:14:" .globl _start";}i:8;a:3:{i:0;s:0:"";i:1;i:9;i:2;s:7:"_start:";}i:9;a:3:{i:0;s:0:"";i:1;i:10;i:2;s:4:" cli";}i:10;a:3:{i:0;s:0:"";i:1;i:11;i:2;s:17:" lgdt %cs:gdtaddr";}i:11;a:3:{i:0;s:0:"";i:1;i:12;i:2;s:16:" ljmp $0x10, $1f";}i:12;a:3:{i:0;s:0:"";i:1;i:13;i:2;s:18:"1: movl $0x18, %ax";}i:13;a:3:{i:0;s:0:"";i:1;i:14;i:2;s:15:" movl %eax, %ds";}i:14;a:3:{i:0;s:0:"";i:1;i:15;i:2;s:15:" movl %eax, %es";}i:15;a:3:{i:0;s:0:"";i:1;i:16;i:2;s:15:" movl %eax, %ss";}i:16;a:3:{i:0;s:0:"";i:1;i:17;i:2;s:15:" movl %eax, %fs";}i:17;a:3:{i:0;s:0:"";i:1;i:18;i:2;s:15:" movl %eax, %gs";}i:18;a:3:{i:0;s:0:"";i:1;i:19;i:2;b:0;}i:19;a:3:{i:0;s:0:"";i:1;i:20;i:2;s:43:" intel_chip_post_macro(0x13) /* post 12 */";}i:20;a:3:{i:0;s:0:"";i:1;i:21;i:2;b:0;}i:21;a:3:{i:0;s:0:"";i:1;i:22;i:2;s:19:" /** clear stack */";}i:22;a:3:{i:0;s:0:"";i:1;i:23;i:2;s:23:" leal EXT(_stack), %edi";}i:23;a:3:{i:0;s:0:"";i:1;i:24;i:2;s:25:" movl $EXT(_estack), %ecx";}i:24;a:3:{i:0;s:0:"";i:1;i:25;i:2;s:16:" subl %edi, %ecx";}i:25;a:3:{i:0;s:0:"";i:1;i:26;i:2;s:16:" xorl %eax, %eax";}i:26;a:3:{i:0;s:0:"";i:1;i:27;i:2;s:4:" rep";}i:27;a:3:{i:0;s:0:"";i:1;i:28;i:2;s:6:" stosb";}i:28;a:3:{i:0;s:0:"";i:1;i:29;i:2;b:0;}i:29;a:3:{i:0;s:0:"";i:1;i:30;i:2;s:17:" /** clear bss */";}i:30;a:3:{i:0;s:0:"";i:1;i:31;i:2;s:21:" leal EXT(_bss), %edi";}i:31;a:3:{i:0;s:0:"";i:1;i:32;i:2;s:23:" movl $EXT(_ebss), %ecx";}i:32;a:3:{i:0;s:0:"";i:1;i:33;i:2;s:16:" subl %edi, %ecx";}i:33;a:3:{i:0;s:0:"";i:1;i:34;i:2;s:11:" jz .Lnobss";}i:34;a:3:{i:0;s:0:"";i:1;i:35;i:2;s:16:" xorl %eax, %eax";}i:35;a:3:{i:0;s:0:"";i:1;i:36;i:2;s:4:" rep";}i:36;a:3:{i:0;s:0:"";i:1;i:37;i:2;s:6:" stosb";}i:37;a:3:{i:0;s:0:"";i:1;i:38;i:2;s:8:".Lnobss:";}i:38;a:3:{i:0;s:0:"";i:1;i:39;i:2;b:0;}i:39;a:3:{i:0;s:0:"";i:1;i:40;i:2;s:20:" /* set new stack */";}i:40;a:3:{i:0;s:0:"";i:1;i:41;i:2;s:20:" movl $_estack, %esp";}i:41;a:3:{i:0;s:0:"";i:1;i:42;i:2;s:10:"#ifdef SMP";}i:42;a:3:{i:0;s:0:"";i:1;i:43;i:2;s:21:" /* Get the cpu id */";}i:43;a:3:{i:0;s:0:"";i:1;i:44;i:2;s:30:" movl $APIC_DEFAULT_BASE, %edi";}i:44;a:3:{i:0;s:0:"";i:1;i:45;i:2;s:25:" movl APIC_ID(%edi), %eax";}i:45;a:3:{i:0;s:0:"";i:1;i:46;i:2;s:15:" shrl $24, %eax";}i:46;a:3:{i:0;s:0:"";i:1;i:47;i:2;b:0;}i:47;a:3:{i:0;s:0:"";i:1;i:48;i:2;s:44:" /* Get the cpu index (MAX_CPUS on error) */";}i:48;a:3:{i:0;s:0:"";i:1;i:49;i:2;s:15:" movl $-4, %ebx";}i:49;a:3:{i:0;s:0:"";i:1;i:50;i:2;s:16:"1: addl $4, %ebx";}i:50;a:3:{i:0;s:0:"";i:1;i:51;i:2;s:28:" cmpl $(MAX_CPUS << 2), %ebx";}i:51;a:3:{i:0;s:0:"";i:1;i:52;i:2;s:5:" je 2";}i:52;a:3:{i:0;s:0:"";i:1;i:53;i:2;s:37:" cmpl %eax, EXT(initial_apicid)(%ebx)";}i:53;a:3:{i:0;s:0:"";i:1;i:54;i:2;s:7:" jne 1b";}i:54;a:3:{i:0;s:0:"";i:1;i:55;i:2;s:16:"2: shrl $2, %ebx";}i:55;a:3:{i:0;s:0:"";i:1;i:56;i:2;b:0;}i:56;a:3:{i:0;s:0:"";i:1;i:57;i:2;s:40:" /* Now compute the appropriate stack */";}i:57;a:3:{i:0;s:0:"";i:1;i:58;i:2;s:16:" movl %ebx, %eax";}i:58;a:3:{i:0;s:0:"";i:1;i:59;i:2;s:23:" movl $STACK_SIZE, %ebx";}i:59;a:3:{i:0;s:0:"";i:1;i:60;i:2;s:10:" mull %ebx";}i:60;a:3:{i:0;s:0:"";i:1;i:61;i:2;s:16:" subl %eax, %esp";}i:61;a:3:{i:0;s:0:"";i:1;i:62;i:2;b:0;}i:62;a:3:{i:0;s:0:"";i:1;i:63;i:2;s:34:" /* push the boot_complete flag */";}i:63;a:3:{i:0;s:0:"";i:1;i:64;i:2;s:11:" pushl %ebp";}i:64;a:3:{i:0;s:0:"";i:1;i:65;i:2;b:0;}i:65;a:3:{i:0;s:0:"";i:1;i:66;i:2;s:30:" /* Save the stack location */";}i:66;a:3:{i:0;s:0:"";i:1;i:67;i:2;s:16:" movl %esp, %ebp";}i:67;a:3:{i:0;s:0:"";i:1;i:68;i:2;b:0;}i:68;a:3:{i:0;s:0:"";i:1;i:69;i:2;s:3:" /*";}i:69;a:3:{i:0;s:0:"";i:1;i:70;i:2;s:57:" * Now we are finished. Memory is up, data is copied and";}i:70;a:3:{i:0;s:0:"";i:1;i:71;i:2;s:54:" * bss is cleared. Now we call the main routine and";}i:71;a:3:{i:0;s:0:"";i:1;i:72;i:2;s:23:" * let it do the rest.";}i:72;a:3:{i:0;s:0:"";i:1;i:73;i:2;s:5:" */ ";}i:73;a:3:{i:0;s:0:"";i:1;i:74;i:2;s:42:" intel_chip_post_macro(0xfe) /* post fe */";}i:74;a:3:{i:0;s:0:"";i:1;i:75;i:2;b:0;}i:75;a:3:{i:0;s:0:"";i:1;i:76;i:2;s:32:" /* Resort the stack location */";}i:76;a:3:{i:0;s:0:"";i:1;i:77;i:2;s:16:" movl %ebp, %esp";}i:77;a:3:{i:0;s:0:"";i:1;i:78;i:2;s:1:" ";}i:78;a:3:{i:0;s:0:"";i:1;i:79;i:2;s:53:" /* The boot_complete flag has already been pushed */";}i:79;a:3:{i:0;s:0:"";i:1;i:80;i:2;s:23:" call EXT(hardwaremain)";}i:80;a:3:{i:0;s:0:"";i:1;i:81;i:2;s:15:" /*NOTREACHED*/";}i:81;a:3:{i:0;s:0:"";i:1;i:82;i:2;s:6:".Lhlt:";}i:82;a:3:{i:0;s:0:"";i:1;i:83;i:2;s:42:" intel_chip_post_macro(0xee) /* post fe */";}i:83;a:3:{i:0;s:0:"";i:1;i:84;i:2;s:4:" hlt";}i:84;a:3:{i:0;s:0:"";i:1;i:85;i:2;s:10:" jmp .Lhlt";}i:85;a:3:{i:0;s:0:"";i:1;i:86;i:2;s:6:"#endif";}i:86;a:3:{i:0;s:0:"";i:1;i:87;i:2;b:0;}i:87;a:3:{i:0;s:0:"";i:1;i:88;i:2;b:0;}i:88;a:3:{i:0;s:0:"";i:1;i:89;i:2;s:31:" .globl gdt, gdt_end, gdt_limit";}i:89;a:3:{i:0;s:0:"";i:1;i:90;i:2;b:0;}i:90;a:3:{i:0;s:0:"";i:1;i:91;i:2;s:59:"gdt_limit = gdt_end - gdt - 1 /* compute the table limit */";}i:91;a:3:{i:0;s:0:"";i:1;i:92;i:2;s:8:"gdtaddr:";}i:92;a:3:{i:0;s:0:"";i:1;i:93;i:2;s:16:" .word gdt_limit";}i:93;a:3:{i:0;s:0:"";i:1;i:94;i:2;s:50:" .long gdt /* we know the offset */";}i:94;a:3:{i:0;s:0:"";i:1;i:95;i:2;b:0;}i:95;a:3:{i:0;s:0:"";i:1;i:96;i:2;s:4:"gdt:";}i:96;a:3:{i:0;s:0:"";i:1;i:97;i:2;s:11:"// selgdt 0";}i:97;a:3:{i:0;s:0:"";i:1;i:98;i:2;s:34:" .word 0x0000, 0x0000 /* dummy */";}i:98;a:3:{i:0;s:0:"";i:1;i:99;i:2;s:29:" .byte 0x00, 0x00, 0x00, 0x00";}i:99;a:3:{i:0;s:0:"";i:1;i:100;i:2;b:0;}i:100;a:3:{i:0;s:0:"";i:1;i:101;i:2;s:11:"// selgdt 8";}i:101;a:3:{i:0;s:0:"";i:1;i:102;i:2;s:34:" .word 0x0000, 0x0000 /* dummy */";}i:102;a:3:{i:0;s:0:"";i:1;i:103;i:2;s:29:" .byte 0x00, 0x00, 0x00, 0x00";}i:103;a:3:{i:0;s:0:"";i:1;i:104;i:2;b:0;}i:104;a:3:{i:0;s:0:"";i:1;i:105;i:2;s:15:"// selgdt 0x10 ";}i:105;a:3:{i:0;s:0:"";i:1;i:106;i:2;s:23:"/* flat code segment */";}i:106;a:3:{i:0;s:0:"";i:1;i:107;i:2;s:23:" .word 0xffff, 0x0000 ";}i:107;a:3:{i:0;s:0:"";i:1;i:108;i:2;s:30:" .byte 0x00, 0x9b, 0xcf, 0x00 ";}i:108;a:3:{i:0;s:0:"";i:1;i:109;i:2;s:1:" ";}i:109;a:3:{i:0;s:0:"";i:1;i:110;i:2;s:13:"//selgdt 0x18";}i:110;a:3:{i:0;s:0:"";i:1;i:111;i:2;s:23:"/* flat data segment */";}i:111;a:3:{i:0;s:0:"";i:1;i:112;i:2;s:23:" .word 0xffff, 0x0000 ";}i:112;a:3:{i:0;s:0:"";i:1;i:113;i:2;s:30:" .byte 0x00, 0x93, 0xcf, 0x00 ";}i:113;a:3:{i:0;s:0:"";i:1;i:114;i:2;b:0;}i:114;a:3:{i:0;s:0:"";i:1;i:115;i:2;s:13:"//selgdt 0x20";}i:115;a:3:{i:0;s:0:"";i:1;i:116;i:2;s:34:" .word 0x0000, 0x0000 /* dummy */";}i:116;a:3:{i:0;s:0:"";i:1;i:117;i:2;s:29:" .byte 0x00, 0x00, 0x00, 0x00";}i:117;a:3:{i:0;s:0:"";i:1;i:118;i:2;b:0;}i:118;a:3:{i:0;s:0:"";i:1;i:119;i:2;s:52:"#if defined(CONFIG_VGABIOS) && (CONFIG_VGABIOS == 1)";}i:119;a:3:{i:0;s:0:"";i:1;i:120;i:2;s:15:" // from monty:";}i:120;a:3:{i:0;s:0:"";i:1;i:121;i:2;s:67:" /* 0x00009a00,0000ffffULL, 20h: 16-bit 64k code at 0x00000000 */";}i:121;a:3:{i:0;s:0:"";i:1;i:122;i:2;s:74:" /* 0x00009200,0000ffffULL 28h: 16-bit 64k data at 0x00000000 */";}i:122;a:3:{i:0;s:0:"";i:1;i:123;i:2;s:14:"// selgdt 0x28";}i:123;a:3:{i:0;s:0:"";i:1;i:124;i:2;s:34:"/*16-bit 64k code at 0x00000000 */";}i:124;a:3:{i:0;s:0:"";i:1;i:125;i:2;s:21:" .word 0xffff, 0x0000";}i:125;a:3:{i:0;s:0:"";i:1;i:126;i:2;s:20:" .byte 0, 0x9a, 0, 0";}i:126;a:3:{i:0;s:0:"";i:1;i:127;i:2;b:0;}i:127;a:3:{i:0;s:0:"";i:1;i:128;i:2;s:14:"// selgdt 0x30";}i:128;a:3:{i:0;s:0:"";i:1;i:129;i:2;s:34:"/*16-bit 64k data at 0x00000000 */";}i:129;a:3:{i:0;s:0:"";i:1;i:130;i:2;s:21:" .word 0xffff, 0x0000";}i:130;a:3:{i:0;s:0:"";i:1;i:131;i:2;s:20:" .byte 0, 0x92, 0, 0";}i:131;a:3:{i:0;s:0:"";i:1;i:132;i:2;s:58:"#endif // defined(CONFIG_VGABIOS) && (CONFIG_VGABIOS == 1)";}i:132;a:3:{i:0;s:0:"";i:1;i:133;i:2;s:8:"gdt_end:";}i:133;a:3:{i:0;s:0:"";i:1;i:134;i:2;b:0;}i:134;a:3:{i:0;s:0:"";i:1;i:135;i:2;s:7:".code32";}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"0";i:1;s:1:"0";}i:1;a:2:{i:0;s:1:"1";i:1;s:3:"135";}}}}} \ No newline at end of file + + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '', + 1 => '1', + 2 => '#ifndef CPU_I786_CPUFIXUP_H +', + ), + 1 => + array ( + 0 => '', + 1 => 2, + 2 => '#define CPU_I786_CPUFIXUP_H +', + ), + 2 => + array ( + 0 => '', + 1 => 3, + 2 => ' +', + ), + 3 => + array ( + 0 => '', + 1 => 4, + 2 => ' +', + ), + 4 => + array ( + 0 => '', + 1 => 5, + 2 => 'void i786_cpufixup(struct mem_range *mem); +', + ), + 5 => + array ( + 0 => '', + 1 => 6, + 2 => ' +', + ), + 6 => + array ( + 0 => '', + 1 => 7, + 2 => '#define L3_CACHE_DISABLE 0x40 +', + ), + 7 => + array ( + 0 => '', + 1 => 8, + 2 => ' +', + ), + 8 => + array ( + 0 => '', + 1 => 9, + 2 => '#endif /* CPU_I786_CPUFIXUP_H */ +', + ), + 9 => + array ( + 0 => '', + 1 => 10, + 2 => ' +', + ), + 10 => + array ( + 0 => '', + 1 => 11, + 2 => ' + +', + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '0', + 1 => '0', + ), + 1 => + array ( + 0 => '1', + 1 => '11', + ), + ), + ), + ), +); \ No newline at end of file diff --git a/test/data/IDF_DiffTest/test-03-mtn-new-file-single-line.expected b/test/data/IDF_DiffTest/test-03-mtn-new-file-single-line.expected index ac04a8d..67d6ea7 100644 --- a/test/data/IDF_DiffTest/test-03-mtn-new-file-single-line.expected +++ b/test/data/IDF_DiffTest/test-03-mtn-new-file-single-line.expected @@ -1 +1,33 @@ -a:1:{s:1:"a";a:2:{s:6:"chunks";a:1:{i:0;a:1:{i:0;a:3:{i:0;s:0:"";i:1;s:1:"1";i:2;s:3:"abc";}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"0";i:1;s:1:"0";}i:1;a:2:{i:0;s:1:"1";i:1;i:1;}}}}} \ No newline at end of file + + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '', + 1 => '1', + 2 => "abc\r\n", + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '0', + 1 => '0', + ), + 1 => + array ( + 0 => '1', + 1 => 1, + ), + ), + ), + ), +); \ No newline at end of file diff --git a/test/data/IDF_DiffTest/test-04-mtn-new-file-multi-lines.expected b/test/data/IDF_DiffTest/test-04-mtn-new-file-multi-lines.expected index fe50d15..48db0ba 100644 --- a/test/data/IDF_DiffTest/test-04-mtn-new-file-multi-lines.expected +++ b/test/data/IDF_DiffTest/test-04-mtn-new-file-multi-lines.expected @@ -1 +1,39 @@ -a:1:{s:1:"a";a:2:{s:6:"chunks";a:1:{i:0;a:2:{i:0;a:3:{i:0;s:0:"";i:1;s:1:"1";i:2;s:3:"abc";}i:1;a:3:{i:0;s:0:"";i:1;i:2;i:2;s:3:"abc";}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"0";i:1;s:1:"0";}i:1;a:2:{i:0;s:1:"1";i:1;s:1:"2";}}}}} \ No newline at end of file + + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '', + 1 => '1', + 2 => "abc\r\n", + ), + 1 => + array ( + 0 => '', + 1 => 2, + 2 => "abc\r\n", + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '0', + 1 => '0', + ), + 1 => + array ( + 0 => '1', + 1 => '2', + ), + ), + ), + ), +); \ No newline at end of file diff --git a/test/data/IDF_DiffTest/test-05-mtn-change-to-single-line.expected b/test/data/IDF_DiffTest/test-05-mtn-change-to-single-line.expected index 1658746..846c0a8 100644 --- a/test/data/IDF_DiffTest/test-05-mtn-change-to-single-line.expected +++ b/test/data/IDF_DiffTest/test-05-mtn-change-to-single-line.expected @@ -1 +1,39 @@ -a:1:{s:1:"a";a:2:{s:6:"chunks";a:1:{i:0;a:2:{i:0;a:3:{i:0;s:1:"1";i:1;s:1:"1";i:2;s:3:"abc";}i:1;a:3:{i:0;i:2;i:1;s:0:"";i:2;s:3:"abc";}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"1";i:1;s:1:"2";}i:1;a:2:{i:0;s:1:"1";i:1;i:1;}}}}} \ No newline at end of file + + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '1', + 1 => '1', + 2 => "abc\r\n", + ), + 1 => + array ( + 0 => 2, + 1 => '', + 2 => "abc\r\n", + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '1', + 1 => '2', + ), + 1 => + array ( + 0 => '1', + 1 => 1, + ), + ), + ), + ), +); \ No newline at end of file diff --git a/test/data/IDF_DiffTest/test-06-mtn-single-line.expected b/test/data/IDF_DiffTest/test-06-mtn-single-line.expected index d3d118c..256d8f6 100644 --- a/test/data/IDF_DiffTest/test-06-mtn-single-line.expected +++ b/test/data/IDF_DiffTest/test-06-mtn-single-line.expected @@ -1 +1,39 @@ -a:1:{s:1:"a";a:2:{s:6:"chunks";a:1:{i:0;a:2:{i:0;a:3:{i:0;s:1:"1";i:1;s:0:"";i:2;s:3:"abc";}i:1;a:3:{i:0;s:0:"";i:1;s:1:"1";i:2;s:2:"ls";}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"1";i:1;i:1;}i:1;a:2:{i:0;s:1:"1";i:1;i:1;}}}}} \ No newline at end of file + + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '1', + 1 => '', + 2 => "abc\r\n", + ), + 1 => + array ( + 0 => '', + 1 => '1', + 2 => "ls\r\n", + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '1', + 1 => 1, + ), + 1 => + array ( + 0 => '1', + 1 => 1, + ), + ), + ), + ), +); \ No newline at end of file diff --git a/test/data/IDF_DiffTest/test-07-mtn-single-line-to-multiline.expected b/test/data/IDF_DiffTest/test-07-mtn-single-line-to-multiline.expected index b5c748d..5c95454 100644 --- a/test/data/IDF_DiffTest/test-07-mtn-single-line-to-multiline.expected +++ b/test/data/IDF_DiffTest/test-07-mtn-single-line-to-multiline.expected @@ -1 +1,39 @@ -a:1:{s:1:"a";a:2:{s:6:"chunks";a:1:{i:0;a:2:{i:0;a:3:{i:0;s:1:"1";i:1;s:1:"1";i:2;s:2:"ls";}i:1;a:3:{i:0;s:0:"";i:1;i:2;i:2;s:2:"ls";}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"1";i:1;i:1;}i:1;a:2:{i:0;s:1:"1";i:1;s:1:"2";}}}}} \ No newline at end of file + + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '1', + 1 => '1', + 2 => "ls\r\n", + ), + 1 => + array ( + 0 => '', + 1 => 2, + 2 => "ls\r\n", + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '1', + 1 => 1, + ), + 1 => + array ( + 0 => '1', + 1 => '2', + ), + ), + ), + ), +); \ No newline at end of file diff --git a/test/data/IDF_DiffTest/test-08-mtn-multiline-diff-with-property.expected b/test/data/IDF_DiffTest/test-08-mtn-multiline-diff-with-property.expected index bfd9767..36d7529 100644 --- a/test/data/IDF_DiffTest/test-08-mtn-multiline-diff-with-property.expected +++ b/test/data/IDF_DiffTest/test-08-mtn-multiline-diff-with-property.expected @@ -1 +1,45 @@ -a:1:{s:1:"a";a:2:{s:6:"chunks";a:1:{i:0;a:3:{i:0;a:3:{i:0;s:1:"1";i:1;s:1:"1";i:2;s:2:"ls";}i:1;a:3:{i:0;i:2;i:1;i:2;i:2;s:2:"ls";}i:2;a:3:{i:0;s:0:"";i:1;i:3;i:2;s:1:"l";}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"1";i:1;s:1:"2";}i:1;a:2:{i:0;s:1:"1";i:1;s:1:"3";}}}}} \ No newline at end of file + + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '1', + 1 => '1', + 2 => "ls\r\n", + ), + 1 => + array ( + 0 => 2, + 1 => 2, + 2 => "ls\r\n", + ), + 2 => + array ( + 0 => '', + 1 => 3, + 2 => "l\r\n", + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '1', + 1 => '2', + ), + 1 => + array ( + 0 => '1', + 1 => '3', + ), + ), + ), + ), +); \ No newline at end of file diff --git a/test/data/IDF_DiffTest/test-09-hg-new-file.expected b/test/data/IDF_DiffTest/test-09-hg-new-file.expected index da9221b..446d393 100644 --- a/test/data/IDF_DiffTest/test-09-hg-new-file.expected +++ b/test/data/IDF_DiffTest/test-09-hg-new-file.expected @@ -1 +1,33 @@ -a:1:{s:1:"a";a:2:{s:6:"chunks";a:1:{i:0;a:1:{i:0;a:3:{i:0;s:0:"";i:1;s:1:"1";i:2;s:3:"foo";}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"0";i:1;s:1:"0";}i:1;a:2:{i:0;s:1:"1";i:1;s:1:"1";}}}}} \ No newline at end of file + + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '', + 1 => '1', + 2 => "foo\n", + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '0', + 1 => '0', + ), + 1 => + array ( + 0 => '1', + 1 => '1', + ), + ), + ), + ), +); \ No newline at end of file diff --git a/test/data/IDF_DiffTest/test-10-hg-change.expected b/test/data/IDF_DiffTest/test-10-hg-change.expected index bda94a9..1748e39 100644 --- a/test/data/IDF_DiffTest/test-10-hg-change.expected +++ b/test/data/IDF_DiffTest/test-10-hg-change.expected @@ -1 +1,39 @@ -a:1:{s:1:"a";a:2:{s:6:"chunks";a:1:{i:0;a:2:{i:0;a:3:{i:0;s:1:"1";i:1;s:1:"1";i:2;s:3:"foo";}i:1;a:3:{i:0;s:0:"";i:1;i:2;i:2;s:2:"bf";}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"1";i:1;s:1:"1";}i:1;a:2:{i:0;s:1:"1";i:1;s:1:"2";}}}}} \ No newline at end of file + + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '1', + 1 => '1', + 2 => "foo\n", + ), + 1 => + array ( + 0 => '', + 1 => 2, + 2 => "bf\n", + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '1', + 1 => '1', + ), + 1 => + array ( + 0 => '1', + 1 => '2', + ), + ), + ), + ), +); \ No newline at end of file diff --git a/test/data/IDF_DiffTest/test-11-git-add-singleline-file.expected b/test/data/IDF_DiffTest/test-11-git-add-singleline-file.expected index ac04a8d..a88ba77 100644 --- a/test/data/IDF_DiffTest/test-11-git-add-singleline-file.expected +++ b/test/data/IDF_DiffTest/test-11-git-add-singleline-file.expected @@ -1 +1,33 @@ -a:1:{s:1:"a";a:2:{s:6:"chunks";a:1:{i:0;a:1:{i:0;a:3:{i:0;s:0:"";i:1;s:1:"1";i:2;s:3:"abc";}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"0";i:1;s:1:"0";}i:1;a:2:{i:0;s:1:"1";i:1;i:1;}}}}} \ No newline at end of file + + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '', + 1 => '1', + 2 => "abc\n", + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '0', + 1 => '0', + ), + 1 => + array ( + 0 => '1', + 1 => 1, + ), + ), + ), + ), +); \ No newline at end of file diff --git a/test/data/IDF_DiffTest/test-12-git-add-multiline-file.expected b/test/data/IDF_DiffTest/test-12-git-add-multiline-file.expected index ee1df51..9368311 100644 --- a/test/data/IDF_DiffTest/test-12-git-add-multiline-file.expected +++ b/test/data/IDF_DiffTest/test-12-git-add-multiline-file.expected @@ -1 +1,45 @@ -a:1:{s:1:"b";a:2:{s:6:"chunks";a:1:{i:0;a:3:{i:0;a:3:{i:0;s:0:"";i:1;s:1:"1";i:2;s:1:"a";}i:1;a:3:{i:0;s:0:"";i:1;i:2;i:2;s:1:"b";}i:2;a:3:{i:0;s:0:"";i:1;i:3;i:2;b:0;}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"0";i:1;s:1:"0";}i:1;a:2:{i:0;s:1:"1";i:1;s:1:"3";}}}}} \ No newline at end of file + + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '', + 1 => '1', + 2 => "a\n", + ), + 1 => + array ( + 0 => '', + 1 => 2, + 2 => "b\n", + ), + 2 => + array ( + 0 => '', + 1 => 3, + 2 => "\n", + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '0', + 1 => '0', + ), + 1 => + array ( + 0 => '1', + 1 => '3', + ), + ), + ), + ), +); \ No newline at end of file diff --git a/test/data/IDF_DiffTest/test-13-git-change-file.expected b/test/data/IDF_DiffTest/test-13-git-change-file.expected index 29a30b6..916552f 100644 --- a/test/data/IDF_DiffTest/test-13-git-change-file.expected +++ b/test/data/IDF_DiffTest/test-13-git-change-file.expected @@ -1 +1,51 @@ -a:1:{s:1:"b";a:2:{s:6:"chunks";a:1:{i:0;a:4:{i:0;a:3:{i:0;s:1:"1";i:1;s:1:"1";i:2;s:1:"a";}i:1;a:3:{i:0;s:0:"";i:1;i:2;i:2;s:1:"l";}i:2;a:3:{i:0;i:2;i:1;i:3;i:2;s:1:"b";}i:3;a:3:{i:0;i:3;i:1;i:4;i:2;b:0;}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"1";i:1;s:1:"3";}i:1;a:2:{i:0;s:1:"1";i:1;s:1:"4";}}}}} \ No newline at end of file + + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '1', + 1 => '1', + 2 => "a\n", + ), + 1 => + array ( + 0 => '', + 1 => 2, + 2 => "l\n", + ), + 2 => + array ( + 0 => 2, + 1 => 3, + 2 => "b\n", + ), + 3 => + array ( + 0 => 3, + 1 => 4, + 2 => "\n", + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '1', + 1 => '3', + ), + 1 => + array ( + 0 => '1', + 1 => '4', + ), + ), + ), + ), +); \ No newline at end of file diff --git a/test/data/IDF_DiffTest/test-14-git-change-file-to-singleline.expected b/test/data/IDF_DiffTest/test-14-git-change-file-to-singleline.expected index 49b3e70..62d78bc 100644 --- a/test/data/IDF_DiffTest/test-14-git-change-file-to-singleline.expected +++ b/test/data/IDF_DiffTest/test-14-git-change-file-to-singleline.expected @@ -1 +1,45 @@ -a:1:{s:1:"b";a:2:{s:6:"chunks";a:1:{i:0;a:3:{i:0;a:3:{i:0;s:1:"1";i:1;s:1:"1";i:2;s:1:"a";}i:1;a:3:{i:0;i:2;i:1;s:0:"";i:2;s:1:"b";}i:2;a:3:{i:0;i:3;i:1;s:0:"";i:2;b:0;}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"1";i:1;s:1:"3";}i:1;a:2:{i:0;s:1:"1";i:1;i:1;}}}}} \ No newline at end of file + + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '1', + 1 => '1', + 2 => "a\n", + ), + 1 => + array ( + 0 => 2, + 1 => '', + 2 => "b\n", + ), + 2 => + array ( + 0 => 3, + 1 => '', + 2 => "\n", + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '1', + 1 => '3', + ), + 1 => + array ( + 0 => '1', + 1 => 1, + ), + ), + ), + ), +); \ No newline at end of file diff --git a/test/data/IDF_DiffTest/test-15-git-change-single-line-invalid.expected b/test/data/IDF_DiffTest/test-15-git-change-single-line-invalid.expected index e526730..87c8b7d 100644 --- a/test/data/IDF_DiffTest/test-15-git-change-single-line-invalid.expected +++ b/test/data/IDF_DiffTest/test-15-git-change-single-line-invalid.expected @@ -1 +1,39 @@ -a:1:{s:9:"test_file";a:2:{s:6:"chunks";a:1:{i:0;a:2:{i:0;a:3:{i:0;s:1:"1";i:1;s:0:"";i:2;s:17:"Steddy is awesome";}i:1;a:3:{i:0;s:0:"";i:1;s:1:"1";i:2;s:22:"Steddy is very awesome";}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"1";i:1;i:1;}i:1;a:2:{i:0;s:1:"1";i:1;i:1;}}}}} \ No newline at end of file + + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '1', + 1 => '', + 2 => "Steddy is awesome\n", + ), + 1 => + array ( + 0 => '', + 1 => '1', + 2 => 'Steddy is very awesome', + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '1', + 1 => 1, + ), + 1 => + array ( + 0 => '1', + 1 => 1, + ), + ), + ), + ), +); \ No newline at end of file diff --git a/test/data/IDF_DiffTest/test-16-git-newline-removed.expected b/test/data/IDF_DiffTest/test-16-git-newline-removed.expected index 7fd1428..3a17da7 100644 --- a/test/data/IDF_DiffTest/test-16-git-newline-removed.expected +++ b/test/data/IDF_DiffTest/test-16-git-newline-removed.expected @@ -1 +1,39 @@ -a:1:{s:3:"foo";a:2:{s:6:"chunks";a:1:{i:0;a:2:{i:0;a:3:{i:0;s:1:"1";i:1;s:0:"";i:2;s:11:"This is foo";}i:1;a:3:{i:0;s:0:"";i:1;s:1:"1";i:2;s:11:"This is foo";}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"1";i:1;i:1;}i:1;a:2:{i:0;s:1:"1";i:1;i:1;}}}}} \ No newline at end of file + + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '1', + 1 => '', + 2 => "This is foo\n", + ), + 1 => + array ( + 0 => '', + 1 => '1', + 2 => 'This is foo', + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '1', + 1 => 1, + ), + 1 => + array ( + 0 => '1', + 1 => 1, + ), + ), + ), + ), +); \ No newline at end of file diff --git a/test/data/IDF_DiffTest/test-17-git-newline-added.expected b/test/data/IDF_DiffTest/test-17-git-newline-added.expected index 7fd1428..aa3507b 100644 --- a/test/data/IDF_DiffTest/test-17-git-newline-added.expected +++ b/test/data/IDF_DiffTest/test-17-git-newline-added.expected @@ -1 +1,39 @@ -a:1:{s:3:"foo";a:2:{s:6:"chunks";a:1:{i:0;a:2:{i:0;a:3:{i:0;s:1:"1";i:1;s:0:"";i:2;s:11:"This is foo";}i:1;a:3:{i:0;s:0:"";i:1;s:1:"1";i:2;s:11:"This is foo";}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:2:{i:0;s:1:"1";i:1;i:1;}i:1;a:2:{i:0;s:1:"1";i:1;i:1;}}}}} \ No newline at end of file + + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '1', + 1 => '', + 2 => "This is foo", + ), + 1 => + array ( + 0 => '', + 1 => '1', + 2 => "This is foo\n", + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '1', + 1 => 1, + ), + 1 => + array ( + 0 => '1', + 1 => 1, + ), + ), + ), + ), +); \ No newline at end of file diff --git a/test/data/IDF_DiffTest/test-18-git-lineendings.diff b/test/data/IDF_DiffTest/test-18-git-lineendings.diff new file mode 100644 index 0000000..6b6a13e --- /dev/null +++ b/test/data/IDF_DiffTest/test-18-git-lineendings.diff @@ -0,0 +1,10 @@ +diff --git a/lineendings b/lineendings +index 7c2b7ec..9c59944 100644 +--- a/lineendings ++++ b/lineendings +@@ -1,3 +1,4 @@ ++Unix, again + Windows + Unix + Old Macintosh Nothing +\ No newline at end of file diff --git a/test/data/IDF_DiffTest/test-18-git-lineendings.expected b/test/data/IDF_DiffTest/test-18-git-lineendings.expected new file mode 100644 index 0000000..bf17f6b --- /dev/null +++ b/test/data/IDF_DiffTest/test-18-git-lineendings.expected @@ -0,0 +1,51 @@ + + array ( + 'chunks' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '', + 1 => '1', + 2 => "Unix, again\n", + ), + 1 => + array ( + 0 => '1', + 1 => 2, + 2 => "Windows\r\n", + ), + 2 => + array ( + 0 => 2, + 1 => 3, + 2 => "Unix\n", + ), + 3 => + array ( + 0 => 3, + 1 => 4, + 2 => "Old Macintosh\rNothing", + ), + ), + ), + 'chunks_def' => + array ( + 0 => + array ( + 0 => + array ( + 0 => '1', + 1 => '3', + ), + 1 => + array ( + 0 => '1', + 1 => '4', + ), + ), + ), + ), +); \ No newline at end of file diff --git a/www/media/idf/css/style.css b/www/media/idf/css/style.css index 4b94eb2..f9bca37 100644 --- a/www/media/idf/css/style.css +++ b/www/media/idf/css/style.css @@ -614,18 +614,56 @@ td.diff-r { background-color: #fdd; } -td.diff-a, td.diff-r, td.diff-c { +td.diff { border-bottom: none; border-top: none; white-space: pre; } -td.diff-a > span, -td.diff-r > span, -td.diff-c > span { +td.diff > span { float: left; } +td.diff > span.non-printable { + visibility: hidden; + color: white; + text-transform: uppercase; + float: none; + font-size: 5.5pt; + font-family: Calibri, Helvetica, Arial, sans-serif; + text-align: center; + display: inline-block; + word-wrap: break-word; + padding: 1px 1px 0px 1px; + margin-left: 1px; + margin-right: 1px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + cursor: default; + vertical-align: 10%; +} + +td.diff:hover > span.non-printable { + visibility: visible; +} + +td.diff-a > span.non-printable { + background: #0A0; +} + +td.diff-r > span.non-printable { + background: #A00; +} + +td.diff-c > span.non-printable { + background: black; +} + +/* override prettify css rule */ +td.diff > span.non-printable > * { + color: white; +} + table.diff tr.diff-next { background-color: #e4e8E0; vertical-align: top;