American Megatrends, Inc.

SwitchableGraphics

Copyright

Release Notes

© American Megatrends, Inc.


Release Notes - NDA Required

Component Information:
Component Title: SwithableGraphics
Component Reference Name: SwitchableGraphics
Component Type: eModule
Release Date: 2012-09-07
Source Control Label: 4.6.5.3_SG_000
Source Control Location: SS: ALASKA;$/Alaska/SOURCE/Modules/SharkBayRefCodes/SwitchableGraphics/;
Dependencies
Component Dependencies
ONE
Dependent Component Title: Intel System Agent
Dependent Component Reference Name:Intel System Agent
Dependent Source Control Label: 4.6.5.3_Intel_SA-RC_061_012 or above
Dependent Source Control Location: SS: Alaska;$/Alaska/BIN/Chipset/Intel/NorthBridge/Haswell;

Non-Compiled BIN and LIB File(s) within this Component:
NONE
Component Description:
This is an eModule of Intel Smart Connect Technology
Filename | Description
Main Component | Root\Board\EM\SwitchableGraphics
SwitchableGraphics.cif | Component information file for the eModule.
SwitchableGraphics.mak | NMAKE scripts to build the SwitchableGraphics Setup.
SwitchableGraphics.sd | Setup options and information displayed in bios setup.
SwitchableGraphics.sdl | SDL file for SwitchableGraphics.
SwitchableGraphics.uni | Strings that are displayed in Setup.
Sg TPV
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv
SgTpvDxe.c | This file contains the etry point of SgTpv Support driver.
SgTpvDxe.dxs | SgTpv Dxe Driver dependency file.
SgTpvPei.c | This file contains the PEI SG Entry point SgPei_Init.
SgTpvPei.dxs | SgTpv PEIM dependency file.
SgTpv.sdl | SDL file for SgTpv.
SgTpv.cif | Component information for the Module Part.
SgTpv.mak | Make file to build the ModulePart.
Sg nVidia API
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\MXM30\
MXM30.cif | Component information for the Module Part.
MXM30.mak | Make file to build the ModulePart.
MXM30.sdl | SDL file for MXM30.
Mxm30Dxe.c | This file contains the etry point of EFI MXM30 Support driver.
Mxm30Dxe.dxs | Dependency expression file for.
Mxm30Efi.c | This file installs Mxm Efi protocol,Mxm legacy int15 and Acpi interfaces.
Mxm30ElkCreek4.mxm | MXM module file for Elk creek IV.
Mxm30ElkCreekIII.mxm | MXM module file for Elk creek III.
MxmInt15.asm | MXM INT15 function implememtation and nVidia's NBCI Int15 supplement functions.
NBCIEfi.c | This file installs Nbci EFI protocol.
MXM Protocol
ModulePart 		Root\Include\Protocol
MXMProtocol.cif | Component information for the Module Part.
Mxm30.h | Mxm30 related constants and type definitions.
Nbci.h | Nbci related constants and type definitions.
Sg nVidia Optimus SMM
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\NvOptimusSMM\
NvOptimusSMM.cif | Component information for the Module Part.
NvOptimusSMM.asl | Asl code for NvOptimus SMM.
NvOptimusSMM.c | Code for NvOptimus SMI events.
NvOptimusSMM.dxs | Dependency file for the NvOptimus Smi driver.
NvOptimusSMM.mak | Make file to build the ModulePart.
NvOptimusSMM.sdl | SDL file for NvOpTimusSMM.
NvOptimusSMM.ssp | Cmos Manager Setup Script Processor.
Sg Acpi Tables
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\
SgTpvAcpiTables.cif | Component information for the Module Part.
SgTpvAcpiTables.c | Install Acpi Tables for Tpv's Switchable Graphics.
SgTpvAcpiTables.h | SgTpv Acpi Tables related constants and type definitions.
SgTpvAcpiTables.mak | Make file to build the ModulePart.
SgTpvAcpiTables.sdl | SDL file for SgTpvAcpiTables.
Ati
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\
SgAti.cif | Component information for the Module Part.
*.asl | Asl code for Ati card driver.
nVidia
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\
SgNvidia.cif | Component information for the Module Part.
*.asl | Asl code for nVidia card driver.
OEMSSDT
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\OEMSSDT\
OEMSSDT.cif | Component information for the Module Part.
*.asl | Sample Asl code for OEM card driver.
Sg Acpi S3 Save
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiS3Save\
SgTpvAcpiS3Save.cif | Component information for the Module Part.
SgTpvAcpiS3Save.c | This file will save SG TPV related offset date for S3 resume restore.
SgTpvAcpiS3Save.dxs | SgTpvAcpiS3Save Dxe Driver dependency file.
SgTpvAcpiS3Save.mak | Make file to build the ModulePart.
SgTpvAcpiS3Save.sdl | SDL file for SgTpvAcpiS3Save.
AMI Build Tools:
Tools Label: 4.5.5_TOOLS_40 , Dated: 2012-06
Visual eBios: RSS 5.73.0239, Dated: 2012-06-21
Compiler Tool(s): Microsoft’s Windows Driver Kit (WDK) Ver. 7600.16385.1
Known issue:
None
Release History:
First release for sharkbay TPV module support.

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: SwithableGraphics
Component Reference Name: SwitchableGraphics
Component Type: eModule
Release Date: 2012-09-24
Source Control Label: 4.6.5.3_SG_001
Source Control Location: SS: ALASKA;$/Alaska/SOURCE/Modules/SharkBayRefCodes/SwitchableGraphics/;
Dependencies
Component Dependencies
ONE
Dependent Component Title: Intel System Agent
Dependent Component Reference Name:Intel System Agent
Dependent Source Control Label: 4.6.5.3_Intel_SA-RC_061_012 or above
Dependent Source Control Location: SS: Alaska;$/Alaska/BIN/Chipset/Intel/NorthBridge/Haswell;

Non-Compiled BIN and LIB File(s) within this Component:
NONE
Component Description:
This is an eModule of Intel Smart Connect Technology
Filename | Description
Main Component | Root\Board\EM\SwitchableGraphics
SwitchableGraphics.cif | Component information file for the eModule.
SwitchableGraphics.mak | NMAKE scripts to build the SwitchableGraphics Setup.
SwitchableGraphics.sd | Setup options and information displayed in bios setup.
SwitchableGraphics.sdl | SDL file for SwitchableGraphics.
SwitchableGraphics.uni | Strings that are displayed in Setup.
Sg TPV
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv
SgTpvDxe.c | This file contains the etry point of SgTpv Support driver.
SgTpvDxe.dxs | SgTpv Dxe Driver dependency file.
SgTpvPei.c | This file contains the PEI SG Entry point SgPei_Init.
SgTpvPei.dxs | SgTpv PEIM dependency file.
SgTpv.sdl | SDL file for SgTpv.
SgTpv.cif | Component information for the Module Part.
SgTpv.mak | Make file to build the ModulePart.
Sg nVidia API
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\MXM30\
MXM30.cif | Component information for the Module Part.
MXM30.mak | Make file to build the ModulePart.
MXM30.sdl | SDL file for MXM30.
Mxm30Dxe.c | This file contains the etry point of EFI MXM30 Support driver.
Mxm30Dxe.dxs | Dependency expression file for.
Mxm30Efi.c | This file installs Mxm Efi protocol,Mxm legacy int15 and Acpi interfaces.
Mxm30ElkCreek4.mxm | MXM module file for Elk creek IV.
Mxm30ElkCreekIII.mxm | MXM module file for Elk creek III.
MxmInt15.asm | MXM INT15 function implememtation and nVidia's NBCI Int15 supplement functions.
NBCIEfi.c | This file installs Nbci EFI protocol.
MXM Protocol
ModulePart 		Root\Include\Protocol
MXMProtocol.cif | Component information for the Module Part.
Mxm30.h | Mxm30 related constants and type definitions.
Nbci.h | Nbci related constants and type definitions.
Sg nVidia Optimus SMM
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\NvOptimusSMM\
NvOptimusSMM.cif | Component information for the Module Part.
NvOptimusSMM.asl | Asl code for NvOptimus SMM.
NvOptimusSMM.c | Code for NvOptimus SMI events.
NvOptimusSMM.dxs | Dependency file for the NvOptimus Smi driver.
NvOptimusSMM.mak | Make file to build the ModulePart.
NvOptimusSMM.sdl | SDL file for NvOpTimusSMM.
NvOptimusSMM.ssp | Cmos Manager Setup Script Processor.
Sg Acpi Tables
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\
SgTpvAcpiTables.cif | Component information for the Module Part.
SgTpvAcpiTables.c | Install Acpi Tables for Tpv's Switchable Graphics.
SgTpvAcpiTables.h | SgTpv Acpi Tables related constants and type definitions.
SgTpvAcpiTables.mak | Make file to build the ModulePart.
SgTpvAcpiTables.sdl | SDL file for SgTpvAcpiTables.
Ati
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\
SgAti.cif | Component information for the Module Part.
*.asl | Asl code for Ati card driver.
nVidia
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\
SgNvidia.cif | Component information for the Module Part.
*.asl | Asl code for nVidia card driver.
OEMSSDT
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\OEMSSDT\
OEMSSDT.cif | Component information for the Module Part.
*.asl | Sample Asl code for OEM card driver.
Sg Acpi S3 Save
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiS3Save\
SgTpvAcpiS3Save.cif | Component information for the Module Part.
SgTpvAcpiS3Save.c | This file will save SG TPV related offset date for S3 resume restore.
SgTpvAcpiS3Save.dxs | SgTpvAcpiS3Save Dxe Driver dependency file.
SgTpvAcpiS3Save.mak | Make file to build the ModulePart.
SgTpvAcpiS3Save.sdl | SDL file for SgTpvAcpiS3Save.
AMI Build Tools:
Tools Label: 4.5.5_TOOLS_40 , Dated: 2012-06
Visual eBios: RSS 5.73.0239, Dated: 2012-06-21
Compiler Tool(s): Microsoft’s Windows Driver Kit (WDK) Ver. 7600.16385.1
File Changed:
[TAG] None
[Category] Improvement
[Description] Update for Intel Reference Code v0.70
[Files] SgTpv.mak
Known issue:
None
Release History:
4.6.5.3_SG_000.htm

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: SwithableGraphics
Component Reference Name: SwitchableGraphics
Component Type: eModule
Release Date: 2012-10-19
Source Control Label: 4.6.5.3_SG_002
Source Control Location: SS: ALASKA;$/Alaska/SOURCE/Modules/SharkBayRefCodes/SwitchableGraphics/;
Dependencies
Component Dependencies
ONE
Dependent Component Title: Intel System Agent
Dependent Component Reference Name:Intel System Agent
Dependent Source Control Label: 4.6.5.3_Intel_SA-RC_071_019b
Dependent Source Control Location: SS: Alaska;$/Alaska/BIN/Chipset/Intel/NorthBridge/Haswell;

Non-Compiled BIN and LIB File(s) within this Component:
NONE
Component Description:
This is an eModule of Intel Smart Connect Technology
Filename | Description
Main Component | Root\Board\EM\SwitchableGraphics
SwitchableGraphics.cif | Component information file for the eModule.
SwitchableGraphics.mak | NMAKE scripts to build the SwitchableGraphics Setup.
SwitchableGraphics.sd | Setup options and information displayed in bios setup.
SwitchableGraphics.sdl | SDL file for SwitchableGraphics.
SwitchableGraphics.uni | Strings that are displayed in Setup.
Sg TPV
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv
SgTpvDxe.c | This file contains the etry point of SgTpv Support driver.
SgTpvDxe.dxs | SgTpv Dxe Driver dependency file.
SgTpvPei.c | This file contains the PEI SG Entry point SgPei_Init.
SgTpvPei.dxs | SgTpv PEIM dependency file.
SgTpv.sdl | SDL file for SgTpv.
SgTpv.cif | Component information for the Module Part.
SgTpv.mak | Make file to build the ModulePart.
Sg nVidia API
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\MXM30\
MXM30.cif | Component information for the Module Part.
MXM30.mak | Make file to build the ModulePart.
MXM30.sdl | SDL file for MXM30.
Mxm30Dxe.c | This file contains the etry point of EFI MXM30 Support driver.
Mxm30Dxe.dxs | Dependency expression file for.
Mxm30Efi.c | This file installs Mxm Efi protocol,Mxm legacy int15 and Acpi interfaces.
Mxm30ElkCreek4.mxm | MXM module file for Elk creek IV.
Mxm30ElkCreekIII.mxm | MXM module file for Elk creek III.
MxmInt15.asm | MXM INT15 function implememtation and nVidia's NBCI Int15 supplement functions.
NBCIEfi.c | This file installs Nbci EFI protocol.
MXM Protocol
ModulePart 		Root\Include\Protocol
MXMProtocol.cif | Component information for the Module Part.
Mxm30.h | Mxm30 related constants and type definitions.
Nbci.h | Nbci related constants and type definitions.
Sg nVidia Optimus SMM
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\NvOptimusSMM\
NvOptimusSMM.cif | Component information for the Module Part.
NvOptimusSMM.asl | Asl code for NvOptimus SMM.
NvOptimusSMM.c | Code for NvOptimus SMI events.
NvOptimusSMM.dxs | Dependency file for the NvOptimus Smi driver.
NvOptimusSMM.mak | Make file to build the ModulePart.
NvOptimusSMM.sdl | SDL file for NvOpTimusSMM.
NvOptimusSMM.ssp | Cmos Manager Setup Script Processor.
Sg Acpi Tables
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\
SgTpvAcpiTables.cif | Component information for the Module Part.
SgTpvAcpiTables.c | Install Acpi Tables for Tpv's Switchable Graphics.
SgTpvAcpiTables.h | SgTpv Acpi Tables related constants and type definitions.
SgTpvAcpiTables.mak | Make file to build the ModulePart.
SgTpvAcpiTables.sdl | SDL file for SgTpvAcpiTables.
Ati
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\
SgAti.cif | Component information for the Module Part.
*.asl | Asl code for Ati card driver.
nVidia
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\
SgNvidia.cif | Component information for the Module Part.
*.asl | Asl code for nVidia card driver.
OEMSSDT
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\OEMSSDT\
OEMSSDT.cif | Component information for the Module Part.
*.asl | Sample Asl code for OEM card driver.
Sg Acpi S3 Save
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiS3Save\
SgTpvAcpiS3Save.cif | Component information for the Module Part.
SgTpvAcpiS3Save.c | This file will save SG TPV related offset date for S3 resume restore.
SgTpvAcpiS3Save.dxs | SgTpvAcpiS3Save Dxe Driver dependency file.
SgTpvAcpiS3Save.mak | Make file to build the ModulePart.
SgTpvAcpiS3Save.sdl | SDL file for SgTpvAcpiS3Save.
AMI Build Tools:
Tools Label: 4.5.5_TOOLS_40 , Dated: 2012-06
Visual eBios: RSS 5.73.0239, Dated: 2012-06-21
Compiler Tool(s): Microsoft’s Windows Driver Kit (WDK) Ver. 7600.16385.1
File Changed:
[TAG] None
[Category] Improvement
[Description] Update for Intel Reference Code v0.71
[Files] SgTpvAcpiS3save.c,SgTpvAcpiS3Save.mak,SgTpvAcpiTables.c,SgTpvAcpitables.h,NvOptimusSMM.c,NvOptimusSMM.mak
[TAG] None
[Category] Improvement
[Description] Save/store PCIE NV PCI register from 0 to 256 byte by Dword access while do _ON & OFF for NV SG
Save/restore TC/VC remapping setting register
[Files] NVdGPU.asl
Known issue:
None
Release History:
4.6.5.3_SG_001.htm
4.6.5.3_SG_000.htm

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: SwithableGraphics
Component Reference Name: SwitchableGraphics
Component Type: eModule
Release Date: 2012-11-20
Source Control Label: 4.6.5.3_SG_003
Source Control Location: SS: ALASKA;$/Alaska/SOURCE/Modules/SharkBayRefCodes/SwitchableGraphics/;
Dependencies
Component Dependencies
ONE
Dependent Component Title: Intel System Agent
Dependent Component Reference Name:Intel System Agent
Dependent Source Control Label: 4.6.5.3_Intel_SA-RC_080_021
Dependent Source Control Location: SS: Alaska;$/Alaska/BIN/Chipset/Intel/NorthBridge/Haswell;

Non-Compiled BIN and LIB File(s) within this Component:
NONE
Component Description:
This is an eModule of Intel Smart Connect Technology
Filename | Description
Main Component | Root\Board\EM\SwitchableGraphics
SwitchableGraphics.cif | Component information file for the eModule.
SwitchableGraphics.mak | NMAKE scripts to build the SwitchableGraphics Setup.
SwitchableGraphics.sd | Setup options and information displayed in bios setup.
SwitchableGraphics.sdl | SDL file for SwitchableGraphics.
SwitchableGraphics.uni | Strings that are displayed in Setup.
Sg TPV
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv
SgTpvDxe.c | This file contains the etry point of SgTpv Support driver.
SgTpvDxe.dxs | SgTpv Dxe Driver dependency file.
SgTpvPei.c | This file contains the PEI SG Entry point SgPei_Init.
SgTpvPei.dxs | SgTpv PEIM dependency file.
SgTpv.sdl | SDL file for SgTpv.
SgTpv.cif | Component information for the Module Part.
SgTpv.mak | Make file to build the ModulePart.
Sg nVidia API
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\MXM30\
MXM30.cif | Component information for the Module Part.
MXM30.mak | Make file to build the ModulePart.
MXM30.sdl | SDL file for MXM30.
Mxm30Dxe.c | This file contains the etry point of EFI MXM30 Support driver.
Mxm30Dxe.dxs | Dependency expression file for.
Mxm30Efi.c | This file installs Mxm Efi protocol,Mxm legacy int15 and Acpi interfaces.
Mxm30ElkCreek4.mxm | MXM module file for Elk creek IV.
Mxm30ElkCreekIII.mxm | MXM module file for Elk creek III.
MxmInt15.asm | MXM INT15 function implememtation and nVidia's NBCI Int15 supplement functions.
NBCIEfi.c | This file installs Nbci EFI protocol.
MXM Protocol
ModulePart 		Root\Include\Protocol
MXMProtocol.cif | Component information for the Module Part.
Mxm30.h | Mxm30 related constants and type definitions.
Nbci.h | Nbci related constants and type definitions.
Sg nVidia Optimus SMM
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\NvOptimusSMM\
NvOptimusSMM.cif | Component information for the Module Part.
NvOptimusSMM.asl | Asl code for NvOptimus SMM.
NvOptimusSMM.c | Code for NvOptimus SMI events.
NvOptimusSMM.dxs | Dependency file for the NvOptimus Smi driver.
NvOptimusSMM.mak | Make file to build the ModulePart.
NvOptimusSMM.sdl | SDL file for NvOpTimusSMM.
NvOptimusSMM.ssp | Cmos Manager Setup Script Processor.
Sg Acpi Tables
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\
SgTpvAcpiTables.cif | Component information for the Module Part.
SgTpvAcpiTables.c | Install Acpi Tables for Tpv's Switchable Graphics.
SgTpvAcpiTables.h | SgTpv Acpi Tables related constants and type definitions.
SgTpvAcpiTables.mak | Make file to build the ModulePart.
SgTpvAcpiTables.sdl | SDL file for SgTpvAcpiTables.
Ati
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\
SgAti.cif | Component information for the Module Part.
*.asl | Asl code for Ati card driver.
nVidia
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\
SgNvidia.cif | Component information for the Module Part.
*.asl | Asl code for nVidia card driver.
OEMSSDT
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\OEMSSDT\
OEMSSDT.cif | Component information for the Module Part.
*.asl | Sample Asl code for OEM card driver.
Sg Acpi S3 Save
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiS3Save\
SgTpvAcpiS3Save.cif | Component information for the Module Part.
SgTpvAcpiS3Save.c | This file will save SG TPV related offset date for S3 resume restore.
SgTpvAcpiS3Save.dxs | SgTpvAcpiS3Save Dxe Driver dependency file.
SgTpvAcpiS3Save.mak | Make file to build the ModulePart.
SgTpvAcpiS3Save.sdl | SDL file for SgTpvAcpiS3Save.
AMI Build Tools:
Tools Label: 4.5.5_TOOLS_40 , Dated: 2012-06
Visual eBios: RSS 5.73.0239, Dated: 2012-06-21
Compiler Tool(s): Microsoft’s Windows Driver Kit (WDK) Ver. 7600.16385.1
File Changed:
[TAG] None
[Category] Improvement
[Description] Create Token for OEM clone
[Files] OEMSSDT.mak OEMSSDT.sdl SgTpvAcpiTables.mak SgTpvAcpiTables.sdl
[TAG] None
[Category] Improvement
[Description] Comment some unused External
[Files] ATiGPU.asl
Known issue:
None
Release History:
4.6.5.3_SG_002.htm
4.6.5.3_SG_001.htm
4.6.5.3_SG_000.htm

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: SwithableGraphics
Component Reference Name: SwitchableGraphics
Component Type: eModule
Release Date: 2012-12-18
Source Control Label: 4.6.5.3_SG_004
Source Control Location: SS: ALASKA;$/Alaska/SOURCE/Modules/SharkBayRefCodes/SwitchableGraphics/;
Dependencies
Component Dependencies
ONE
Dependent Component Title: Intel System Agent
Dependent Component Reference Name:Intel System Agent
Dependent Source Control Label: 4.6.5.3_Intel_SA-RC_081_022
Dependent Source Control Location: SS: Alaska;$/Alaska/BIN/Chipset/Intel/NorthBridge/Haswell;

