https://bugzilla.tianocore.org/show_bug.cgi?id=1373 Replace BSD 2-Clause License with BSD+Patent License. This change is based on the following emails: https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html RFCs with detailed process for the license change: V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
212 lines
4.2 KiB
C
212 lines
4.2 KiB
C
/** @file
|
|
File to contain all the hardware specific stuff for the Smm QNCn dispatch protocol.
|
|
|
|
Copyright (c) 2013-2015 Intel Corporation.
|
|
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
|
|
**/
|
|
|
|
//
|
|
// Include common header file for this module.
|
|
//
|
|
#include "CommonHeader.h"
|
|
|
|
#include "QNCSmmHelpers.h"
|
|
|
|
QNC_SMM_SOURCE_DESC QNCN_SOURCE_DESCS[NUM_ICHN_TYPES] = {
|
|
|
|
// QNCnMch (0)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnPme (1)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnRtcAlarm (2)
|
|
{
|
|
QNC_SMM_NO_FLAGS,
|
|
{
|
|
{{ACPI_ADDR_TYPE, {R_QNC_PM1BLK_PM1E}}, S_QNC_PM1BLK_PM1E, N_QNC_PM1BLK_PM1E_RTC},
|
|
NULL_BIT_DESC_INITIALIZER
|
|
},
|
|
{
|
|
{{ACPI_ADDR_TYPE, {R_QNC_PM1BLK_PM1S}}, S_QNC_PM1BLK_PM1S, N_QNC_PM1BLK_PM1S_RTC}
|
|
}
|
|
},
|
|
|
|
// QNCnRingIndicate (3)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnAc97Wake (4)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnSerialIrq (5)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnY2KRollover (6)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnTcoTimeout (7)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnOsTco (8)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnNmi (9)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnIntruderDetect (10)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnBiosWp (11)
|
|
{
|
|
QNC_SMM_CLEAR_WITH_ZERO,
|
|
{
|
|
{
|
|
{
|
|
PCI_ADDR_TYPE,
|
|
{
|
|
(
|
|
(PCI_BUS_NUMBER_QNC << 24) |
|
|
(PCI_DEVICE_NUMBER_QNC_LPC << 16) |
|
|
(PCI_FUNCTION_NUMBER_QNC_LPC << 8) |
|
|
R_QNC_LPC_BIOS_CNTL
|
|
)
|
|
}
|
|
},
|
|
S_QNC_LPC_BIOS_CNTL,
|
|
N_QNC_LPC_BIOS_CNTL_BLE
|
|
},
|
|
NULL_BIT_DESC_INITIALIZER
|
|
},
|
|
{
|
|
{
|
|
{
|
|
PCI_ADDR_TYPE,
|
|
{
|
|
(
|
|
(PCI_BUS_NUMBER_QNC << 24) |
|
|
(PCI_DEVICE_NUMBER_QNC_LPC << 16) |
|
|
(PCI_FUNCTION_NUMBER_QNC_LPC << 8) |
|
|
R_QNC_LPC_BIOS_CNTL
|
|
)
|
|
}
|
|
},
|
|
S_QNC_LPC_BIOS_CNTL,
|
|
N_QNC_LPC_BIOS_CNTL_BIOSWE
|
|
}
|
|
}
|
|
},
|
|
|
|
// QNCnMcSmi (12)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnPmeB0 (13)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnThrmSts (14)
|
|
{
|
|
QNC_SMM_SCI_EN_DEPENDENT,
|
|
{
|
|
{{GPE_ADDR_TYPE, {R_QNC_GPE0BLK_GPE0E}}, S_QNC_GPE0BLK_GPE0E, N_QNC_GPE0BLK_GPE0E_THRM},
|
|
NULL_BIT_DESC_INITIALIZER
|
|
},
|
|
{
|
|
{{GPE_ADDR_TYPE, {R_QNC_GPE0BLK_GPE0S}}, S_QNC_GPE0BLK_GPE0S, N_QNC_GPE0BLK_GPE0S_THRM}
|
|
}
|
|
},
|
|
|
|
// QNCnSmBus (15)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnIntelUsb2 (16)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnMonSmi7 (17)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnMonSmi6 (18)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnMonSmi5 (19)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnMonSmi4 (20)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnDevTrap13 (21)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnDevTrap12 (22)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnDevTrap11 (23)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnDevTrap10 (24)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnDevTrap9 (25)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnDevTrap8 (26)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnDevTrap7 (27)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnDevTrap6 (28)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnDevTrap5 (29)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnDevTrap3 (30)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnDevTrap2 (31)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnDevTrap1 (32)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnDevTrap0 (33)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnIoTrap3 (34)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnIoTrap2 (35)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnIoTrap1 (36)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnIoTrap0 (37)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnPciExpress (38)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnMonitor (39)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnSpi (40)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnQRT (41)
|
|
NULL_SOURCE_DESC_INITIALIZER,
|
|
|
|
// QNCnGpioUnlock (42)
|
|
NULL_SOURCE_DESC_INITIALIZER
|
|
};
|
|
|
|
VOID
|
|
QNCSmmQNCnClearSource(
|
|
QNC_SMM_SOURCE_DESC *SrcDesc
|
|
)
|
|
{
|
|
QNCSmmClearSource (SrcDesc);
|
|
}
|