From 61d7b4a58d1e3562d64f98ce0ed7b8c159af1d53 Mon Sep 17 00:00:00 2001 From: Thomas Keller Date: Thu, 17 Mar 2011 01:12:32 +0100 Subject: [PATCH] Setup a basic PHPUnit test environment. To run all available tests its enough to call $ phpunit from the root workspace directory; the default phpunit configuration resides in phpunit.xml. A bootstrap script sets some default paths and can be extended later on with other useful stuff. Each test class' path should mimic the name and path of the source class, only that the test class gets an additional "Test" appended so PHPUnit can find it automatically. The data directory can be used in a flat manner; for tests that need test data a separate directory containing these files should be added, and the directory should be named after the test class itself. The first test which uses the new infrastructure is a test for the rewritten diff parser (closes issue 627). --- phpunit.xml | 15 + test/IDF/DiffTest.php | 30 + test/bootstrap.php | 7 + .../IDF_DiffTest/test-01-svn-new-files.diff | 1032 +++++++++++++++++ .../test-01-svn-new-files.expected | 1 + ...test-02-svn-new-files-with-properties.diff | 389 +++++++ ...-02-svn-new-files-with-properties.expected | 1 + .../test-03-mtn-new-file-single-line.diff | 13 + .../test-03-mtn-new-file-single-line.expected | 1 + .../test-04-mtn-new-file-multi-lines.diff | 14 + .../test-04-mtn-new-file-multi-lines.expected | 1 + .../test-05-mtn-change-to-single-line.diff | 13 + ...test-05-mtn-change-to-single-line.expected | 1 + .../IDF_DiffTest/test-06-mtn-single-line.diff | 13 + .../test-06-mtn-single-line.expected | 1 + .../test-07-mtn-single-line-to-multiline.diff | 13 + ...t-07-mtn-single-line-to-multiline.expected | 1 + ...t-08-mtn-multiline-diff-with-property.diff | 18 + ...-mtn-multiline-diff-with-property.expected | 1 + .../IDF_DiffTest/test-09-hg-new-file.diff | 5 + .../IDF_DiffTest/test-09-hg-new-file.expected | 1 + test/data/IDF_DiffTest/test-10-hg-change.diff | 6 + .../IDF_DiffTest/test-10-hg-change.expected | 1 + .../test-11-git-add-singleline-file.diff | 13 + .../test-11-git-add-singleline-file.expected | 1 + .../test-12-git-add-multiline-file.diff | 9 + .../test-12-git-add-multiline-file.expected | 1 + .../IDF_DiffTest/test-13-git-change-file.diff | 9 + .../test-13-git-change-file.expected | 1 + ...test-14-git-change-file-to-singleline.diff | 8 + ...-14-git-change-file-to-singleline.expected | 1 + 31 files changed, 1621 insertions(+) create mode 100644 phpunit.xml create mode 100644 test/IDF/DiffTest.php create mode 100644 test/bootstrap.php create mode 100644 test/data/IDF_DiffTest/test-01-svn-new-files.diff create mode 100644 test/data/IDF_DiffTest/test-01-svn-new-files.expected create mode 100644 test/data/IDF_DiffTest/test-02-svn-new-files-with-properties.diff create mode 100644 test/data/IDF_DiffTest/test-02-svn-new-files-with-properties.expected create mode 100644 test/data/IDF_DiffTest/test-03-mtn-new-file-single-line.diff create mode 100644 test/data/IDF_DiffTest/test-03-mtn-new-file-single-line.expected create mode 100644 test/data/IDF_DiffTest/test-04-mtn-new-file-multi-lines.diff create mode 100644 test/data/IDF_DiffTest/test-04-mtn-new-file-multi-lines.expected create mode 100644 test/data/IDF_DiffTest/test-05-mtn-change-to-single-line.diff create mode 100644 test/data/IDF_DiffTest/test-05-mtn-change-to-single-line.expected create mode 100644 test/data/IDF_DiffTest/test-06-mtn-single-line.diff create mode 100644 test/data/IDF_DiffTest/test-06-mtn-single-line.expected create mode 100644 test/data/IDF_DiffTest/test-07-mtn-single-line-to-multiline.diff create mode 100644 test/data/IDF_DiffTest/test-07-mtn-single-line-to-multiline.expected create mode 100644 test/data/IDF_DiffTest/test-08-mtn-multiline-diff-with-property.diff create mode 100644 test/data/IDF_DiffTest/test-08-mtn-multiline-diff-with-property.expected create mode 100644 test/data/IDF_DiffTest/test-09-hg-new-file.diff create mode 100644 test/data/IDF_DiffTest/test-09-hg-new-file.expected create mode 100644 test/data/IDF_DiffTest/test-10-hg-change.diff create mode 100644 test/data/IDF_DiffTest/test-10-hg-change.expected create mode 100644 test/data/IDF_DiffTest/test-11-git-add-singleline-file.diff create mode 100644 test/data/IDF_DiffTest/test-11-git-add-singleline-file.expected create mode 100644 test/data/IDF_DiffTest/test-12-git-add-multiline-file.diff create mode 100644 test/data/IDF_DiffTest/test-12-git-add-multiline-file.expected create mode 100644 test/data/IDF_DiffTest/test-13-git-change-file.diff create mode 100644 test/data/IDF_DiffTest/test-13-git-change-file.expected create mode 100644 test/data/IDF_DiffTest/test-14-git-change-file-to-singleline.diff create mode 100644 test/data/IDF_DiffTest/test-14-git-change-file-to-singleline.expected diff --git a/phpunit.xml b/phpunit.xml new file mode 100644 index 0000000..00db39e --- /dev/null +++ b/phpunit.xml @@ -0,0 +1,15 @@ + + + + + test/IDF/ + + + diff --git a/test/IDF/DiffTest.php b/test/IDF/DiffTest.php new file mode 100644 index 0000000..68e4ca3 --- /dev/null +++ b/test/IDF/DiffTest.php @@ -0,0 +1,30 @@ +assertEquals(unserialize($expectedcontent), + $diff->parse(), + 'parsed diff '.$difffile.' does not match'); + } + } +} + diff --git a/test/bootstrap.php b/test/bootstrap.php new file mode 100644 index 0000000..3cb7f1f --- /dev/null +++ b/test/bootstrap.php @@ -0,0 +1,7 @@ + ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; version 2 of ++ * the License. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, ++ * MA 02110-1301 USA ++ */ ++ ++Field(ERAM, ByteAcc, NoLock, Preserve) ++{ ++ Offset (0x46), ++ , 4, ++ HPAC, 1 ++} ++ ++Device(AC) ++{ ++ Name(_HID, "ACPI0003") ++ Name(_UID, 0x00) ++ Name(_PCL, Package() { \_SB } ) ++ ++ Method(_PSR, 0, NotSerialized) ++ { ++ return (HPAC) ++ } ++ ++ Method(_STA, 0, NotSerialized) ++ { ++ Return (0x0f) ++ } ++} +Index: src/mainboard/lenovo/x60/acpi/i945_pci_irqs.asl +=================================================================== +--- src/mainboard/lenovo/x60/acpi/i945_pci_irqs.asl (Revision 0) ++++ src/mainboard/lenovo/x60/acpi/i945_pci_irqs.asl (Revision 6368) +@@ -0,0 +1,63 @@ ++/* ++ * This file is part of the coreboot project. ++ * ++ * Copyright (C) 2011 Sven Schnelle ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; version 2 of ++ * the License. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, ++ * MA 02110-1301 USA ++ */ ++ ++/* This is board specific information: IRQ routing for the ++ * i945 ++ */ ++ ++ ++// PCI Interrupt Routing ++Method(_PRT) ++{ ++ If (PICM) { ++ Return (Package() { ++ Package() { 0x0002ffff, 0, 0, 0x10 }, // VGA ++ Package() { 0x001bffff, 1, 0, 0x11 }, // Audio ++ Package() { 0x001cffff, 0, 0, 0x14 }, // PCI bridge ++ Package() { 0x001cffff, 1, 0, 0x15 }, // PCI bridge ++ Package() { 0x001cffff, 2, 0, 0x16 }, // PCI bridge ++ Package() { 0x001cffff, 3, 0, 0x17 }, // PCI bridge ++ Package() { 0x001dffff, 0, 0, 0x10 }, // USB ++ Package() { 0x001dffff, 1, 0, 0x11 }, // USB ++ Package() { 0x001dffff, 2, 0, 0x12 }, // USB ++ Package() { 0x001dffff, 3, 0, 0x13 }, // USB ++ Package() { 0x001fffff, 0, 0, 0x17 }, // LPC ++ Package() { 0x001fffff, 1, 0, 0x10 }, // IDE ++ Package() { 0x001fffff, 2, 0, 0x10 } // SATA ++ }) ++ } Else { ++ Return (Package() { ++ Package() { 0x0002ffff, 0, \_SB.PCI0.LPCB.LNKA, 0 }, // VGA ++ Package() { 0x001bffff, 1, \_SB.PCI0.LPCB.LNKB, 0 }, // Audio ++ Package() { 0x001cffff, 0, \_SB.PCI0.LPCB.LNKE, 0 }, // PCI ++ Package() { 0x001cffff, 1, \_SB.PCI0.LPCB.LNKF, 0 }, // PCI ++ Package() { 0x001cffff, 2, \_SB.PCI0.LPCB.LNKG, 0 }, // PCI ++ Package() { 0x001cffff, 3, \_SB.PCI0.LPCB.LNKH, 0 }, // PCI ++ Package() { 0x001dffff, 0, \_SB.PCI0.LPCB.LNKA, 0 }, // USB ++ Package() { 0x001dffff, 1, \_SB.PCI0.LPCB.LNKB, 0 }, // USB ++ Package() { 0x001dffff, 2, \_SB.PCI0.LPCB.LNKC, 0 }, // USB ++ Package() { 0x001dffff, 3, \_SB.PCI0.LPCB.LNKD, 0 }, // USB ++ Package() { 0x001fffff, 0, \_SB.PCI0.LPCB.LNKH, 0 }, // LPC ++ Package() { 0x001fffff, 1, \_SB.PCI0.LPCB.LNKA, 0 }, // IDE ++ Package() { 0x001fffff, 2, \_SB.PCI0.LPCB.LNKA, 0 } // SATA ++ }) ++ } ++} +Index: src/mainboard/lenovo/x60/acpi/ich7_pci_irqs.asl +=================================================================== +--- src/mainboard/lenovo/x60/acpi/ich7_pci_irqs.asl (Revision 0) ++++ src/mainboard/lenovo/x60/acpi/ich7_pci_irqs.asl (Revision 6368) +@@ -0,0 +1,46 @@ ++/* ++ * This file is part of the coreboot project. ++ * ++ * Copyright (C) 2007-2009 coresystems GmbH ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; version 2 of ++ * the License. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, ++ * MA 02110-1301 USA ++ */ ++ ++/* This is board specific information: IRQ routing for the ++ * 0:1e.0 PCI bridge of the ICH7 ++ */ ++ ++If (PICM) { ++ Return (Package() { ++ Package (0x04) { 0x0000FFFF, 0x00, 0x00, 0x10 }, ++ Package (0x04) { 0x0000FFFF, 0x01, 0x00, 0x11 }, ++ Package (0x04) { 0x0000FFFF, 0x02, 0x00, 0x12 }, ++ Package (0x04) { 0x0001FFFF, 0x00, 0x00, 0x10 }, ++ Package (0x04) { 0x0002FFFF, 0x00, 0x00, 0x15 }, ++ Package (0x04) { 0x0002FFFF, 0x01, 0x00, 0x16 }, ++ Package (0x04) { 0x0008FFFF, 0x00, 0x00, 0x14 } ++ }) ++ } Else { ++ Return (Package() { ++ Package (0x04) { 0x0000FFFF, 0x00, \_SB.PCI0.LPCB.LNKA, 0x00 }, ++ Package (0x04) { 0x0000FFFF, 0x01, \_SB.PCI0.LPCB.LNKB, 0x00 }, ++ Package (0x04) { 0x0000FFFF, 0x02, \_SB.PCI0.LPCB.LNKC, 0x00 }, ++ Package (0x04) { 0x0001FFFF, 0x00, \_SB.PCI0.LPCB.LNKA, 0x00 }, ++ Package (0x04) { 0x0002FFFF, 0x00, \_SB.PCI0.LPCB.LNKF, 0x00 }, ++ Package (0x04) { 0x0002FFFF, 0x01, \_SB.PCI0.LPCB.LNKG, 0x00 }, ++ Package (0x04) { 0x0008FFFF, 0x00, \_SB.PCI0.LPCB.LNKE, 0x00 } ++ }) ++} +Index: src/mainboard/lenovo/x60/acpi/platform.asl +=================================================================== +--- src/mainboard/lenovo/x60/acpi/platform.asl (Revision 0) ++++ src/mainboard/lenovo/x60/acpi/platform.asl (Revision 6368) +@@ -0,0 +1,206 @@ ++/* ++ * This file is part of the coreboot project. ++ * ++ * Copyright (C) 2007-2009 coresystems GmbH ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; version 2 of ++ * the License. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, ++ * MA 02110-1301 USA ++ */ ++ ++/* These come from the dynamically created CPU SSDT */ ++External(PDC0) ++External(PDC1) ++ ++/* The APM port can be used for generating software SMIs */ ++ ++OperationRegion (APMP, SystemIO, 0xb2, 2) ++Field (APMP, ByteAcc, NoLock, Preserve) ++{ ++ APMC, 8, // APM command ++ APMS, 8 // APM status ++} ++ ++/* Port 80 POST */ ++ ++OperationRegion (POST, SystemIO, 0x80, 1) ++Field (POST, ByteAcc, Lock, Preserve) ++{ ++ DBG0, 8 ++} ++ ++/* SMI I/O Trap */ ++Method(TRAP, 1, Serialized) ++{ ++ Store (Arg0, SMIF) // SMI Function ++ Store (0, TRP0) // Generate trap ++ Return (SMIF) // Return value of SMI handler ++} ++ ++/* The _PIC method is called by the OS to choose between interrupt ++ * routing via the i8259 interrupt controller or the APIC. ++ * ++ * _PIC is called with a parameter of 0 for i8259 configuration and ++ * with a parameter of 1 for Local Apic/IOAPIC configuration. ++ */ ++ ++Method(_PIC, 1) ++{ ++ // Remember the OS' IRQ routing choice. ++ Store(Arg0, PICM) ++} ++ ++/* The _PTS method (Prepare To Sleep) is called before the OS is ++ * entering a sleep state. The sleep state number is passed in Arg0 ++ */ ++ ++Method(_PTS,1) ++{ ++ // Call a trap so SMI can prepare for Sleep as well. ++ // TRAP(0x55) ++} ++ ++/* The _WAK method is called on system wakeup */ ++ ++Method(_WAK,1) ++{ ++ // CPU specific part ++ ++ // Notify PCI Express slots in case a card ++ // was inserted while a sleep state was active. ++ ++ // Are we going to S3? ++ If (LEqual(Arg0, 3)) { ++ // .. ++ } ++ ++ // Are we going to S4? ++ If (LEqual(Arg0, 4)) { ++ // .. ++ } ++ ++ // TODO: Windows XP SP2 P-State restore ++ ++ Return(Package(){0,0}) ++} ++ ++// Power notification ++ ++External (\_PR_.CPU0, DeviceObj) ++External (\_PR_.CPU1, DeviceObj) ++ ++Method (PNOT) ++{ ++ If (MPEN) { ++ If(And(PDC0, 0x08)) { ++ Notify (\_PR_.CPU0, 0x80) // _PPC ++ ++ If (And(PDC0, 0x10)) { ++ Sleep(100) ++ Notify(\_PR_.CPU0, 0x81) // _CST ++ } ++ } ++ ++ If(And(PDC1, 0x08)) { ++ Notify (\_PR_.CPU1, 0x80) // _PPC ++ If (And(PDC1, 0x10)) { ++ Sleep(100) ++ Notify(\_PR_.CPU1, 0x81) // _CST ++ } ++ } ++ ++ } Else { // UP ++ Notify (\_PR_.CPU0, 0x80) ++ Sleep(0x64) ++ Notify(\_PR_.CPU0, 0x81) ++ } ++ ++ // Notify the Batteries ++ Notify(\_SB.PCI0.LPCB.EC.BAT0, 0x80) // Execute BAT1 _BST ++ Notify(\_SB.PCI0.LPCB.EC.BAT1, 0x80) // Execute BAT2 _BST ++} ++ ++/* System Bus */ ++ ++Scope(\_SB) ++{ ++ /* This method is placed on the top level, so we can make sure it's the ++ * first executed _INI method. ++ */ ++ Method(_INI, 0) ++ { ++ /* The DTS data in NVS is probably not up to date. ++ * Update temperature values and make sure AP thermal ++ * interrupts can happen ++ */ ++ ++ // TRAP(71) // TODO ++ ++ /* Determine the Operating System and save the value in OSYS. ++ * We have to do this in order to be able to work around ++ * certain windows bugs. ++ * ++ * OSYS value | Operating System ++ * -----------+------------------ ++ * 2000 | Windows 2000 ++ * 2001 | Windows XP(+SP1) ++ * 2002 | Windows XP SP2 ++ * 2006 | Windows Vista ++ * ???? | Windows 7 ++ */ ++ ++ /* Let's assume we're running at least Windows 2000 */ ++ Store (2000, OSYS) ++ ++ If (CondRefOf(_OSI, Local0)) { ++ /* Linux answers _OSI with "True" for a couple of ++ * Windows version queries. But unlike Windows it ++ * needs a Video repost, so let's determine whether ++ * we're running Linux. ++ */ ++ ++ If (_OSI("Linux")) { ++ Store (1, LINX) ++ } ++ ++ If (_OSI("Windows 2001")) { ++ Store (2001, OSYS) ++ } ++ ++ If (_OSI("Windows 2001 SP1")) { ++ Store (2001, OSYS) ++ } ++ ++ If (_OSI("Windows 2001 SP2")) { ++ Store (2002, OSYS) ++ } ++ ++ If (_OSI("Windows 2006")) { ++ Store (2006, OSYS) ++ } ++ } ++ ++ /* And the OS workarounds start right after we know what we're ++ * running: Windows XP SP1 needs to have C-State coordination ++ * enabled in SMM. ++ */ ++ If (LAnd(LEqual(OSYS, 2001), MPEN)) { ++ // TRAP(61) // TODO ++ } ++ ++ /* SMM power state and C4-on-C3 settings need to be updated */ ++ // TRAP(43) // TODO ++ } ++} ++ +Index: src/mainboard/lenovo/x60/acpi/sleepbutton.asl +=================================================================== +--- src/mainboard/lenovo/x60/acpi/sleepbutton.asl (Revision 0) ++++ src/mainboard/lenovo/x60/acpi/sleepbutton.asl (Revision 6368) +@@ -0,0 +1,25 @@ ++/* ++ * This file is part of the coreboot project. ++ * ++ * Copyright (c) 2011 Sven Schnelle ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; version 2 of ++ * the License. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, ++ * MA 02110-1301 USA ++ */ ++ ++Device(SLPB) ++{ ++ Name (_HID, EisaId ("PNP0C0E")) ++} +Index: src/mainboard/lenovo/x60/acpi/superio.asl +=================================================================== +Index: src/mainboard/lenovo/x60/acpi/video.asl +=================================================================== +--- src/mainboard/lenovo/x60/acpi/video.asl (Revision 0) ++++ src/mainboard/lenovo/x60/acpi/video.asl (Revision 6368) +@@ -0,0 +1,51 @@ ++/* ++ * This file is part of the coreboot project. ++ * ++ * Copyright (c) 2011 Sven Schnelle ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; version 2 of ++ * the License. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, ++ * MA 02110-1301 USA ++ */ ++ ++Device (DSPC) ++{ ++ Name (_ADR, 0x00020001) ++ OperationRegion (DSPC, PCI_Config, 0x00, 0x100) ++ Field (DSPC, ByteAcc, NoLock, Preserve) ++ { ++ Offset (0xf4), ++ BRTC, 8 ++ } ++ ++ Method(BRTD, 0, NotSerialized) ++ { ++ Store(BRTC, Local0) ++ if (LGreater (Local0, 15)) ++ { ++ Subtract(Local0, 16, Local0) ++ Store(Local0, BRTC) ++ } ++ } ++ ++ Method(BRTU, 0, NotSerialized) ++ { ++ Store (BRTC, Local0) ++ if (LLess(Local0, 0xff)) ++ { ++ Add (Local0, 16, Local0) ++ Store(Local0, BRTC) ++ } ++ } ++} +Index: src/mainboard/lenovo/x60/acpi/ec.asl +=================================================================== +--- src/mainboard/lenovo/x60/acpi/ec.asl (Revision 0) ++++ src/mainboard/lenovo/x60/acpi/ec.asl (Revision 6368) +@@ -0,0 +1,101 @@ ++/* ++ * This file is part of the coreboot project. ++ * ++ * Copyright (c) 2011 Sven Schnelle ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; version 2 of ++ * the License. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, ++ * MA 02110-1301 USA ++ */ ++ ++Device(EC) ++{ ++ Name (_HID, EISAID("PNP0C09")) ++ Name (_UID, 0) ++ ++ Name (_GPE, 28) ++ Mutex (ECLK, 0) ++ ++ OperationRegion(ERAM, EmbeddedControl, 0x00, 0x100) ++ Field (ERAM, ByteAcc, NoLock, Preserve) ++ { ++ Offset (0x05), ++ HSPA, 1, ++ Offset (0x0C), ++ LEDS, 8, /* LED state */ ++ Offset (0x3B), ++ , 1, ++ KBLT, 1, /* Keyboard Light */ ++ Offset (0x81), ++ PAGE, 8 /* Information Page Selector */ ++ } ++ ++ Method (_CRS, 0) ++ { ++ Name (ECMD, ResourceTemplate() ++ { ++ IO (Decode16, 0x62, 0x62, 1, 1) ++ IO (Decode16, 0x66, 0x66, 1, 1) ++ }) ++ Return (ECMD) ++ } ++ ++ Method (LED, 1, NotSerialized) ++ { ++ Store(Arg0, LEDS) ++ } ++ ++ Method (_INI, 0, NotSerialized) ++ { ++ } ++ ++ /* Sleep Button pressed */ ++ Method(_Q13, 0, NotSerialized) ++ { ++ Notify(\_SB.PCI0.LPCB.EC.SLPB, 0x80) ++ } ++ ++ /* Brightness up GPE */ ++ Method(_Q14, 0, NotSerialized) ++ { ++ \DSPC.BRTU () ++ } ++ ++ /* Brightness down GPE */ ++ Method(_Q15, 0, NotSerialized) ++ { ++ \DSPC.BRTD() ++ } ++ ++ /* AC status change: present */ ++ Method(_Q26, 0, NotSerialized) ++ { ++ Notify (AC, 0x80) ++ Beep(6) ++ } ++ ++ /* AC status change: not present */ ++ Method(_Q27, 0, NotSerialized) ++ { ++ Notify (AC, 0x80) ++ Beep(6) ++ } ++ ++ ++#include "ac.asl" ++#include "battery.asl" ++#include "sleepbutton.asl" ++#include "lid.asl" ++#include "beep.asl" ++} +Index: src/mainboard/lenovo/x60/acpi/lid.asl +=================================================================== +--- src/mainboard/lenovo/x60/acpi/lid.asl (Revision 0) ++++ src/mainboard/lenovo/x60/acpi/lid.asl (Revision 6368) +@@ -0,0 +1,37 @@ ++/* ++ * This file is part of the coreboot project. ++ * ++ * Copyright (c) 2011 Sven Schnelle ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; version 2 of ++ * the License. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, ++ * MA 02110-1301 USA ++ */ ++ ++Field(ERAM, ByteAcc, NoLock, Preserve) ++{ ++ Offset (0x46), ++ , 2, ++ LIDS , 1 ++} ++ ++Device(LID) ++{ ++ Name(_HID, "PNP0C0D") ++ ++ Method(_LId, 0, NotSerialized) ++ { ++ return (LIDS) ++ } ++} +Index: src/mainboard/lenovo/x60/acpi/battery.asl +=================================================================== +--- src/mainboard/lenovo/x60/acpi/battery.asl (Revision 0) ++++ src/mainboard/lenovo/x60/acpi/battery.asl (Revision 6368) +@@ -0,0 +1,296 @@ ++/* ++ * This file is part of the coreboot project. ++ * ++ * Copyright (c) 2011 Sven Schnelle ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; version 2 of ++ * the License. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, ++ * MA 02110-1301 USA ++ */ ++ ++Field(ERAM, ByteAcc, NoLock, Preserve) ++{ ++ Offset (0x38), ++ B0ST, 4, /* Battery 0 state */ ++ , 1, ++ B0CH, 1, /* Battery 0 charging */ ++ B0DI, 1, /* Battery 0 discharging */ ++ B0PR, 1, /* Battery 0 present */ ++ Offset (0x39), ++ B1ST, 4, /* Battery 1 state */ ++ , 1, ++ B1CH, 1, /* Battery 1 charging, */ ++ B1DI, 1, /* Battery 1 discharging,*/ ++ B1PR, 1 /* Battery 1 present */ ++} ++ ++/* EC Registers */ ++/* PAGE == 0x00 */ ++Field (ERAM, ByteAcc, NoLock, Preserve) ++{ ++ Offset(0xa0), ++ BARC, 16, /* Battery remaining capacity */ ++ BAFC, 16, /* Battery full charge capacity */ ++ Offset(0xa8), ++ BAPR, 16, /* Battery present rate */ ++ BAVO, 16, /* Battery Voltage */ ++} ++ ++/* PAGE == 0x01 */ ++Field (ERAM, ByteAcc, NoLock, Preserve) ++{ ++ Offset(0xa0), ++ , 15, ++ BAMA, 1, ++} ++ ++/* PAGE == 0x02 */ ++Field (ERAM, ByteAcc, NoLock, Preserve) ++{ ++ Offset(0xa0), ++ BADC, 16, /* Design Capacity */ ++ BADV, 16, /* Design voltage */ ++ , 16, ++ , 16, ++ , 16, ++ BASN, 16, ++} ++ ++/* PAGE == 0x04: Battery type */ ++Field (ERAM, ByteAcc, NoLock, Preserve) ++{ ++ Offset(0xa0), ++ BATY, 32 ++} ++ ++ ++/* PAGE == 0x05: Battery OEM information */ ++Field (ERAM, ByteAcc, NoLock, Preserve) ++{ ++ Offset(0xa0), ++ BAOE, 128 ++} ++ ++/* PAGE == 0x06: Battery name */ ++Field (ERAM, ByteAcc, NoLock, Preserve) ++{ ++ Offset(0xa0), ++ BANA, 128 ++} ++ ++/* Arg0: Battery ++ * Arg1: Battery Status Package ++ * Arg2: charging ++ * Arg3: discharging ++ */ ++Method(BSTA, 4, NotSerialized) ++{ ++ Acquire(ECLK, 0xffff) ++ Store(0, Local0) ++ Or(1, Arg0, PAGE) ++ Store(BAMA, Local1) ++ Store(Arg0, PAGE) /* Battery dynamic information */ ++ ++ Store(BAPR, Local2) ++ ++ if (Arg2) // charging ++ { ++ Or(2, Local0, Local0) ++ ++ If (LGreaterEqual (Local2, 0x8000)) { ++ Store(0, Local2) ++ } ++ } ++ ++ if (Arg3) // discharging ++ { ++ Or(1, Local0, Local0) ++ Subtract(0x10000, Local2, Local2) ++ } ++ ++ Store(Local0, Index(Arg1, 0x00)) ++ ++ if (Local1) { ++ Multiply (BARC, 10, Index(Arg1, 2)) ++ Multiply (Local2, BAVO, Local2) ++ Divide (Local2, 1000, Local3, Index(Arg1, 1)) ++ } else { ++ Store(BARC, Index(Arg1, 2)) ++ Store(Local2, Index(Arg1, 1)) ++ } ++ Store(BAVO, Index(Arg1, 3)) ++ Release(ECLK) ++ Return (Arg1) ++} ++ ++Method(BINF, 2, NotSerialized) ++{ ++ Acquire(ECLK, 0xffff) ++ Or(1, Arg1, PAGE) /* Battery 0 static information */ ++ Xor(BAMA, 1, Index(Arg0, 0)) ++ Store(BAMA, Local0) ++ Store(Arg1, PAGE) ++ Store(BAFC, Local2) ++ Or(2, Arg1, PAGE) ++ Store(BADC, Local1) ++ ++ if (Local0) ++ { ++ Multiply (Local1, 10, Local1) ++ Multiply (Local2, 10, Local2) ++ } ++ ++ Store(Local1, Index(Arg0, 1)) // Design Capacity ++ Store(Local2, Index(Arg0, 2)) // Last full charge capacity ++ Store(BADV, Index(Arg0, 4)) // Design Voltage ++ Divide (Local2, 20, Local0, Index(Arg0, 5)) // Warning capacity ++ ++ Store (BASN, Local0) ++ Name (SERN, Buffer (0x06) { " " }) ++ Store (4, Local1) ++ While (Local0) ++ { ++ Divide (Local0, 0x0A, Local2, Local0) ++ Add (Local2, 48, Index (SERN, Local1)) ++ Decrement (Local1) ++ } ++ Store (SERN, Index (Arg0, 10)) // Serial Number ++ ++ Or(4, Arg1, PAGE) ++ Name (TYPE, Buffer() { 0, 0, 0, 0, 0 }) ++ Store(BATY, TYPE) ++ Store(TYPE, Index (Arg0, 11)) // Battery type ++ Or(5, Arg1, PAGE) ++ Store(BAOE, Index (Arg0, 12)) // OEM information ++ Or(6, Arg1, PAGE) ++ Store(BANA, Index (Arg0, 9)) // Model number ++ Release(ECLK) ++ Return (Arg0) ++} ++ ++Device (BAT0) ++{ ++ Name (_HID, EisaId ("PNP0C0A")) ++ Name (_UID, 0x00) ++ Name (_PCL, Package () { \_SB }) ++ ++ Name (BATS, Package () ++ { ++ 0x00, // 0: PowerUnit: Report in mWh ++ 0xFFFFFFFF, // 1: Design cap ++ 0xFFFFFFFF, // 2: Last full charge cap ++ 0x01, // 3: Battery Technology ++ 10800, // 4: Design Voltage (mV) ++ 0x00, // 5: Warning design capacity ++ 200, // 6: Low design capacity ++ 1, // 7: granularity1 ++ 1, // 8: granularity2 ++ "", // 9: Model number ++ "", // A: Serial number ++ "", // B: Battery Type ++ "" // C: OEM information ++ }) ++ ++ Method (_BIF, 0, NotSerialized) ++ { ++ Return (BINF(BATS, 0)) ++ } ++ ++ Name (BATI, Package () ++ { ++ 0, // Battery State ++ // Bit 0 - discharge ++ // Bit 1 - charge ++ // Bit 2 - critical state ++ 0, // Battery present Rate ++ 0, // Battery remaining capacity ++ 0 // Battery present voltage ++ }) ++ ++ Method (_BST, 0, NotSerialized) ++ { ++ if (B0PR) { ++ Return (BSTA(0, BATI, B0CH, B0DI)) ++ } else { ++ Return (BATS) ++ } ++ } ++ ++ Method (_STA, 0, NotSerialized) ++ { ++ if (B0PR) { ++ Return (0x1f) ++ } else { ++ Return (0x0f) ++ } ++ } ++} ++ ++Device (BAT1) ++{ ++ Name (_HID, EisaId ("PNP0C0A")) ++ Name (_UID, 0x00) ++ Name (_PCL, Package () { \_SB }) ++ ++ Name (BATS, Package () ++ { ++ 0x00, // 0: PowerUnit: Report in mWh ++ 0xFFFFFFFF, // 1: Design cap ++ 0xFFFFFFFF, // 2: Last full charge cap ++ 0x01, // 3: Battery Technology ++ 10800, // 4: Design Voltage (mV) ++ 0x00, // 5: Warning design capacity ++ 200, // 6: Low design capacity ++ 1, // 7: granularity1 ++ 1, // 8: granularity2 ++ "", // 9: Model number ++ "", // A: Serial number ++ "", // B: Battery Type ++ "" // C: OEM information ++ }) ++ ++ Method (_BIF, 0, NotSerialized) ++ { ++ Return (BINF(BATS, 0x10)) ++ } ++ ++ Name (BATI, Package () ++ { ++ 0, // Battery State ++ // Bit 0 - discharge ++ // Bit 1 - charge ++ // Bit 2 - critical state ++ 0, // Battery present Rate ++ 0, // Battery remaining capacity ++ 0 // Battery present voltage ++ }) ++ ++ Method (_BST, 0, NotSerialized) ++ { ++ if (B1PR) { ++ Return (BSTA(0x10, BATI, B1CH, B1DI)) ++ } else { ++ Return (BATS) ++ } ++ } ++ ++ Method (_STA, 0, NotSerialized) ++ { ++ if (B1PR) { ++ Return (0x1f) ++ } else { ++ Return (0x0f) ++ } ++ } ++} +Index: src/mainboard/lenovo/x60/acpi/beep.asl +=================================================================== +--- src/mainboard/lenovo/x60/acpi/beep.asl (Revision 0) ++++ src/mainboard/lenovo/x60/acpi/beep.asl (Revision 6368) +@@ -0,0 +1,32 @@ ++/* ++ * This file is part of the coreboot project. ++ * ++ * Copyright (c) 2011 Sven Schnelle ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; version 2 of ++ * the License. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, ++ * MA 02110-1301 USA ++ */ ++ ++Field(ERAM, ByteAcc, NoLock, Preserve) ++{ ++ Offset (0x06), ++ SNDS, 8 /* Write to this register to generate sound */ ++ ++} ++ ++Method(BEEP, 1, NotSerialized) ++{ ++ Store (Arg0, SNDS) ++} +Index: src/mainboard/lenovo/x60/acpi/gpe.asl +=================================================================== +Index: src/mainboard/lenovo/x60/acpi/mainboard.asl +=================================================================== +Index: src/mainboard/lenovo/x60/acpi/thermal.asl +=================================================================== +Index: src/mainboard/lenovo/x60/dsdt.asl +=================================================================== +--- src/mainboard/lenovo/x60/dsdt.asl (Revision 0) ++++ src/mainboard/lenovo/x60/dsdt.asl (Revision 6368) +@@ -0,0 +1,56 @@ ++/* ++ * This file is part of the coreboot project. ++ * ++ * Copyright (C) 2007-2009 coresystems GmbH ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; version 2 of ++ * the License. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, ++ * MA 02110-1301 USA ++ */ ++ ++DefinitionBlock( ++ "dsdt.aml", ++ "DSDT", ++ 0x03, // DSDT revision: ACPI v3.0 ++ "COREv4", // OEM id ++ "COREBOOT", // OEM table id ++ 0x20090419 // OEM revision ++) ++{ ++ // Some generic macros ++ #include "acpi/platform.asl" ++ ++ // global NVS and variables ++ #include "../../../southbridge/intel/i82801gx/acpi/globalnvs.asl" ++ ++ // General Purpose Events ++ #include "acpi/gpe.asl" ++ ++ // mainboard specific devices ++ #include "acpi/mainboard.asl" ++ ++ // Thermal Zone ++ #include "acpi/thermal.asl" ++ ++ Scope (\_SB) { ++ Device (PCI0) ++ { ++ #include "../../../northbridge/intel/i945/acpi/i945.asl" ++ #include "../../../southbridge/intel/i82801gx/acpi/ich7.asl" ++ } ++ } ++ ++ /* Chipset specific sleep states */ ++ #include "../../../southbridge/intel/i82801gx/acpi/sleepstates.asl" ++} diff --git a/test/data/IDF_DiffTest/test-01-svn-new-files.expected b/test/data/IDF_DiffTest/test-01-svn-new-files.expected new file mode 100644 index 0000000..64111b1 --- /dev/null +++ b/test/data/IDF_DiffTest/test-01-svn-new-files.expected @@ -0,0 +1 @@ +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:57:{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:"}";}i:56;a:3:{i:0;s:1:"0";i:1;i:57;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:"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 new file mode 100644 index 0000000..8e6bf24 --- /dev/null +++ b/test/data/IDF_DiffTest/test-02-svn-new-files-with-properties.diff @@ -0,0 +1,389 @@ +Index: LinuxBIOSv1/src/include/cpu/i786/cpufixup.h +=================================================================== +--- LinuxBIOSv1/src/include/cpu/i786/cpufixup.h (Revision 0) ++++ LinuxBIOSv1/src/include/cpu/i786/cpufixup.h (Revision 665) +@@ -0,0 +1,11 @@ ++#ifndef CPU_I786_CPUFIXUP_H ++#define CPU_I786_CPUFIXUP_H ++ ++ ++void i786_cpufixup(struct mem_range *mem); ++ ++#define L3_CACHE_DISABLE 0x40 ++ ++#endif /* CPU_I786_CPUFIXUP_H */ ++ ++ + +Eigenschaftsänderungen: LinuxBIOSv1\src\include\cpu\i786\cpufixup.h +___________________________________________________________________ +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 + + 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 new file mode 100644 index 0000000..3a44f66 --- /dev/null +++ b/test/data/IDF_DiffTest/test-02-svn-new-files-with-properties.expected @@ -0,0 +1 @@ +a:5:{s:43:"LinuxBIOSv1/src/include/cpu/i786/cpufixup.h";a:2:{s:6:"chunks";a:1:{i:0;a:12:{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;}i:11;a:3:{i:0;s:1:"0";i:1;i:12;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:64:{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";}i:63;a:3:{i:0;s:1:"0";i:1;i:64;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:"63";}}}}s:37:"LinuxBIOSv1/src/config/linuxbios_c.ld";a:2:{s:6:"chunks";a:1:{i:0;a:106:{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:"}";}i:105;a:3:{i:0;s:1:"0";i:1;i:106;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:"105";}}}}s:49:"LinuxBIOSv1/src/arch/i386/include/arch/rom_segs.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: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 */";}i:10;a:3:{i:0;s:1:"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:"10";}}}}s:39:"LinuxBIOSv1/src/arch/i386/lib/c_start.S";a:2:{s:6:"chunks";a:1:{i:0;a:136:{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";}i:135;a:3:{i:0;s:1:"0";i:1;i:136;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:"135";}}}}} \ No newline at end of file diff --git a/test/data/IDF_DiffTest/test-03-mtn-new-file-single-line.diff b/test/data/IDF_DiffTest/test-03-mtn-new-file-single-line.diff new file mode 100644 index 0000000..69f6a1c --- /dev/null +++ b/test/data/IDF_DiffTest/test-03-mtn-new-file-single-line.diff @@ -0,0 +1,13 @@ +# +# old_revision [] +# +# add_dir "" +# +# add_file "a" +# content [03cfd743661f07975fa2f1220c5194cbaff48451] +# +============================================================ +--- /dev/null ++++ a 03cfd743661f07975fa2f1220c5194cbaff48451 +@@ -0,0 +1 @@ ++abc 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 new file mode 100644 index 0000000..dc9638e --- /dev/null +++ b/test/data/IDF_DiffTest/test-03-mtn-new-file-single-line.expected @@ -0,0 +1 @@ +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:1:"0";i:1;i:2;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:1:{i:0;s:1:"1";}}}}} \ No newline at end of file diff --git a/test/data/IDF_DiffTest/test-04-mtn-new-file-multi-lines.diff b/test/data/IDF_DiffTest/test-04-mtn-new-file-multi-lines.diff new file mode 100644 index 0000000..f37538d --- /dev/null +++ b/test/data/IDF_DiffTest/test-04-mtn-new-file-multi-lines.diff @@ -0,0 +1,14 @@ +# +# old_revision [] +# +# add_dir "" +# +# add_file "a" +# content [9decd90bc2eedb78c74d5059a6bb6244dd2d0562] +# +============================================================ +--- /dev/null ++++ a 9decd90bc2eedb78c74d5059a6bb6244dd2d0562 +@@ -0,0 +1,2 @@ ++abc ++abc 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 new file mode 100644 index 0000000..6e472d2 --- /dev/null +++ b/test/data/IDF_DiffTest/test-04-mtn-new-file-multi-lines.expected @@ -0,0 +1 @@ +a:1:{s:1:"a";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:3:"abc";}i:1;a:3:{i:0;s:0:"";i:1;i:2;i:2;s:3:"abc";}i:2;a:3:{i:0;s:1:"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:"2";}}}}} \ No newline at end of file diff --git a/test/data/IDF_DiffTest/test-05-mtn-change-to-single-line.diff b/test/data/IDF_DiffTest/test-05-mtn-change-to-single-line.diff new file mode 100644 index 0000000..18fd4f5 --- /dev/null +++ b/test/data/IDF_DiffTest/test-05-mtn-change-to-single-line.diff @@ -0,0 +1,13 @@ +# +# old_revision [1f31865f7c91525e96aa7615e660303ca04c708f] +# +# patch "a" +# from [9decd90bc2eedb78c74d5059a6bb6244dd2d0562] +# to [03cfd743661f07975fa2f1220c5194cbaff48451] +# +============================================================ +--- a 9decd90bc2eedb78c74d5059a6bb6244dd2d0562 ++++ a 03cfd743661f07975fa2f1220c5194cbaff48451 +@@ -1,2 +1 @@ abc + abc +-abc 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 new file mode 100644 index 0000000..ea34c2e --- /dev/null +++ b/test/data/IDF_DiffTest/test-05-mtn-change-to-single-line.expected @@ -0,0 +1 @@ +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:3:"abc";}i:1;a:3:{i:0;i:2;i:1;s:0:"";i:2;s:3:"abc";}i:2;a:3:{i:0;i:3;i:1;i:2;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:"2";}i:1;a:1:{i:0;s:1:"1";}}}}} \ No newline at end of file diff --git a/test/data/IDF_DiffTest/test-06-mtn-single-line.diff b/test/data/IDF_DiffTest/test-06-mtn-single-line.diff new file mode 100644 index 0000000..1f350dc --- /dev/null +++ b/test/data/IDF_DiffTest/test-06-mtn-single-line.diff @@ -0,0 +1,13 @@ +# +# old_revision [019c2c7a876819db59add22c98c7939e32d81161] +# +# patch "a" +# from [03cfd743661f07975fa2f1220c5194cbaff48451] +# to [023cc93272e5cbc11f128ffc90fbbe42f6f08d8c] +# +============================================================ +--- a 03cfd743661f07975fa2f1220c5194cbaff48451 ++++ a 023cc93272e5cbc11f128ffc90fbbe42f6f08d8c +@@ -1 +1 @@ +-abc ++ls diff --git a/test/data/IDF_DiffTest/test-06-mtn-single-line.expected b/test/data/IDF_DiffTest/test-06-mtn-single-line.expected new file mode 100644 index 0000000..2becda6 --- /dev/null +++ b/test/data/IDF_DiffTest/test-06-mtn-single-line.expected @@ -0,0 +1 @@ +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:0:"";i:2;s:3:"abc";}i:1;a:3:{i:0;s:0:"";i:1;s:1:"1";i:2;s:2:"ls";}i:2;a:3:{i:0;i:2;i:1;i:2;i:2;b:0;}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:1:{i:0;s:1:"1";}i:1;a:1:{i:0;s:1:"1";}}}}} \ No newline at end of file diff --git a/test/data/IDF_DiffTest/test-07-mtn-single-line-to-multiline.diff b/test/data/IDF_DiffTest/test-07-mtn-single-line-to-multiline.diff new file mode 100644 index 0000000..c813aab --- /dev/null +++ b/test/data/IDF_DiffTest/test-07-mtn-single-line-to-multiline.diff @@ -0,0 +1,13 @@ +# +# old_revision [7950c8a4e13342d1dca94c05efc49b291ab327f5] +# +# patch "a" +# from [023cc93272e5cbc11f128ffc90fbbe42f6f08d8c] +# to [b3d40c241ccfd6ff1a06047a9f6d609227d2893f] +# +============================================================ +--- a 023cc93272e5cbc11f128ffc90fbbe42f6f08d8c ++++ a b3d40c241ccfd6ff1a06047a9f6d609227d2893f +@@ -1 +1,2 @@ ls + ls ++ls 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 new file mode 100644 index 0000000..c714d52 --- /dev/null +++ b/test/data/IDF_DiffTest/test-07-mtn-single-line-to-multiline.expected @@ -0,0 +1 @@ +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;s:0:"";i:1;i:2;i:2;s:2:"ls";}i:2;a:3:{i:0;i:2;i:1;i:3;i:2;b:0;}}}s:10:"chunks_def";a:1:{i:0;a:2:{i:0;a:1:{i:0;s:1:"1";}i:1;a:2:{i:0;s:1:"1";i:1;s:1:"2";}}}}} \ No newline at end of file diff --git a/test/data/IDF_DiffTest/test-08-mtn-multiline-diff-with-property.diff b/test/data/IDF_DiffTest/test-08-mtn-multiline-diff-with-property.diff new file mode 100644 index 0000000..ba0343c --- /dev/null +++ b/test/data/IDF_DiffTest/test-08-mtn-multiline-diff-with-property.diff @@ -0,0 +1,18 @@ +# +# old_revision [9b51b47c6fdd4918f970b81a8672503b8bb30402] +# +# patch "a" +# from [b3d40c241ccfd6ff1a06047a9f6d609227d2893f] +# to [4ba8cb789fc34bd4557b5bbf7cb9f4b68b3a9f5e] +# +# set "a" +# attr "foo" +# value "bar" +# +============================================================ +--- a b3d40c241ccfd6ff1a06047a9f6d609227d2893f ++++ a 4ba8cb789fc34bd4557b5bbf7cb9f4b68b3a9f5e +@@ -1,2 +1,3 @@ ls + ls + ls ++l 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 new file mode 100644 index 0000000..526f1c2 --- /dev/null +++ b/test/data/IDF_DiffTest/test-08-mtn-multiline-diff-with-property.expected @@ -0,0 +1 @@ +a:1:{s:1:"a";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: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";}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:"2";}i:1;a:2:{i:0;s:1:"1";i:1;s:1:"3";}}}}} \ No newline at end of file diff --git a/test/data/IDF_DiffTest/test-09-hg-new-file.diff b/test/data/IDF_DiffTest/test-09-hg-new-file.diff new file mode 100644 index 0000000..c8ac290 --- /dev/null +++ b/test/data/IDF_DiffTest/test-09-hg-new-file.diff @@ -0,0 +1,5 @@ +diff -r 000000000000 -r 5203a6d9dc87 a +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ b/a Wed Mar 16 16:12:09 2011 +0100 +@@ -0,0 +1,1 @@ ++foo diff --git a/test/data/IDF_DiffTest/test-09-hg-new-file.expected b/test/data/IDF_DiffTest/test-09-hg-new-file.expected new file mode 100644 index 0000000..cc41046 --- /dev/null +++ b/test/data/IDF_DiffTest/test-09-hg-new-file.expected @@ -0,0 +1 @@ +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:"foo";}i:1;a:3:{i:0;s:1:"0";i:1;i:2;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:"1";}}}}} \ No newline at end of file diff --git a/test/data/IDF_DiffTest/test-10-hg-change.diff b/test/data/IDF_DiffTest/test-10-hg-change.diff new file mode 100644 index 0000000..515037c --- /dev/null +++ b/test/data/IDF_DiffTest/test-10-hg-change.diff @@ -0,0 +1,6 @@ +diff -r 5203a6d9dc87 -r 76fd636881a3 a +--- a/a Wed Mar 16 16:12:09 2011 +0100 ++++ b/a Wed Mar 16 16:13:23 2011 +0100 +@@ -1,1 +1,2 @@ + foo ++bf diff --git a/test/data/IDF_DiffTest/test-10-hg-change.expected b/test/data/IDF_DiffTest/test-10-hg-change.expected new file mode 100644 index 0000000..f4a3f1a --- /dev/null +++ b/test/data/IDF_DiffTest/test-10-hg-change.expected @@ -0,0 +1 @@ +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:3:"foo";}i:1;a:3:{i:0;s:0:"";i:1;i:2;i:2;s:2:"bf";}i:2;a:3:{i:0;i:2;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:"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 diff --git a/test/data/IDF_DiffTest/test-11-git-add-singleline-file.diff b/test/data/IDF_DiffTest/test-11-git-add-singleline-file.diff new file mode 100644 index 0000000..c88fe6c --- /dev/null +++ b/test/data/IDF_DiffTest/test-11-git-add-singleline-file.diff @@ -0,0 +1,13 @@ +commit c28f1dd026dd832398d699fa1fee0cce0562f350 +Author: Patrick Georgi +Date: Wed Mar 16 15:14:41 2011 +0100 + + foo + +diff --git a/a b/a +new file mode 100644 +index 0000000..8baef1b +--- /dev/null ++++ b/a +@@ -0,0 +1 @@ ++abc 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 new file mode 100644 index 0000000..dc9638e --- /dev/null +++ b/test/data/IDF_DiffTest/test-11-git-add-singleline-file.expected @@ -0,0 +1 @@ +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:1:"0";i:1;i:2;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:1:{i:0;s:1:"1";}}}}} \ No newline at end of file diff --git a/test/data/IDF_DiffTest/test-12-git-add-multiline-file.diff b/test/data/IDF_DiffTest/test-12-git-add-multiline-file.diff new file mode 100644 index 0000000..06747a3 --- /dev/null +++ b/test/data/IDF_DiffTest/test-12-git-add-multiline-file.diff @@ -0,0 +1,9 @@ +diff --git a/b b/b +new file mode 100644 +index 0000000..bfdaa0f +--- /dev/null ++++ b/b +@@ -0,0 +1,3 @@ ++a ++b ++ 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 new file mode 100644 index 0000000..338d967 --- /dev/null +++ b/test/data/IDF_DiffTest/test-12-git-add-multiline-file.expected @@ -0,0 +1 @@ +a:1:{s:1:"b";a:2:{s:6:"chunks";a:1:{i:0;a:4:{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;}i:3;a:3:{i:0;s:1:"0";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:"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 diff --git a/test/data/IDF_DiffTest/test-13-git-change-file.diff b/test/data/IDF_DiffTest/test-13-git-change-file.diff new file mode 100644 index 0000000..7d90a13 --- /dev/null +++ b/test/data/IDF_DiffTest/test-13-git-change-file.diff @@ -0,0 +1,9 @@ +diff --git a/b b/b +index bfdaa0f..e528a92 100644 +--- a/b ++++ b/b +@@ -1,3 +1,4 @@ + a ++l + b + diff --git a/test/data/IDF_DiffTest/test-13-git-change-file.expected b/test/data/IDF_DiffTest/test-13-git-change-file.expected new file mode 100644 index 0000000..766353f --- /dev/null +++ b/test/data/IDF_DiffTest/test-13-git-change-file.expected @@ -0,0 +1 @@ +a:1:{s:1:"b";a:2:{s:6:"chunks";a:1:{i:0;a:5:{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;}i:4;a:3:{i:0;i:4;i:1;i:5;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 diff --git a/test/data/IDF_DiffTest/test-14-git-change-file-to-singleline.diff b/test/data/IDF_DiffTest/test-14-git-change-file-to-singleline.diff new file mode 100644 index 0000000..a1f8075 --- /dev/null +++ b/test/data/IDF_DiffTest/test-14-git-change-file-to-singleline.diff @@ -0,0 +1,8 @@ +diff --git a/b b/b +index bfdaa0f..7898192 100644 +--- a/b ++++ b/b +@@ -1,3 +1 @@ + a +-b +- 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 new file mode 100644 index 0000000..613ce3b --- /dev/null +++ b/test/data/IDF_DiffTest/test-14-git-change-file-to-singleline.expected @@ -0,0 +1 @@ +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;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;}i:3;a:3:{i:0;i:4;i:1;i:2;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:1:{i:0;s:1:"1";}}}}}