Non-Compiled BIN and LIB File(s) within this Component:
NONE
Component Description:
This is an eModule of Intel Smart Connect Technology
Filename | Description
Main Component | Root\Board\EM\SwitchableGraphics
SwitchableGraphics.cif | Component information file for the eModule.
SwitchableGraphics.mak | NMAKE scripts to build the SwitchableGraphics Setup.
SwitchableGraphics.sd | Setup options and information displayed in bios setup.
SwitchableGraphics.sdl | SDL file for SwitchableGraphics.
SwitchableGraphics.uni | Strings that are displayed in Setup.
Sg TPV
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv
SgTpvDxe.c | This file contains the etry point of SgTpv Support driver.
SgTpvDxe.dxs | SgTpv Dxe Driver dependency file.
SgTpvPei.c | This file contains the PEI SG Entry point SgPei_Init.
SgTpvPei.dxs | SgTpv PEIM dependency file.
SgTpv.sdl | SDL file for SgTpv.
SgTpv.cif | Component information for the Module Part.
SgTpv.mak | Make file to build the ModulePart.
Sg nVidia API
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\MXM30\
MXM30.cif | Component information for the Module Part.
MXM30.mak | Make file to build the ModulePart.
MXM30.sdl | SDL file for MXM30.
Mxm30Dxe.c | This file contains the etry point of EFI MXM30 Support driver.
Mxm30Dxe.dxs | Dependency expression file for.
Mxm30Efi.c | This file installs Mxm Efi protocol,Mxm legacy int15 and Acpi interfaces.
Mxm30ElkCreek4.mxm | MXM module file for Elk creek IV.
Mxm30ElkCreekIII.mxm | MXM module file for Elk creek III.
MxmInt15.asm | MXM INT15 function implememtation and nVidia's NBCI Int15 supplement functions.
NBCIEfi.c | This file installs Nbci EFI protocol.
MXM Protocol
ModulePart 		Root\Include\Protocol
MXMProtocol.cif | Component information for the Module Part.
Mxm30.h | Mxm30 related constants and type definitions.
Nbci.h | Nbci related constants and type definitions.
Sg nVidia Optimus SMM
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\NvOptimusSMM\
NvOptimusSMM.cif | Component information for the Module Part.
NvOptimusSMM.asl | Asl code for NvOptimus SMM.
NvOptimusSMM.c | Code for NvOptimus SMI events.
NvOptimusSMM.dxs | Dependency file for the NvOptimus Smi driver.
NvOptimusSMM.mak | Make file to build the ModulePart.
NvOptimusSMM.sdl | SDL file for NvOpTimusSMM.
NvOptimusSMM.ssp | Cmos Manager Setup Script Processor.
Sg Acpi Tables
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\
SgTpvAcpiTables.cif | Component information for the Module Part.
SgTpvAcpiTables.c | Install Acpi Tables for Tpv's Switchable Graphics.
SgTpvAcpiTables.h | SgTpv Acpi Tables related constants and type definitions.
SgTpvAcpiTables.mak | Make file to build the ModulePart.
SgTpvAcpiTables.sdl | SDL file for SgTpvAcpiTables.
Ati
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\
SgAti.cif | Component information for the Module Part.
*.asl | Asl code for Ati card driver.
nVidia
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\
SgNvidia.cif | Component information for the Module Part.
*.asl | Asl code for nVidia card driver.
OEMSSDT
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\OEMSSDT\
OEMSSDT.cif | Component information for the Module Part.
*.asl | Sample Asl code for OEM card driver.
Sg Acpi S3 Save
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiS3Save\
SgTpvAcpiS3Save.cif | Component information for the Module Part.
SgTpvAcpiS3Save.c | This file will save SG TPV related offset date for S3 resume restore.
SgTpvAcpiS3Save.dxs | SgTpvAcpiS3Save Dxe Driver dependency file.
SgTpvAcpiS3Save.mak | Make file to build the ModulePart.
SgTpvAcpiS3Save.sdl | SDL file for SgTpvAcpiS3Save.
AMI Build Tools:
Tools Label: 4.5.5_TOOLS_40 , Dated: 2012-06
Visual eBios: RSS 5.73.0239, Dated: 2012-06-21
Compiler Tool(s): Microsoft’s Windows Driver Kit (WDK) Ver. 7600.16385.1
File Changed:
[TAG] None
[Category] Improvement
[Description] Update for SA RC 081
[Files] SgTpv.mak SgTpvAcpiTables.c SgTpvAcpitables.h
[TAG] EIP108203
[Category] Bug Fix
[Description] Important
[Symptom] Optimus function can not work normally
[Files] NVdGPU.asl
Known issue:
This module has not supported function in PCH now.
Release History:
4.6.5.3_SG_003.htm
4.6.5.3_SG_002.htm
4.6.5.3_SG_001.htm
4.6.5.3_SG_000.htm

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: SwithableGraphics
Component Reference Name: SwitchableGraphics
Component Type: eModule
Release Date: 2012-12-22
Source Control Label: 4.6.5.3_SG_005
Source Control Location: SS: ALASKA;$/Alaska/SOURCE/Modules/SharkBayRefCodes/SwitchableGraphics/;
Dependencies
Component Dependencies
ONE
Dependent Component Title: Intel System Agent
Dependent Component Reference Name:Intel System Agent
Dependent Source Control Label: 4.6.5.3_Intel_SA-RC_081_022a
Dependent Source Control Location: SS: Alaska;$/Alaska/BIN/Chipset/Intel/NorthBridge/Haswell;

Non-Compiled BIN and LIB File(s) within this Component:
NONE
Component Description:
This is an eModule of Intel Smart Connect Technology
Filename | Description
Main Component | Root\Board\EM\SwitchableGraphics
SwitchableGraphics.cif | Component information file for the eModule.
SwitchableGraphics.mak | NMAKE scripts to build the SwitchableGraphics Setup.
SwitchableGraphics.sd | Setup options and information displayed in bios setup.
SwitchableGraphics.sdl | SDL file for SwitchableGraphics.
SwitchableGraphics.uni | Strings that are displayed in Setup.
Sg TPV
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv
SgTpvDxe.c | This file contains the etry point of SgTpv Support driver.
SgTpvDxe.dxs | SgTpv Dxe Driver dependency file.
SgTpvPei.c | This file contains the PEI SG Entry point SgPei_Init.
SgTpvPei.dxs | SgTpv PEIM dependency file.
SgTpv.sdl | SDL file for SgTpv.
SgTpv.cif | Component information for the Module Part.
SgTpv.mak | Make file to build the ModulePart.
Sg nVidia API
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\MXM30\
MXM30.cif | Component information for the Module Part.
MXM30.mak | Make file to build the ModulePart.
MXM30.sdl | SDL file for MXM30.
Mxm30Dxe.c | This file contains the etry point of EFI MXM30 Support driver.
Mxm30Dxe.dxs | Dependency expression file for.
Mxm30Efi.c | This file installs Mxm Efi protocol,Mxm legacy int15 and Acpi interfaces.
Mxm30ElkCreek4.mxm | MXM module file for Elk creek IV.
Mxm30ElkCreekIII.mxm | MXM module file for Elk creek III.
MxmInt15.asm | MXM INT15 function implememtation and nVidia's NBCI Int15 supplement functions.
NBCIEfi.c | This file installs Nbci EFI protocol.
MXM Protocol
ModulePart 		Root\Include\Protocol
MXMProtocol.cif | Component information for the Module Part.
Mxm30.h | Mxm30 related constants and type definitions.
Nbci.h | Nbci related constants and type definitions.
Sg nVidia Optimus SMM
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\NvOptimusSMM\
NvOptimusSMM.cif | Component information for the Module Part.
NvOptimusSMM.asl | Asl code for NvOptimus SMM.
NvOptimusSMM.c | Code for NvOptimus SMI events.
NvOptimusSMM.dxs | Dependency file for the NvOptimus Smi driver.
NvOptimusSMM.mak | Make file to build the ModulePart.
NvOptimusSMM.sdl | SDL file for NvOpTimusSMM.
NvOptimusSMM.ssp | Cmos Manager Setup Script Processor.
Sg Acpi Tables
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\
SgTpvAcpiTables.cif | Component information for the Module Part.
SgTpvAcpiTables.c | Install Acpi Tables for Tpv's Switchable Graphics.
SgTpvAcpiTables.h | SgTpv Acpi Tables related constants and type definitions.
SgTpvAcpiTables.mak | Make file to build the ModulePart.
SgTpvAcpiTables.sdl | SDL file for SgTpvAcpiTables.
Ati
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\
SgAti.cif | Component information for the Module Part.
*.asl | Asl code for Ati card driver.
nVidia
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\
SgNvidia.cif | Component information for the Module Part.
*.asl | Asl code for nVidia card driver.
OEMSSDT
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\OEMSSDT\
OEMSSDT.cif | Component information for the Module Part.
*.asl | Sample Asl code for OEM card driver.
Sg Acpi S3 Save
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiS3Save\
SgTpvAcpiS3Save.cif | Component information for the Module Part.
SgTpvAcpiS3Save.c | This file will save SG TPV related offset date for S3 resume restore.
SgTpvAcpiS3Save.dxs | SgTpvAcpiS3Save Dxe Driver dependency file.
SgTpvAcpiS3Save.mak | Make file to build the ModulePart.
SgTpvAcpiS3Save.sdl | SDL file for SgTpvAcpiS3Save.
AMI Build Tools:
Tools Label: 4.5.5_TOOLS_40 , Dated: 2012-06
Visual eBios: RSS 5.73.0239, Dated: 2012-06-21
Compiler Tool(s): Microsoft’s Windows Driver Kit (WDK) Ver. 7600.16385.1
File Changed:
[TAG] None
[Category] Bug Fix
[Severity] Normal
[Symptom] Did not get the correct Endpoint Link Contol Register Value
[RootCause] Give the wrong address.
[Solution] Fix the address.
[Files] SgTpvAcpiTables.c
[TAG] None
[Category] Improvement
[Description] Update for SA RC 081,rename the name for corrcet make.
[Files] SgTpvAcpiTables.mak
[TAG] None
[Category] Improvement
[Description] Update for SA RC 0.8.1.
Since RC has saved and restored registers,
do not have to save/restore register here.
[Files] NVdGPU.asl
[TAG] None
[Category] Bug Fix
[Severity] Important
[Symptom] Sometimes boot to OS will BSOD on customer's platform.
[RootCause] The NVIG's structure dose not match with the real size.
[Solution] Fix the structure size.
[Files] NViGPU.asl
Known issue:
This module has not supported function in PCH now.
Release History:
4.6.5.3_SG_004.htm
4.6.5.3_SG_003.htm
4.6.5.3_SG_002.htm
4.6.5.3_SG_001.htm
4.6.5.3_SG_000.htm

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: SwithableGraphics
Component Reference Name: SwitchableGraphics
Component Type: eModule
Release Date: 2013-01-15
Source Control Label: 4.6.5.3_SG_006
Source Control Location: SS: ALASKA;$/Alaska/SOURCE/Modules/SharkBayRefCodes/SwitchableGraphics/;
Dependencies
Component Dependencies
ONE
Dependent Component Title: Intel System Agent
Dependent Component Reference Name:Intel System Agent
Dependent Source Control Label: 4.6.5.3_Intel_SA-RC_090_023a
Dependent Source Control Location: SS: Alaska;$/Alaska/BIN/Chipset/Intel/NorthBridge/Haswell;

Non-Compiled BIN and LIB File(s) within this Component:
NONE
Component Description:
This is an eModule of Intel Smart Connect Technology
Filename | Description
Main Component | Root\Board\EM\SwitchableGraphics
SwitchableGraphics.cif | Component information file for the eModule.
SwitchableGraphics.mak | NMAKE scripts to build the SwitchableGraphics Setup.
SwitchableGraphics.sd | Setup options and information displayed in bios setup.
SwitchableGraphics.sdl | SDL file for SwitchableGraphics.
SwitchableGraphics.uni | Strings that are displayed in Setup.
Sg TPV
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv
SgTpvDxe.c | This file contains the etry point of SgTpv Support driver.
SgTpvDxe.dxs | SgTpv Dxe Driver dependency file.
SgTpvPei.c | This file contains the PEI SG Entry point SgPei_Init.
SgTpvPei.dxs | SgTpv PEIM dependency file.
SgTpv.sdl | SDL file for SgTpv.
SgTpv.cif | Component information for the Module Part.
SgTpv.mak | Make file to build the ModulePart.
Sg nVidia API
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\MXM30\
MXM30.cif | Component information for the Module Part.
MXM30.mak | Make file to build the ModulePart.
MXM30.sdl | SDL file for MXM30.
Mxm30Dxe.c | This file contains the etry point of EFI MXM30 Support driver.
Mxm30Dxe.dxs | Dependency expression file for.
Mxm30Efi.c | This file installs Mxm Efi protocol,Mxm legacy int15 and Acpi interfaces.
Mxm30ElkCreek4.mxm | MXM module file for Elk creek IV.
Mxm30ElkCreekIII.mxm | MXM module file for Elk creek III.
MxmInt15.asm | MXM INT15 function implememtation and nVidia's NBCI Int15 supplement functions.
NBCIEfi.c | This file installs Nbci EFI protocol.
MXM Protocol
ModulePart 		Root\Include\Protocol
MXMProtocol.cif | Component information for the Module Part.
Mxm30.h | Mxm30 related constants and type definitions.
Nbci.h | Nbci related constants and type definitions.
Sg nVidia Optimus SMM
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\NvOptimusSMM\
NvOptimusSMM.cif | Component information for the Module Part.
NvOptimusSMM.asl | Asl code for NvOptimus SMM.
NvOptimusSMM.c | Code for NvOptimus SMI events.
NvOptimusSMM.dxs | Dependency file for the NvOptimus Smi driver.
NvOptimusSMM.mak | Make file to build the ModulePart.
NvOptimusSMM.sdl | SDL file for NvOpTimusSMM.
NvOptimusSMM.ssp | Cmos Manager Setup Script Processor.
Sg Acpi Tables
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\
SgTpvAcpiTables.cif | Component information for the Module Part.
SgTpvAcpiTables.c | Install Acpi Tables for Tpv's Switchable Graphics.
SgTpvAcpiTables.h | SgTpv Acpi Tables related constants and type definitions.
SgTpvAcpiTables.mak | Make file to build the ModulePart.
SgTpvAcpiTables.sdl | SDL file for SgTpvAcpiTables.
SgTpvPEG
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\SgTpvPEG
SgTpvPEG.cif | Component information for the Module Part.
SgTpvPEG.mak | Make file to build the ModulePart.
SgTpvPEG.sdl | SDL file for SgTpvPEG.
*.asl | Asl code for Ati card and nVidia card driver.
SgTpvPCH
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\SgTpvPCH
SgTpvPCH.cif | Component information for the Module Part.
SgTpvPCH.mak | Make file to build the ModulePart.
SgTpvPCH.sdl | SDL file for SgTpvPEG.
*.asl | Asl code for Ati card and nVidia card driver.
OEMSSDT
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\OEMSSDT\
OEMSSDT.cif | Component information for the Module Part.
*.asl | Sample Asl code for OEM card driver.
Sg Acpi S3 Save
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiS3Save\
SgTpvAcpiS3Save.cif | Component information for the Module Part.
SgTpvAcpiS3Save.c | This file will save SG TPV related offset date for S3 resume restore.
SgTpvAcpiS3Save.dxs | SgTpvAcpiS3Save Dxe Driver dependency file.
SgTpvAcpiS3Save.mak | Make file to build the ModulePart.
SgTpvAcpiS3Save.sdl | SDL file for SgTpvAcpiS3Save.
AMI Build Tools:
Tools Label: 4.5.5_TOOLS_40 , Dated: 2012-06
Visual eBios: RSS 5.73.0239, Dated: 2012-06-21
Compiler Tool(s): Microsoft’s Windows Driver Kit (WDK) Ver. 7600.16385.1
File Changed:
[TAG] 107237
[Category] Improvement
[Description] Modify some files to support SG on ULT platform
[Files] SgTpv.mak,SgtpvDxe.c,SgTpvAcpiS3Save.c,SgTpvAcpiS3Save.mak,
SgTpvAcpiTables.c,SgTpvAcpiTables.cif,SgTpvAcpiTables.h,SgTpvAcpiTables.mak,SgTpvAcpiTables.sdl
[TAG] 107237
[Category] Improvement
[Description] Create two component for SG PEG support and PCH support
[Files] files in SgTpvPEG and SGTpvPCH
Known issue:
None
Release History:
4.6.5.3_SG_005.htm
4.6.5.3_SG_004.htm
4.6.5.3_SG_003.htm
4.6.5.3_SG_002.htm
4.6.5.3_SG_001.htm
4.6.5.3_SG_000.htm

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: SwithableGraphics
Component Reference Name: SwitchableGraphics
Component Type: eModule
Release Date: 2013-02-07
Source Control Label: 4.6.5.3_SG_007
Source Control Location: SS: ALASKA;$/Alaska/SOURCE/Modules/SharkBayRefCodes/SwitchableGraphics/;
Dependencies
Component Dependencies
ONE
Dependent Component Title: Intel System Agent
Dependent Component Reference Name:Intel System Agent
Dependent Source Control Label: 4.6.5.3_Intel_SA-RC_090_023a
Dependent Source Control Location: SS: Alaska;$/Alaska/BIN/Chipset/Intel/NorthBridge/Haswell;

Non-Compiled BIN and LIB File(s) within this Component:
NONE
Component Description:
This is an eModule of Intel Smart Connect Technology
Filename | Description
Main Component | Root\Board\EM\SwitchableGraphics
SwitchableGraphics.cif | Component information file for the eModule.
SwitchableGraphics.mak | NMAKE scripts to build the SwitchableGraphics Setup.
SwitchableGraphics.sd | Setup options and information displayed in bios setup.
SwitchableGraphics.sdl | SDL file for SwitchableGraphics.
SwitchableGraphics.uni | Strings that are displayed in Setup.
Sg TPV
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv
SgTpvDxe.c | This file contains the etry point of SgTpv Support driver.
SgTpvDxe.dxs | SgTpv Dxe Driver dependency file.
SgTpvPei.c | This file contains the PEI SG Entry point SgPei_Init.
SgTpvPei.dxs | SgTpv PEIM dependency file.
SgTpv.sdl | SDL file for SgTpv.
SgTpv.cif | Component information for the Module Part.
SgTpv.mak | Make file to build the ModulePart.
Sg nVidia API
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\MXM30\
MXM30.cif | Component information for the Module Part.
MXM30.mak | Make file to build the ModulePart.
MXM30.sdl | SDL file for MXM30.
Mxm30Dxe.c | This file contains the etry point of EFI MXM30 Support driver.
Mxm30Dxe.dxs | Dependency expression file for.
Mxm30Efi.c | This file installs Mxm Efi protocol,Mxm legacy int15 and Acpi interfaces.
Mxm30ElkCreek4.mxm | MXM module file for Elk creek IV.
Mxm30ElkCreekIII.mxm | MXM module file for Elk creek III.
MxmInt15.asm | MXM INT15 function implememtation and nVidia's NBCI Int15 supplement functions.
NBCIEfi.c | This file installs Nbci EFI protocol.
MXM Protocol
ModulePart 		Root\Include\Protocol
MXMProtocol.cif | Component information for the Module Part.
Mxm30.h | Mxm30 related constants and type definitions.
Nbci.h | Nbci related constants and type definitions.
Sg nVidia Optimus SMM
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\NvOptimusSMM\
NvOptimusSMM.cif | Component information for the Module Part.
NvOptimusSMM.asl | Asl code for NvOptimus SMM.
NvOptimusSMM.c | Code for NvOptimus SMI events.
NvOptimusSMM.dxs | Dependency file for the NvOptimus Smi driver.
NvOptimusSMM.mak | Make file to build the ModulePart.
NvOptimusSMM.sdl | SDL file for NvOpTimusSMM.
NvOptimusSMM.ssp | Cmos Manager Setup Script Processor.
Sg Acpi Tables
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\
SgTpvAcpiTables.cif | Component information for the Module Part.
SgTpvAcpiTables.c | Install Acpi Tables for Tpv's Switchable Graphics.
SgTpvAcpiTables.h | SgTpv Acpi Tables related constants and type definitions.
SgTpvAcpiTables.mak | Make file to build the ModulePart.
SgTpvAcpiTables.sdl | SDL file for SgTpvAcpiTables.
SgTpvPEG
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\SgTpvPEG
SgTpvPEG.cif | Component information for the Module Part.
SgTpvPEG.mak | Make file to build the ModulePart.
SgTpvPEG.sdl | SDL file for SgTpvPEG.
*.asl | Asl code for Ati card and nVidia card driver.
SgTpvPCH
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\SgTpvPCH
SgTpvPCH.cif | Component information for the Module Part.
SgTpvPCH.mak | Make file to build the ModulePart.
SgTpvPCH.sdl | SDL file for SgTpvPEG.
*.asl | Asl code for Ati card and nVidia card driver.
OEMSSDT
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\OEMSSDT\
OEMSSDT.cif | Component information for the Module Part.
*.asl | Sample Asl code for OEM card driver.
Sg Acpi S3 Save
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiS3Save\
SgTpvAcpiS3Save.cif | Component information for the Module Part.
SgTpvAcpiS3Save.c | This file will save SG TPV related offset date for S3 resume restore.
SgTpvAcpiS3Save.dxs | SgTpvAcpiS3Save Dxe Driver dependency file.
SgTpvAcpiS3Save.mak | Make file to build the ModulePart.
SgTpvAcpiS3Save.sdl | SDL file for SgTpvAcpiS3Save.
AMI Build Tools:
Tools Label: 4.5.5_TOOLS_40 , Dated: 2012-06
Visual eBios: RSS 5.73.0239, Dated: 2012-06-21
Compiler Tool(s): Microsoft’s Windows Driver Kit (WDK) Ver. 7600.16385.1
File Changed:
[TAG] None
[Category] Improvement
[Description] Install a PPI for broadcasting OEM.
[Files] SgTpvPei.c,SgTpv.sdl
[TAG] EIP111393
[Category] Bug Fix
[Severity] Minor
[Symptom] Shows Error Event ACPI (ID 10) in Win8 event viewer
[RootCause] We use PCI_CONFIG to save/restore registers.
[Solution] Change to use MMIO to save/restore registers.
[TAG] None
[Category] Bug Fix
[Severity] Critical
[Symptom] SG function on ULT platform will meet BOSD when updat SA RC to 1.0.0
[RootCause] Re-define method (_STA)
[Solution] Remove the method in OpSSDTPCH.asl
Known issue:
None
Release History:
4.6.5.3_SG_006.htm
4.6.5.3_SG_005.htm
4.6.5.3_SG_004.htm
4.6.5.3_SG_003.htm
4.6.5.3_SG_002.htm
4.6.5.3_SG_001.htm
4.6.5.3_SG_000.htm

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: SwithableGraphics
Component Reference Name: SwitchableGraphics
Component Type: eModule
Release Date: 2013-02-21
Source Control Label: 4.6.5.3_SG_008
Source Control Location: SS: ALASKA;$/Alaska/SOURCE/Modules/SharkBayRefCodes/SwitchableGraphics/;
Dependencies
Component Dependencies
ONE
Dependent Component Title: Intel System Agent
Dependent Component Reference Name:Intel System Agent
Dependent Source Control Label: 4.6.5.3_Intel_SA-RC_110_025
Dependent Source Control Location: SS: Alaska;$/Alaska/BIN/Chipset/Intel/NorthBridge/Haswell;

