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";}}}}}