12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- /** @file
- ACPI DSDT table
- Copyright (c) 2020, 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)
- }
|