Non-Compiled BIN and LIB File(s) within this Component:
NONE
Component Description:
This is an eModule of Intel Smart Connect Technology
Filename | Description
Main Component | Root\Board\EM\SwitchableGraphics
SwitchableGraphics.cif | Component information file for the eModule.
SwitchableGraphics.mak | NMAKE scripts to build the SwitchableGraphics Setup.
SwitchableGraphics.sd | Setup options and information displayed in bios setup.
SwitchableGraphics.sdl | SDL file for SwitchableGraphics.
SwitchableGraphics.uni | Strings that are displayed in Setup.
Sg TPV
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv
SgTpvDxe.c | This file contains the etry point of SgTpv Support driver.
SgTpvDxe.dxs | SgTpv Dxe Driver dependency file.
SgTpvPei.c | This file contains the PEI SG Entry point SgPei_Init.
SgTpvPei.dxs | SgTpv PEIM dependency file.
SgTpv.sdl | SDL file for SgTpv.
SgTpv.cif | Component information for the Module Part.
SgTpv.mak | Make file to build the ModulePart.
Sg nVidia API
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\MXM30\
MXM30.cif | Component information for the Module Part.
MXM30.mak | Make file to build the ModulePart.
MXM30.sdl | SDL file for MXM30.
Mxm30Dxe.c | This file contains the etry point of EFI MXM30 Support driver.
Mxm30Dxe.dxs | Dependency expression file for.
Mxm30Efi.c | This file installs Mxm Efi protocol,Mxm legacy int15 and Acpi interfaces.
Mxm30ElkCreek4.mxm | MXM module file for Elk creek IV.
Mxm30ElkCreekIII.mxm | MXM module file for Elk creek III.
MxmInt15.asm | MXM INT15 function implememtation and nVidia's NBCI Int15 supplement functions.
NBCIEfi.c | This file installs Nbci EFI protocol.
MXM Protocol
ModulePart 		Root\Include\Protocol
MXMProtocol.cif | Component information for the Module Part.
Mxm30.h | Mxm30 related constants and type definitions.
Nbci.h | Nbci related constants and type definitions.
Sg nVidia Optimus SMM
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\NvOptimusSMM\
NvOptimusSMM.cif | Component information for the Module Part.
NvOptimusSMM.asl | Asl code for NvOptimus SMM.
NvOptimusSMM.c | Code for NvOptimus SMI events.
NvOptimusSMM.dxs | Dependency file for the NvOptimus Smi driver.
NvOptimusSMM.mak | Make file to build the ModulePart.
NvOptimusSMM.sdl | SDL file for NvOpTimusSMM.
NvOptimusSMM.ssp | Cmos Manager Setup Script Processor.
Sg Acpi Tables
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\
SgTpvAcpiTables.cif | Component information for the Module Part.
SgTpvAcpiTables.c | Install Acpi Tables for Tpv's Switchable Graphics.
SgTpvAcpiTables.h | SgTpv Acpi Tables related constants and type definitions.
SgTpvAcpiTables.mak | Make file to build the ModulePart.
SgTpvAcpiTables.sdl | SDL file for SgTpvAcpiTables.
SgTpvPEG
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\SgTpvPEG
SgTpvPEG.cif | Component information for the Module Part.
SgTpvPEG.mak | Make file to build the ModulePart.
SgTpvPEG.sdl | SDL file for SgTpvPEG.
*.asl | Asl code for Ati card and nVidia card driver.
SgTpvPCH
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\SgTpvPCH
SgTpvPCH.cif | Component information for the Module Part.
SgTpvPCH.mak | Make file to build the ModulePart.
SgTpvPCH.sdl | SDL file for SgTpvPEG.
*.asl | Asl code for Ati card and nVidia card driver.
OEMSSDT
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\OEMSSDT\
OEMSSDT.cif | Component information for the Module Part.
*.asl | Sample Asl code for OEM card driver.
Sg Acpi S3 Save
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiS3Save\
SgTpvAcpiS3Save.cif | Component information for the Module Part.
SgTpvAcpiS3Save.c | This file will save SG TPV related offset date for S3 resume restore.
SgTpvAcpiS3Save.dxs | SgTpvAcpiS3Save Dxe Driver dependency file.
SgTpvAcpiS3Save.mak | Make file to build the ModulePart.
SgTpvAcpiS3Save.sdl | SDL file for SgTpvAcpiS3Save.
AMI Build Tools:
Tools Label: 4.5.5_TOOLS_40 , Dated: 2012-06
Visual eBios: RSS 5.73.0239, Dated: 2012-06-21
Compiler Tool(s): Microsoft’s Windows Driver Kit (WDK) Ver. 7600.16385.1
File Changed:
[TAG] EIP106524
[Category] New Feature
[Description] Support GC6 function for Optimus.
[Files] NVdGPU.asl,NvGC6.asl,NViGPU.asl,NvSSDT.asl,OpSSDT.asl
NVdGPUPCH.asl,NvGC6PCH.asl,NViGPUPCH.asl,NvSSDTPCH.asl,OpSSDTPCH.asl
[TAG] EIP107720
[Category] Spec Update
[Severity] Minor
[Description] Add ATIF function 15 sample code for reference.
[Files] ATiGPU.asl,ATiGPUPCH.asl
Known issue:
None
Release History:
4.6.5.3_SG_007.htm
4.6.5.3_SG_006.htm
4.6.5.3_SG_005.htm
4.6.5.3_SG_004.htm
4.6.5.3_SG_003.htm
4.6.5.3_SG_002.htm
4.6.5.3_SG_001.htm
4.6.5.3_SG_000.htm

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: SwithableGraphics
Component Reference Name: SwitchableGraphics
Component Type: eModule
Release Date: 2013-03-21
Source Control Label: 4.6.5.3_SG_009
Source Control Location: SS: ALASKA;$/Alaska/SOURCE/Modules/SharkBayRefCodes/SwitchableGraphics/;
Dependencies
Component Dependencies
ONE
Dependent Component Title: Intel System Agent
Dependent Component Reference Name:Intel System Agent
Dependent Source Control Label: 4.6.5.3_Intel_SA-RC_130_027b
Dependent Source Control Location: SS: Alaska;$/Alaska/BIN/Chipset/Intel/NorthBridge/Haswell;

Non-Compiled BIN and LIB File(s) within this Component:
NONE
Component Description:
This is an eModule of Intel Smart Connect Technology
Filename | Description
Main Component | Root\Board\EM\SwitchableGraphics
SwitchableGraphics.cif | Component information file for the eModule.
SwitchableGraphics.mak | NMAKE scripts to build the SwitchableGraphics Setup.
SwitchableGraphics.sd | Setup options and information displayed in bios setup.
SwitchableGraphics.sdl | SDL file for SwitchableGraphics.
SwitchableGraphics.uni | Strings that are displayed in Setup.
Sg TPV
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv
SgTpvDxe.c | This file contains the etry point of SgTpv Support driver.
SgTpvDxe.dxs | SgTpv Dxe Driver dependency file.
SgTpvPei.c | This file contains the PEI SG Entry point SgPei_Init.
SgTpvPei.dxs | SgTpv PEIM dependency file.
SgTpv.sdl | SDL file for SgTpv.
SgTpv.cif | Component information for the Module Part.
SgTpv.mak | Make file to build the ModulePart.
Sg nVidia API
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\MXM30\
MXM30.cif | Component information for the Module Part.
MXM30.mak | Make file to build the ModulePart.
MXM30.sdl | SDL file for MXM30.
Mxm30Dxe.c | This file contains the etry point of EFI MXM30 Support driver.
Mxm30Dxe.dxs | Dependency expression file for.
Mxm30Efi.c | This file installs Mxm Efi protocol,Mxm legacy int15 and Acpi interfaces.
Mxm30ElkCreek4.mxm | MXM module file for Elk creek IV.
Mxm30ElkCreekIII.mxm | MXM module file for Elk creek III.
MxmInt15.asm | MXM INT15 function implememtation and nVidia's NBCI Int15 supplement functions.
NBCIEfi.c | This file installs Nbci EFI protocol.
MXM Protocol
ModulePart 		Root\Include\Protocol
MXMProtocol.cif | Component information for the Module Part.
Mxm30.h | Mxm30 related constants and type definitions.
Nbci.h | Nbci related constants and type definitions.
Sg nVidia Optimus SMM
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\NvOptimusSMM\
NvOptimusSMM.cif | Component information for the Module Part.
NvOptimusSMM.asl | Asl code for NvOptimus SMM.
NvOptimusSMM.c | Code for NvOptimus SMI events.
NvOptimusSMM.dxs | Dependency file for the NvOptimus Smi driver.
NvOptimusSMM.mak | Make file to build the ModulePart.
NvOptimusSMM.sdl | SDL file for NvOpTimusSMM.
NvOptimusSMM.ssp | Cmos Manager Setup Script Processor.
Sg Acpi Tables
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\
SgTpvAcpiTables.cif | Component information for the Module Part.
SgTpvAcpiTables.c | Install Acpi Tables for Tpv's Switchable Graphics.
SgTpvAcpiTables.h | SgTpv Acpi Tables related constants and type definitions.
SgTpvAcpiTables.mak | Make file to build the ModulePart.
SgTpvAcpiTables.sdl | SDL file for SgTpvAcpiTables.
SgTpvPEG
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\SgTpvPEG
SgTpvPEG.cif | Component information for the Module Part.
SgTpvPEG.mak | Make file to build the ModulePart.
SgTpvPEG.sdl | SDL file for SgTpvPEG.
*.asl | Asl code for Ati card and nVidia card driver.
SgTpvPCH
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\SgTpvPCH
SgTpvPCH.cif | Component information for the Module Part.
SgTpvPCH.mak | Make file to build the ModulePart.
SgTpvPCH.sdl | SDL file for SgTpvPEG.
*.asl | Asl code for Ati card and nVidia card driver.
OEMSSDT
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\OEMSSDT\
OEMSSDT.cif | Component information for the Module Part.
*.asl | Sample Asl code for OEM card driver.
Sg Acpi S3 Save
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiS3Save\
SgTpvAcpiS3Save.cif | Component information for the Module Part.
SgTpvAcpiS3Save.c | This file will save SG TPV related offset date for S3 resume restore.
SgTpvAcpiS3Save.dxs | SgTpvAcpiS3Save Dxe Driver dependency file.
SgTpvAcpiS3Save.mak | Make file to build the ModulePart.
SgTpvAcpiS3Save.sdl | SDL file for SgTpvAcpiS3Save.
AMI Build Tools:
Tools Label: 4.5.5_TOOLS_40 , Dated: 2012-06
Visual eBios: RSS 5.73.0239, Dated: 2012-06-21
Compiler Tool(s): Microsoft’s Windows Driver Kit (WDK) Ver. 7600.16385.1
File Changed:
[TAG] EIP105607
[Category] Spec Update
[Description] Support PX5.6
[Files] ATiGPU.asl,ATiGPUPCH.asl
[TAG] EIP115355
[Category] Bug Fix
[Severity] Minor
[Symptom] NV HD audio did not disable
[RootCause] 0x488 [25] is not disable.
[Solution] Clear this bit in _PS0 method and _on method.
[TAG] EIP116106
[Category] Bug Fix
[Severity] Minor
[Symptom] ACPI error in Win8 event viewer on ULT platform
[RootCause] We use the PCI_config to save/restore registers,and the value of EBAS is wrong.
[Solution] Save the correct value of EBAS in "SgTpvAcpiTables.c".Use the MMIO to save/restore registers
Known issue:
None
Release History:
4.6.5.3_SG_008.htm
4.6.5.3_SG_007.htm
4.6.5.3_SG_006.htm
4.6.5.3_SG_005.htm
4.6.5.3_SG_004.htm
4.6.5.3_SG_003.htm
4.6.5.3_SG_002.htm
4.6.5.3_SG_001.htm
4.6.5.3_SG_000.htm

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: SwithableGraphics
Component Reference Name: SwitchableGraphics
Component Type: eModule
Release Date: 2013-06-05
Source Control Label: 4.6.5.3_SG_010
Source Control Location: SS: ALASKA;$/Alaska/SOURCE/Modules/SharkBayRefCodes/SwitchableGraphics/;
Dependencies
Component Dependencies
ONE
Dependent Component Title: Intel System Agent
Dependent Component Reference Name:Intel System Agent
Dependent Source Control Label: 4.6.5.3_Intel_SA-RC_130_027b
Dependent Source Control Location: SS: Alaska;$/Alaska/BIN/Chipset/Intel/NorthBridge/Haswell;

Non-Compiled BIN and LIB File(s) within this Component:
NONE
Component Description:
This is an eModule of Intel Smart Connect Technology
Filename | Description
Main Component | Root\Board\EM\SwitchableGraphics
SwitchableGraphics.cif | Component information file for the eModule.
SwitchableGraphics.mak | NMAKE scripts to build the SwitchableGraphics Setup.
SwitchableGraphics.sd | Setup options and information displayed in bios setup.
SwitchableGraphics.sdl | SDL file for SwitchableGraphics.
SwitchableGraphics.uni | Strings that are displayed in Setup.
Sg TPV
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv
SgTpvDxe.c | This file contains the etry point of SgTpv Support driver.
SgTpvDxe.dxs | SgTpv Dxe Driver dependency file.
SgTpvPei.c | This file contains the PEI SG Entry point SgPei_Init.
SgTpvPei.dxs | SgTpv PEIM dependency file.
SgTpv.sdl | SDL file for SgTpv.
SgTpv.cif | Component information for the Module Part.
SgTpv.mak | Make file to build the ModulePart.
Sg nVidia API
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\MXM30\
MXM30.cif | Component information for the Module Part.
MXM30.mak | Make file to build the ModulePart.
MXM30.sdl | SDL file for MXM30.
Mxm30Dxe.c | This file contains the etry point of EFI MXM30 Support driver.
Mxm30Dxe.dxs | Dependency expression file for.
Mxm30Efi.c | This file installs Mxm Efi protocol,Mxm legacy int15 and Acpi interfaces.
Mxm30ElkCreek4.mxm | MXM module file for Elk creek IV.
Mxm30ElkCreekIII.mxm | MXM module file for Elk creek III.
MxmInt15.asm | MXM INT15 function implememtation and nVidia's NBCI Int15 supplement functions.
NBCIEfi.c | This file installs Nbci EFI protocol.
MXM Protocol
ModulePart 		Root\Include\Protocol
MXMProtocol.cif | Component information for the Module Part.
Mxm30.h | Mxm30 related constants and type definitions.
Nbci.h | Nbci related constants and type definitions.
Sg nVidia Optimus SMM
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\NvOptimusSMM\
NvOptimusSMM.cif | Component information for the Module Part.
NvOptimusSMM.asl | Asl code for NvOptimus SMM.
NvOptimusSMM.c | Code for NvOptimus SMI events.
NvOptimusSMM.dxs | Dependency file for the NvOptimus Smi driver.
NvOptimusSMM.mak | Make file to build the ModulePart.
NvOptimusSMM.sdl | SDL file for NvOpTimusSMM.
NvOptimusSMM.ssp | Cmos Manager Setup Script Processor.
Sg Acpi Tables
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\
SgTpvAcpiTables.cif | Component information for the Module Part.
SgTpvAcpiTables.c | Install Acpi Tables for Tpv's Switchable Graphics.
SgTpvAcpiTables.h | SgTpv Acpi Tables related constants and type definitions.
SgTpvAcpiTables.mak | Make file to build the ModulePart.
SgTpvAcpiTables.sdl | SDL file for SgTpvAcpiTables.
SgTpvPEG
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\SgTpvPEG
SgTpvPEG.cif | Component information for the Module Part.
SgTpvPEG.mak | Make file to build the ModulePart.
SgTpvPEG.sdl | SDL file for SgTpvPEG.
*.asl | Asl code for Ati card and nVidia card driver.
SgTpvPCH
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\SgTpvPCH
SgTpvPCH.cif | Component information for the Module Part.
SgTpvPCH.mak | Make file to build the ModulePart.
SgTpvPCH.sdl | SDL file for SgTpvPEG.
*.asl | Asl code for Ati card and nVidia card driver.
OEMSSDT
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\OEMSSDT\
OEMSSDT.cif | Component information for the Module Part.
*.asl | Sample Asl code for OEM card driver.
Sg Acpi S3 Save
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiS3Save\
SgTpvAcpiS3Save.cif | Component information for the Module Part.
SgTpvAcpiS3Save.c | This file will save SG TPV related offset date for S3 resume restore.
SgTpvAcpiS3Save.dxs | SgTpvAcpiS3Save Dxe Driver dependency file.
SgTpvAcpiS3Save.mak | Make file to build the ModulePart.
SgTpvAcpiS3Save.sdl | SDL file for SgTpvAcpiS3Save.
AMI Build Tools:
Tools Label: 4.5.5_TOOLS_40 , Dated: 2012-06
Visual eBios: RSS 5.73.0239, Dated: 2012-06-21
Compiler Tool(s): Microsoft’s Windows Driver Kit (WDK) Ver. 7600.16385.1
File Changed:
[TAG] None
[Category] Spec Update
[Description] Both nVidia and ATI don't have to execute VBIOS in post
[Files] SwitchableGraphics.sdl
[TAG] None
[Category] Improvement
[Description] Increase the size of RBUF to support hybrid Vbios.
Improve some code for support PX5.6.
Add notification for customer call from EC event.
[Files] ATiGPU.asl,ATiGPUPCH.asl
[TAG] None
[Category] Improvement
[Description] Increase the size of RBUF to support hybrid Vbios.
[Files] SgTpvAcpitables.h
[TAG] None
[Category] Improvement
[Description] Change IASL compiler path to $(ACPIPLATFORM_ASL_COMPILER) in SharkBay project.
[Files] SgTpvPEG.mak,SgTpvPCH.mak,OEMSSDT.mak
Known issue:
None
Release History:
4.6.5.3_SG_009.htm
4.6.5.3_SG_008.htm
4.6.5.3_SG_007.htm
4.6.5.3_SG_006.htm
4.6.5.3_SG_005.htm
4.6.5.3_SG_004.htm
4.6.5.3_SG_003.htm
4.6.5.3_SG_002.htm
4.6.5.3_SG_001.htm
4.6.5.3_SG_000.htm

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: SwithableGraphics
Component Reference Name: SwitchableGraphics
Component Type: eModule
Release Date: 2013-07-16
Source Control Label: 4.6.5.3_SG_011
Source Control Location: SS: ALASKA;$/Alaska/SOURCE/Modules/SharkBayRefCodes/SwitchableGraphics/;
Dependencies
Component Dependencies
TWO
Dependent Component Title: Intel System Agent
Dependent Component Reference Name:Intel System Agent
Dependent Source Control Label: 4.6.5.3_Intel_SA-RC_161_032a
Dependent Source Control Location: SS: Alaska;$/Alaska/BIN/Chipset/Intel/NorthBridge/Haswell;

Dependent Component Title: Platform
Dependent Component Reference Name:Platform
Dependent Source Control Label: 4.6.5.3_PF-ACPI_RC_161_030a
Dependent Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/SharkBayRefCodes/Platform;

Non-Compiled BIN and LIB File(s) within this Component:
NONE
Component Description:
This is an eModule of Intel Smart Connect Technology
Filename | Description
Main Component | Root\Board\EM\SwitchableGraphics
SwitchableGraphics.cif | Component information file for the eModule.
SwitchableGraphics.mak | NMAKE scripts to build the SwitchableGraphics Setup.
SwitchableGraphics.sd | Setup options and information displayed in bios setup.
SwitchableGraphics.sdl | SDL file for SwitchableGraphics.
SwitchableGraphics.uni | Strings that are displayed in Setup.
Sg TPV
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv
SgTpvDxe.c | This file contains the etry point of SgTpv Support driver.
SgTpvDxe.dxs | SgTpv Dxe Driver dependency file.
SgTpvPei.c | This file contains the PEI SG Entry point SgPei_Init.
SgTpvPei.dxs | SgTpv PEIM dependency file.
SgTpv.sdl | SDL file for SgTpv.
SgTpv.cif | Component information for the Module Part.
SgTpv.mak | Make file to build the ModulePart.
Sg nVidia API
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\MXM30\
MXM30.cif | Component information for the Module Part.
MXM30.mak | Make file to build the ModulePart.
MXM30.sdl | SDL file for MXM30.
Mxm30Dxe.c | This file contains the etry point of EFI MXM30 Support driver.
Mxm30Dxe.dxs | Dependency expression file for.
Mxm30Efi.c | This file installs Mxm Efi protocol,Mxm legacy int15 and Acpi interfaces.
Mxm30ElkCreek4.mxm | MXM module file for Elk creek IV.
Mxm30ElkCreekIII.mxm | MXM module file for Elk creek III.
MxmInt15.asm | MXM INT15 function implememtation and nVidia's NBCI Int15 supplement functions.
NBCIEfi.c | This file installs Nbci EFI protocol.
MXM Protocol
ModulePart 		Root\Include\Protocol
MXMProtocol.cif | Component information for the Module Part.
Mxm30.h | Mxm30 related constants and type definitions.
Nbci.h | Nbci related constants and type definitions.
Sg nVidia Optimus SMM
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\NvOptimusSMM\
NvOptimusSMM.cif | Component information for the Module Part.
NvOptimusSMM.asl | Asl code for NvOptimus SMM.
NvOptimusSMM.c | Code for NvOptimus SMI events.
NvOptimusSMM.dxs | Dependency file for the NvOptimus Smi driver.
NvOptimusSMM.mak | Make file to build the ModulePart.
NvOptimusSMM.sdl | SDL file for NvOpTimusSMM.
NvOptimusSMM.ssp | Cmos Manager Setup Script Processor.
Sg Acpi Tables
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\
SgTpvAcpiTables.cif | Component information for the Module Part.
SgTpvAcpiTables.c | Install Acpi Tables for Tpv's Switchable Graphics.
SgTpvAcpiTables.h | SgTpv Acpi Tables related constants and type definitions.
SgTpvAcpiTables.mak | Make file to build the ModulePart.
SgTpvAcpiTables.sdl | SDL file for SgTpvAcpiTables.
SgTpvPEG
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\SgTpvPEG
SgTpvPEG.cif | Component information for the Module Part.
SgTpvPEG.mak | Make file to build the ModulePart.
SgTpvPEG.sdl | SDL file for SgTpvPEG.
*.asl | Asl code for Ati card and nVidia card driver.
SgTpvPCH
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\SgTpvPCH
SgTpvPCH.cif | Component information for the Module Part.
SgTpvPCH.mak | Make file to build the ModulePart.
SgTpvPCH.sdl | SDL file for SgTpvPEG.
*.asl | Asl code for Ati card and nVidia card driver.
OEMSSDT
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\OEMSSDT\
OEMSSDT.cif | Component information for the Module Part.
*.asl | Sample Asl code for OEM card driver.
Sg Acpi S3 Save
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiS3Save\
SgTpvAcpiS3Save.cif | Component information for the Module Part.
SgTpvAcpiS3Save.c | This file will save SG TPV related offset date for S3 resume restore.
SgTpvAcpiS3Save.dxs | SgTpvAcpiS3Save Dxe Driver dependency file.
SgTpvAcpiS3Save.mak | Make file to build the ModulePart.
SgTpvAcpiS3Save.sdl | SDL file for SgTpvAcpiS3Save.
AMI Build Tools:
Tools Label: 4.5.5_TOOLS_40 , Dated: 2012-06
Visual eBios: RSS 5.73.0239, Dated: 2012-06-21
Compiler Tool(s): Microsoft’s Windows Driver Kit (WDK) Ver. 7600.16385.1
File Changed:
[TAG] None
[Category] Improvement
[Description] Save the dGPU ssid to SANV for restore.
[Files] SgTpvAcpiS3Save.c
[TAG] None
[Category] New Feature
[Description] Enable falg bit14 of ATPX Function 1 to support MSHybrid.
[Files] ATiGPU.asl,ATiGPUPCH.asl
[TAG] None
[Category] New Feature
[Description] Add _DSW method to support MSHybrid.
[Files] AtiSSDTPCH.asl,OpSSDTPCH.asl
[TAG] None
[Category] Improvement
[Description] Remove _STA method in the scope of root port because it's not required.
[Files] OpSSDT.asl
Known issue:
None
Release History:
4.6.5.3_SG_010.htm
4.6.5.3_SG_009.htm
4.6.5.3_SG_008.htm
4.6.5.3_SG_007.htm
4.6.5.3_SG_006.htm
4.6.5.3_SG_005.htm
4.6.5.3_SG_004.htm
4.6.5.3_SG_003.htm
4.6.5.3_SG_002.htm
4.6.5.3_SG_001.htm
4.6.5.3_SG_000.htm

© American Megatrends Inc.


Copyright

American Megatrends, Inc.
5555 Oakbrook Parkway
Suite 200
Norcross, GA 30093 (USA)

Copyright (c) 1999-2012 American Megatrends, Inc. All Rights Reserved.

This publication contains proprietary information, which is protected by copyright. No part of this publication may be reproduced, transcribed, stored in a retrieval system, translated into any language or computer language, or transmitted in any form whatsoever without the prior written consent of the publisher, American Megatrends, Inc.

American Megatrends, Inc. retains the right to update, change, modify this publication at any time, without notice.

For Additional Information

Call American Megatrends BIOS Sales Department at 1-800-828-9264 for additional information.

Limitations of Liability

In no event shall American Megatrends be held liable for any loss, expenses, or damages of any kind whatsoever, whether direct, indirect, incidental, or consequential, arising from the design or use of this product or the support materials provided with the product.

