/* * This file is part of the coreboot project. * * Copyright (C) 2007-2009 coresystems GmbH * Copyright (C) 2014 Google Inc. * Copyright (C) 2015 Intel Corporation. * * 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. */ /* Enable ACPI _SWS methods */ #include /* Port 80 POST */ OperationRegion (POST, SystemIO, 0x80, 1) Field (POST, ByteAcc, Lock, Preserve) { DBG0, 8 } /* IO-Trap at 0x800. * This is the ACPI->SMI communication interface. */ OperationRegion (IO_T, SystemIO, 0x800, 0x10) Field (IO_T, ByteAcc, NoLock, Preserve) { Offset (0x8), TRP0, 8 /* IO-Trap at 0x808 */ } /* 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) { } /* The _WAK method is called on system wakeup */ Method (_WAK, 1) { Return (Package (){ 0, 0 }) }