/** @file
|
ACPI DSDT table
|
|
|
Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
**/
|
|
// Define Port 80 as an ACPI Operating Region to use for debugging. Please
|
// note that the Intel CRBs have the ability to ouput a Word to
|
// Port 80h for debugging purposes, so the model implemented here may not be
|
// able to be used on OEM Designs.
|
|
OperationRegion(PRT0,SystemIO,0x80,2)
|
Field(PRT0,WordAcc,Lock,Preserve)
|
{
|
P80B, 16
|
}
|
|
// Port 80h Update:
|
// Update 2 bytes of Port 80h.
|
//
|
// Arguments:
|
// Arg0: 0 = Write Port 80h
|
// 1 = Write Port 81h
|
// Arg1: 8-bit Value to write
|
//
|
// Return Value:
|
// None
|
|
Name(P80T, 0) // temp buffer for P80
|
|
Method(D8XH,2,Serialized)
|
{
|
If(LEqual(Arg0,0)) // Write Port 80h
|
{
|
Store(Or(And(P80T,0xFF00),Arg1),P80T)
|
}
|
If(LEqual(Arg0,1)) // Write Port 81h
|
{
|
Store(Or(And(P80T,0x00FF),ShiftLeft(Arg1,8)),P80T)
|
}
|
Store(P80T,P80B)
|
}
|
|
//
|
// Define SW SMI port as an ACPI Operating Region to use for generate SW SMI.
|
//
|
OperationRegion(SPRT,SystemIO, 0xB2,2)
|
Field (SPRT, ByteAcc, Lock, Preserve) {
|
SSMP, 8
|
}
|
|
// The _PIC Control Method is optional for ACPI design. It allows the
|
// OS to inform the ASL code which interrupt controller is being used,
|
// the 8259 or APIC. The reference code in this document will address
|
// PCI IRQ Routing and resource allocation for both cases.
|
//
|
// The values passed into _PIC are:
|
// 0 = 8259
|
// 1 = IOAPIC
|
|
Method(\_PIC,1)
|
{
|
Store(Arg0,PICM)
|
}
|
|
Scope (\)
|
{
|
//
|
// Global Name, returns current Interrupt controller mode;
|
// updated from _PIC control method
|
//
|
Name(PICM, 0)
|
}
|
|