Limited Warranty

No warranties are made, either expressed or implied, with regard to the contents of this work, its merchantability, or fitness for a particular use. American Megatrends assumes no responsibility for errors and omissions or for the uses made of the material contained herein or reader decisions based on such use.

Trademark and Copyright Acknowledgments

All product names used in this publication are for identification purposes only and are trademarks of their respective Companies.


Release Notes - NDA Required

Component Information:
Component Title: SwithableGraphics
Component Reference Name: SwitchableGraphics
Component Type: eModule
Release Date: 2014-05-13
Source Control Label: 4.6.5.3_SG_012
Source Control Location: SS: ALASKA;$/Alaska/SOURCE/Modules/SharkBayRefCodes/SwitchableGraphics/;
Dependencies
Component Dependencies
TWO
Dependent Component Title: Intel System Agent
Dependent Component Reference Name:Intel System Agent
Dependent Source Control Label: 4.6.5.3_Intel_SA-RC_161_032a
Dependent Source Control Location: SS: Alaska;$/Alaska/BIN/Chipset/Intel/NorthBridge/Haswell;

Dependent Component Title: Platform
Dependent Component Reference Name:Platform
Dependent Source Control Label: 4.6.5.3_PF-ACPI_RC_161_030a
Dependent Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/SharkBayRefCodes/Platform;

Non-Compiled BIN and LIB File(s) within this Component:
NONE
Component Description:
This is an eModule of Intel Smart Connect Technology
Filename | Description
Main Component | Root\Board\EM\SwitchableGraphics
SwitchableGraphics.cif | Component information file for the eModule.
SwitchableGraphics.mak | NMAKE scripts to build the SwitchableGraphics Setup.
SwitchableGraphics.sd | Setup options and information displayed in bios setup.
SwitchableGraphics.sdl | SDL file for SwitchableGraphics.
SwitchableGraphics.uni | Strings that are displayed in Setup.
Sg TPV
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv
SgTpvDxe.c | This file contains the etry point of SgTpv Support driver.
SgTpvDxe.dxs | SgTpv Dxe Driver dependency file.
SgTpvPei.c | This file contains the PEI SG Entry point SgPei_Init.
SgTpvPei.dxs | SgTpv PEIM dependency file.
SgTpv.sdl | SDL file for SgTpv.
SgTpv.cif | Component information for the Module Part.
SgTpv.mak | Make file to build the ModulePart.
Sg nVidia API
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\MXM30\
MXM30.cif | Component information for the Module Part.
MXM30.mak | Make file to build the ModulePart.
MXM30.sdl | SDL file for MXM30.
Mxm30Dxe.c | This file contains the etry point of EFI MXM30 Support driver.
Mxm30Dxe.dxs | Dependency expression file for.
Mxm30Efi.c | This file installs Mxm Efi protocol,Mxm legacy int15 and Acpi interfaces.
Mxm30ElkCreek4.mxm | MXM module file for Elk creek IV.
Mxm30ElkCreekIII.mxm | MXM module file for Elk creek III.
MxmInt15.asm | MXM INT15 function implememtation and nVidia's NBCI Int15 supplement functions.
NBCIEfi.c | This file installs Nbci EFI protocol.
MXM Protocol
ModulePart 		Root\Include\Protocol
MXMProtocol.cif | Component information for the Module Part.
Mxm30.h | Mxm30 related constants and type definitions.
Nbci.h | Nbci related constants and type definitions.
Sg nVidia Optimus SMM
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\NvOptimusSMM\
NvOptimusSMM.cif | Component information for the Module Part.
NvOptimusSMM.asl | Asl code for NvOptimus SMM.
NvOptimusSMM.c | Code for NvOptimus SMI events.
NvOptimusSMM.dxs | Dependency file for the NvOptimus Smi driver.
NvOptimusSMM.mak | Make file to build the ModulePart.
NvOptimusSMM.sdl | SDL file for NvOpTimusSMM.
NvOptimusSMM.ssp | Cmos Manager Setup Script Processor.
Sg Acpi Tables
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\
SgTpvAcpiTables.cif | Component information for the Module Part.
SgTpvAcpiTables.c | Install Acpi Tables for Tpv's Switchable Graphics.
SgTpvAcpiTables.h | SgTpv Acpi Tables related constants and type definitions.
SgTpvAcpiTables.mak | Make file to build the ModulePart.
SgTpvAcpiTables.sdl | SDL file for SgTpvAcpiTables.
SgTpvPEG
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\SgTpvPEG
SgTpvPEG.cif | Component information for the Module Part.
SgTpvPEG.mak | Make file to build the ModulePart.
SgTpvPEG.sdl | SDL file for SgTpvPEG.
*.asl | Asl code for Ati card and nVidia card driver.
SgTpvPCH
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\SgTpvPCH
SgTpvPCH.cif | Component information for the Module Part.
SgTpvPCH.mak | Make file to build the ModulePart.
SgTpvPCH.sdl | SDL file for SgTpvPEG.
*.asl | Asl code for Ati card and nVidia card driver.
OEMSSDT
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiTables\OEMSSDT\
OEMSSDT.cif | Component information for the Module Part.
*.asl | Sample Asl code for OEM card driver.
Sg Acpi S3 Save
ModulePart 		Root\Board\EM\SwitchableGraphics\SgTpv\AcpiS3Save\
SgTpvAcpiS3Save.cif | Component information for the Module Part.
SgTpvAcpiS3Save.c | This file will save SG TPV related offset date for S3 resume restore.
SgTpvAcpiS3Save.dxs | SgTpvAcpiS3Save Dxe Driver dependency file.
SgTpvAcpiS3Save.mak | Make file to build the ModulePart.
SgTpvAcpiS3Save.sdl | SDL file for SgTpvAcpiS3Save.
AMI Build Tools:
Tools Label: 4.5.5_TOOLS_41, Dated: 2013-03-19
Visual eBios: RSS.5.73.0244, Dated: 2013-03-19
Compiler Tool(s): Microsoft’s Windows Driver Kit (WDK) Ver. 7600.16385.1
File Changed:
[TAG] 167034
[Category] Improvement
[Description] Review the variable's attribute.
[Files] SgTpvDxe.c
Known issue:
None
Release History:
4.6.5.3_SG_011.htm
4.6.5.3_SG_010.htm
4.6.5.3_SG_009.htm
4.6.5.3_SG_008.htm
4.6.5.3_SG_007.htm
4.6.5.3_SG_006.htm
4.6.5.3_SG_005.htm
4.6.5.3_SG_004.htm
4.6.5.3_SG_003.htm
4.6.5.3_SG_002.htm
4.6.5.3_SG_001.htm
4.6.5.3_SG_000.htm

© American Megatrends Inc.


Function by File Name

AMIBIOS Function Reference

By File Name

The following is a list of the source files.
For a list in alphabetical order, see In Alphabetical Order.
For a list by segment, see By Segment.

  • ATdGPU.asl
  • ATdGPUPCH.asl
  • ATiGDmisc.asl
  • ATiGDmiscPCH.asl
  • ATiGPU.asl
  • ATiGPUPCH.asl
  • MXM30.mak
  • Mxm30Dxe.c
  • Mxm30Efi.c
  • MxmInt15.asm
  • NBCIEfi.c
  • NVdGPU.asl
  • NVdGPUPCH.asl
  • NvGC6.asl
  • NvGC6PCH.asl
  • NvGPS.asl
  • NvGPSPCH.asl
  • NViGDmisc.asl
  • NViGDmiscPCH.asl
  • NViGPU.asl
  • NViGPUPCH.asl
  • NvOptimusSMM.c
  • NvOptimusSMM.mak
  • NvSSDT.asl
  • NvSSDTPCH.asl
  • NvVentura.asl
  • NvVenturaPCH.asl
  • OEMNVdGPU.asl
  • OEMNvGPS.asl
  • OEMNViGDmisc.asl
  • OEMNViGPU.asl
  • OEMNvVentura.asl
  • OEMSSDT.asl
  • OEMSSDT.mak
  • OpSSDT.asl
  • OpSSDTPCH.asl
  • SgTpv.mak
  • SgTpvAcpiS3Save.c
  • SgTpvAcpiS3Save.mak
  • SgTpvAcpiTables.c
  • SgTpvAcpiTables.mak
  • SgTpvDxe.c
  • SgTpvPCH.mak
  • SgTpvPEG.mak
  • SgTpvPei.c
  • SwitchableGraphics.mak
  • SwitchableGraphics.sd
Built on 17:37:22 05/13/14


ATdGPU.asl

The following functions are used in the file: ATdGPU.asl.

Function | Description
_INI | dGPU Init control method. Used to force dGPU _ADR to return proper PCI address
_OFF | dGPU power OFF control method
_ON | dGPU power ON control method
_STA | Returns curent dGPU power/presence state


_INI in the ATdGPU.asl

Function : _INI

File: ATdGPU.asl
Description:
dGPU Init control method. Used to force dGPU _ADR to return proper PCI address
Built on 17:37:21 05/13/14


_OFF in the ATdGPU.asl

Function : _OFF

File: ATdGPU.asl
Description:
dGPU power OFF control method
Built on 17:37:21 05/13/14


_ON in the ATdGPU.asl

Function : _ON

File: ATdGPU.asl
Description:
dGPU power ON control method
Built on 17:37:21 05/13/14


_STA in the ATdGPU.asl

Function : _STA

File: ATdGPU.asl
Description:
Returns curent dGPU power/presence state
Built on 17:37:21 05/13/14


ATdGPUPCH.asl

The following functions are used in the file: ATdGPUPCH.asl.

Function | Description
_INI | dGPU Init control method. Used to force dGPU _ADR to return proper PCI address
_OFF | dGPU power OFF control method
_ON | dGPU power ON control method
_STA | Returns curent dGPU power/presence state


_INI in the ATdGPUPCH.asl

Function : _INI

File: ATdGPUPCH.asl
Description:
dGPU Init control method. Used to force dGPU _ADR to return proper PCI address
Built on 17:37:21 05/13/14


_OFF in the ATdGPUPCH.asl

Function : _OFF

File: ATdGPUPCH.asl
Description:
dGPU power OFF control method
Built on 17:37:21 05/13/14


_ON in the ATdGPUPCH.asl

Function : _ON

File: ATdGPUPCH.asl
Description:
dGPU power ON control method
Built on 17:37:21 05/13/14


_STA in the ATdGPUPCH.asl

Function : _STA

File: ATdGPUPCH.asl
Description:
Returns curent dGPU power/presence state
Built on 17:37:21 05/13/14


ATiGDmisc.asl

The following functions are used in the file: ATiGDmisc.asl.

Function | Description
HBRT | Send backlight notifications to the DGPU LFP device This is required for Win7 and is backward compatible with Vista
HGAS | HG Adaptor select, notify
HNOT | Notification handler for Switchable graphics. Called from GNOT()
HPFS | Panel Fitting Hot Key


HBRT in the ATiGDmisc.asl

Function : HBRT

File: ATiGDmisc.asl
Description:
Send backlight notifications to the DGPU LFP device
This is required for Win7 and is backward compatible with Vista
Input:
Arg0 - 4 - Brightnes Down, 3- Up
Built on 17:37:21 05/13/14


HGAS in the ATiGDmisc.asl

Function : HGAS

File: ATiGDmisc.asl
Description:
HG Adaptor select, notify
Built on 17:37:21 05/13/14


HNOT in the ATiGDmisc.asl

Function : HNOT

File: ATiGDmisc.asl
Description:
Notification handler for Switchable graphics. Called from GNOT()
Input:
Arg0 = Current event type:
    1 = display switch
    2 = lid
    3 = dock (!!!!!Calpella ref code, Method(GDCK)sends 4 for Dock notifications )
Built on 17:37:21 05/13/14


HPFS in the ATiGDmisc.asl

Function : HPFS

File: ATiGDmisc.asl
Description:
Panel Fitting Hot Key
Input:
None
Built on 17:37:21 05/13/14


ATiGDmiscPCH.asl

The following functions are used in the file: ATiGDmiscPCH.asl.

Function | Description
HBRT | Send backlight notifications to the DGPU LFP device This is required for Win7 and is backward compatible with Vista
HGAS | HG Adaptor select, notify
HNOT | Notification handler for Switchable graphics. Called from GNOT()
HPFS | Panel Fitting Hot Key


HBRT in the ATiGDmiscPCH.asl

Function : HBRT

File: ATiGDmiscPCH.asl
Description:
Send backlight notifications to the DGPU LFP device
This is required for Win7 and is backward compatible with Vista
Input:
Arg0 - 4 - Brightnes Down, 3- Up
Built on 17:37:21 05/13/14


HGAS in the ATiGDmiscPCH.asl

Function : HGAS

File: ATiGDmiscPCH.asl
Description:
HG Adaptor select, notify
Built on 17:37:21 05/13/14


HNOT in the ATiGDmiscPCH.asl

Function : HNOT

File: ATiGDmiscPCH.asl
Description:
Notification handler for Switchable graphics. Called from GNOT()
Input:
Arg0 = Current event type:
    1 = display switch
    2 = lid
    3 = dock (!!!!!Calpella ref code, Method(GDCK)sends 4 for Dock notifications )
Built on 17:37:21 05/13/14


HPFS in the ATiGDmiscPCH.asl

Function : HPFS

File: ATiGDmiscPCH.asl
Description:
Panel Fitting Hot Key
Input:
None
Built on 17:37:21 05/13/14


ATiGPU.asl

The following functions are used in the file: ATiGPU.asl.

Function | Description
ADPM | ADPM -> ATPX Fn 8 Digital port mux mode
ATIF | ATI GFX Interface.Provides ATI specific GFX functionality on mobile platforms.
ATPX | ATI PowerXpress (PX) Contrl Method: Revision 0.19 PX specific Control Method used by integrated graphics or discrete graphics driver on PX enabled platforms.
ATRM | ATI PowerXpress (PX) get ROM Method: Revision 0.19 PX specific Control Method used by discrete graphics driver on PX enabled platforms to get a runtime modified copy of the discrete graphics device ROM data (Video BIOS).

The following data structures are used in the file: ATiGPU.asl.

Variable | Description
APXM | AMD PowerExpress OperationRegion. OpRegion address (AMDA)is defined in IDG Nvs OpRegion


ADPM in the ATiGPU.asl

Function : ADPM

File: ATiGPU.asl
Description:

 ADPM
 ->

 ATPX
 Fn 8 Digital port mux mode
Input:
Arg0 : Integer   User selected option (via., setup 0 -> Shared, 1 -> iGPU Only, 2 -> dGPU Only)
Arg1 : 1 -> iGPU connector record, 2->dgpu connector record
Output:
Flag value for

 ATPX
 Fn 8.
Bit0-> display can be driven by the GPU
Bit1-> HPD can be detected by the GPU
Bit2-> AUX/DDC can be driven by the GPU
Built on 17:37:21 05/13/14


APXM in the ATiGPU.asl

Variable : APXM

File: ATiGPU.asl
Description:
AMD PowerExpress OperationRegion.
OpRegion address (AMDA)is defined in IDG Nvs OpRegion
Built on 17:37:21 05/13/14


ATIF in the ATiGPU.asl

Function : ATIF

File: ATiGPU.asl
Description:
ATI GFX Interface.Provides ATI specific GFX functionality on mobile platforms.
Input:
Arg0:    Integer    Function code.
Arg1:    Package    Parameter buffer, 256 bytes
Output:
Returns Buffer, 256 bytes
Built on 17:37:21 05/13/14


ATPX in the ATiGPU.asl

Function : ATPX

File: ATiGPU.asl
Description:
ATI PowerXpress (PX) Contrl Method: Revision 0.19
    PX specific Control Method used by integrated graphics
or discrete graphics driver on PX enabled platforms.
Input:
Arg0:	Integer     Function code.
Arg1:   Buffer      Parameter buffer, 256 bytes
Output:
Returns Buffer      256 bytes
Built on 17:37:21 05/13/14


ATRM in the ATiGPU.asl

Function : ATRM

File: ATiGPU.asl
Description:
ATI PowerXpress (PX) get ROM Method: Revision 0.19
    PX specific Control Method used by discrete graphics driver
on PX enabled platforms to get a runtime modified copy of
the discrete graphics device ROM data (Video BIOS).
Input:
Arg0:   Integer     Offset of the graphics device ROM data
Arg1:   Integer     Size of the buffer to fill in (up to 4K)
Output:
Buffer      Buffer of requested video ROM bytes
Built on 17:37:21 05/13/14


ATiGPUPCH.asl

The following functions are used in the file: ATiGPUPCH.asl.

Function | Description
ADPM | ADPM -> ATPX Fn 8 Digital port mux mode
ATIF | ATI GFX Interface.Provides ATI specific GFX functionality on mobile platforms.
ATPX | ATI PowerXpress (PX) Contrl Method: Revision 0.19 PX specific Control Method used by integrated graphics or discrete graphics driver on PX enabled platforms.
ATRM | ATI PowerXpress (PX) get ROM Method: Revision 0.19 PX specific Control Method used by discrete graphics driver on PX enabled platforms to get a runtime modified copy of the discrete graphics device ROM data (Video BIOS).

The following data structures are used in the file: ATiGPUPCH.asl.

Variable | Description
APXM | AMD PowerExpress OperationRegion. OpRegion address (AMDA)is defined in IDG Nvs OpRegion


ADPM in the ATiGPUPCH.asl

Function : ADPM

File: ATiGPUPCH.asl
Description:

 ADPM
 ->

 ATPX
 Fn 8 Digital port mux mode
Input:
Arg0 : Integer   User selected option (via., setup 0 -> Shared, 1 -> iGPU Only, 2 -> dGPU Only)
Arg1 : 1 -> iGPU connector record, 2->dgpu connector record
Output:
Flag value for

 ATPX
 Fn 8.
Bit0-> display can be driven by the GPU
Bit1-> HPD can be detected by the GPU
Bit2-> AUX/DDC can be driven by the GPU
Built on 17:37:21 05/13/14


APXM in the ATiGPUPCH.asl

Variable : APXM

File: ATiGPUPCH.asl
Description:
AMD PowerExpress OperationRegion.
OpRegion address (AMDA)is defined in IDG Nvs OpRegion
Built on 17:37:21 05/13/14


ATIF in the ATiGPUPCH.asl

Function : ATIF

File: ATiGPUPCH.asl
Description:
ATI GFX Interface.Provides ATI specific GFX functionality on mobile platforms.
Input:
Arg0:    Integer    Function code.
Arg1:    Package    Parameter buffer, 256 bytes
Output:
Returns Buffer, 256 bytes
Built on 17:37:21 05/13/14


ATPX in the ATiGPUPCH.asl

Function : ATPX

File: ATiGPUPCH.asl
Description:
ATI PowerXpress (PX) Contrl Method: Revision 0.19
    PX specific Control Method used by integrated graphics
or discrete graphics driver on PX enabled platforms.
Input:
Arg0:	Integer     Function code.
Arg1:   Buffer      Parameter buffer, 256 bytes
Output:
Returns Buffer      256 bytes
Built on 17:37:21 05/13/14


ATRM in the ATiGPUPCH.asl

Function : ATRM

File: ATiGPUPCH.asl
Description:
ATI PowerXpress (PX) get ROM Method: Revision 0.19
    PX specific Control Method used by discrete graphics driver
on PX enabled platforms to get a runtime modified copy of
the discrete graphics device ROM data (Video BIOS).
Input:
Arg0:   Integer     Offset of the graphics device ROM data
Arg1:   Integer     Size of the buffer to fill in (up to 4K)
Output:
Buffer      Buffer of requested video ROM bytes
Built on 17:37:21 05/13/14


MXM30.mak

Description:
Make file to build Switchable Graphics MXM component


Mxm30Dxe.c

Description:
This file contains the etry point of EFI MXM30 Support driver
The function istalls MXM EFI, Legacy and Acpi interfaces if
enabled in Setup
Installs Acpi Tables for Switchable Graphics
Notes:
MAKE SURE NO PEI OR DXE SPECIFIC CODE IS NEEDED

The following functions are used in the file: Mxm30Dxe.c.

Function | Description
MxmDriverEntryPoint | Entry point of EFI MXM Support driver. The function istalls 1. Install MXM protocol; 2. Update data structure to be passed to Int15 binary must support multiple MXM data modules. Dependent on controller's handle Load MXM data block <1Mb area. a. Copy MXM Structure below 1MB 1. Allocate Legacy mem space for MXM dat <1MB OR 2. Update the MXM data by the pointer returned by Int15 5F80 Func01(default) b. Update the pointer to MXM data in EFI Protocol API c. Create an ACPI SSDT table and copy MXM block there (ASL MXM logic must handle different MXM modules...)
UpdateInt15MxMData | Get the address of MXM data buffer in legacy bios region


MxmDriverEntryPoint in the Mxm30Dxe.c

Function : MxmDriverEntryPoint

File: Mxm30Dxe.c
Description:
Entry point of EFI MXM Support driver. The function istalls
1. Install MXM protocol;
2. Update data structure to be passed to Int15 binary
must support multiple MXM data modules. Dependent on controller's handle
Load MXM data block <1Mb area.
a. Copy MXM Structure below 1MB
1. Allocate Legacy mem space for MXM dat <1MB
OR
2. Update the MXM data by the pointer returned by Int15 5F80 Func01(default)
b. Update the pointer to MXM data in EFI Protocol API
c. Create an ACPI SSDT table and copy MXM block there (ASL MXM logic must handle different MXM modules...)
Input:
EFI_HANDLE           ImageHandle,
EFI_SYSTEM_TABLE     *SystemTable
Output:
EFI_STATUS
Modified:
Notes:

Referrals:


UpdateInt15MxMData in the Mxm30Dxe.c

Function : UpdateInt15MxMData

File: Mxm30Dxe.c
Description:
Get the address of MXM data buffer in legacy bios region
Input:
EFI_LEGACY_BIOS_PROTOCOL            *LegacyBiosProtocol;
Output:
EFI_STATUS
Modified:
Notes:

Referrals:


Mxm30Efi.c

Description:
This file installs
1)Mxm EFI protocol
2)Mxm Legacy Int15 and
3)Acpi interfaces for Switchable Graphics
Notes:
MAKE SURE NO PEI OR DXE SPECIFIC CODE IS NEEDED

The following functions are used in the file: Mxm30Efi.c.

Function | Description
LoadFile | Reads the file with the given GUID.
MXM30Interfaces | Entry point of EFI MXM Support driver. The function istalls 1. Install MXM protocol; 2. Update data structure to be passed to Int15 binary must support multiple MXM data modules. Dependent on controller's handle Load MXM data block <1Mb area. a. Copy MXM Structure below 1MB 1. Allocate Legacy mem space for MXM dat <1MB OR 2. Update the MXM data by the pointer returned by Int15 5F80 Func01(default) b. Update the pointer to MXM data in EFI Protocol API c. Create an ACPI SSDT table and copy MXM block there (ASL MXM logic must handle different MXM modules...)
MxmCheckOutputDevice | Check Availability of Output Device. Caller provides the handle of the target adapter and the handle of the display
MxmReturnSpecLevel | Caller provides pointer to location, which on call contains the Module requested Spec Revision Level, and which on exit, will contain the Platform's preferred Revision Level and Bit Field of supported functions.
MxmReturnStructure | Caller provides expected MXM Interface Revision Level and a pointer which, on return will contain the MXM structure.
MxmSelectOutputDevice | Select Output Device Channel. Caller provides the handle of the target adapter, the handle of the display and the output setting


LoadFile in the Mxm30Efi.c

Function : LoadFile

File: Mxm30Efi.c
Description:
Reads the file with the given GUID.
Input:
IN EFI_GUID     *Guid,
IN VOID         **Buffer
IN UINTN        *BufferSize
Output:
EFI_STATUS
Built on 17:37:21 05/13/14


MXM30Interfaces in the Mxm30Efi.c

Function : MXM30Interfaces

File: Mxm30Efi.c
Description:
Entry point of EFI MXM Support driver. The function istalls
1. Install MXM protocol;
2. Update data structure to be passed to Int15 binary
must support multiple MXM data modules. Dependent on controller's handle
Load MXM data block <1Mb area.
a. Copy MXM Structure below 1MB
1. Allocate Legacy mem space for MXM dat <1MB
OR
2. Update the MXM data by the pointer returned by Int15 5F80 Func01(default)
b. Update the pointer to MXM data in EFI Protocol API
c. Create an ACPI SSDT table and copy MXM block there (ASL MXM logic must handle different MXM modules...)
Input:
EFI_HANDLE           ImageHandle,
EFI_SYSTEM_TABLE     *SystemTable
Output:
EFI_STATUS
Modified:
Notes:

Referrals:


MxmCheckOutputDevice in the Mxm30Efi.c

Function : MxmCheckOutputDevice

File: Mxm30Efi.c
Description:
Check Availability of Output Device. Caller provides the handle of
the target adapter and the handle of the display
Input:
UINT8       *This
EFI_HANDLE   ControllerHandle
UCHAR16     usStructSize
Output:
EFI_STATUS =
EFI_SUCCESS, EFI_UNSUPPORTED, EFI_INVALID_PARAMETER, EFI_BUFFER_TOO_SMALL
UCHAR8 ucDisplayAvailable
Modified:
Notes:
The returned value ucDisplayAvailable will be one of the following values:
0 - Connector is currently available
1 - Connector is not currently available
Referrals:


MxmReturnSpecLevel in the Mxm30Efi.c

Function : MxmReturnSpecLevel

File: Mxm30Efi.c
Description:
Caller provides pointer to location, which on call contains the Module requested Spec Revision
Level, and which on exit, will contain the Platform's preferred Revision Level and Bit Field of
supported functions.
Input:
UINT8       *This
EFI_HANDLE   ControllerHandle
UCHAR16     usStructSize
Output:
EFI_STATUS =
EFI_SUCCESS, EFI_UNSUPPORTED, EFI_INVALID_PARAMETER, EFI_BUFFER_TOO_SMALL
Modified:
Notes:
Where the integer value passed in uSupportFuncs indicates supported functions:
Bit 0 = `1' (this method is required)
Bit 1 = `1' (MxmReturnStucture is also required)
Bit 2 = `1' if MxmSelectOutputDevice is supported, `0' if not
Bit 3 = `1' if MxmCheckOutputDevice is supported, `0' if not
Referrals:


MxmReturnStructure in the Mxm30Efi.c

Function : MxmReturnStructure

File: Mxm30Efi.c
Description:
Caller provides expected MXM Interface Revision Level and a pointer which,
on return will contain the MXM structure.
Input:
UINT8       *This
EFI_HANDLE   ControllerHandle
UCHAR16     usStructSize
Output:
EFI_STATUS =
EFI_SUCCESS, EFI_UNSUPPORTED, EFI_INVALID_PARAMETER, EFI_BUFFER_TOO_SMALL
Modified:
Notes:
ControllerHandle - used to differentiate which MXM module is being referenced.
This is the EFI handle for the PCI device. ChildHandle where used, is the output device (the display).
usStructSize - set to the size of the supplied buffer by the caller, and on return should contain the
actual size of the structure. If the structure is larger than the buffer, EFI_BUFFER_TOO_SMALL
should be returned as the status of the call
usDataBlockID - Identifier for the data block to return. To obtain the MXM information structure, use usDataBlockID[0..7] to specify the revision
of the MXM software specification that is supported by the MXM module.Format is binary coded decimal, for example: 0030h = 3.0, etc.
To obtain an additional vendor specific data block, use lower 8 bits to specify an identifier in the range 0x80-0x8F.
If the system BIOS does not contain MXM Graphics Module Software Specification Version 3.0 such a data block, it should return an error.
Graphics vendors should not assume a specific assignment within this range - the SBIOS can store
the data for different vendors in any order in the 0x80-0x8F identifier range
Referrals:


MxmSelectOutputDevice in the Mxm30Efi.c

Function : MxmSelectOutputDevice

File: Mxm30Efi.c
Description:
Select Output Device Channel.
Caller provides the handle of the target adapter, the handle of the display and the output setting
Input:
UINT8       *This
EFI_HANDLE   ControllerHandle
UCHAR16     usStructSize
Output:
EFI_STATUS =
EFI_SUCCESS, EFI_UNSUPPORTED, EFI_INVALID_PARAMETER, EFI_BUFFER_TOO_SMALL
Modified:
Notes:
Where the value passed in ucOutputSetting may indicate one of the following actions:
0 - Acquire shared Display DDC
1 - Enable this Display Output
3 - Enable this Display - Both Output and DDC
4 - Release shared Display DDC
Referrals:


MxmInt15.asm

Description:
MXM INT15 function implememtation
  + nVidia's NBCI Int15 supplement functions

The following functions are used in the file: MxmInt15.asm.

Function | Description
mxmInt15Fun0 | Function 0 Output Specification Support Level
mxmInt15Fun1 | Function 1 Output a Pointer to the MXM Structure
mxmInt15Fun2 | Function 2 Output a Pointer to the EDID Structure for the Internal Panel
mxmInt15Fun3 | Function 3 Select Output Device Channel
mxmInt15Fun4 | Function 4 Boot Message
mxmInt15Fun7 | Function 7 Returns a Pointer to the VBIOS Image for ROM-Less Adapters
mxmInt15Fun8 | Function 8 Check Availability of Output Device
mxmInt15Fun9 | Function 9 Identify Output Devices
mxmInt15FunD | Optimus: Discrete graphics subsystem power control
mxmnotSupported |


mxmInt15Fun0 in the MxmInt15.asm

Function : mxmInt15Fun0

File: MxmInt15.asm
Segment: CSMOEM_CSEG
Description:
Function 0 Output Specification Support Level
Input:
AX = 5F80h                                      ; MXM2.0, MXM2.1, MXM3.0
BL = 00h                                        ; MXM2.0, MXM2.1, MXM3.0
BH = Adapter Index                              ; MXM2.0, MXM2.1
0 = Primary MXM adapter (default)           ; MXM2.0, MXM2.1
1 = Secondary MXM adapter                   ; MXM2.0, MXM2.1
BH = FFh                                        ; MXM3.0
EBX[31:16] = Adapter ID                         ; MXM3.0
Bits [31:24] Bus                            ; MXM3.0
Bits [23:19] Device                         ; MXM3.0
Bits [18:16] Function                       ; MXM3.0
CL = Revision of the MXM software specification that is supported by the MXM module     ; MXM2.0, MXM2.1
Format is binary coded decimal, for example:
10h = 1.0, 11h = 1.1, 20h = 2.0, etc.
CX = Revision of the MXM software specification that is supported by the MXM module.    ; MXM3.0
Format is binary coded decimal, for example: 0030h = 3.0, etc
CX = 'OP' 4F50h Optimus Interface
CX = 'NB' 4E42h NBCI Interface
Output:
AX =     005Fh    to indicate that the system bios supports this function               ; MXM2.0, MXM2.1, MXM3.0
BL  =     Revision of the MXM software specification that is supported by the system    ; MXM2.0, MXM2.1, MXM3.0
Format is binary coded decimal, for example:
10h = 1.0, 11h = 1.1, 20h = 2.0, etc.
CX = MXM functions supported                                            ; MXM2.0, MXM2.1, MXM3.0
Bit 0 = 1
Bit 1 = 1 if Function 1 is supported, 0 if not supported            ; MXM2.0, MXM2.1, MXM3.0
Bit 2 = 1 if Function 2 is supported, 0 if not supported            ; MXM2.0, MXM2.1, MXM3.0
Bit 3 = 1 if Function 3 is supported, 0 if not supported            ; MXM2.0, MXM2.1, MXM3.0
Bit 4 = 1 if Function 4 is supported, 0 if not supported            ; MXM2.1, MXM3.0
Bit 7 = 1 if Function 7 is supported, 0 if not supported            ; MXM3.0
Bit 8 = 1 if Function 8 is supported, 0 if not supported            ; MXM3.0
Bit 9 = 1 if Function 9 is supported, 0 if not supported            ; MXM3.0


mxmInt15Fun1 in the MxmInt15.asm

Function : mxmInt15Fun1

File: MxmInt15.asm
Segment: CSMOEM_CSEG
Description:
Function 1 Output a Pointer to the MXM Structure
Input:
AX = 5F80h                                      ; MXM2.0, MXM2.1, MXM3.0
BL = 01h                                        ; MXM2.0, MXM2.1, MXM3.0
BH = FFh                                        ; MXM3.0
EBX[31:16] = Adapter ID                         ; MXM3.0
Bits [31:24] Bus                            ; MXM3.0
Bits [23:19] Device                         ; MXM3.0
Bits [18:16] Function                       ; MXM3.0
CL = Revision of the MXM software specification  that is supported by the MXM module    ; MXM2.0, MXM2.1
CX = Identifier for the data block to return    ; MXM3.0
Output:
AX = 005Fh    to indicate that the system bios supports this function   ; MXM2.0, MXM2.1, MXM3.0
BX = Vendor ID of data block if CX = 0x80-0x8F, else 0.                 ; MXM3.0
ES:DI = Pointer to the MXM structure in real mode memory (< 1MB)        ; MXM2.0, MXM2.1, MXM3.0


mxmInt15Fun2 in the MxmInt15.asm

Function : mxmInt15Fun2

File: MxmInt15.asm
Segment: CSMOEM_CSEG
Description:
Function 2 Output a Pointer to the EDID Structure for the Internal Panel
Input:
AX = 5F80h                                      ; MXM2.0, MXM2.1, MXM3.0
BL = 02h                                        ; MXM2.0, MXM2.1, MXM3.0
BH = Adapter Index                              ; MXM2.0, MXM2.1
0 = Primary MXM adapter (default)
1 = Secondary MXM adapter
BH = FFh                                        ; MXM3.0
EBX[31:16] = Adapter ID                         ; MXM3.0
Bits [31:24] Bus
Bits [23:19] Device
Bits [18:16] Function
EDX = Display device identifier (32-bit value as used in _DOD)           ; MXM3.0
Output:
AX = 005Fh    to indicate that the system bios supports this function    ; MXM2.0, MXM2.1, MXM3.0
BL = EDID structures returned                                            ; MXM2.1, MXM3.0
00 = 128byte EDID 1.3 followed by a 128byte DI-EXT block.
02 = 128byte EDID 1.3 structure only
ES:DI = Pointer to the EDID structure in real mode memory (< 1MB)        ; MXM2.0, MXM2.1, MXM3.0


mxmInt15Fun3 in the MxmInt15.asm

Function : mxmInt15Fun3

File: MxmInt15.asm
Segment: CSMOEM_CSEG
Description:
Function 3 Select Output Device Channel
Input:
AX = 5F80h                                      ; MXM2.0, MXM2.1, MXM3.0
BL = 03h                                        ; MXM2.0, MXM2.1, MXM3.0
BH =    Adapter Index                           ; MXM2.0, MXM2.1
0 = Primary MXM adapter (default)
1 = Secondary MXM adapter
BH = FFh                                        ; MXM3.0
EBX[31:16] = Adapter ID                         ; MXM3.0
Bits [31:24] Bus
Bits [23:19] Device
Bits [18:16] Function
CL = Selection                                  ; MXM2.0, MXM2.1, MXM3.0
0 - Acquire shared Display DDC
1 - Display Output
3 - Both
4 - Release shared Display DDC
CH = Device index (range 0 - 7)                 ; MXM2.0, MXM2.1
according to the order in which the MXM Output Device Structure
for this device appears in the MXM Data Structure.
EDX = Display device identifier (32-bit value as used in _DOD)            ; MXM3.0
Output:
AX = 005Fh    to indicate that the SBIOS supports this function            ; MXM2.0, MXM2.1, MXM3.0
BL    For CL=0 the SBIOS shall return a 0h if the mutex was successfully acquired.    ; MXM2.0, MXM2.1, MXM3.0
When non-zero the mutex was not aquired.


mxmInt15Fun4 in the MxmInt15.asm

Function : mxmInt15Fun4

File: MxmInt15.asm
Segment: CSMOEM_CSEG
Description:
Function 4 Boot Message
Input:
AX = 5F80h                                      ; MXM2.1, MXM3.0
BL = 04h                                        ; MXM2.1, MXM3.0
Output:
AX = 005Fh    to indicate that the SBIOS supports this function                      ; MXM2.1, MXM3.0
BL = Mode    If zero then the Pointer is a (zero-terminated) Sign-On Text String.    ; MXM2.1
BX = Mode    If zero then the Pointer is a (zero-terminated) Sign-On Text String.    ; MXM3.0
ES:DI = Pointer String/Image in real mode memory (< 1MB).                            ; MXM2.1, MXM3.0
A zero length string indicates the normal sign-on message should be suppressed
e.g. to support a graphical splash screen.


mxmInt15Fun7 in the MxmInt15.asm

Function : mxmInt15Fun7

File: MxmInt15.asm
Segment: CSMOEM_CSEG
Description:
Function 7 Returns a Pointer to the VBIOS Image for ROM-Less Adapters
Input:
AX = 5F80h                                      ; MXM3.0
BL = 07h                                        ; MXM3.0
BH = FFh                                        ; MXM3.0
EBX[31:16] = Adapter ID                         ; MXM3.0
Bits [31:24] Bus
Bits [23:19] Device
Bits [18:16] Function
Output:
AX = 005Fh    to indicate that the SBIOS supports this function                ; MXM3.0
ES:DI = Pointer    to the requested VBIOS image in real mode memory (< 1MB).   ; MXM3.0


mxmInt15Fun8 in the MxmInt15.asm

Function : mxmInt15Fun8

File: MxmInt15.asm
Segment: CSMOEM_CSEG
Description:
Function 8 Check Availability of Output Device
Input:
AX = 5F80h                                      ; MXM3.0
BL = 08h                                        ; MXM3.0
BH = FFh                                        ; MXM3.0
EBX[31:16] = Adapter ID                         ; MXM3.0
Bits [31:24] Bus
Bits [23:19] Device
Bits [18:16] Function
EDX = Display device identifier (32-bit value as used in _DOD)            ; MXM3.0
Output:
AX = 005Fh    to indicate that the SBIOS supports this function           ; MXM3.0
BL = Available                                                            ; MXM3.0
BL = 0    indicates the connector is currently available.
BL = 1    indicates the connector is not currently available
and no display detection should occur on it.


mxmInt15Fun9 in the MxmInt15.asm

Function : mxmInt15Fun9

File: MxmInt15.asm
Segment: CSMOEM_CSEG
Description:
Function 9 Identify Output Devices
Input:
AX = 5F80h                                      ; MXM3.0
BL = 09h                                        ; MXM3.0
BH = 00h                                        ; MXM3.0
Output:
AX = 005Fh    to indicate that the SBIOS supports this function; MXM3.0
BL = Number of entries in table.                               ; MXM3.0
ES:DI = Pointer to the table.                                  ; MXM3.0
This is a table of 32-bit values identical to the buffer returned by _DOD.    ; MXM3.0


mxmInt15FunD in the MxmInt15.asm

Function : mxmInt15FunD

File: MxmInt15.asm
Segment: CSMOEM_CSEG
Description:
Optimus: Discrete graphics subsystem power control
Input:
AX = 5F80h
BL = 0Dh
BH = FFh
EBX[31:16] = Adapter ID
Bits [31:24] Bus
Bits [23:19] Device
Bits [18:16] Function
CL = Request GPU subsystem state (0 = Powered off/1 = Powered on)
Output:
AX = 005Fh    to indicate that the system bios supports this function and it completed successfully
BL = GPU power state which has been set


mxmnotSupported in the MxmInt15.asm

Function : mxmnotSupported

File: MxmInt15.asm
Segment: CSMOEM_CSEG
Input:

Output:


NBCIEfi.c

Description:
This file installs
Nbci EFI protocol
Notes:
MAKE SURE NO PEI OR DXE SPECIFIC CODE IS NEEDED

The following functions are used in the file: NBCIEfi.c.

Function | Description
NbciCheckOutputDevice | Check Availability of Output Device. Caller provides the handle of the target adapter and the handle of the display
NBCIInterfaces | Common entry point to install: 1. Install Nbci protocol;
NbciReturnSpecLevel | Caller provides pointer to location, which on call contains the Module requested Spec Revision Level, and which on exit, will contain the Platform's preferred Revision Level and Bit Field of supported functions.
NbciReturnStructure | Caller provides expected Nbci Interface Revision Level and a pointer which, on return will contain the Nbci structure.
NbciSelectOutputDevice | Select Output Device Channel. Caller provides the handle of the target adapter, the handle of the display and the output setting


NbciCheckOutputDevice in the NBCIEfi.c

Function : NbciCheckOutputDevice

File: NBCIEfi.c
Description:
Check Availability of Output Device. Caller provides the handle of
the target adapter and the handle of the display
Input:
UINT8       *This
EFI_HANDLE   ControllerHandle
UCHAR16     usStructSize
Output:
EFI_STATUS =
EFI_SUCCESS, EFI_UNSUPPORTED, EFI_INVALID_PARAMETER, EFI_BUFFER_TOO_SMALL
UCHAR8 ucDisplayAvailable
Modified:
Notes:
The returned value ucDisplayAvailable will be one of the following values:
0 - Connector is currently available
1 - Connector is not currently available
Referrals:


NBCIInterfaces in the NBCIEfi.c

Function : NBCIInterfaces

File: NBCIEfi.c
Description:
Common entry point to install:
1. Install Nbci protocol;
Input:
EFI_HANDLE           ImageHandle
Output:
EFI_STATUS
Modified:
Notes:

Referrals:


NbciReturnSpecLevel in the NBCIEfi.c

Function : NbciReturnSpecLevel

File: NBCIEfi.c
Description:
Caller provides pointer to location, which on call contains the Module requested Spec Revision
Level, and which on exit, will contain the Platform's preferred Revision Level and Bit Field of
supported functions.
Input:
CHAR8       *pucRevisionLevel
UINTN       *puSupportFuncs
Output:
EFI_STATUS =
EFI_SUCCESS, EFI_UNSUPPORTED, EFI_INVALID_PARAMETER, EFI_BUFFER_TOO_SMALL
Modified:
Notes:
Where the integer value passed in uSupportFuncs indicates supported functions:
Bit 0 = `1' (this method is required)
Bit 1 = `1' (NbciReturnStucture is also required)
Bit 2 = `1' if NbciSelectOutputDevice is supported, `0' if not
Bit 3 = `1' if NbciCheckOutputDevice is supported, `0' if not
Referrals:


NbciReturnStructure in the NBCIEfi.c

Function : NbciReturnStructure

File: NBCIEfi.c
Description:
Caller provides expected Nbci Interface Revision Level and a pointer which,
on return will contain the Nbci structure.
Input:
UINT8       *This
EFI_HANDLE   ControllerHandle
UCHAR16     usStructSize
Output:
EFI_STATUS =
EFI_SUCCESS, EFI_UNSUPPORTED, EFI_INVALID_PARAMETER, EFI_BUFFER_TOO_SMALL
Modified:
Notes:
ControllerHandle - used to differentiate which Nbci module is being referenced.
This is the EFI handle for the PCI device. ChildHandle where used, is the output device (the display).
usStructSize - set to the size of the supplied buffer by the caller, and on return should contain the
actual size of the structure. If the structure is larger than the buffer, EFI_BUFFER_TOO_SMALL
should be returned as the status of the call
usDataBlockID - Identifier for the data block to return. To obtain the Nbci information structure, use usDataBlockID[0..7] to specify the revision
of the Nbci software specification that is supported by the Nbci module.Format is binary coded decimal, for example: 0030h = 3.0, etc.
To obtain an additional vendor specific data block, use lower 8 bits to specify an identifier in the range 0x80-0x8F.
If the system BIOS does not contain Nbci Graphics Module Software Specification Version 3.0 such a data block, it should return an error.
Graphics vendors should not assume a specific assignment within this range - the SBIOS can store
the data for different vendors in any order in the 0x80-0x8F identifier range
Referrals:


NbciSelectOutputDevice in the NBCIEfi.c

Function : NbciSelectOutputDevice

File: NBCIEfi.c
Description:
Select Output Device Channel.
Caller provides the handle of the target adapter, the handle of the display and the output setting
Input:
UINT8       *This
EFI_HANDLE   ControllerHandle
UCHAR16     usStructSize
Output:
EFI_STATUS =
EFI_SUCCESS, EFI_UNSUPPORTED, EFI_INVALID_PARAMETER, EFI_BUFFER_TOO_SMALL
Modified:
Notes:
Where the value passed in ucOutputSetting may indicate one of the following actions:
0 - Acquire shared Display DDC
1 - Enable this Display Output
3 - Enable this Display - Both Output and DDC
4 - Release shared Display DDC
Referrals:


NVdGPU.asl

The following functions are used in the file: NVdGPU.asl.

Function | Description
_DSM | Implement Mxm and SG specific callback functions
_IRC | In-rush current
_OFF | dGPU power OFF control method
_ON | dGPU power ON control method
_PS0 | dGPU power ON control method
_PS3 | dGPU power OFF control method
_PSC | Curent dGPU power state, 0-D0, 3-D3, etc.
_ROM | Video ROM data buffer
_STA | dGPU power status.
HDSM | Device Specific Methods for Hybrid dGPU (may be invoked from iGD as well) Implements Mxm and SG specific callback functions
MXDS | Display output MUX control
MXMX | Display DDC Mux Control

The following data structures are used in the file: NVdGPU.asl.

Variable | Description
NVHM | Nvidia NVHG (dGPU) OperationRegion OpRegion address (NVHA)is defined in IDG Nvs OpRegion
PCI2 | For save/store PCIE NV PCI register from 0 to 256 byte by Dword access while do _ON & OFF


_DSM in the NVdGPU.asl

Function : _DSM

File: NVdGPU.asl
Description:
Implement Mxm and SG specific callback functions
Input:
Arg0:   UUID      Unique function identifier.
          MXM dGPU GUID :9D95A0A0-0060-4D48-B34D-7E5FEA129FD4
           NBCI    GUID :D4A50B75-65C7-46F7-BfB7-41514CEA0244
           Ventura GUID :95DB88FD-940A-4253-A446-70CE0504AEDF
       Optimus DSM_GUID :A486D8F8-0BDA-471B-A72B-6042A6B5BEE0

Arg1:   Integer   Revision Level
Arg2:   Integer   Function Index (0 = Return Supported Functions)
Arg3:   Package   Parameters
Output:
Sub-function 0 and unsupported function calls always returns a buffer.
Other subfunctions may return a buffer or a package as defined in the function.
When a single DWord is returned the following values have special meaning,
controlled by reserved Bit31 as follows:
MXM_ERROR_SUCCESS 0x00000000 Success
MXM_ERROR_UNSPECIFIED 0x80000001 Generic unspecified error code
MXM_ERROR_UNSUPPORTED 0x80000002 FunctionCode or SubFunctionCode not
supported by this system
Built on 17:37:21 05/13/14


_IRC in the NVdGPU.asl

Function : _IRC

File: NVdGPU.asl
Description:
In-rush current
Built on 17:37:21 05/13/14


_OFF in the NVdGPU.asl

Function : _OFF

File: NVdGPU.asl
Description:
dGPU power OFF control method
Built on 17:37:21 05/13/14


_ON in the NVdGPU.asl

Function : _ON

File: NVdGPU.asl
Description:
dGPU power ON control method
Built on 17:37:21 05/13/14


_PS0 in the NVdGPU.asl

Function : _PS0

File: NVdGPU.asl
Description:
dGPU power ON control method
Built on 17:37:21 05/13/14


_PS3 in the NVdGPU.asl

Function : _PS3

File: NVdGPU.asl
Description:
dGPU power OFF control method
Built on 17:37:21 05/13/14


_PSC in the NVdGPU.asl

Function : _PSC

File: NVdGPU.asl
Description:
Curent dGPU power state, 0-D0, 3-D3, etc.
Built on 17:37:21 05/13/14


_ROM in the NVdGPU.asl

Function : _ROM

File: NVdGPU.asl
Description:
Video ROM data buffer
Input:
Arg0:   Integer     Offset of the graphics device ROM data
Arg1:   Integer     Size of the buffer to fill in (up to 4K)
Output:
Buffer      Buffer of requested video ROM bytes
Built on 17:37:21 05/13/14


_STA in the NVdGPU.asl

Function : _STA

File: NVdGPU.asl
Description:
dGPU power status.
Built on 17:37:21 05/13/14


HDSM in the NVdGPU.asl

Function : HDSM

File: NVdGPU.asl
Description:
Device Specific Methods for Hybrid dGPU (may be invoked from iGD as well)
Implements Mxm and SG specific callback functions
Input:
Arg0:   UUID      Unique function identifier.
    nVidia
          MXM dGPU GUID :9D95A0A0-0060-4D48-B34D-7E5FEA129FD4

Arg1:   Integer   Revision Level
Arg2:   Integer   Function Index (0 = Return Supported Functions)
Arg3:   Package   Parameters
Output:
Sub-function 0 and unsupported function calls always returns a buffer.
Other subfunctions may return a buffer or a package as defined in the function.
When a single DWord is returned the following values have special meaning,
controlled by reserved Bit31 as follows:
MXM_ERROR_SUCCESS 0x00000000 Success
MXM_ERROR_UNSPECIFIED 0x80000001 Generic unspecified error code
MXM_ERROR_UNSUPPORTED 0x80000002 FunctionCode or SubFunctionCode not
supported by this system
Built on 17:37:21 05/13/14


MXDS in the NVdGPU.asl

Function : MXDS

File: NVdGPU.asl
Description:
Display output MUX control
Input:
Arg0:
0 - Get Mux state
1 - Set Display to active on this GPU
2 - Set Backlight control to active on this GPU
3 - Set Display & Backlight to active on this GPU
Output:
If Arg0 = 0, Error = Display is not MUXed
Else return value of the state of the MUX


MXMX in the NVdGPU.asl

Function : MXMX

File: NVdGPU.asl
Description:
Display DDC Mux Control
Input:
Arg0: Get/Set DDC/Aux Mux State
0- Acquire DDC/Aux Mux on this GPU
1- Release Mux from this GPU
2- Get Mux state
Output:
0, Not Acquired.
if Arg0 = 0 or 1, Non-Zero return indicates success acquiring MUX
(and MUX has switched to this output)
if Arg0 = 2, Non-Zero return indicates MUX is currently set to this output


NVHM in the NVdGPU.asl

Variable : NVHM

File: NVdGPU.asl
Description:
Nvidia NVHG (dGPU) OperationRegion
OpRegion address (NVHA)is defined in IDG Nvs OpRegion


PCI2 in the NVdGPU.asl

Variable : PCI2

File: NVdGPU.asl
Description:
For save/store PCIE NV PCI register from 0 to 256 byte by Dword access while do

 _ON
 & OFF


NVdGPUPCH.asl

The following functions are used in the file: NVdGPUPCH.asl.

Function | Description
_DSM | Implement Mxm and SG specific callback functions
_IRC | In-rush current
_OFF | dGPU power OFF control method
_ON | dGPU power ON control method
_PS0 | dGPU power ON control method
_PS3 | dGPU power OFF control method
_PSC | Curent dGPU power state, 0-D0, 3-D3, etc.
_ROM | Video ROM data buffer
_STA | dGPU power status.
HDSM | Device Specific Methods for Hybrid dGPU (may be invoked from iGD as well) Implements Mxm and SG specific callback functions
MXDS | Display output MUX control
MXMX | Display DDC Mux Control

The following data structures are used in the file: NVdGPUPCH.asl.

Variable | Description
NVHM | Nvidia NVHG (dGPU) OperationRegion OpRegion address (NVHA)is defined in IDG Nvs OpRegion
PCI2 | For save/store PCIE NV PCI register from 0 to 256 byte by Dword access while do _ON & OFF


_DSM in the NVdGPUPCH.asl

Function : _DSM

File: NVdGPUPCH.asl
Description:
Implement Mxm and SG specific callback functions
Input:
Arg0:   UUID      Unique function identifier.
          MXM dGPU GUID :9D95A0A0-0060-4D48-B34D-7E5FEA129FD4
           NBCI    GUID :D4A50B75-65C7-46F7-BfB7-41514CEA0244
           Ventura GUID :95DB88FD-940A-4253-A446-70CE0504AEDF
       Optimus DSM_GUID :A486D8F8-0BDA-471B-A72B-6042A6B5BEE0

Arg1:   Integer   Revision Level
Arg2:   Integer   Function Index (0 = Return Supported Functions)
Arg3:   Package   Parameters
Output:
Sub-function 0 and unsupported function calls always returns a buffer.
Other subfunctions may return a buffer or a package as defined in the function.
When a single DWord is returned the following values have special meaning,
controlled by reserved Bit31 as follows:
MXM_ERROR_SUCCESS 0x00000000 Success
MXM_ERROR_UNSPECIFIED 0x80000001 Generic unspecified error code
MXM_ERROR_UNSUPPORTED 0x80000002 FunctionCode or SubFunctionCode not
supported by this system
Built on 17:37:21 05/13/14


_IRC in the NVdGPUPCH.asl

Function : _IRC

File: NVdGPUPCH.asl
Description:
In-rush current
Built on 17:37:21 05/13/14


_OFF in the NVdGPUPCH.asl

Function : _OFF

File: NVdGPUPCH.asl
Description:
dGPU power OFF control method
Built on 17:37:21 05/13/14


_ON in the NVdGPUPCH.asl

Function : _ON

File: NVdGPUPCH.asl
Description:
dGPU power ON control method
Built on 17:37:21 05/13/14


_PS0 in the NVdGPUPCH.asl

Function : _PS0

File: NVdGPUPCH.asl
Description:
dGPU power ON control method
Built on 17:37:21 05/13/14


_PS3 in the NVdGPUPCH.asl

Function : _PS3

File: NVdGPUPCH.asl
Description:
dGPU power OFF control method
Built on 17:37:21 05/13/14


_PSC in the NVdGPUPCH.asl

Function : _PSC

File: NVdGPUPCH.asl
Description:
Curent dGPU power state, 0-D0, 3-D3, etc.
Built on 17:37:21 05/13/14


_ROM in the NVdGPUPCH.asl

Function : _ROM

File: NVdGPUPCH.asl
Description:
Video ROM data buffer
Input:
Arg0:   Integer     Offset of the graphics device ROM data
Arg1:   Integer     Size of the buffer to fill in (up to 4K)
Output:
Buffer      Buffer of requested video ROM bytes
Built on 17:37:21 05/13/14


_STA in the NVdGPUPCH.asl

Function : _STA

File: NVdGPUPCH.asl
Description:
dGPU power status.
Built on 17:37:21 05/13/14


HDSM in the NVdGPUPCH.asl

Function : HDSM

File: NVdGPUPCH.asl
Description:
Device Specific Methods for Hybrid dGPU (may be invoked from iGD as well)
Implements Mxm and SG specific callback functions
Input:
Arg0:   UUID      Unique function identifier.
    nVidia
          MXM dGPU GUID :9D95A0A0-0060-4D48-B34D-7E5FEA129FD4

Arg1:   Integer   Revision Level
Arg2:   Integer   Function Index (0 = Return Supported Functions)
Arg3:   Package   Parameters
Output:
Sub-function 0 and unsupported function calls always returns a buffer.
Other subfunctions may return a buffer or a package as defined in the function.
When a single DWord is returned the following values have special meaning,
controlled by reserved Bit31 as follows:
MXM_ERROR_SUCCESS 0x00000000 Success
MXM_ERROR_UNSPECIFIED 0x80000001 Generic unspecified error code
MXM_ERROR_UNSUPPORTED 0x80000002 FunctionCode or SubFunctionCode not
supported by this system
Built on 17:37:21 05/13/14


MXDS in the NVdGPUPCH.asl

Function : MXDS

File: NVdGPUPCH.asl
Description:
Display output MUX control
Input:
Arg0:
0 - Get Mux state
1 - Set Display to active on this GPU
2 - Set Backlight control to active on this GPU
3 - Set Display & Backlight to active on this GPU
Output:
If Arg0 = 0, Error = Display is not MUXed
Else return value of the state of the MUX


MXMX in the NVdGPUPCH.asl

Function : MXMX

File: NVdGPUPCH.asl
Description:
Display DDC Mux Control
Input:
Arg0: Get/Set DDC/Aux Mux State
0- Acquire DDC/Aux Mux on this GPU
1- Release Mux from this GPU
2- Get Mux state
Output:
0, Not Acquired.
if Arg0 = 0 or 1, Non-Zero return indicates success acquiring MUX
(and MUX has switched to this output)
if Arg0 = 2, Non-Zero return indicates MUX is currently set to this output


NVHM in the NVdGPUPCH.asl

Variable : NVHM

File: NVdGPUPCH.asl
Description:
Nvidia NVHG (dGPU) OperationRegion
OpRegion address (NVHA)is defined in IDG Nvs OpRegion


PCI2 in the NVdGPUPCH.asl

Variable : PCI2

File: NVdGPUPCH.asl
Description:
For save/store PCIE NV PCI register from 0 to 256 byte by Dword access while do

 _ON
 & OFF


NvGC6.asl

The following functions are used in the file: NvGC6.asl.

Function | Description
NGC6 | Called from _DSM -Device Specific Method for dGPU device. Implement Ventura specific callback functions


NGC6 in the NvGC6.asl

Function : NGC6

File: NvGC6.asl
Description:
Called from

 _DSM
 -Device Specific Method for dGPU device.
Implement Ventura specific callback functions
Input:
Arg0:   UUID      Unique function identifier.
Ventura DSM_GUID CBECA351-067B4924-9CBDB46B00B86F34
Arg1:   Integer   Revision Level
Arg2:   Integer   Function Index (0 = Return Supported Functions)
Arg3:   Package   Parameters
Output:
Sub-function 0 and unsupported function calls always returns a buffer.
Other subfunctions may return a buffer or a package as defined in the function.
When a single DWord is returned the following values have special meaning,
controlled by reserved Bit31 as follows:
MXM_ERROR_SUCCESS 0x00000000 Success
MXM_ERROR_UNSPECIFIED 0x80000001 Generic unspecified error code
MXM_ERROR_UNSUPPORTED 0x80000002 FunctionCode or SubFunctionCode not
supported by this system


NvGC6PCH.asl

The following functions are used in the file: NvGC6PCH.asl.

Function | Description
NGC6 | Called from _DSM -Device Specific Method for dGPU device. Implement Ventura specific callback functions


NGC6 in the NvGC6PCH.asl

Function : NGC6

File: NvGC6PCH.asl
Description:
Called from

 _DSM
 -Device Specific Method for dGPU device.
Implement Ventura specific callback functions
Input:
Arg0:   UUID      Unique function identifier.
Ventura DSM_GUID CBECA351-067B4924-9CBDB46B00B86F34
Arg1:   Integer   Revision Level
Arg2:   Integer   Function Index (0 = Return Supported Functions)
Arg3:   Package   Parameters
Output:
Sub-function 0 and unsupported function calls always returns a buffer.
Other subfunctions may return a buffer or a package as defined in the function.
When a single DWord is returned the following values have special meaning,
controlled by reserved Bit31 as follows:
MXM_ERROR_SUCCESS 0x00000000 Success
MXM_ERROR_UNSPECIFIED 0x80000001 Generic unspecified error code
MXM_ERROR_UNSUPPORTED 0x80000002 FunctionCode or SubFunctionCode not
supported by this system


NvGPS.asl

The following functions are used in the file: NvGPS.asl.

Function | Description
GPS | Called from _DSM -Device Specific Method for dGPU device. Implement Ventura specific callback functions


GPS in the NvGPS.asl

Function : GPS

File: NvGPS.asl
Description:
Called from

 _DSM
 -Device Specific Method for dGPU device.
Implement Ventura specific callback functions
Input:
Arg0:   UUID      Unique function identifier.
Ventura DSM_GUID A3132D01-8CDA-49BA-A52E-BC9D46DF6B81
Arg1:   Integer   Revision Level
Arg2:   Integer   Function Index (0 = Return Supported Functions)
Arg3:   Package   Parameters
Output:
Sub-function 0 and unsupported function calls always returns a buffer.
Other subfunctions may return a buffer or a package as defined in the function.
When a single DWord is returned the following values have special meaning,
controlled by reserved Bit31 as follows:
MXM_ERROR_SUCCESS 0x00000000 Success
MXM_ERROR_UNSPECIFIED 0x80000001 Generic unspecified error code
MXM_ERROR_UNSUPPORTED 0x80000002 FunctionCode or SubFunctionCode not
supported by this system
Built on 17:37:21 05/13/14


NvGPSPCH.asl

The following functions are used in the file: NvGPSPCH.asl.

Function | Description
GPS | Called from _DSM -Device Specific Method for dGPU device. Implement Ventura specific callback functions


GPS in the NvGPSPCH.asl

Function : GPS

File: NvGPSPCH.asl
Description:
Called from

 _DSM
 -Device Specific Method for dGPU device.
Implement Ventura specific callback functions
Input:
Arg0:   UUID      Unique function identifier.
Ventura DSM_GUID A3132D01-8CDA-49BA-A52E-BC9D46DF6B81
Arg1:   Integer   Revision Level
Arg2:   Integer   Function Index (0 = Return Supported Functions)
Arg3:   Package   Parameters
Output:
Sub-function 0 and unsupported function calls always returns a buffer.
Other subfunctions may return a buffer or a package as defined in the function.
When a single DWord is returned the following values have special meaning,
controlled by reserved Bit31 as follows:
MXM_ERROR_SUCCESS 0x00000000 Success
MXM_ERROR_UNSPECIFIED 0x80000001 Generic unspecified error code
MXM_ERROR_UNSUPPORTED 0x80000002 FunctionCode or SubFunctionCode not
supported by this system
Built on 17:37:21 05/13/14


NViGDmisc.asl

The following functions are used in the file: NViGDmisc.asl.

Function | Description
CHPS | Shows current Hybrid Policy status on Port80 header Adaptive -> 1, Save power -> 2 and High performance -> 3
HBRT | Send backlight notifications to the DGPU LFP device This is required for Win7 and is backward compatible with Vista
HDOS | Check if the _DOS flag was set during the hot key handling
HGAS | HG Adaptor select, notify
HNOT | Notification handler for Switchable graphics. Called from GNOT()
HPFS | Panel Fitting Hot Key


CHPS in the NViGDmisc.asl

Function : CHPS

File: NViGDmisc.asl
Description:
Shows current Hybrid Policy status on Port80 header
Adaptive -> 1, Save power -> 2 and High performance -> 3
Input:
None
Built on 17:37:21 05/13/14


HBRT in the NViGDmisc.asl

Function : HBRT

File: NViGDmisc.asl
Description:
Send backlight notifications to the DGPU LFP device
This is required for Win7 and is backward compatible with Vista
Input:
Arg0 - 4 - Brightnes Down, 3- Up
Built on 17:37:21 05/13/14


HDOS in the NViGDmisc.asl

Function : HDOS

File: NViGDmisc.asl
Description:
Check if the _DOS flag was set during the hot key handling
Input:
None
Built on 17:37:21 05/13/14


HGAS in the NViGDmisc.asl

Function : HGAS

File: NViGDmisc.asl
Description:
HG Adaptor select, notify
Built on 17:37:21 05/13/14


HNOT in the NViGDmisc.asl

Function : HNOT

File: NViGDmisc.asl
Description:
Notification handler for Switchable graphics. Called from GNOT()
Input:
Arg0 = Current event type:
    1 = display switch
    2 = lid
    3 = dock (!!!!!Acpi ref code, Method(GDCK)sends 4 for Dock notifications )
Built on 17:37:21 05/13/14


HPFS in the NViGDmisc.asl

Function : HPFS

File: NViGDmisc.asl
Description:
Panel Fitting Hot Key
Input:
None
Built on 17:37:21 05/13/14


NViGDmiscPCH.asl

The following functions are used in the file: NViGDmiscPCH.asl.

Function | Description
CHPS | Shows current Hybrid Policy status on Port80 header Adaptive -> 1, Save power -> 2 and High performance -> 3
HBRT | Send backlight notifications to the DGPU LFP device This is required for Win7 and is backward compatible with Vista
HDOS | Check if the _DOS flag was set during the hot key handling
HGAS | HG Adaptor select, notify
HNOT | Notification handler for Switchable graphics. Called from GNOT()
HPFS | Panel Fitting Hot Key


CHPS in the NViGDmiscPCH.asl

Function : CHPS

File: NViGDmiscPCH.asl
Description:
Shows current Hybrid Policy status on Port80 header
Adaptive -> 1, Save power -> 2 and High performance -> 3
Input:
None
Built on 17:37:21 05/13/14


HBRT in the NViGDmiscPCH.asl

Function : HBRT

File: NViGDmiscPCH.asl
Description:
Send backlight notifications to the DGPU LFP device
This is required for Win7 and is backward compatible with Vista
Input:
Arg0 - 4 - Brightnes Down, 3- Up
Built on 17:37:21 05/13/14


HDOS in the NViGDmiscPCH.asl

Function : HDOS

File: NViGDmiscPCH.asl
Description:
Check if the _DOS flag was set during the hot key handling
Input:
None
Built on 17:37:21 05/13/14


HGAS in the NViGDmiscPCH.asl

Function : HGAS

File: NViGDmiscPCH.asl
Description:
HG Adaptor select, notify
Built on 17:37:21 05/13/14


HNOT in the NViGDmiscPCH.asl

Function : HNOT

File: NViGDmiscPCH.asl
Description:
Notification handler for Switchable graphics. Called from GNOT()
Input:
Arg0 = Current event type:
    1 = display switch
    2 = lid
    3 = dock (!!!!!Acpi ref code, Method(GDCK)sends 4 for Dock notifications )
Built on 17:37:21 05/13/14


HPFS in the NViGDmiscPCH.asl

Function : HPFS

File: NViGDmiscPCH.asl
Description:
Panel Fitting Hot Key
Input:
None
Built on 17:37:21 05/13/14


NViGPU.asl

The following functions are used in the file: NViGPU.asl.

Function | Description
CTOI | Convert _DOD indices-> MDTL index
HDSM | Device Specific Methods for Hybrid GPU (may be invoked from dGP and iGD) Implements Mxm and SG specific callback functions
INDL | Initialize Global Next active device list.
MXDS | Display output MUX control
MXMX | Display DDC Mux Control
SND1 | Set Next active device for a single device
SNXD | Set Next active device

The following data structures are used in the file: NViGPU.asl.

Variable | Description
NVIG | Nvidia NVIG (iGPU) OperationRegion


CTOI in the NViGPU.asl

Function : CTOI

File: NViGPU.asl
Description:
Convert _DOD indices-> MDTL index
Input:
Arg 0 is the currently active display list
Output:
None
Built on 17:37:21 05/13/14


HDSM in the NViGPU.asl

Function : HDSM

File: NViGPU.asl
Description:
Device Specific Methods for Hybrid GPU (may be invoked from dGP and iGD)
Implements Mxm and SG specific callback functions
Input:
Arg0:   UUID      Unique function identifier.
    nVidia
          SG dGPU  GUID :9D95A0A0-0060-4D48-B34D-7E5FEA129FD4
           NBCI    GUID :D4A50B75-65C7-46F7-BfB7-41514CEA0244
           Ventura GUID :95DB88FD-940A-4253-A446-70CE0504AEDF
       Optimus DSM_GUID :A486D8F8-0BDA-471B-A72B-6042A6B5BEE0

Arg1:   Integer   Revision Level
Arg2:   Integer   Function Index (0 = Return Supported Functions)
Arg3:   Package   Parameters
Output:
Sub-function 0 and unsupported function calls always returns a buffer.
Other subfunctions may return a buffer or a package as defined in the function.
When a single DWord is returned the following values have special meaning,
controlled by reserved Bit31 as follows:
MXM_ERROR_SUCCESS 0x00000000 Success
MXM_ERROR_UNSPECIFIED 0x80000001 Generic unspecified error code
MXM_ERROR_UNSUPPORTED 0x80000002 FunctionCode or SubFunctionCode not
supported by this system
Built on 17:37:21 05/13/14


INDL in the NViGPU.asl

Function : INDL

File: NViGPU.asl
Description:
Initialize Global Next active device list.
Input:
None
Output:
None
Built on 17:37:21 05/13/14


MXDS in the NViGPU.asl

Function : MXDS

File: NViGPU.asl
Description:
Display output MUX control
Input:
Arg0:
0 - Get Mux state
1 - Set Display to active on this GPU
2 - Set Backlight control to active on this GPU
3 - Set Display & Backlight to active on this GPU
Output:
If Arg0 = 0, Error = Display is not MUXed
Else return value of the state of the MUX


MXMX in the NViGPU.asl

Function : MXMX

File: NViGPU.asl
Description:
Display DDC Mux Control
Input:
Arg0: Get/Set DDC/Aux Mux State
0- Acquire DDC/Aux Mux on this GPU
1- Release Mux from this GPU
2- Get Mux state
Output:
0, Not Acquired.
if Arg0 = 0 or 1, Non-Zero return indicates success acquiring MUX
(and MUX has switched to this output)
if Arg0 = 2, Non-Zero return indicates MUX is currently set to this output


NVIG in the NViGPU.asl

Variable : NVIG

File: NViGPU.asl
Description:
Nvidia

 NVIG
 (iGPU) OperationRegion


SND1 in the NViGPU.asl

Function : SND1

File: NViGPU.asl
Description:
Set Next active device for a single device
Input:
Arg0 : Device ID of the device that's to be set as next active device.
Output:
None


SNXD in the NViGPU.asl

Function : SNXD

File: NViGPU.asl
Description:
Set Next active device
Input:
Arg0 TLSN
Output:
None


NViGPUPCH.asl

The following functions are used in the file: NViGPUPCH.asl.

Function | Description
CTOI | Convert _DOD indices-> MDTL index
HDSM | Device Specific Methods for Hybrid GPU (may be invoked from dGP and iGD) Implements Mxm and SG specific callback functions
INDL | Initialize Global Next active device list.
MXDS | Display output MUX control
MXMX | Display DDC Mux Control
SND1 | Set Next active device for a single device
SNXD | Set Next active device

The following data structures are used in the file: NViGPUPCH.asl.

Variable | Description
NVIG | Nvidia NVIG (iGPU) OperationRegion


CTOI in the NViGPUPCH.asl

Function : CTOI

File: NViGPUPCH.asl
Description:
Convert _DOD indices-> MDTL index
Input:
Arg 0 is the currently active display list
Output:
None
Built on 17:37:21 05/13/14


HDSM in the NViGPUPCH.asl

Function : HDSM

File: NViGPUPCH.asl
Description:
Device Specific Methods for Hybrid GPU (may be invoked from dGP and iGD)
Implements Mxm and SG specific callback functions
Input:
Arg0:   UUID      Unique function identifier.
    nVidia
          SG dGPU  GUID :9D95A0A0-0060-4D48-B34D-7E5FEA129FD4
           NBCI    GUID :D4A50B75-65C7-46F7-BfB7-41514CEA0244
           Ventura GUID :95DB88FD-940A-4253-A446-70CE0504AEDF
       Optimus DSM_GUID :A486D8F8-0BDA-471B-A72B-6042A6B5BEE0

Arg1:   Integer   Revision Level
Arg2:   Integer   Function Index (0 = Return Supported Functions)
Arg3:   Package   Parameters
Output:
Sub-function 0 and unsupported function calls always returns a buffer.
Other subfunctions may return a buffer or a package as defined in the function.
When a single DWord is returned the following values have special meaning,
controlled by reserved Bit31 as follows:
MXM_ERROR_SUCCESS 0x00000000 Success
MXM_ERROR_UNSPECIFIED 0x80000001 Generic unspecified error code
MXM_ERROR_UNSUPPORTED 0x80000002 FunctionCode or SubFunctionCode not
supported by this system
Built on 17:37:21 05/13/14


INDL in the NViGPUPCH.asl

Function : INDL

File: NViGPUPCH.asl
Description:
Initialize Global Next active device list.
Input:
None
Output:
None
Built on 17:37:21 05/13/14


MXDS in the NViGPUPCH.asl

Function : MXDS

File: NViGPUPCH.asl
Description:
Display output MUX control
Input:
Arg0:
0 - Get Mux state
1 - Set Display to active on this GPU
2 - Set Backlight control to active on this GPU
3 - Set Display & Backlight to active on this GPU
Output:
If Arg0 = 0, Error = Display is not MUXed
Else return value of the state of the MUX


MXMX in the NViGPUPCH.asl

Function : MXMX

File: NViGPUPCH.asl
Description:
Display DDC Mux Control
Input:
Arg0: Get/Set DDC/Aux Mux State
0- Acquire DDC/Aux Mux on this GPU
1- Release Mux from this GPU
2- Get Mux state
Output:
0, Not Acquired.
if Arg0 = 0 or 1, Non-Zero return indicates success acquiring MUX
(and MUX has switched to this output)
if Arg0 = 2, Non-Zero return indicates MUX is currently set to this output


NVIG in the NViGPUPCH.asl

Variable : NVIG

File: NViGPUPCH.asl
Description:
Nvidia

 NVIG
 (iGPU) OperationRegion


SND1 in the NViGPUPCH.asl

Function : SND1

File: NViGPUPCH.asl
Description:
Set Next active device for a single device
Input:
Arg0 : Device ID of the device that's to be set as next active device.
Output:
None


SNXD in the NViGPUPCH.asl

Function : SNXD

File: NViGPUPCH.asl
Description:
Set Next active device
Input:
Arg0 TLSN
Output:
None


NvOptimusSMM.c

The following functions are used in the file: NvOptimusSMM.c.

Function | Description
InSmmFunction | InSmmFunction
NvCmosFunction | Write AcpiNvs->AudioCodec to CMOS:AudioCodec.
NvCmosFunction1 | Read CMOS:AudioCodec to AcpiNvs->AudioCodec.
NvSwSmiEntry | NvSwSmiEntry


InSmmFunction in the NvOptimusSMM.c

Function : InSmmFunction

File: NvOptimusSMM.c
Description:
InSmmFunction
Input:
Output:
Modified:
Notes:

Referrals:

Built on 17:37:21 05/13/14


NvCmosFunction in the NvOptimusSMM.c

Function : NvCmosFunction

File: NvOptimusSMM.c
Description:
Write AcpiNvs->AudioCodec to CMOS:AudioCodec.
Input:
EFI_HANDLE                   DispatchHandle,
EFI_SMM_SW_DISPATCH_CONTEXT  *DispatchContext
Output:
Modified:
Notes:

Referrals:


NvCmosFunction1 in the NvOptimusSMM.c

Function : NvCmosFunction1

File: NvOptimusSMM.c
Description:
Read CMOS:AudioCodec to AcpiNvs->AudioCodec.
Input:
EFI_HANDLE                   DispatchHandle,
EFI_SMM_SW_DISPATCH_CONTEXT  *DispatchContext
Output:
Modified:
Notes:

Referrals:


NvSwSmiEntry in the NvOptimusSMM.c

Function : NvSwSmiEntry

File: NvOptimusSMM.c
Description:
NvSwSmiEntry
Input:
EFI_HANDLE           ImageHandle,
EFI_SYSTEM_TABLE     *SystemTable
Output:
Modified:
Notes:

Referrals:


NvOptimusSMM.mak

Description:


NvSSDT.asl

The following functions are used in the file: NvSSDT.asl.

Function | Description
WMI1 | WMI MXM Mapper. ASL Device is used to acccess Mxm native method via WMI API
WMMX | WMI Method execution tunnel. MXM Native methods are called via WMMX index.


WMI1 in the NvSSDT.asl

Function : WMI1

File: NvSSDT.asl
Description:
WMI MXM Mapper. ASL Device is used to acccess Mxm native method via WMI API


WMMX in the NvSSDT.asl

Function : WMMX

File: NvSSDT.asl
Description:
WMI Method execution tunnel. MXM Native methods are called via

 WMMX
 index.
Input:
Arg1:   Integer     GPU index. 0x10-iGPU, 0x0-0xf - dGPU
Output:
Buffer      specific to the funcion being called


NvSSDTPCH.asl

The following functions are used in the file: NvSSDTPCH.asl.

Function | Description
WMI1 | WMI MXM Mapper. ASL Device is used to acccess Mxm native method via WMI API
WMMX | WMI Method execution tunnel. MXM Native methods are called via WMMX index.


WMI1 in the NvSSDTPCH.asl

Function : WMI1

File: NvSSDTPCH.asl
Description:
WMI MXM Mapper. ASL Device is used to acccess Mxm native method via WMI API


WMMX in the NvSSDTPCH.asl

Function : WMMX

File: NvSSDTPCH.asl
Description:
WMI Method execution tunnel. MXM Native methods are called via

 WMMX
 index.
Input:
Arg1:   Integer     GPU index. 0x10-iGPU, 0x0-0xf - dGPU
Output:
Buffer      specific to the funcion being called


NvVentura.asl

The following functions are used in the file: NvVentura.asl.

Function | Description
SPB | Called from _DSM -Device Specific Method for dGPU device. Implement Ventura specific callback functions


SPB in the NvVentura.asl

Function : SPB

File: NvVentura.asl
Description:
Called from

 _DSM
 -Device Specific Method for dGPU device.
Implement Ventura specific callback functions
Input:
Arg0:   UUID      Unique function identifier.
Ventura DSM_GUID 95DB88FD-940A-4253-A446-70CE0504AEDF
Arg1:   Integer   Revision Level
Arg2:   Integer   Function Index (0 = Return Supported Functions)
Arg3:   Package   Parameters
Output:
Sub-function 0 and unsupported function calls always returns a buffer.
Other subfunctions may return a buffer or a package as defined in the function.
When a single DWord is returned the following values have special meaning,
controlled by reserved Bit31 as follows:
MXM_ERROR_SUCCESS 0x00000000 Success
MXM_ERROR_UNSPECIFIED 0x80000001 Generic unspecified error code
MXM_ERROR_UNSUPPORTED 0x80000002 FunctionCode or SubFunctionCode not
supported by this system


NvVenturaPCH.asl

The following functions are used in the file: NvVenturaPCH.asl.

Function | Description
SPB | Called from _DSM -Device Specific Method for dGPU device. Implement Ventura specific callback functions


SPB in the NvVenturaPCH.asl

Function : SPB

File: NvVenturaPCH.asl
Description:
Called from

 _DSM
 -Device Specific Method for dGPU device.
Implement Ventura specific callback functions
Input:
Arg0:   UUID      Unique function identifier.
Ventura DSM_GUID 95DB88FD-940A-4253-A446-70CE0504AEDF
Arg1:   Integer   Revision Level
Arg2:   Integer   Function Index (0 = Return Supported Functions)
Arg3:   Package   Parameters
Output:
Sub-function 0 and unsupported function calls always returns a buffer.
Other subfunctions may return a buffer or a package as defined in the function.
When a single DWord is returned the following values have special meaning,
controlled by reserved Bit31 as follows:
MXM_ERROR_SUCCESS 0x00000000 Success
MXM_ERROR_UNSPECIFIED 0x80000001 Generic unspecified error code
MXM_ERROR_UNSUPPORTED 0x80000002 FunctionCode or SubFunctionCode not
supported by this system


OEMNVdGPU.asl

The following functions are used in the file: OEMNVdGPU.asl.

Function | Description
_DSM | Implement Mxm and SG specific callback functions
_IRC | In-rush current
_OFF | dGPU power OFF control method
_ON | dGPU power ON control method
_PS0 | dGPU power ON control method
_PS3 | dGPU power OFF control method
_PSC | Curent dGPU power state, 0-D0, 3-D3, etc.
_ROM | Video ROM data buffer
_STA | dGPU power status.
HDSM | Device Specific Methods for Hybrid dGPU (may be invoked from iGD as well) Implements Mxm and SG specific callback functions
MXDS | Display output MUX control
MXMX | Display DDC Mux Control

The following data structures are used in the file: OEMNVdGPU.asl.

Variable | Description
NVHM | Nvidia NVHG (dGPU) OperationRegion OpRegion address (NVHA)is defined in IDG Nvs OpRegion


_DSM in the OEMNVdGPU.asl

Function : _DSM

File: OEMNVdGPU.asl
Description:
Implement Mxm and SG specific callback functions
Input:
Arg0:   UUID      Unique function identifier.
          MXM dGPU GUID :9D95A0A0-0060-4D48-B34D-7E5FEA129FD4
           NBCI    GUID :D4A50B75-65C7-46F7-BfB7-41514CEA0244
           Ventura GUID :95DB88FD-940A-4253-A446-70CE0504AEDF
       Optimus DSM_GUID :A486D8F8-0BDA-471B-A72B-6042A6B5BEE0

Arg1:   Integer   Revision Level
Arg2:   Integer   Function Index (0 = Return Supported Functions)
Arg3:   Package   Parameters
Output:
Sub-function 0 and unsupported function calls always returns a buffer.
Other subfunctions may return a buffer or a package as defined in the function.
When a single DWord is returned the following values have special meaning,
controlled by reserved Bit31 as follows:
MXM_ERROR_SUCCESS 0x00000000 Success
MXM_ERROR_UNSPECIFIED 0x80000001 Generic unspecified error code
MXM_ERROR_UNSUPPORTED 0x80000002 FunctionCode or SubFunctionCode not
supported by this system
Built on 17:37:21 05/13/14


_IRC in the OEMNVdGPU.asl

Function : _IRC

File: OEMNVdGPU.asl
Description:
In-rush current
Built on 17:37:21 05/13/14


_OFF in the OEMNVdGPU.asl

Function : _OFF

File: OEMNVdGPU.asl
Description:
dGPU power OFF control method
Built on 17:37:21 05/13/14


_ON in the OEMNVdGPU.asl

Function : _ON

File: OEMNVdGPU.asl
Description:
dGPU power ON control method
Built on 17:37:21 05/13/14


_PS0 in the OEMNVdGPU.asl

Function : _PS0

File: OEMNVdGPU.asl
Description:
dGPU power ON control method
Built on 17:37:21 05/13/14


_PS3 in the OEMNVdGPU.asl

Function : _PS3

File: OEMNVdGPU.asl
Description:
dGPU power OFF control method
Built on 17:37:21 05/13/14


_PSC in the OEMNVdGPU.asl

Function : _PSC

File: OEMNVdGPU.asl
Description:
Curent dGPU power state, 0-D0, 3-D3, etc.
Built on 17:37:21 05/13/14


_ROM in the OEMNVdGPU.asl

Function : _ROM

File: OEMNVdGPU.asl
Description:
Video ROM data buffer
Input:
Arg0:   Integer     Offset of the graphics device ROM data
Arg1:   Integer     Size of the buffer to fill in (up to 4K)
Output:
Buffer      Buffer of requested video ROM bytes
Built on 17:37:21 05/13/14


_STA in the OEMNVdGPU.asl

Function : _STA

File: OEMNVdGPU.asl
Description:
dGPU power status.
Built on 17:37:21 05/13/14


HDSM in the OEMNVdGPU.asl

Function : HDSM

File: OEMNVdGPU.asl
Description:
Device Specific Methods for Hybrid dGPU (may be invoked from iGD as well)
Implements Mxm and SG specific callback functions
Input:
Arg0:   UUID      Unique function identifier.
    nVidia
          MXM dGPU GUID :9D95A0A0-0060-4D48-B34D-7E5FEA129FD4

Arg1:   Integer   Revision Level
Arg2:   Integer   Function Index (0 = Return Supported Functions)
Arg3:   Package   Parameters
Output:
Sub-function 0 and unsupported function calls always returns a buffer.
Other subfunctions may return a buffer or a package as defined in the function.
When a single DWord is returned the following values have special meaning,
controlled by reserved Bit31 as follows:
MXM_ERROR_SUCCESS 0x00000000 Success
MXM_ERROR_UNSPECIFIED 0x80000001 Generic unspecified error code
MXM_ERROR_UNSUPPORTED 0x80000002 FunctionCode or SubFunctionCode not
supported by this system
Built on 17:37:21 05/13/14


MXDS in the OEMNVdGPU.asl

Function : MXDS

File: OEMNVdGPU.asl
Description:
Display output MUX control
Input:
Arg0:
0 - Get Mux state
1 - Set Display to active on this GPU
2 - Set Backlight control to active on this GPU
3 - Set Display & Backlight to active on this GPU
Output:
If Arg0 = 0, Error = Display is not MUXed
Else return value of the state of the MUX
Built on 17:37:21 05/13/14


MXMX in the OEMNVdGPU.asl

Function : MXMX

File: OEMNVdGPU.asl
Description:
Display DDC Mux Control
Input:
Arg0: Get/Set DDC/Aux Mux State
0- Acquire DDC/Aux Mux on this GPU
1- Release Mux from this GPU
2- Get Mux state
Output:
0, Not Acquired.
if Arg0 = 0 or 1, Non-Zero return indicates success acquiring MUX
(and MUX has switched to this output)
if Arg0 = 2, Non-Zero return indicates MUX is currently set to this output


NVHM in the OEMNVdGPU.asl

Variable : NVHM

File: OEMNVdGPU.asl
Description:
Nvidia NVHG (dGPU) OperationRegion
OpRegion address (NVHA)is defined in IDG Nvs OpRegion


OEMNvGPS.asl

The following functions are used in the file: OEMNvGPS.asl.

Function | Description
GPS | Called from _DSM -Device Specific Method for dGPU device. Implement Ventura specific callback functions


GPS in the OEMNvGPS.asl

Function : GPS

File: OEMNvGPS.asl
Description:
Called from

 _DSM
 -Device Specific Method for dGPU device.
Implement Ventura specific callback functions
Input:
Arg0:   UUID      Unique function identifier.
Ventura DSM_GUID A3132D01-8CDA-49BA-A52E-BC9D46DF6B81
Arg1:   Integer   Revision Level
Arg2:   Integer   Function Index (0 = Return Supported Functions)
Arg3:   Package   Parameters
Output:
Sub-function 0 and unsupported function calls always returns a buffer.
Other subfunctions may return a buffer or a package as defined in the function.
When a single DWord is returned the following values have special meaning,
controlled by reserved Bit31 as follows:
MXM_ERROR_SUCCESS 0x00000000 Success
MXM_ERROR_UNSPECIFIED 0x80000001 Generic unspecified error code
MXM_ERROR_UNSUPPORTED 0x80000002 FunctionCode or SubFunctionCode not
supported by this system
Built on 17:37:21 05/13/14


OEMNViGDmisc.asl

The following functions are used in the file: OEMNViGDmisc.asl.

Function | Description
CHPS | Shows current Hybrid Policy status on Port80 header Adaptive -> 1, Save power -> 2 and High performance -> 3
HBRT | Send backlight notifications to the DGPU LFP device This is required for Win7 and is backward compatible with Vista
HDOS | Check if the _DOS flag was set during the hot key handling
HGAS | HG Adaptor select, notify
HNOT | Notification handler for Switchable graphics. Called from GNOT()
HPFS | Panel Fitting Hot Key


CHPS in the OEMNViGDmisc.asl

Function : CHPS

File: OEMNViGDmisc.asl
Description:
Shows current Hybrid Policy status on Port80 header
Adaptive -> 1, Save power -> 2 and High performance -> 3
Input:
None
Built on 17:37:21 05/13/14


HBRT in the OEMNViGDmisc.asl

Function : HBRT

File: OEMNViGDmisc.asl
Description:
Send backlight notifications to the DGPU LFP device
This is required for Win7 and is backward compatible with Vista
Input:
Arg0 - 4 - Brightnes Down, 3- Up
Built on 17:37:21 05/13/14


HDOS in the OEMNViGDmisc.asl

Function : HDOS

File: OEMNViGDmisc.asl
Description:
Check if the _DOS flag was set during the hot key handling
Input:
None
Built on 17:37:21 05/13/14


HGAS in the OEMNViGDmisc.asl

Function : HGAS

File: OEMNViGDmisc.asl
Description:
HG Adaptor select, notify
Built on 17:37:21 05/13/14


HNOT in the OEMNViGDmisc.asl

Function : HNOT

File: OEMNViGDmisc.asl
Description:
Notification handler for Switchable graphics. Called from GNOT()
Input:
Arg0 = Current event type:
    1 = display switch
    2 = lid
    3 = dock (!!!!!Acpi ref code, Method(GDCK)sends 4 for Dock notifications )
Built on 17:37:21 05/13/14


HPFS in the OEMNViGDmisc.asl

Function : HPFS

File: OEMNViGDmisc.asl
Description:
Panel Fitting Hot Key
Input:
None
Built on 17:37:21 05/13/14


OEMNViGPU.asl

The following functions are used in the file: OEMNViGPU.asl.

Function | Description
CTOI | Convert _DOD indices-> MDTL index
HDSM | Device Specific Methods for Hybrid GPU (may be invoked from dGP and iGD) Implements Mxm and SG specific callback functions
INDL | Initialize Global Next active device list.
MXDS | Display output MUX control
MXMX | Display DDC Mux Control
SND1 | Set Next active device for a single device
SNXD | Set Next active device

The following data structures are used in the file: OEMNViGPU.asl.

Variable | Description
NVIG | Nvidia NVIG (iGPU) OperationRegion


CTOI in the OEMNViGPU.asl

Function : CTOI

File: OEMNViGPU.asl
Description:
Convert _DOD indices-> MDTL index
Input:
Arg 0 is the currently active display list
Output:
None
Built on 17:37:21 05/13/14


HDSM in the OEMNViGPU.asl

Function : HDSM

File: OEMNViGPU.asl
Description:
Device Specific Methods for Hybrid GPU (may be invoked from dGP and iGD)
Implements Mxm and SG specific callback functions
Input:
Arg0:   UUID      Unique function identifier.
    nVidia
          SG dGPU  GUID :9D95A0A0-0060-4D48-B34D-7E5FEA129FD4
           NBCI    GUID :D4A50B75-65C7-46F7-BfB7-41514CEA0244
           Ventura GUID :95DB88FD-940A-4253-A446-70CE0504AEDF
       Optimus DSM_GUID :A486D8F8-0BDA-471B-A72B-6042A6B5BEE0

Arg1:   Integer   Revision Level
Arg2:   Integer   Function Index (0 = Return Supported Functions)
Arg3:   Package   Parameters
Output:
Sub-function 0 and unsupported function calls always returns a buffer.
Other subfunctions may return a buffer or a package as defined in the function.
When a single DWord is returned the following values have special meaning,
controlled by reserved Bit31 as follows:
MXM_ERROR_SUCCESS 0x00000000 Success
MXM_ERROR_UNSPECIFIED 0x80000001 Generic unspecified error code
MXM_ERROR_UNSUPPORTED 0x80000002 FunctionCode or SubFunctionCode not
supported by this system
Built on 17:37:21 05/13/14


INDL in the OEMNViGPU.asl

Function : INDL

File: OEMNViGPU.asl
Description:
Initialize Global Next active device list.
Input:
None
Output:
None
Built on 17:37:21 05/13/14


MXDS in the OEMNViGPU.asl

Function : MXDS

File: OEMNViGPU.asl
Description:
Display output MUX control
Input:
Arg0:
0 - Get Mux state
1 - Set Display to active on this GPU
2 - Set Backlight control to active on this GPU
3 - Set Display & Backlight to active on this GPU
Output:
If Arg0 = 0, Error = Display is not MUXed
Else return value of the state of the MUX


MXMX in the OEMNViGPU.asl

Function : MXMX

File: OEMNViGPU.asl
Description:
Display DDC Mux Control
Input:
Arg0: Get/Set DDC/Aux Mux State
0- Acquire DDC/Aux Mux on this GPU
1- Release Mux from this GPU
2- Get Mux state
Output:
0, Not Acquired.
if Arg0 = 0 or 1, Non-Zero return indicates success acquiring MUX
(and MUX has switched to this output)
if Arg0 = 2, Non-Zero return indicates MUX is currently set to this output


NVIG in the OEMNViGPU.asl

Variable : NVIG

File: OEMNViGPU.asl
Description:
Nvidia

 NVIG
 (iGPU) OperationRegion


SND1 in the OEMNViGPU.asl

Function : SND1

File: OEMNViGPU.asl
Description:
Set Next active device for a single device
Input:
Arg0 : Device ID of the device that's to be set as next active device.
Output:
None


SNXD in the OEMNViGPU.asl

Function : SNXD

File: OEMNViGPU.asl
Description:
Set Next active device
Input:
Arg0 TLSN
Output:
None


OEMNvVentura.asl

The following functions are used in the file: OEMNvVentura.asl.

Function | Description
SPB | Called from _DSM -Device Specific Method for dGPU device. Implement Ventura specific callback functions


SPB in the OEMNvVentura.asl

Function : SPB

File: OEMNvVentura.asl
Description:
Called from

 _DSM
 -Device Specific Method for dGPU device.
Implement Ventura specific callback functions
Input:
Arg0:   UUID      Unique function identifier.
Ventura DSM_GUID 95DB88FD-940A-4253-A446-70CE0504AEDF
Arg1:   Integer   Revision Level
Arg2:   Integer   Function Index (0 = Return Supported Functions)
Arg3:   Package   Parameters
Output:
Sub-function 0 and unsupported function calls always returns a buffer.
Other subfunctions may return a buffer or a package as defined in the function.
When a single DWord is returned the following values have special meaning,
controlled by reserved Bit31 as follows:
MXM_ERROR_SUCCESS 0x00000000 Success
MXM_ERROR_UNSPECIFIED 0x80000001 Generic unspecified error code
MXM_ERROR_UNSUPPORTED 0x80000002 FunctionCode or SubFunctionCode not
supported by this system


OEMSSDT.asl

The following functions are used in the file: OEMSSDT.asl.

Function | Description
WMI1 | WMI MXM Mapper. ASL Device is used to acccess Nv Optimus native method via WMI API
WMMX | WMI Method execution tunnel. MXM Native methods are called via WMMX index.


WMI1 in the OEMSSDT.asl

Function : WMI1

File: OEMSSDT.asl
Description:
WMI MXM Mapper. ASL Device is used to acccess Nv Optimus native method via WMI API


WMMX in the OEMSSDT.asl

Function : WMMX

File: OEMSSDT.asl
Description:
WMI Method execution tunnel. MXM Native methods are called via

 WMMX
 index.
Input:
Arg1:   Integer     GPU index. 0x10-iGPU, 0x100+PCIe Bus number for the GPU
Output:
Buffer      specific to the funcion being called


OEMSSDT.mak

Description:
MAke file to build Aptio ACPI ASL components


OpSSDT.asl

The following functions are used in the file: OpSSDT.asl.

Function | Description
WMI1 | WMI MXM Mapper. ASL Device is used to acccess Nv Optimus native method via WMI API
WMMX | WMI Method execution tunnel. MXM Native methods are called via WMMX index.


WMI1 in the OpSSDT.asl

Function : WMI1

File: OpSSDT.asl
Description:
WMI MXM Mapper. ASL Device is used to acccess Nv Optimus native method via WMI API


WMMX in the OpSSDT.asl

Function : WMMX

File: OpSSDT.asl
Description:
WMI Method execution tunnel. MXM Native methods are called via

 WMMX
 index.
Input:
Arg1:   Integer     GPU index. 0x10-iGPU, 0x100+PCIe Bus number for the GPU
Output:
Buffer      specific to the funcion being called


OpSSDTPCH.asl

The following functions are used in the file: OpSSDTPCH.asl.

Function | Description
WMI1 | WMI MXM Mapper. ASL Device is used to acccess Nv Optimus native method via WMI API
WMMX | WMI Method execution tunnel. MXM Native methods are called via WMMX index.


WMI1 in the OpSSDTPCH.asl

Function : WMI1

File: OpSSDTPCH.asl
Description:
WMI MXM Mapper. ASL Device is used to acccess Nv Optimus native method via WMI API


WMMX in the OpSSDTPCH.asl

Function : WMMX

File: OpSSDTPCH.asl
Description:
WMI Method execution tunnel. MXM Native methods are called via

 WMMX
 index.
Input:
Arg1:   Integer     GPU index. 0x10-iGPU, 0x100+PCIe Bus number for the GPU
Output:
Buffer      specific to the funcion being called


SgTpv.mak

Description:
Make file to build Switchable Graphics module for Third Party Gfx vendors


SgTpvAcpiS3Save.c

Description:
This file will save SG TPV related offset date for S3 resume restore.

The following functions are used in the file: SgTpvAcpiS3Save.c.

Function | Description
SgTpvAcpiS3Save | This callback function is called when ReadyToBoot is installed.
SgTpvAcpiS3Save_Init | This function is the entry point for this DXE. This function will save SG TPV related offset date for S3 resume restore.


SgTpvAcpiS3Save in the SgTpvAcpiS3Save.c

Function : SgTpvAcpiS3Save

File: SgTpvAcpiS3Save.c
Description:
This callback function is called when ReadyToBoot is
installed.
Input:
Event   - Event of callback
Context - Context of callback.
Output:
EFI_SUCCESS


SgTpvAcpiS3Save_Init in the SgTpvAcpiS3Save.c

Function : SgTpvAcpiS3Save_Init

File: SgTpvAcpiS3Save.c
Description:
This function is the entry point for this DXE. This function
will save SG TPV related offset date for S3 resume restore.
Input:
ImageHandle - Image handle
SystemTable - Pointer to the system table
Output:
Return Status based on errors that occurred while waiting for
time to expire.


SgTpvAcpiS3Save.mak

Description:
Make file to build SG TPV ACPI components


SgTpvAcpiTables.c

Description:
This file contains the routine LoadTpvAcpiTables which installs
Acpi Tables for Tpv's Switchable Graphics.
File is linked with Intel's SwitchableGraphicsDxe module

The following functions are used in the file: SgTpvAcpiTables.c.

Function | Description
InstallAmdOpRegion | Amd(ATI) SG specific Asl Graphics OpRegion installation function.
InstallNvidiaOpRegion | Nvidia SG specific Asl OpRegion installation function.
LoadTpvAcpiTables | Load Third part graphics vendor support SSDT Tables

The following tables are used in the file: SgTpvAcpiTables.c.

Table | Description
NvidiaOpRegion | Gfx Vendor specific OperationRegion data structures. Must match ones defined in Asl code


InstallAmdOpRegion in the SgTpvAcpiTables.c

Function : InstallAmdOpRegion

File: SgTpvAcpiTables.c
Description:
Amd(ATI) SG specific Asl Graphics OpRegion installation function.
Input:

ImageHandle     Handle for this drivers loaded image protocol.
SystemTable     EFI system table.
Output:

EFI_SUCCESS     The driver installed without error.
EFI_ABORTED     The driver encountered an error and could not complete
   installation of the ACPI tables.
Built on 17:37:21 05/13/14


InstallNvidiaOpRegion in the SgTpvAcpiTables.c

Function : InstallNvidiaOpRegion

File: SgTpvAcpiTables.c
Description:
Nvidia SG specific Asl OpRegion installation function.
Input:

ImageHandle     Handle for this drivers loaded image protocol.
SystemTable     EFI system table.
Output:

EFI_SUCCESS     The driver installed without error.
EFI_ABORTED     The driver encountered an error and could not complete
   installation of the ACPI tables.
Built on 17:37:21 05/13/14


LoadTpvAcpiTables in the SgTpvAcpiTables.c

Function : LoadTpvAcpiTables

File: SgTpvAcpiTables.c
Description:
Load Third part graphics vendor support SSDT Tables
Input:
VOID
Output:
EFI_SUCCESS     - SSDT Table load successful.
EFI_UNSUPPORTED - Supported SSDT not found.
Built on 17:37:21 05/13/14


NvidiaOpRegion in the SgTpvAcpiTables.c

Table : NvidiaOpRegion

File: SgTpvAcpiTables.c
Description:
Gfx Vendor specific OperationRegion data structures.
Must match ones defined in Asl code


SgTpvAcpiTables.mak

Description:
Make file to build SG TPV ACPI components


SgTpvDxe.c

Description:
This file contains the etry point of SgTpv Support driver
Notes:
MAKE SURE NO PEI OR DXE SPECIFIC CODE IS NEEDED

The following functions are used in the file: SgTpvDxe.c.

Function | Description
SgTpvDxeEntryPoint | Entry point of EFI SG Support driver.


SgTpvDxeEntryPoint in the SgTpvDxe.c

Function : SgTpvDxeEntryPoint

File: SgTpvDxe.c
Description:
Entry point of EFI SG Support driver.
Input:
EFI_HANDLE           ImageHandle,
EFI_SYSTEM_TABLE     *SystemTable
Output:
EFI_STATUS
Modified:
Notes:

Referrals:


SgTpvPCH.mak

Description:
MAke file to build Aptio ACPI ASL components


SgTpvPEG.mak

Description:
MAke file to build Aptio ACPI ASL components


SgTpvPei.c

Description:
This file contains the PEI SG Entry point SgPei_Init.
The function updates SG Policy settings
Notes:
MAKE SURE NO PEI OR DXE SPECIFIC CODE IS NEEDED

The following functions are used in the file: SgTpvPei.c.

Function | Description
SgTpvPeiInit | This function is the entry point for this PEI.


SgTpvPeiInit in the SgTpvPei.c

Function : SgTpvPeiInit

File: SgTpvPei.c
Description:
This function is the entry point for this PEI.
Input:
FfsHeader	Pointer to the FFS file header
    PeiServices	Pointer to the PEI services table
Output:
Return Status based on errors that occurred while waiting for
time to expire.


SwitchableGraphics.mak

Description:
Makfile for SG Setup menu.


SwitchableGraphics.sd

Description:
Switchable Graphics Setup page layout


Function by Segment

By Segment

The following is a list of the segments.
For a list in alphabetical order, see In Alphabetical Order.
For a list by file name, see By File Name.

  • CSMOEM_CSEG


CSMOEM_CSEG

The following functions are used in the segment: CSMOEM_CSEG.

Function | Description
mxmInt15Fun0 | Function 0 Output Specification Support Level
mxmInt15Fun1 | Function 1 Output a Pointer to the MXM Structure
mxmInt15Fun2 | Function 2 Output a Pointer to the EDID Structure for the Internal Panel
mxmInt15Fun3 | Function 3 Select Output Device Channel
mxmInt15Fun4 | Function 4 Boot Message
mxmInt15Fun7 | Function 7 Returns a Pointer to the VBIOS Image for ROM-Less Adapters
mxmInt15Fun8 | Function 8 Check Availability of Output Device
mxmInt15Fun9 | Function 9 Identify Output Devices
mxmInt15FunD | Optimus: Discrete graphics subsystem power control
mxmnotSupported |


Functions in Alphabetical Order

In Alphabetical Order

The following topics provide a list in alphabetical order.
For a list by file name, see By File Name.
For a list by segment, see By Segment.

  • ?
  • A
  • C
  • G
  • H
  • I
  • L
  • M
  • N
  • P
  • S
  • U
  • W
Built on 17:37:21 05/13/14


Functions in Alphabetical Order

?

Function | Description
_DSM | Implement Mxm and SG specific callback functions
_DSM | Implement Mxm and SG specific callback functions
_DSM | Implement Mxm and SG specific callback functions
_INI | dGPU Init control method. Used to force dGPU _ADR to return proper PCI address
_INI | dGPU Init control method. Used to force dGPU _ADR to return proper PCI address
_IRC | In-rush current
_IRC | In-rush current
_IRC | In-rush current
_OFF | dGPU power OFF control method
_OFF | dGPU power OFF control method
_OFF | dGPU power OFF control method
_OFF | dGPU power OFF control method
_OFF | dGPU power OFF control method
_ON | dGPU power ON control method
_ON | dGPU power ON control method
_ON | dGPU power ON control method
_ON | dGPU power ON control method
_ON | dGPU power ON control method
_PS0 | dGPU power ON control method
_PS0 | dGPU power ON control method
_PS0 | dGPU power ON control method
_PS3 | dGPU power OFF control method
_PS3 | dGPU power OFF control method
_PS3 | dGPU power OFF control method
_PSC | Curent dGPU power state, 0-D0, 3-D3, etc.
_PSC | Curent dGPU power state, 0-D0, 3-D3, etc.
_PSC | Curent dGPU power state, 0-D0, 3-D3, etc.
_ROM | Video ROM data buffer
_ROM | Video ROM data buffer
_ROM | Video ROM data buffer
_STA | dGPU power status.
_STA | Returns curent dGPU power/presence state
_STA | dGPU power status.
_STA | Returns curent dGPU power/presence state
_STA | dGPU power status.

Built on 17:37:21 05/13/14


Functions in Alphabetical Order

A

Function | Description
ADPM | ADPM -> ATPX Fn 8 Digital port mux mode
ADPM | ADPM -> ATPX Fn 8 Digital port mux mode
ATIF | ATI GFX Interface.Provides ATI specific GFX functionality on mobile platforms.
ATIF | ATI GFX Interface.Provides ATI specific GFX functionality on mobile platforms.
ATPX | ATI PowerXpress (PX) Contrl Method: Revision 0.19 PX specific Control Method used by integrated graphics or discrete graphics driver on PX enabled platforms.
ATPX | ATI PowerXpress (PX) Contrl Method: Revision 0.19 PX specific Control Method used by integrated graphics or discrete graphics driver on PX enabled platforms.
ATRM | ATI PowerXpress (PX) get ROM Method: Revision 0.19 PX specific Control Method used by discrete graphics driver on PX enabled platforms to get a runtime modified copy of the discrete graphics device ROM data (Video BIOS).
ATRM | ATI PowerXpress (PX) get ROM Method: Revision 0.19 PX specific Control Method used by discrete graphics driver on PX enabled platforms to get a runtime modified copy of the discrete graphics device ROM data (Video BIOS).

Data Structure | Description
APXM | AMD PowerExpress OperationRegion. OpRegion address (AMDA)is defined in IDG Nvs OpRegion
APXM | AMD PowerExpress OperationRegion. OpRegion address (AMDA)is defined in IDG Nvs OpRegion

Built on 17:37:21 05/13/14


Functions in Alphabetical Order

C

Function | Description
CHPS | Shows current Hybrid Policy status on Port80 header Adaptive -> 1, Save power -> 2 and High performance -> 3
CHPS | Shows current Hybrid Policy status on Port80 header Adaptive -> 1, Save power -> 2 and High performance -> 3
CHPS | Shows current Hybrid Policy status on Port80 header Adaptive -> 1, Save power -> 2 and High performance -> 3
CTOI | Convert _DOD indices-> MDTL index
CTOI | Convert _DOD indices-> MDTL index
CTOI | Convert _DOD indices-> MDTL index

Built on 17:37:21 05/13/14


Functions in Alphabetical Order

G

Function | Description
GPS | Called from _DSM -Device Specific Method for dGPU device. Implement Ventura specific callback functions
GPS | Called from _DSM -Device Specific Method for dGPU device. Implement Ventura specific callback functions
GPS | Called from _DSM -Device Specific Method for dGPU device. Implement Ventura specific callback functions

Built on 17:37:21 05/13/14


Functions in Alphabetical Order

H

Function | Description
HBRT | Send backlight notifications to the DGPU LFP device This is required for Win7 and is backward compatible with Vista
HBRT | Send backlight notifications to the DGPU LFP device This is required for Win7 and is backward compatible with Vista
HBRT | Send backlight notifications to the DGPU LFP device This is required for Win7 and is backward compatible with Vista
HBRT | Send backlight notifications to the DGPU LFP device This is required for Win7 and is backward compatible with Vista
HBRT | Send backlight notifications to the DGPU LFP device This is required for Win7 and is backward compatible with Vista
HDOS | Check if the _DOS flag was set during the hot key handling
HDOS | Check if the _DOS flag was set during the hot key handling
HDOS | Check if the _DOS flag was set during the hot key handling
HDSM | Device Specific Methods for Hybrid dGPU (may be invoked from iGD as well) Implements Mxm and SG specific callback functions
HDSM | Device Specific Methods for Hybrid GPU (may be invoked from dGP and iGD) Implements Mxm and SG specific callback functions
HDSM | Device Specific Methods for Hybrid dGPU (may be invoked from iGD as well) Implements Mxm and SG specific callback functions
HDSM | Device Specific Methods for Hybrid GPU (may be invoked from dGP and iGD) Implements Mxm and SG specific callback functions
HDSM | Device Specific Methods for Hybrid dGPU (may be invoked from iGD as well) Implements Mxm and SG specific callback functions
HDSM | Device Specific Methods for Hybrid GPU (may be invoked from dGP and iGD) Implements Mxm and SG specific callback functions
HGAS | HG Adaptor select, notify
HGAS | HG Adaptor select, notify
HGAS | HG Adaptor select, notify
HGAS | HG Adaptor select, notify
HGAS | HG Adaptor select, notify
HNOT | Notification handler for Switchable graphics. Called from GNOT()
HNOT | Notification handler for Switchable graphics. Called from GNOT()
HNOT | Notification handler for Switchable graphics. Called from GNOT()
HNOT | Notification handler for Switchable graphics. Called from GNOT()
HNOT | Notification handler for Switchable graphics. Called from GNOT()
HPFS | Panel Fitting Hot Key
HPFS | Panel Fitting Hot Key
HPFS | Panel Fitting Hot Key
HPFS | Panel Fitting Hot Key
HPFS | Panel Fitting Hot Key

Built on 17:37:21 05/13/14


Functions in Alphabetical Order

I

Function | Description
INDL | Initialize Global Next active device list.
INDL | Initialize Global Next active device list.
INDL | Initialize Global Next active device list.
InSmmFunction | InSmmFunction
InstallAmdOpRegion | Amd(ATI) SG specific Asl Graphics OpRegion installation function.
InstallNvidiaOpRegion | Nvidia SG specific Asl OpRegion installation function.

Built on 17:37:21 05/13/14


Functions in Alphabetical Order

L

Function | Description
LoadFile | Reads the file with the given GUID.
LoadTpvAcpiTables | Load Third part graphics vendor support SSDT Tables

Built on 17:37:21 05/13/14


Functions in Alphabetical Order

M

Function | Description
MXDS | Display output MUX control
MXDS | Display output MUX control
MXDS | Display output MUX control
MXDS | Display output MUX control
MXDS | Display output MUX control
MXDS | Display output MUX control
MXM30Interfaces | Entry point of EFI MXM Support driver. The function istalls 1. Install MXM protocol; 2. Update data structure to be passed to Int15 binary must support multiple MXM data modules. Dependent on controller's handle Load MXM data block <1Mb area. a. Copy MXM Structure below 1MB 1. Allocate Legacy mem space for MXM dat <1MB OR 2. Update the MXM data by the pointer returned by Int15 5F80 Func01(default) b. Update the pointer to MXM data in EFI Protocol API c. Create an ACPI SSDT table and copy MXM block there (ASL MXM logic must handle different MXM modules...)
MxmCheckOutputDevice | Check Availability of Output Device. Caller provides the handle of the target adapter and the handle of the display
MxmDriverEntryPoint | Entry point of EFI MXM Support driver. The function istalls 1. Install MXM protocol; 2. Update data structure to be passed to Int15 binary must support multiple MXM data modules. Dependent on controller's handle Load MXM data block <1Mb area. a. Copy MXM Structure below 1MB 1. Allocate Legacy mem space for MXM dat <1MB OR 2. Update the MXM data by the pointer returned by Int15 5F80 Func01(default) b. Update the pointer to MXM data in EFI Protocol API c. Create an ACPI SSDT table and copy MXM block there (ASL MXM logic must handle different MXM modules...)
mxmInt15Fun0 | Function 0 Output Specification Support Level
mxmInt15Fun1 | Function 1 Output a Pointer to the MXM Structure
mxmInt15Fun2 | Function 2 Output a Pointer to the EDID Structure for the Internal Panel
mxmInt15Fun3 | Function 3 Select Output Device Channel
mxmInt15Fun4 | Function 4 Boot Message
mxmInt15Fun7 | Function 7 Returns a Pointer to the VBIOS Image for ROM-Less Adapters
mxmInt15Fun8 | Function 8 Check Availability of Output Device
mxmInt15Fun9 | Function 9 Identify Output Devices
mxmInt15FunD | Optimus: Discrete graphics subsystem power control
mxmnotSupported |
MxmReturnSpecLevel | Caller provides pointer to location, which on call contains the Module requested Spec Revision Level, and which on exit, will contain the Platform's preferred Revision Level and Bit Field of supported functions.
MxmReturnStructure | Caller provides expected MXM Interface Revision Level and a pointer which, on return will contain the MXM structure.
MxmSelectOutputDevice | Select Output Device Channel. Caller provides the handle of the target adapter, the handle of the display and the output setting
MXMX | Display DDC Mux Control
MXMX | Display DDC Mux Control
MXMX | Display DDC Mux Control
MXMX | Display DDC Mux Control
MXMX | Display DDC Mux Control
MXMX | Display DDC Mux Control

Built on 17:37:21 05/13/14


Functions in Alphabetical Order

N

Function | Description
NbciCheckOutputDevice | Check Availability of Output Device. Caller provides the handle of the target adapter and the handle of the display
NBCIInterfaces | Common entry point to install: 1. Install Nbci protocol;
NbciReturnSpecLevel | Caller provides pointer to location, which on call contains the Module requested Spec Revision Level, and which on exit, will contain the Platform's preferred Revision Level and Bit Field of supported functions.
NbciReturnStructure | Caller provides expected Nbci Interface Revision Level and a pointer which, on return will contain the Nbci structure.
NbciSelectOutputDevice | Select Output Device Channel. Caller provides the handle of the target adapter, the handle of the display and the output setting
NGC6 | Called from _DSM -Device Specific Method for dGPU device. Implement Ventura specific callback functions
NGC6 | Called from _DSM -Device Specific Method for dGPU device. Implement Ventura specific callback functions
NvCmosFunction | Write AcpiNvs->AudioCodec to CMOS:AudioCodec.
NvCmosFunction1 | Read CMOS:AudioCodec to AcpiNvs->AudioCodec.
NvSwSmiEntry NvSwSmiEntry

Table | Description
NvidiaOpRegion | Gfx Vendor specific OperationRegion data structures. Must match ones defined in Asl code

Data Structure | Description
NVHM | Nvidia NVHG (dGPU) OperationRegion OpRegion address (NVHA)is defined in IDG Nvs OpRegion
NVHM | Nvidia NVHG (dGPU) OperationRegion OpRegion address (NVHA)is defined in IDG Nvs OpRegion
NVHM | Nvidia NVHG (dGPU) OperationRegion OpRegion address (NVHA)is defined in IDG Nvs OpRegion
NVIG | Nvidia NVIG (iGPU) OperationRegion
NVIG | Nvidia NVIG (iGPU) OperationRegion
NVIG | Nvidia NVIG (iGPU) OperationRegion

Built on 17:37:21 05/13/14


Functions in Alphabetical Order

P

Data Structure | Description
PCI2 | For save/store PCIE NV PCI register from 0 to 256 byte by Dword access while do _ON & OFF
PCI2 | For save/store PCIE NV PCI register from 0 to 256 byte by Dword access while do _ON & OFF

Built on 17:37:21 05/13/14


Functions in Alphabetical Order

S

Function | Description
SgTpvAcpiS3Save | This callback function is called when ReadyToBoot is installed.
SgTpvAcpiS3Save_Init | This function is the entry point for this DXE. This function will save SG TPV related offset date for S3 resume restore.
SgTpvDxeEntryPoint | Entry point of EFI SG Support driver.
SgTpvPeiInit | This function is the entry point for this PEI.
SND1 | Set Next active device for a single device
SND1 | Set Next active device for a single device
SND1 | Set Next active device for a single device
SNXD | Set Next active device
SNXD | Set Next active device
SNXD | Set Next active device
SPB | Called from _DSM -Device Specific Method for dGPU device. Implement Ventura specific callback functions
SPB | Called from _DSM -Device Specific Method for dGPU device. Implement Ventura specific callback functions
SPB | Called from _DSM -Device Specific Method for dGPU device. Implement Ventura specific callback functions

Built on 17:37:21 05/13/14


Functions in Alphabetical Order

U

Function | Description
UpdateInt15MxMData | Get the address of MXM data buffer in legacy bios region

Built on 17:37:21 05/13/14


Functions in Alphabetical Order

W

Function | Description
WMI1 | WMI MXM Mapper. ASL Device is used to acccess Nv Optimus native method via WMI API
WMI1 | WMI MXM Mapper. ASL Device is used to acccess Mxm native method via WMI API
WMI1 | WMI MXM Mapper. ASL Device is used to acccess Nv Optimus native method via WMI API
WMI1 | WMI MXM Mapper. ASL Device is used to acccess Mxm native method via WMI API
WMI1 | WMI MXM Mapper. ASL Device is used to acccess Nv Optimus native method via WMI API
WMMX | WMI Method execution tunnel. MXM Native methods are called via WMMX index.
WMMX | WMI Method execution tunnel. MXM Native methods are called via WMMX index.
WMMX | WMI Method execution tunnel. MXM Native methods are called via WMMX index.
WMMX | WMI Method execution tunnel. MXM Native methods are called via WMMX index.
WMMX | WMI Method execution tunnel. MXM Native methods are called via WMMX index.

Built on 17:37:21 05/13/14


General Information