vendorcode/{amd,cavium,intel}: Remove trailing whitespace
find src -type f "!" -regex ".*\.\(vbt\|bin\)" -exec sed -i -e "s,\s\+$,,g" {} \; Change-Id: Ic70cf8524dcd0a0f5700f91b704b3c545dd8a01a Signed-off-by: Peter Lemenkov <lemenkov@gmail.com> Reviewed-on: https://review.coreboot.org/c/30959 Reviewed-by: Patrick Georgi <pgeorgi@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
committed by
Patrick Georgi
parent
d5292bf9a5
commit
7bbe3bb9f0
@ -10,8 +10,8 @@
|
|||||||
# * Redistributions in binary form must reproduce the above copyright
|
# * Redistributions in binary form must reproduce the above copyright
|
||||||
# notice, this list of conditions and the following disclaimer in the
|
# notice, this list of conditions and the following disclaimer in the
|
||||||
# documentation and/or other materials provided with the distribution.
|
# documentation and/or other materials provided with the distribution.
|
||||||
# * Neither the name of Advanced Micro Devices, Inc. nor the names of
|
# * Neither the name of Advanced Micro Devices, Inc. nor the names of
|
||||||
# its contributors may be used to endorse or promote products derived
|
# its contributors may be used to endorse or promote products derived
|
||||||
# from this software without specific prior written permission.
|
# from this software without specific prior written permission.
|
||||||
#
|
#
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2011, Advanced Micro Devices, Inc.
|
* Copyright (c) 2011, Advanced Micro Devices, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
* * Redistributions of source code must retain the above copyright
|
* * Redistributions of source code must retain the above copyright
|
||||||
@ -24,10 +24,10 @@
|
|||||||
* * Redistributions in binary form must reproduce the above copyright
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
* documentation and/or other materials provided with the distribution.
|
* documentation and/or other materials provided with the distribution.
|
||||||
* * Neither the name of Advanced Micro Devices, Inc. nor the names of
|
* * Neither the name of Advanced Micro Devices, Inc. nor the names of
|
||||||
* its contributors may be used to endorse or promote products derived
|
* its contributors may be used to endorse or promote products derived
|
||||||
* from this software without specific prior written permission.
|
* from this software without specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2011, Advanced Micro Devices, Inc.
|
* Copyright (c) 2011, Advanced Micro Devices, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
* * Redistributions of source code must retain the above copyright
|
* * Redistributions of source code must retain the above copyright
|
||||||
@ -24,10 +24,10 @@
|
|||||||
* * Redistributions in binary form must reproduce the above copyright
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
* documentation and/or other materials provided with the distribution.
|
* documentation and/or other materials provided with the distribution.
|
||||||
* * Neither the name of Advanced Micro Devices, Inc. nor the names of
|
* * Neither the name of Advanced Micro Devices, Inc. nor the names of
|
||||||
* its contributors may be used to endorse or promote products derived
|
* its contributors may be used to endorse or promote products derived
|
||||||
* from this software without specific prior written permission.
|
* from this software without specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2011, Advanced Micro Devices, Inc.
|
* Copyright (c) 2011, Advanced Micro Devices, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
* * Redistributions of source code must retain the above copyright
|
* * Redistributions of source code must retain the above copyright
|
||||||
@ -24,10 +24,10 @@
|
|||||||
* * Redistributions in binary form must reproduce the above copyright
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
* documentation and/or other materials provided with the distribution.
|
* documentation and/or other materials provided with the distribution.
|
||||||
* * Neither the name of Advanced Micro Devices, Inc. nor the names of
|
* * Neither the name of Advanced Micro Devices, Inc. nor the names of
|
||||||
* its contributors may be used to endorse or promote products derived
|
* its contributors may be used to endorse or promote products derived
|
||||||
* from this software without specific prior written permission.
|
* from this software without specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2011, Advanced Micro Devices, Inc.
|
* Copyright (c) 2011, Advanced Micro Devices, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
* * Redistributions of source code must retain the above copyright
|
* * Redistributions of source code must retain the above copyright
|
||||||
@ -24,10 +24,10 @@
|
|||||||
* * Redistributions in binary form must reproduce the above copyright
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
* documentation and/or other materials provided with the distribution.
|
* documentation and/or other materials provided with the distribution.
|
||||||
* * Neither the name of Advanced Micro Devices, Inc. nor the names of
|
* * Neither the name of Advanced Micro Devices, Inc. nor the names of
|
||||||
* its contributors may be used to endorse or promote products derived
|
* its contributors may be used to endorse or promote products derived
|
||||||
* from this software without specific prior written permission.
|
* from this software without specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2011, Advanced Micro Devices, Inc.
|
* Copyright (c) 2011, Advanced Micro Devices, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
* * Redistributions of source code must retain the above copyright
|
* * Redistributions of source code must retain the above copyright
|
||||||
@ -24,10 +24,10 @@
|
|||||||
* * Redistributions in binary form must reproduce the above copyright
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
* documentation and/or other materials provided with the distribution.
|
* documentation and/or other materials provided with the distribution.
|
||||||
* * Neither the name of Advanced Micro Devices, Inc. nor the names of
|
* * Neither the name of Advanced Micro Devices, Inc. nor the names of
|
||||||
* its contributors may be used to endorse or promote products derived
|
* its contributors may be used to endorse or promote products derived
|
||||||
* from this software without specific prior written permission.
|
* from this software without specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
@ -117,7 +117,7 @@
|
|||||||
|
|
||||||
Or (ShiftLeft (Arg0, 3), 0x1, Local0)
|
Or (ShiftLeft (Arg0, 3), 0x1, Local0)
|
||||||
procNbSmuIndirectRegisterWrite (0x3, Local0, 1)
|
procNbSmuIndirectRegisterWrite (0x3, Local0, 1)
|
||||||
|
|
||||||
if (LAnd (Arg1, 1)) {
|
if (LAnd (Arg1, 1)) {
|
||||||
while (LNotEqual (AND(procNbSmuIndirectRegisterRead (0x3), 0x2), 0x2)) {
|
while (LNotEqual (AND(procNbSmuIndirectRegisterRead (0x3), 0x2), 0x2)) {
|
||||||
Store ("--Wait Ack--", Debug)
|
Store ("--Wait Ack--", Debug)
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2011, Advanced Micro Devices, Inc.
|
* Copyright (c) 2011, Advanced Micro Devices, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
* * Redistributions of source code must retain the above copyright
|
* * Redistributions of source code must retain the above copyright
|
||||||
@ -24,10 +24,10 @@
|
|||||||
* * Redistributions in binary form must reproduce the above copyright
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
* documentation and/or other materials provided with the distribution.
|
* documentation and/or other materials provided with the distribution.
|
||||||
* * Neither the name of Advanced Micro Devices, Inc. nor the names of
|
* * Neither the name of Advanced Micro Devices, Inc. nor the names of
|
||||||
* its contributors may be used to endorse or promote products derived
|
* its contributors may be used to endorse or promote products derived
|
||||||
* from this software without specific prior written permission.
|
* from this software without specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
@ -139,7 +139,7 @@ DefinitionBlock (
|
|||||||
procSmuRcuWrite (0x8490, Local0)
|
procSmuRcuWrite (0x8490, Local0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Name (AD0A, 1)
|
Name (AD0A, 1)
|
||||||
#ifdef ALTVDDNB_SUPPORT
|
#ifdef ALTVDDNB_SUPPORT
|
||||||
/*----------------------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
|
@ -259,7 +259,7 @@ MSR_MASK = ((1 << MTRR_DEF_TYPE_EN)+(1 << MTRR_DEF_TYPE_FIX_EN))
|
|||||||
jnz node_core_exit # Br if yes
|
jnz node_core_exit # Br if yes
|
||||||
|
|
||||||
mov $((1 << FLAG_UNKNOWN_FAMILY)+(1 << FLAG_IS_PRIMARY)), %esi # No, Set error code, Only let BSP continue
|
mov $((1 << FLAG_UNKNOWN_FAMILY)+(1 << FLAG_IS_PRIMARY)), %esi # No, Set error code, Only let BSP continue
|
||||||
|
|
||||||
mov $APIC_BASE_ADDRESS, %ecx # MSR:0000_001B
|
mov $APIC_BASE_ADDRESS, %ecx # MSR:0000_001B
|
||||||
_RDMSR
|
_RDMSR
|
||||||
bt $APIC_BSC, %eax # Is this the BSC?
|
bt $APIC_BSC, %eax # Is this the BSC?
|
||||||
@ -978,7 +978,7 @@ fam15_enable_stack_hook_exit:
|
|||||||
btr $DIS_HW_PF, %eax # Turn on hardware prefetches
|
btr $DIS_HW_PF, %eax # Turn on hardware prefetches
|
||||||
#.endif # End workaround for erratum 498
|
#.endif # End workaround for erratum 498
|
||||||
0:
|
0:
|
||||||
_WRMSR
|
_WRMSR
|
||||||
#--------------------------------------------------------------------------
|
#--------------------------------------------------------------------------
|
||||||
# Begin critical sequence in which EAX, BX, ECX, and EDX must be preserved.
|
# Begin critical sequence in which EAX, BX, ECX, and EDX must be preserved.
|
||||||
#--------------------------------------------------------------------------
|
#--------------------------------------------------------------------------
|
||||||
|
@ -10,8 +10,8 @@
|
|||||||
# * Redistributions in binary form must reproduce the above copyright
|
# * Redistributions in binary form must reproduce the above copyright
|
||||||
# notice, this list of conditions and the following disclaimer in the
|
# notice, this list of conditions and the following disclaimer in the
|
||||||
# documentation and/or other materials provided with the distribution.
|
# documentation and/or other materials provided with the distribution.
|
||||||
# * Neither the name of Advanced Micro Devices, Inc. nor the names of
|
# * Neither the name of Advanced Micro Devices, Inc. nor the names of
|
||||||
# its contributors may be used to endorse or promote products derived
|
# its contributors may be used to endorse or promote products derived
|
||||||
# from this software without specific prior written permission.
|
# from this software without specific prior written permission.
|
||||||
#
|
#
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2011, Advanced Micro Devices, Inc.
|
* Copyright (c) 2011, Advanced Micro Devices, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
* * Redistributions of source code must retain the above copyright
|
* * Redistributions of source code must retain the above copyright
|
||||||
@ -24,10 +24,10 @@
|
|||||||
* * Redistributions in binary form must reproduce the above copyright
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
* documentation and/or other materials provided with the distribution.
|
* documentation and/or other materials provided with the distribution.
|
||||||
* * Neither the name of Advanced Micro Devices, Inc. nor the names of
|
* * Neither the name of Advanced Micro Devices, Inc. nor the names of
|
||||||
* its contributors may be used to endorse or promote products derived
|
* its contributors may be used to endorse or promote products derived
|
||||||
* from this software without specific prior written permission.
|
* from this software without specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
@ -38,7 +38,7 @@
|
|||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
* ***************************************************************************
|
* ***************************************************************************
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2011, Advanced Micro Devices, Inc.
|
* Copyright (c) 2011, Advanced Micro Devices, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
* * Redistributions of source code must retain the above copyright
|
* * Redistributions of source code must retain the above copyright
|
||||||
@ -24,10 +24,10 @@
|
|||||||
* * Redistributions in binary form must reproduce the above copyright
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
* documentation and/or other materials provided with the distribution.
|
* documentation and/or other materials provided with the distribution.
|
||||||
* * Neither the name of Advanced Micro Devices, Inc. nor the names of
|
* * Neither the name of Advanced Micro Devices, Inc. nor the names of
|
||||||
* its contributors may be used to endorse or promote products derived
|
* its contributors may be used to endorse or promote products derived
|
||||||
* from this software without specific prior written permission.
|
* from this software without specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
@ -38,7 +38,7 @@
|
|||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
* ***************************************************************************
|
* ***************************************************************************
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@ -67,7 +67,7 @@
|
|||||||
* PCIe port info
|
* PCIe port info
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Name (
|
Name (
|
||||||
AD07,
|
AD07,
|
||||||
Package () {
|
Package () {
|
||||||
@ -100,19 +100,19 @@
|
|||||||
Method (ALIB, 2, NotSerialized) {
|
Method (ALIB, 2, NotSerialized) {
|
||||||
If (Lequal (Arg0, 0x1)) {
|
If (Lequal (Arg0, 0x1)) {
|
||||||
return (procPsppReportAcDsState (Arg1))
|
return (procPsppReportAcDsState (Arg1))
|
||||||
}
|
}
|
||||||
If (LEqual (Arg0, 0x2)) {
|
If (LEqual (Arg0, 0x2)) {
|
||||||
return (procPsppPerformanceRequest (Arg1))
|
return (procPsppPerformanceRequest (Arg1))
|
||||||
}
|
}
|
||||||
If (LEqual (Arg0, 0x3)) {
|
If (LEqual (Arg0, 0x3)) {
|
||||||
return (procPsppControl (Arg1))
|
return (procPsppControl (Arg1))
|
||||||
}
|
}
|
||||||
If (LEqual (Arg0, 0x4)) {
|
If (LEqual (Arg0, 0x4)) {
|
||||||
return (procPcieSetBusWidth (Arg1))
|
return (procPcieSetBusWidth (Arg1))
|
||||||
}
|
}
|
||||||
If (LEqual (Arg0, 0x5)) {
|
If (LEqual (Arg0, 0x5)) {
|
||||||
return (procAlibInit ())
|
return (procAlibInit ())
|
||||||
}
|
}
|
||||||
If (LEqual (Arg0, 0x6)) {
|
If (LEqual (Arg0, 0x6)) {
|
||||||
return (procPciePortHotplug (Arg1))
|
return (procPciePortHotplug (Arg1))
|
||||||
}
|
}
|
||||||
@ -180,7 +180,7 @@
|
|||||||
procPciDwordWrite (Arg0, Arg1, Local0)
|
procPciDwordWrite (Arg0, Arg1, Local0)
|
||||||
}
|
}
|
||||||
|
|
||||||
Mutex(varPciePortAccessMutex, 0)
|
Mutex(varPciePortAccessMutex, 0)
|
||||||
/*----------------------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
* Read PCIe port indirect register
|
* Read PCIe port indirect register
|
||||||
@ -194,7 +194,7 @@
|
|||||||
Store (ShiftLeft (Add( Arg0, 2), 3), Local0)
|
Store (ShiftLeft (Add( Arg0, 2), 3), Local0)
|
||||||
procPciDwordWrite (Local0, 0xe0, Arg1)
|
procPciDwordWrite (Local0, 0xe0, Arg1)
|
||||||
Store (procPciDwordRead (Local0, 0xe4), Local0)
|
Store (procPciDwordRead (Local0, 0xe4), Local0)
|
||||||
Release (varPciePortAccessMutex)
|
Release (varPciePortAccessMutex)
|
||||||
return (Local0)
|
return (Local0)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -281,7 +281,7 @@
|
|||||||
|
|
||||||
/*----------------------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* Arg0 - Port ID
|
* Arg0 - Port ID
|
||||||
* Retval - buffer that represent port data set
|
* Retval - buffer that represent port data set
|
||||||
@ -320,7 +320,7 @@
|
|||||||
|
|
||||||
/*----------------------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* Arg0 - Aspm
|
* Arg0 - Aspm
|
||||||
* Arg1 - 0: Read, 1: Write
|
* Arg1 - 0: Read, 1: Write
|
||||||
@ -336,7 +336,7 @@
|
|||||||
IndexField (PMRI, PMRD, ByteAcc, NoLock, Preserve)
|
IndexField (PMRI, PMRD, ByteAcc, NoLock, Preserve)
|
||||||
{
|
{
|
||||||
Offset(0xE0), // IO Base address of A-Link Express/ A-Link Bridge register
|
Offset(0xE0), // IO Base address of A-Link Express/ A-Link Bridge register
|
||||||
ABAR, 32,
|
ABAR, 32,
|
||||||
}
|
}
|
||||||
OperationRegion (ACFG, SystemIO, ABAR, 0x8)
|
OperationRegion (ACFG, SystemIO, ABAR, 0x8)
|
||||||
Field (ACFG, DWordAcc, Nolock, Preserve) //AB_INDX/AB_DATA
|
Field (ACFG, DWordAcc, Nolock, Preserve) //AB_INDX/AB_DATA
|
||||||
|
@ -24,8 +24,8 @@
|
|||||||
* * Redistributions in binary form must reproduce the above copyright
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
* documentation and/or other materials provided with the distribution.
|
* documentation and/or other materials provided with the distribution.
|
||||||
* * Neither the name of Advanced Micro Devices, Inc. nor the names of
|
* * Neither the name of Advanced Micro Devices, Inc. nor the names of
|
||||||
* its contributors may be used to endorse or promote products derived
|
* its contributors may be used to endorse or promote products derived
|
||||||
* from this software without specific prior written permission.
|
* from this software without specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
@ -446,7 +446,7 @@ Name (varLinkWidthBuffer, Buffer () {0, 1, 2, 4, 8, 12, 16})
|
|||||||
Store (Concatenate ("Lane Bitmap : ", ToHexString (varLaneBitmapOrMaskLocal3), varStringBuffer), Debug)
|
Store (Concatenate ("Lane Bitmap : ", ToHexString (varLaneBitmapOrMaskLocal3), varStringBuffer), Debug)
|
||||||
if (Lequal (Arg3, 1)) {
|
if (Lequal (Arg3, 1)) {
|
||||||
Store (0, varLaneBitmapOrMaskLocal3)
|
Store (0, varLaneBitmapOrMaskLocal3)
|
||||||
}
|
}
|
||||||
procIndirectRegisterRMW (0x0, 0xE0, Or (ShiftLeft (varWrapperId, 16), 0x8023), varLaneBitmapAndMaskLocal4, varLaneBitmapOrMaskLocal3);
|
procIndirectRegisterRMW (0x0, 0xE0, Or (ShiftLeft (varWrapperId, 16), 0x8023), varLaneBitmapAndMaskLocal4, varLaneBitmapOrMaskLocal3);
|
||||||
Stall (10)
|
Stall (10)
|
||||||
Store ("PcieLaneEnableControl Exit", Debug)
|
Store ("PcieLaneEnableControl Exit", Debug)
|
||||||
|
@ -24,8 +24,8 @@
|
|||||||
* * Redistributions in binary form must reproduce the above copyright
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
* documentation and/or other materials provided with the distribution.
|
* documentation and/or other materials provided with the distribution.
|
||||||
* * Neither the name of Advanced Micro Devices, Inc. nor the names of
|
* * Neither the name of Advanced Micro Devices, Inc. nor the names of
|
||||||
* its contributors may be used to endorse or promote products derived
|
* its contributors may be used to endorse or promote products derived
|
||||||
* from this software without specific prior written permission.
|
* from this software without specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2011, Advanced Micro Devices, Inc.
|
* Copyright (c) 2011, Advanced Micro Devices, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
* * Redistributions of source code must retain the above copyright
|
* * Redistributions of source code must retain the above copyright
|
||||||
@ -24,10 +24,10 @@
|
|||||||
* * Redistributions in binary form must reproduce the above copyright
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
* documentation and/or other materials provided with the distribution.
|
* documentation and/or other materials provided with the distribution.
|
||||||
* * Neither the name of Advanced Micro Devices, Inc. nor the names of
|
* * Neither the name of Advanced Micro Devices, Inc. nor the names of
|
||||||
* its contributors may be used to endorse or promote products derived
|
* its contributors may be used to endorse or promote products derived
|
||||||
* from this software without specific prior written permission.
|
* from this software without specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
@ -38,7 +38,7 @@
|
|||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
* ***************************************************************************
|
* ***************************************************************************
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@ -118,7 +118,7 @@
|
|||||||
|
|
||||||
Or (ShiftLeft (Arg0, 3), 0x1, Local0)
|
Or (ShiftLeft (Arg0, 3), 0x1, Local0)
|
||||||
procNbSmuIndirectRegisterWrite (0x3, Local0, 1)
|
procNbSmuIndirectRegisterWrite (0x3, Local0, 1)
|
||||||
|
|
||||||
if (LAnd (Arg1, 1)) {
|
if (LAnd (Arg1, 1)) {
|
||||||
while (LNotEqual (AND(procNbSmuIndirectRegisterRead (0x3), 0x2), 0x2)) {
|
while (LNotEqual (AND(procNbSmuIndirectRegisterRead (0x3), 0x2), 0x2)) {
|
||||||
Store ("--Wait Ack--", Debug)
|
Store ("--Wait Ack--", Debug)
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2011, Advanced Micro Devices, Inc.
|
* Copyright (c) 2011, Advanced Micro Devices, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
* * Redistributions of source code must retain the above copyright
|
* * Redistributions of source code must retain the above copyright
|
||||||
@ -24,10 +24,10 @@
|
|||||||
* * Redistributions in binary form must reproduce the above copyright
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
* documentation and/or other materials provided with the distribution.
|
* documentation and/or other materials provided with the distribution.
|
||||||
* * Neither the name of Advanced Micro Devices, Inc. nor the names of
|
* * Neither the name of Advanced Micro Devices, Inc. nor the names of
|
||||||
* its contributors may be used to endorse or promote products derived
|
* its contributors may be used to endorse or promote products derived
|
||||||
* from this software without specific prior written permission.
|
* from this software without specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
@ -38,7 +38,7 @@
|
|||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
* ***************************************************************************
|
* ***************************************************************************
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@ -79,7 +79,7 @@ DefinitionBlock (
|
|||||||
//This is a battery <20><>idle<6C><65> state along with a <20><>perf<72><66> state that will be programmed to the max LCLK achievable at the Gen2 VID
|
//This is a battery <20><>idle<6C><65> state along with a <20><>perf<72><66> state that will be programmed to the max LCLK achievable at the Gen2 VID
|
||||||
And (Local0, 0xFFFFFFA0, Local0)
|
And (Local0, 0xFFFFFFA0, Local0)
|
||||||
Or (Local0, 0xA0, Local0)
|
Or (Local0, 0xA0, Local0)
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
if (LEqual (Arg1, 0)) {
|
if (LEqual (Arg1, 0)) {
|
||||||
//If AC, & if only Gen1 supported, activate state DPM0 and DPM1
|
//If AC, & if only Gen1 supported, activate state DPM0 and DPM1
|
||||||
@ -104,7 +104,7 @@ DefinitionBlock (
|
|||||||
*
|
*
|
||||||
* Arg0 - Start Lane ID
|
* Arg0 - Start Lane ID
|
||||||
* Arg1 - End Lane ID
|
* Arg1 - End Lane ID
|
||||||
* Arg2 - Power ON(1) / OFF(0)
|
* Arg2 - Power ON(1) / OFF(0)
|
||||||
*/
|
*/
|
||||||
Method (procPcieLanePowerControl, 3, NotSerialized) {
|
Method (procPcieLanePowerControl, 3, NotSerialized) {
|
||||||
// stub function
|
// stub function
|
||||||
@ -115,7 +115,7 @@ DefinitionBlock (
|
|||||||
* Adjust PLL settings stub
|
* Adjust PLL settings stub
|
||||||
*
|
*
|
||||||
* Arg0 - 1 - GEN1 2 - GEN2
|
* Arg0 - 1 - GEN1 2 - GEN2
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
Method (procPcieAdjustPll, 1, NotSerialized) {
|
Method (procPcieAdjustPll, 1, NotSerialized) {
|
||||||
//stub function
|
//stub function
|
||||||
|
@ -423,7 +423,7 @@ static void boot_init_qlm_mode(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* Check if QLM autoconfig from DIP switch settings is requested
|
* Check if QLM autoconfig from DIP switch settings is requested
|
||||||
*/
|
*/
|
||||||
else if (bdk_config_get_int(BDK_CONFIG_QLM_DIP_AUTO_CONFIG))
|
else if (bdk_config_get_int(BDK_CONFIG_QLM_DIP_AUTO_CONFIG))
|
||||||
|
@ -170,7 +170,7 @@ bdk_dram_address_construct_info(bdk_node_t node, int lmc, int dimm,
|
|||||||
if (lmcx_control.s.xor_bank)
|
if (lmcx_control.s.xor_bank)
|
||||||
new_bank ^= EXTRACT(address, 12 + xbits, bank_width);
|
new_bank ^= EXTRACT(address, 12 + xbits, bank_width);
|
||||||
INSERT(address, new_bank, bank_lsb, bank_width);
|
INSERT(address, new_bank, bank_lsb, bank_width);
|
||||||
|
|
||||||
/* Determine the actual C bits from the input LMC controller arg */
|
/* Determine the actual C bits from the input LMC controller arg */
|
||||||
/* The input LMC number was probably aliased with other fields */
|
/* The input LMC number was probably aliased with other fields */
|
||||||
BDK_CSR_INIT(l2c_ctl, node, BDK_L2C_CTL);
|
BDK_CSR_INIT(l2c_ctl, node, BDK_L2C_CTL);
|
||||||
|
@ -75,7 +75,7 @@ int bdk_dram_config(int node, int ddr_clock_override)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Do all the DRAM Margin tests
|
* Do all the DRAM Margin tests
|
||||||
*
|
*
|
||||||
* @param node Node to test
|
* @param node Node to test
|
||||||
*
|
*
|
||||||
|
@ -136,7 +136,7 @@ int __bdk_dram_get_num_bank_bits(bdk_node_t node, int lmc)
|
|||||||
if (__bdk_dram_is_lmc_in_dreset(node, lmc)) // check LMCn
|
if (__bdk_dram_is_lmc_in_dreset(node, lmc)) // check LMCn
|
||||||
return 0;
|
return 0;
|
||||||
BDK_CSR_INIT(lmcx_config, node, BDK_LMCX_CONFIG(lmc)); // sample LMCn
|
BDK_CSR_INIT(lmcx_config, node, BDK_LMCX_CONFIG(lmc)); // sample LMCn
|
||||||
int bank_width = (__bdk_dram_is_ddr4(node, lmc) && (lmcx_config.s.bg2_enable)) ? 4 : 3;
|
int bank_width = (__bdk_dram_is_ddr4(node, lmc) && (lmcx_config.s.bg2_enable)) ? 4 : 3;
|
||||||
return bank_width;
|
return bank_width;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -380,7 +380,7 @@ static int __bdk_dram_run_test(const dram_test_info_t *test_info, uint64_t start
|
|||||||
/* Wait for threads to finish, with progress */
|
/* Wait for threads to finish, with progress */
|
||||||
int cur_count;
|
int cur_count;
|
||||||
uint64_t cur_time;
|
uint64_t cur_time;
|
||||||
uint64_t period = bdk_clock_get_rate(bdk_numa_local(), BDK_CLOCK_TIME) * TIMEOUT_SECS; // FIXME?
|
uint64_t period = bdk_clock_get_rate(bdk_numa_local(), BDK_CLOCK_TIME) * TIMEOUT_SECS; // FIXME?
|
||||||
uint64_t timeout = bdk_clock_get_count(BDK_CLOCK_TIME) + period;
|
uint64_t timeout = bdk_clock_get_count(BDK_CLOCK_TIME) + period;
|
||||||
do {
|
do {
|
||||||
cur_count = bdk_atomic_get64(&dram_test_thread_done);
|
cur_count = bdk_atomic_get64(&dram_test_thread_done);
|
||||||
@ -652,7 +652,7 @@ static void __bdk_dram_report_address_decode_new(uint64_t address, uint64_t orig
|
|||||||
* @param data Data read from memory
|
* @param data Data read from memory
|
||||||
* @param correct Correct data
|
* @param correct Correct data
|
||||||
* @param burst Which burst this is from, informational only
|
* @param burst Which burst this is from, informational only
|
||||||
* @param fails -1 for no retries done, >= 0 number of failures during retries
|
* @param fails -1 for no retries done, >= 0 number of failures during retries
|
||||||
*
|
*
|
||||||
* @return Zero if a message was logged, non-zero if the error limit has been reached
|
* @return Zero if a message was logged, non-zero if the error limit has been reached
|
||||||
*/
|
*/
|
||||||
@ -691,7 +691,7 @@ void __bdk_dram_report_error(uint64_t address, uint64_t data, uint64_t correct,
|
|||||||
* @param address2 Second address involved in the failure
|
* @param address2 Second address involved in the failure
|
||||||
* @param data2 Data from second address
|
* @param data2 Data from second address
|
||||||
* @param burst Which burst this is from, informational only
|
* @param burst Which burst this is from, informational only
|
||||||
* @param fails -1 for no retries done, >= 0 number of failures during retries
|
* @param fails -1 for no retries done, >= 0 number of failures during retries
|
||||||
*
|
*
|
||||||
* @return Zero if a message was logged, non-zero if the error limit has been reached
|
* @return Zero if a message was logged, non-zero if the error limit has been reached
|
||||||
*/
|
*/
|
||||||
|
@ -498,7 +498,7 @@ bdk_config_info_t config_info[] = {
|
|||||||
.min_value = 0,
|
.min_value = 0,
|
||||||
.max_value = 1,
|
.max_value = 1,
|
||||||
},
|
},
|
||||||
|
|
||||||
[BDK_CONFIG_QLM_MODE] = {
|
[BDK_CONFIG_QLM_MODE] = {
|
||||||
.format = "QLM-MODE.N%d.QLM%d", /* Parameters: Node, QLM */
|
.format = "QLM-MODE.N%d.QLM%d", /* Parameters: Node, QLM */
|
||||||
.ctype = BDK_CONFIG_TYPE_STR,
|
.ctype = BDK_CONFIG_TYPE_STR,
|
||||||
|
@ -81,7 +81,7 @@ static void setup_marvell_phy(bdk_node_t node, int mdio_bus, int mdio_addr)
|
|||||||
phy_status = bdk_mdio_read(node, mdio_bus, mdio_addr, 22);
|
phy_status = bdk_mdio_read(node, mdio_bus, mdio_addr, 22);
|
||||||
if (phy_status < 0)
|
if (phy_status < 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
phy_status = bdk_mdio_read(node, mdio_bus, mdio_addr, 17);
|
phy_status = bdk_mdio_read(node, mdio_bus, mdio_addr, 17);
|
||||||
if (phy_status < 0)
|
if (phy_status < 0)
|
||||||
return;
|
return;
|
||||||
@ -99,14 +99,14 @@ int bdk_if_phy_marvell_setup(bdk_node_t node, int qlm, int mdio_bus, int phy_add
|
|||||||
/* Check that the GSER mode is SGMII */
|
/* Check that the GSER mode is SGMII */
|
||||||
/* Switch the marvell PHY to the correct mode */
|
/* Switch the marvell PHY to the correct mode */
|
||||||
bdk_qlm_modes_t qlm_mode = bdk_qlm_get_mode(node, qlm);
|
bdk_qlm_modes_t qlm_mode = bdk_qlm_get_mode(node, qlm);
|
||||||
|
|
||||||
BDK_TRACE(PHY,"%s: QLM:%d QLM_MODE:%d\n",__FUNCTION__, qlm, qlm_mode);
|
BDK_TRACE(PHY,"%s: QLM:%d QLM_MODE:%d\n",__FUNCTION__, qlm, qlm_mode);
|
||||||
|
|
||||||
if ((qlm_mode != BDK_QLM_MODE_SGMII_1X1) &&
|
if ((qlm_mode != BDK_QLM_MODE_SGMII_1X1) &&
|
||||||
(qlm_mode != BDK_QLM_MODE_SGMII_2X1))
|
(qlm_mode != BDK_QLM_MODE_SGMII_2X1))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
BDK_TRACE(PHY,"%s: Detected Marvell Phy in SGMII mode\n", __FUNCTION__);
|
BDK_TRACE(PHY,"%s: Detected Marvell Phy in SGMII mode\n", __FUNCTION__);
|
||||||
for (int port = 0; port < 2; port++)
|
for (int port = 0; port < 2; port++)
|
||||||
{
|
{
|
||||||
setup_marvell_phy(node, mdio_bus, phy_addr + port);
|
setup_marvell_phy(node, mdio_bus, phy_addr + port);
|
||||||
|
@ -90,7 +90,7 @@ static void vitesse_init_script(bdk_node_t node, int mdio_bus, int phy_addr)
|
|||||||
uint16_t reg_addr;
|
uint16_t reg_addr;
|
||||||
uint16_t reg_val;
|
uint16_t reg_val;
|
||||||
uint16_t mask;
|
uint16_t mask;
|
||||||
|
|
||||||
BDK_TRACE(PHY,"In %s\n",__FUNCTION__);
|
BDK_TRACE(PHY,"In %s\n",__FUNCTION__);
|
||||||
BDK_TRACE(PHY,"Loading init script for VSC8514\n");
|
BDK_TRACE(PHY,"Loading init script for VSC8514\n");
|
||||||
|
|
||||||
@ -122,20 +122,20 @@ static void vitesse_program(bdk_node_t node, int mdio_bus, int phy_addr)
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Setup Vitesse PHYs
|
* Setup Vitesse PHYs
|
||||||
* This function sets up one port in a Vitesse VSC8514
|
* This function sets up one port in a Vitesse VSC8514
|
||||||
*/
|
*/
|
||||||
static void setup_vitesse_phy(bdk_node_t node, int mdio_bus, int phy_addr)
|
static void setup_vitesse_phy(bdk_node_t node, int mdio_bus, int phy_addr)
|
||||||
{
|
{
|
||||||
/*setting MAC if*/
|
/*setting MAC if*/
|
||||||
bdk_mdio_write(node, mdio_bus, phy_addr, 31, VSC_PHY_GPIO_PAGE);
|
bdk_mdio_write(node, mdio_bus, phy_addr, 31, VSC_PHY_GPIO_PAGE);
|
||||||
wr_masked(node,mdio_bus,phy_addr, 19, 0x4000, 0xc000);
|
wr_masked(node,mdio_bus,phy_addr, 19, 0x4000, 0xc000);
|
||||||
bdk_mdio_write(node, mdio_bus, phy_addr, 18, 0x80e0);
|
bdk_mdio_write(node, mdio_bus, phy_addr, 18, 0x80e0);
|
||||||
|
|
||||||
/*Setting media if*/
|
/*Setting media if*/
|
||||||
bdk_mdio_write(node, mdio_bus, phy_addr, 31, VSC_PHY_STD_PAGE);
|
bdk_mdio_write(node, mdio_bus, phy_addr, 31, VSC_PHY_STD_PAGE);
|
||||||
// Reg23, 10:8 Select copper, CAT5 copper only
|
// Reg23, 10:8 Select copper, CAT5 copper only
|
||||||
wr_masked(node,mdio_bus,phy_addr, 23, 0x0000, 0x0700);
|
wr_masked(node,mdio_bus,phy_addr, 23, 0x0000, 0x0700);
|
||||||
|
|
||||||
// Reg0:15, soft Reset
|
// Reg0:15, soft Reset
|
||||||
wr_masked(node,mdio_bus,phy_addr, 0, 0x8000, 0x8000);
|
wr_masked(node,mdio_bus,phy_addr, 0, 0x8000, 0x8000);
|
||||||
int time_out = 100;
|
int time_out = 100;
|
||||||
@ -159,9 +159,9 @@ static void setup_vitesse_phy(bdk_node_t node, int mdio_bus, int phy_addr)
|
|||||||
bdk_mdio_write(node, mdio_bus, phy_addr, 16, 0x80);
|
bdk_mdio_write(node, mdio_bus, phy_addr, 16, 0x80);
|
||||||
// Select main registers
|
// Select main registers
|
||||||
bdk_mdio_write(node, mdio_bus, phy_addr, 31, VSC_PHY_STD_PAGE);
|
bdk_mdio_write(node, mdio_bus, phy_addr, 31, VSC_PHY_STD_PAGE);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
if (LOOP_INTERNAL)
|
if (LOOP_INTERNAL)
|
||||||
{
|
{
|
||||||
reg0 = bdk_mdio_read(node, mdio_bus, phy_addr, 0);
|
reg0 = bdk_mdio_read(node, mdio_bus, phy_addr, 0);
|
||||||
@ -176,7 +176,7 @@ static void setup_vitesse_phy(bdk_node_t node, int mdio_bus, int phy_addr)
|
|||||||
reg23 = bdk_insert(reg23, 1, 3, 1);
|
reg23 = bdk_insert(reg23, 1, 3, 1);
|
||||||
bdk_mdio_write(node, mdio_bus, phy_addr, 23, reg23);
|
bdk_mdio_write(node, mdio_bus, phy_addr, 23, reg23);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Dump registers
|
// Dump registers
|
||||||
if (false)
|
if (false)
|
||||||
|
@ -48,10 +48,10 @@ BDK_REQUIRE_DEFINE(XFI);
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
Rate Select Settings
|
Rate Select Settings
|
||||||
Mode State : 6/8
|
Mode State : 6/8
|
||||||
Rate Select State : 0
|
Rate Select State : 0
|
||||||
RSEL1 : 0
|
RSEL1 : 0
|
||||||
RSEL0 : 0
|
RSEL0 : 0
|
||||||
Ref Clock Gen(MHz) : 156.25
|
Ref Clock Gen(MHz) : 156.25
|
||||||
Data Rate(Gbps) : 10.3125
|
Data Rate(Gbps) : 10.3125
|
||||||
Description : 10 GbE
|
Description : 10 GbE
|
||||||
@ -60,60 +60,60 @@ Description : 10 GbE
|
|||||||
Data Rate Detection Configuration Registers
|
Data Rate Detection Configuration Registers
|
||||||
|
|
||||||
Mode Pin Settings:
|
Mode Pin Settings:
|
||||||
Mode State : 0
|
Mode State : 0
|
||||||
MODE1 : 0
|
MODE1 : 0
|
||||||
MODE0 : 0
|
MODE0 : 0
|
||||||
Mode : Two-wire serial interface mode
|
Mode : Two-wire serial interface mode
|
||||||
|
|
||||||
LOS Pin Strap Mode Settings
|
LOS Pin Strap Mode Settings
|
||||||
Mode State : 2/6/8
|
Mode State : 2/6/8
|
||||||
State : 4
|
State : 4
|
||||||
LOS1 : Float
|
LOS1 : Float
|
||||||
LOS0 : Float
|
LOS0 : Float
|
||||||
LOS Amplitude(mVpp) : 20
|
LOS Amplitude(mVpp) : 20
|
||||||
LOS Hysteresis(dB) : 2
|
LOS Hysteresis(dB) : 2
|
||||||
|
|
||||||
Input Equalization Retimer Mode Settings
|
Input Equalization Retimer Mode Settings
|
||||||
Mode State : 6/8
|
Mode State : 6/8
|
||||||
EQ State : 0
|
EQ State : 0
|
||||||
EQ1 : 0
|
EQ1 : 0
|
||||||
EQ0 : 0
|
EQ0 : 0
|
||||||
EQ(dB) : Auto
|
EQ(dB) : Auto
|
||||||
DFE : Auto
|
DFE : Auto
|
||||||
Comment : Full Auto
|
Comment : Full Auto
|
||||||
|
|
||||||
Input Equalization Re-Driver Mode Settings
|
Input Equalization Re-Driver Mode Settings
|
||||||
Mode State :
|
Mode State :
|
||||||
EQ State : 0
|
EQ State : 0
|
||||||
EQ1 : 0
|
EQ1 : 0
|
||||||
EQ0 : 0
|
EQ0 : 0
|
||||||
EQ(dB) : Auto
|
EQ(dB) : Auto
|
||||||
DFE : APowered Down
|
DFE : APowered Down
|
||||||
Comment : Analog EQ Only
|
Comment : Analog EQ Only
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Output De-Emphasis Retimer Mode Settings
|
Output De-Emphasis Retimer Mode Settings
|
||||||
Mode State : 6/8
|
Mode State : 6/8
|
||||||
DE State : 3
|
DE State : 3
|
||||||
TX1 : Float
|
TX1 : Float
|
||||||
TX0 : 0
|
TX0 : 0
|
||||||
PRE c(-1) mA : -1
|
PRE c(-1) mA : -1
|
||||||
MAIN c( 0) mA : 15
|
MAIN c( 0) mA : 15
|
||||||
POST c(+1) mA : 4
|
POST c(+1) mA : 4
|
||||||
DC Amplitude(mV): 500
|
DC Amplitude(mV): 500
|
||||||
De-Emphasis(dB) : -6.02
|
De-Emphasis(dB) : -6.02
|
||||||
Comment :
|
Comment :
|
||||||
|
|
||||||
|
|
||||||
Output De-Emphasis Re-Driver Mode Settings
|
Output De-Emphasis Re-Driver Mode Settings
|
||||||
Mode State : 2
|
Mode State : 2
|
||||||
DE State : 3
|
DE State : 3
|
||||||
TX1 : Float
|
TX1 : Float
|
||||||
TX0 : 0
|
TX0 : 0
|
||||||
Frequency(Gbps) : 10.3125
|
Frequency(Gbps) : 10.3125
|
||||||
DC Amplitude(mV): 600
|
DC Amplitude(mV): 600
|
||||||
De-Emphasis(dB) : 4
|
De-Emphasis(dB) : 4
|
||||||
Comment : 10GbE
|
Comment : 10GbE
|
||||||
|
|
||||||
|
|
||||||
@ -181,10 +181,10 @@ Page Reg Position Mask val RegFieldName
|
|||||||
0x00 0x97 b09 0x0200 1 PD_OD
|
0x00 0x97 b09 0x0200 1 PD_OD
|
||||||
0x00 0xA0 b11 0x0800 1 PD_LOS
|
0x00 0xA0 b11 0x0800 1 PD_LOS
|
||||||
0x00 0xA4 b15 0x8000 1 PD_CH
|
0x00 0xA4 b15 0x8000 1 PD_CH
|
||||||
0x00 0xB5 b07 0x0080 1 PD_INBUF
|
0x00 0xB5 b07 0x0080 1 PD_INBUF
|
||||||
0x00 0xB9 b15 0x8000 1 ASYN_SYNN
|
0x00 0xB9 b15 0x8000 1 ASYN_SYNN
|
||||||
0x00 0xB9 b09 0x0200 1 PD_OD
|
0x00 0xB9 b09 0x0200 1 PD_OD
|
||||||
0x00 0xBF b07 0x0080 1 PD_INBUF
|
0x00 0xBF b07 0x0080 1 PD_INBUF
|
||||||
0x00 0xF0 b15 0x8000 1 ASYN_SYNN
|
0x00 0xF0 b15 0x8000 1 ASYN_SYNN
|
||||||
0x00 0xF0 b09 0x0200 1 PD_OD
|
0x00 0xF0 b09 0x0200 1 PD_OD
|
||||||
0x00 0xF6 b07 0x0080 1 PD_INBUF
|
0x00 0xF6 b07 0x0080 1 PD_INBUF
|
||||||
|
@ -80,7 +80,7 @@
|
|||||||
#define USE_ORIG_TEST_DRAM_BYTE 1
|
#define USE_ORIG_TEST_DRAM_BYTE 1
|
||||||
|
|
||||||
// collect and print LMC utilization using SWL software algorithm
|
// collect and print LMC utilization using SWL software algorithm
|
||||||
#define ENABLE_SW_WLEVEL_UTILIZATION 0
|
#define ENABLE_SW_WLEVEL_UTILIZATION 0
|
||||||
|
|
||||||
#define COUNT_RL_CANDIDATES 1
|
#define COUNT_RL_CANDIDATES 1
|
||||||
|
|
||||||
@ -224,7 +224,7 @@ change_wr_deskew_ena(bdk_node_t node, int ddr_interface_num, int new_state)
|
|||||||
{
|
{
|
||||||
bdk_lmcx_dll_ctl3_t ddr_dll_ctl3;
|
bdk_lmcx_dll_ctl3_t ddr_dll_ctl3;
|
||||||
int saved_wr_deskew_ena;
|
int saved_wr_deskew_ena;
|
||||||
|
|
||||||
// return original WR_DESKEW_ENA setting
|
// return original WR_DESKEW_ENA setting
|
||||||
ddr_dll_ctl3.u = BDK_CSR_READ(node, BDK_LMCX_DLL_CTL3(ddr_interface_num));
|
ddr_dll_ctl3.u = BDK_CSR_READ(node, BDK_LMCX_DLL_CTL3(ddr_interface_num));
|
||||||
saved_wr_deskew_ena = !!GET_DDR_DLL_CTL3(wr_deskew_ena);
|
saved_wr_deskew_ena = !!GET_DDR_DLL_CTL3(wr_deskew_ena);
|
||||||
@ -270,15 +270,15 @@ Validate_Read_Deskew_Training(bdk_node_t node, int rank_mask, int ddr_interface_
|
|||||||
uint64_t bl_mask[2]; // enough for 128 values
|
uint64_t bl_mask[2]; // enough for 128 values
|
||||||
int bit_values;
|
int bit_values;
|
||||||
#endif
|
#endif
|
||||||
deskew_data_t dskdat;
|
deskew_data_t dskdat;
|
||||||
int bit_index;
|
int bit_index;
|
||||||
int16_t flags, deskew;
|
int16_t flags, deskew;
|
||||||
const char *fc = " ?-=+*#&";
|
const char *fc = " ?-=+*#&";
|
||||||
int saved_wr_deskew_ena;
|
int saved_wr_deskew_ena;
|
||||||
int bit_last;
|
int bit_last;
|
||||||
|
|
||||||
// save original WR_DESKEW_ENA setting, and disable it for read deskew
|
// save original WR_DESKEW_ENA setting, and disable it for read deskew
|
||||||
saved_wr_deskew_ena = change_wr_deskew_ena(node, ddr_interface_num, 0);
|
saved_wr_deskew_ena = change_wr_deskew_ena(node, ddr_interface_num, 0);
|
||||||
|
|
||||||
lmc_config.u = BDK_CSR_READ(node, BDK_LMCX_CONFIG(ddr_interface_num));
|
lmc_config.u = BDK_CSR_READ(node, BDK_LMCX_CONFIG(ddr_interface_num));
|
||||||
byte_limit = ((!lmc_config.s.mode32b) ? 8 : 4) + lmc_config.s.ecc_ena;
|
byte_limit = ((!lmc_config.s.mode32b) ? 8 : 4) + lmc_config.s.ecc_ena;
|
||||||
@ -407,7 +407,7 @@ Validate_Read_Deskew_Training(bdk_node_t node, int rank_mask, int ddr_interface_
|
|||||||
// just for completeness, allow print of the stuck values bitmask after the bytelane print
|
// just for completeness, allow print of the stuck values bitmask after the bytelane print
|
||||||
if ((bit_values < 3) && print_enable) {
|
if ((bit_values < 3) && print_enable) {
|
||||||
VB_PRT(VBL_DEV, "N%d.LMC%d: Deskew byte %d STUCK on value 0x%016lx.%016lx\n",
|
VB_PRT(VBL_DEV, "N%d.LMC%d: Deskew byte %d STUCK on value 0x%016lx.%016lx\n",
|
||||||
node, ddr_interface_num, byte_lane,
|
node, ddr_interface_num, byte_lane,
|
||||||
bl_mask[1], bl_mask[0]);
|
bl_mask[1], bl_mask[0]);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -415,7 +415,7 @@ Validate_Read_Deskew_Training(bdk_node_t node, int rank_mask, int ddr_interface_
|
|||||||
} /* for (byte_lane = 0; byte_lane < byte_limit; byte_lane++) */
|
} /* for (byte_lane = 0; byte_lane < byte_limit; byte_lane++) */
|
||||||
|
|
||||||
// restore original WR_DESKEW_ENA setting
|
// restore original WR_DESKEW_ENA setting
|
||||||
change_wr_deskew_ena(node, ddr_interface_num, saved_wr_deskew_ena);
|
change_wr_deskew_ena(node, ddr_interface_num, saved_wr_deskew_ena);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -433,13 +433,13 @@ unsigned short load_dac_override(int node, int ddr_interface_num,
|
|||||||
|
|
||||||
ddr_dll_ctl3.s.bit_select = 0x9; /* No-op */
|
ddr_dll_ctl3.s.bit_select = 0x9; /* No-op */
|
||||||
DRAM_CSR_WRITE(node, BDK_LMCX_DLL_CTL3(ddr_interface_num), ddr_dll_ctl3.u);
|
DRAM_CSR_WRITE(node, BDK_LMCX_DLL_CTL3(ddr_interface_num), ddr_dll_ctl3.u);
|
||||||
|
|
||||||
ddr_dll_ctl3.s.bit_select = 0xC; /* Vref bypass setting load */
|
ddr_dll_ctl3.s.bit_select = 0xC; /* Vref bypass setting load */
|
||||||
DRAM_CSR_WRITE(node, BDK_LMCX_DLL_CTL3(ddr_interface_num), ddr_dll_ctl3.u);
|
DRAM_CSR_WRITE(node, BDK_LMCX_DLL_CTL3(ddr_interface_num), ddr_dll_ctl3.u);
|
||||||
|
|
||||||
ddr_dll_ctl3.s.bit_select = 0xD; /* Vref bypass on. */
|
ddr_dll_ctl3.s.bit_select = 0xD; /* Vref bypass on. */
|
||||||
DRAM_CSR_WRITE(node, BDK_LMCX_DLL_CTL3(ddr_interface_num), ddr_dll_ctl3.u);
|
DRAM_CSR_WRITE(node, BDK_LMCX_DLL_CTL3(ddr_interface_num), ddr_dll_ctl3.u);
|
||||||
|
|
||||||
ddr_dll_ctl3.s.bit_select = 0x9; /* No-op */
|
ddr_dll_ctl3.s.bit_select = 0x9; /* No-op */
|
||||||
DRAM_CSR_WRITE(node, BDK_LMCX_DLL_CTL3(ddr_interface_num), ddr_dll_ctl3.u);
|
DRAM_CSR_WRITE(node, BDK_LMCX_DLL_CTL3(ddr_interface_num), ddr_dll_ctl3.u);
|
||||||
|
|
||||||
@ -545,9 +545,9 @@ Perform_Offset_Training(bdk_node_t node, int rank_mask, int ddr_interface_num)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* 6.9.8 LMC Offset Training
|
* 6.9.8 LMC Offset Training
|
||||||
*
|
*
|
||||||
* LMC requires input-receiver offset training.
|
* LMC requires input-receiver offset training.
|
||||||
*
|
*
|
||||||
* 1. Write LMC(0)_PHY_CTL[DAC_ON] = 1
|
* 1. Write LMC(0)_PHY_CTL[DAC_ON] = 1
|
||||||
*/
|
*/
|
||||||
lmc_phy_ctl.u = BDK_CSR_READ(node, BDK_LMCX_PHY_CTL(ddr_interface_num));
|
lmc_phy_ctl.u = BDK_CSR_READ(node, BDK_LMCX_PHY_CTL(ddr_interface_num));
|
||||||
@ -576,7 +576,7 @@ Perform_Offset_Training(bdk_node_t node, int rank_mask, int ddr_interface_num)
|
|||||||
/*
|
/*
|
||||||
* 2. Write LMC(0)_SEQ_CTL[SEQ_SEL] = 0x0B and
|
* 2. Write LMC(0)_SEQ_CTL[SEQ_SEL] = 0x0B and
|
||||||
* LMC(0)_SEQ_CTL[INIT_START] = 1.
|
* LMC(0)_SEQ_CTL[INIT_START] = 1.
|
||||||
*
|
*
|
||||||
* 3. Wait for LMC(0)_SEQ_CTL[SEQ_COMPLETE] to be set to 1.
|
* 3. Wait for LMC(0)_SEQ_CTL[SEQ_COMPLETE] to be set to 1.
|
||||||
*/
|
*/
|
||||||
perform_octeon3_ddr3_sequence(node, rank_mask, ddr_interface_num, 0x0B); /* Offset training sequence */
|
perform_octeon3_ddr3_sequence(node, rank_mask, ddr_interface_num, 0x0B); /* Offset training sequence */
|
||||||
@ -590,9 +590,9 @@ Perform_Internal_VREF_Training(bdk_node_t node, int rank_mask, int ddr_interface
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* 6.9.9 LMC Internal Vref Training
|
* 6.9.9 LMC Internal Vref Training
|
||||||
*
|
*
|
||||||
* LMC requires input-reference-voltage training.
|
* LMC requires input-reference-voltage training.
|
||||||
*
|
*
|
||||||
* 1. Write LMC(0)_EXT_CONFIG[VREFINT_SEQ_DESKEW] = 0.
|
* 1. Write LMC(0)_EXT_CONFIG[VREFINT_SEQ_DESKEW] = 0.
|
||||||
*/
|
*/
|
||||||
ext_config.u = BDK_CSR_READ(node, BDK_LMCX_EXT_CONFIG(ddr_interface_num));
|
ext_config.u = BDK_CSR_READ(node, BDK_LMCX_EXT_CONFIG(ddr_interface_num));
|
||||||
@ -606,7 +606,7 @@ Perform_Internal_VREF_Training(bdk_node_t node, int rank_mask, int ddr_interface
|
|||||||
/*
|
/*
|
||||||
* 2. Write LMC(0)_SEQ_CTL[SEQ_SEL] = 0x0a and
|
* 2. Write LMC(0)_SEQ_CTL[SEQ_SEL] = 0x0a and
|
||||||
* LMC(0)_SEQ_CTL[INIT_START] = 1.
|
* LMC(0)_SEQ_CTL[INIT_START] = 1.
|
||||||
*
|
*
|
||||||
* 3. Wait for LMC(0)_SEQ_CTL[SEQ_COMPLETE] to be set to 1.
|
* 3. Wait for LMC(0)_SEQ_CTL[SEQ_COMPLETE] to be set to 1.
|
||||||
*/
|
*/
|
||||||
perform_octeon3_ddr3_sequence(node, rank_mask, ddr_interface_num, 0x0A); /* LMC Internal Vref Training */
|
perform_octeon3_ddr3_sequence(node, rank_mask, ddr_interface_num, 0x0A); /* LMC Internal Vref Training */
|
||||||
@ -646,7 +646,7 @@ process_samples_average(int16_t *bytes, int num_samples, int lmc, int lane_no)
|
|||||||
ret = trunc;
|
ret = trunc;
|
||||||
else if (sadj & 1)
|
else if (sadj & 1)
|
||||||
ret = sadj;
|
ret = sadj;
|
||||||
else
|
else
|
||||||
ret = trunc + 1;
|
ret = trunc + 1;
|
||||||
|
|
||||||
dbg_avg(" -> %3d\n", ret);
|
dbg_avg(" -> %3d\n", ret);
|
||||||
@ -678,7 +678,7 @@ Perform_Read_Deskew_Training(bdk_node_t node, int rank_mask, int ddr_interface_n
|
|||||||
VB_PRT(VBL_FAE, "N%d.LMC%d: Performing Read Deskew Training.\n", node, ddr_interface_num);
|
VB_PRT(VBL_FAE, "N%d.LMC%d: Performing Read Deskew Training.\n", node, ddr_interface_num);
|
||||||
|
|
||||||
// save original WR_DESKEW_ENA setting, and disable it for read deskew
|
// save original WR_DESKEW_ENA setting, and disable it for read deskew
|
||||||
saved_wr_deskew_ena = change_wr_deskew_ena(node, ddr_interface_num, 0);
|
saved_wr_deskew_ena = change_wr_deskew_ena(node, ddr_interface_num, 0);
|
||||||
|
|
||||||
sat_retries = 0;
|
sat_retries = 0;
|
||||||
lock_retries_total = 0;
|
lock_retries_total = 0;
|
||||||
@ -718,9 +718,9 @@ Perform_Read_Deskew_Training(bdk_node_t node, int rank_mask, int ddr_interface_n
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* 6.9.10 LMC Deskew Training
|
* 6.9.10 LMC Deskew Training
|
||||||
*
|
*
|
||||||
* LMC requires input-read-data deskew training.
|
* LMC requires input-read-data deskew training.
|
||||||
*
|
*
|
||||||
* 1. Write LMC(0)_EXT_CONFIG[VREFINT_SEQ_DESKEW] = 1.
|
* 1. Write LMC(0)_EXT_CONFIG[VREFINT_SEQ_DESKEW] = 1.
|
||||||
*/
|
*/
|
||||||
VB_PRT(VBL_SEQ, "N%d.LMC%d: Performing LMC sequence: Set vrefint_seq_deskew = 1\n",
|
VB_PRT(VBL_SEQ, "N%d.LMC%d: Performing LMC sequence: Set vrefint_seq_deskew = 1\n",
|
||||||
@ -731,7 +731,7 @@ Perform_Read_Deskew_Training(bdk_node_t node, int rank_mask, int ddr_interface_n
|
|||||||
/*
|
/*
|
||||||
* 2. Write LMC(0)_SEQ_CTL[SEQ_SEL] = 0x0A and
|
* 2. Write LMC(0)_SEQ_CTL[SEQ_SEL] = 0x0A and
|
||||||
* LMC(0)_SEQ_CTL[INIT_START] = 1.
|
* LMC(0)_SEQ_CTL[INIT_START] = 1.
|
||||||
*
|
*
|
||||||
* 3. Wait for LMC(0)_SEQ_CTL[SEQ_COMPLETE] to be set to 1.
|
* 3. Wait for LMC(0)_SEQ_CTL[SEQ_COMPLETE] to be set to 1.
|
||||||
*/
|
*/
|
||||||
DRAM_CSR_MODIFY(phy_ctl, node, BDK_LMCX_PHY_CTL(ddr_interface_num),
|
DRAM_CSR_MODIFY(phy_ctl, node, BDK_LMCX_PHY_CTL(ddr_interface_num),
|
||||||
@ -742,7 +742,7 @@ Perform_Read_Deskew_Training(bdk_node_t node, int rank_mask, int ddr_interface_n
|
|||||||
|
|
||||||
perform_read_deskew_training:
|
perform_read_deskew_training:
|
||||||
// maybe perform the NORMAL deskew training sequence multiple times before looking at lock status
|
// maybe perform the NORMAL deskew training sequence multiple times before looking at lock status
|
||||||
for (loops = 0; loops < normal_loops; loops++) {
|
for (loops = 0; loops < normal_loops; loops++) {
|
||||||
DRAM_CSR_MODIFY(phy_ctl, node, BDK_LMCX_PHY_CTL(ddr_interface_num),
|
DRAM_CSR_MODIFY(phy_ctl, node, BDK_LMCX_PHY_CTL(ddr_interface_num),
|
||||||
phy_ctl.s.phy_dsk_reset = 0); /* Normal Deskew sequence */
|
phy_ctl.s.phy_dsk_reset = 0); /* Normal Deskew sequence */
|
||||||
perform_octeon3_ddr3_sequence(node, rank_mask, ddr_interface_num, 0x0A); /* LMC Deskew Training */
|
perform_octeon3_ddr3_sequence(node, rank_mask, ddr_interface_num, 0x0A); /* LMC Deskew Training */
|
||||||
@ -823,7 +823,7 @@ Perform_Read_Deskew_Training(bdk_node_t node, int rank_mask, int ddr_interface_n
|
|||||||
sat_retries-1, lock_retries_total);
|
sat_retries-1, lock_retries_total);
|
||||||
|
|
||||||
// restore original WR_DESKEW_ENA setting
|
// restore original WR_DESKEW_ENA setting
|
||||||
change_wr_deskew_ena(node, ddr_interface_num, saved_wr_deskew_ena);
|
change_wr_deskew_ena(node, ddr_interface_num, saved_wr_deskew_ena);
|
||||||
|
|
||||||
if ((dsk_counts.nibrng_errs != 0) || (dsk_counts.nibunl_errs != 0)) {
|
if ((dsk_counts.nibrng_errs != 0) || (dsk_counts.nibunl_errs != 0)) {
|
||||||
debug_print("N%d.LMC%d: NIBBLE ERROR(S) found, returning FAULT\n",
|
debug_print("N%d.LMC%d: NIBBLE ERROR(S) found, returning FAULT\n",
|
||||||
@ -831,7 +831,7 @@ Perform_Read_Deskew_Training(bdk_node_t node, int rank_mask, int ddr_interface_n
|
|||||||
return -1; // we did retry locally, they did not help
|
return -1; // we did retry locally, they did not help
|
||||||
}
|
}
|
||||||
|
|
||||||
// NOTE: we (currently) always print one last training validation before starting Read Leveling...
|
// NOTE: we (currently) always print one last training validation before starting Read Leveling...
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -907,7 +907,7 @@ Set_Write_Deskew_Settings(bdk_node_t node, int ddr_interface_num, int value)
|
|||||||
VB_PRT(VBL_DEV2, "N%d.LMC%d: SetWriteDeskew: WRITE %d\n", node, ddr_interface_num, value);
|
VB_PRT(VBL_DEV2, "N%d.LMC%d: SetWriteDeskew: WRITE %d\n", node, ddr_interface_num, value);
|
||||||
|
|
||||||
for (bit_num = 0; bit_num <= 7; ++bit_num) {
|
for (bit_num = 0; bit_num <= 7; ++bit_num) {
|
||||||
|
|
||||||
// write a bit-deskew value to all bit-lanes of all bytes
|
// write a bit-deskew value to all bit-lanes of all bytes
|
||||||
ddr_dll_ctl3.u = BDK_CSR_READ(node, BDK_LMCX_DLL_CTL3(ddr_interface_num));
|
ddr_dll_ctl3.u = BDK_CSR_READ(node, BDK_LMCX_DLL_CTL3(ddr_interface_num));
|
||||||
SET_DDR_DLL_CTL3(bit_select, bit_num);
|
SET_DDR_DLL_CTL3(bit_select, bit_num);
|
||||||
@ -949,13 +949,13 @@ Neutral_Write_Deskew_Setup(bdk_node_t node, int ddr_interface_num)
|
|||||||
{
|
{
|
||||||
// first: NO-OP, Select all bytes, Disable write bit-deskew
|
// first: NO-OP, Select all bytes, Disable write bit-deskew
|
||||||
ddr_print("N%d.LMC%d: NEUTRAL Write Deskew Setup: first: NOOP\n", node, ddr_interface_num);
|
ddr_print("N%d.LMC%d: NEUTRAL Write Deskew Setup: first: NOOP\n", node, ddr_interface_num);
|
||||||
do_write_deskew_op(node, ddr_interface_num, BS_NOOP, ALL_BYTES, 0);
|
do_write_deskew_op(node, ddr_interface_num, BS_NOOP, ALL_BYTES, 0);
|
||||||
//Get_Deskew_Settings(node, ddr_interface_num, &dskdat);
|
//Get_Deskew_Settings(node, ddr_interface_num, &dskdat);
|
||||||
//Display_Deskew_Data(node, ddr_interface_num, &dskdat, VBL_NORM);
|
//Display_Deskew_Data(node, ddr_interface_num, &dskdat, VBL_NORM);
|
||||||
|
|
||||||
// enable write bit-deskew and RESET the settings
|
// enable write bit-deskew and RESET the settings
|
||||||
ddr_print("N%d.LMC%d: NEUTRAL Write Deskew Setup: wr_ena: RESET\n", node, ddr_interface_num);
|
ddr_print("N%d.LMC%d: NEUTRAL Write Deskew Setup: wr_ena: RESET\n", node, ddr_interface_num);
|
||||||
do_write_deskew_op(node, ddr_interface_num, BS_RESET, ALL_BYTES, 1);
|
do_write_deskew_op(node, ddr_interface_num, BS_RESET, ALL_BYTES, 1);
|
||||||
//Get_Deskew_Settings(node, ddr_interface_num, &dskdat);
|
//Get_Deskew_Settings(node, ddr_interface_num, &dskdat);
|
||||||
//Display_Deskew_Data(node, ddr_interface_num, &dskdat, VBL_NORM);
|
//Display_Deskew_Data(node, ddr_interface_num, &dskdat, VBL_NORM);
|
||||||
}
|
}
|
||||||
@ -982,20 +982,20 @@ Perform_Write_Deskew_Training(bdk_node_t node, int ddr_interface_num)
|
|||||||
|
|
||||||
// first: NO-OP, Select all bytes, Disable write bit-deskew
|
// first: NO-OP, Select all bytes, Disable write bit-deskew
|
||||||
ddr_print("N%d.LMC%d: WriteDeskewConfig: first: NOOP\n", node, ddr_interface_num);
|
ddr_print("N%d.LMC%d: WriteDeskewConfig: first: NOOP\n", node, ddr_interface_num);
|
||||||
do_write_deskew_op(node, ddr_interface_num, BS_NOOP, ALL_BYTES, 0);
|
do_write_deskew_op(node, ddr_interface_num, BS_NOOP, ALL_BYTES, 0);
|
||||||
//Get_Deskew_Settings(node, ddr_interface_num, &dskdat);
|
//Get_Deskew_Settings(node, ddr_interface_num, &dskdat);
|
||||||
//Display_Deskew_Data(node, ddr_interface_num, &dskdat, VBL_NORM);
|
//Display_Deskew_Data(node, ddr_interface_num, &dskdat, VBL_NORM);
|
||||||
|
|
||||||
// enable write bit-deskew and RESET the settings
|
// enable write bit-deskew and RESET the settings
|
||||||
ddr_print("N%d.LMC%d: WriteDeskewConfig: wr_ena: RESET\n", node, ddr_interface_num);
|
ddr_print("N%d.LMC%d: WriteDeskewConfig: wr_ena: RESET\n", node, ddr_interface_num);
|
||||||
do_write_deskew_op(node, ddr_interface_num, BS_RESET, ALL_BYTES, 1);
|
do_write_deskew_op(node, ddr_interface_num, BS_RESET, ALL_BYTES, 1);
|
||||||
//Get_Deskew_Settings(node, ddr_interface_num, &dskdat);
|
//Get_Deskew_Settings(node, ddr_interface_num, &dskdat);
|
||||||
//Display_Deskew_Data(node, ddr_interface_num, &dskdat, VBL_NORM);
|
//Display_Deskew_Data(node, ddr_interface_num, &dskdat, VBL_NORM);
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
// enable write bit-deskew and REUSE read bit-deskew settings
|
// enable write bit-deskew and REUSE read bit-deskew settings
|
||||||
ddr_print("N%d.LMC%d: WriteDeskewConfig: wr_ena: REUSE\n", node, ddr_interface_num);
|
ddr_print("N%d.LMC%d: WriteDeskewConfig: wr_ena: REUSE\n", node, ddr_interface_num);
|
||||||
do_write_deskew_op(node, ddr_interface_num, BS_REUSE, ALL_BYTES, 1);
|
do_write_deskew_op(node, ddr_interface_num, BS_REUSE, ALL_BYTES, 1);
|
||||||
Get_Deskew_Settings(node, ddr_interface_num, &dskdat);
|
Get_Deskew_Settings(node, ddr_interface_num, &dskdat);
|
||||||
Display_Deskew_Data(node, ddr_interface_num, &dskdat, VBL_NORM);
|
Display_Deskew_Data(node, ddr_interface_num, &dskdat, VBL_NORM);
|
||||||
#endif
|
#endif
|
||||||
@ -1107,7 +1107,7 @@ Perform_Write_Deskew_Training(bdk_node_t node, int ddr_interface_num)
|
|||||||
|
|
||||||
// last: NO-OP, Select all bytes, MUST leave write bit-deskew enabled
|
// last: NO-OP, Select all bytes, MUST leave write bit-deskew enabled
|
||||||
ddr_print("N%d.LMC%d: WriteDeskewConfig: last: wr_ena: NOOP\n", node, ddr_interface_num);
|
ddr_print("N%d.LMC%d: WriteDeskewConfig: last: wr_ena: NOOP\n", node, ddr_interface_num);
|
||||||
do_write_deskew_op(node, ddr_interface_num, BS_NOOP, ALL_BYTES, 1);
|
do_write_deskew_op(node, ddr_interface_num, BS_NOOP, ALL_BYTES, 1);
|
||||||
//Get_Deskew_Settings(node, ddr_interface_num, &dskdat);
|
//Get_Deskew_Settings(node, ddr_interface_num, &dskdat);
|
||||||
//Display_Deskew_Data(node, ddr_interface_num, &dskdat, VBL_NORM);
|
//Display_Deskew_Data(node, ddr_interface_num, &dskdat, VBL_NORM);
|
||||||
|
|
||||||
@ -1115,7 +1115,7 @@ Perform_Write_Deskew_Training(bdk_node_t node, int ddr_interface_num)
|
|||||||
// FIXME: disable/delete this when write bit-deskew works...
|
// FIXME: disable/delete this when write bit-deskew works...
|
||||||
// final: NO-OP, Select all bytes, do NOT leave write bit-deskew enabled
|
// final: NO-OP, Select all bytes, do NOT leave write bit-deskew enabled
|
||||||
ddr_print("N%d.LMC%d: WriteDeskewConfig: final: read: NOOP\n", node, ddr_interface_num);
|
ddr_print("N%d.LMC%d: WriteDeskewConfig: final: read: NOOP\n", node, ddr_interface_num);
|
||||||
do_write_deskew_op(node, ddr_interface_num, BS_NOOP, ALL_BYTES, 0);
|
do_write_deskew_op(node, ddr_interface_num, BS_NOOP, ALL_BYTES, 0);
|
||||||
Get_Deskew_Settings(node, ddr_interface_num, &dskdat);
|
Get_Deskew_Settings(node, ddr_interface_num, &dskdat);
|
||||||
Display_Deskew_Data(node, ddr_interface_num, &dskdat, VBL_NORM);
|
Display_Deskew_Data(node, ddr_interface_num, &dskdat, VBL_NORM);
|
||||||
#endif
|
#endif
|
||||||
@ -1291,7 +1291,7 @@ compute_vref_value(bdk_node_t node, int ddr_interface_num,
|
|||||||
BDK_CSR_INIT(lmc_config, node, BDK_LMCX_CONFIG(ddr_interface_num));
|
BDK_CSR_INIT(lmc_config, node, BDK_LMCX_CONFIG(ddr_interface_num));
|
||||||
/*
|
/*
|
||||||
New computed Vref = existing computed Vref – X
|
New computed Vref = existing computed Vref – X
|
||||||
|
|
||||||
The value of X is depending on different conditions. Both #122 and #139 are 2Rx4 RDIMM,
|
The value of X is depending on different conditions. Both #122 and #139 are 2Rx4 RDIMM,
|
||||||
while #124 is stacked die 2Rx4, so I conclude the results into two conditions:
|
while #124 is stacked die 2Rx4, so I conclude the results into two conditions:
|
||||||
|
|
||||||
@ -1315,7 +1315,7 @@ compute_vref_value(bdk_node_t node, int ddr_interface_num,
|
|||||||
}
|
}
|
||||||
// we have adjusted it, so print it out if verbosity is right
|
// we have adjusted it, so print it out if verbosity is right
|
||||||
VB_PRT(VBL_TME, "N%d.LMC%d.R%d: adjusting computed vref from %2d (0x%02x) to %2d (0x%02x)\n",
|
VB_PRT(VBL_TME, "N%d.LMC%d.R%d: adjusting computed vref from %2d (0x%02x) to %2d (0x%02x)\n",
|
||||||
node, ddr_interface_num, rankx,
|
node, ddr_interface_num, rankx,
|
||||||
saved_final_vref_value, saved_final_vref_value,
|
saved_final_vref_value, saved_final_vref_value,
|
||||||
computed_final_vref_value, computed_final_vref_value);
|
computed_final_vref_value, computed_final_vref_value);
|
||||||
}
|
}
|
||||||
@ -1505,7 +1505,7 @@ validate_ddr3_rlevel_bitmask(rlevel_bitmask_t *rlevel_bitmask_p, int ddr_type)
|
|||||||
extras++; // count the number of extra bits
|
extras++; // count the number of extra bits
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Penalize any extra 1's beyond the maximum desired mask */
|
/* Penalize any extra 1's beyond the maximum desired mask */
|
||||||
if (extras > 0)
|
if (extras > 0)
|
||||||
toolong = RLEVEL_BITMASK_TOOLONG_ERROR * ((1 << extras) - 1);
|
toolong = RLEVEL_BITMASK_TOOLONG_ERROR * ((1 << extras) - 1);
|
||||||
@ -1634,13 +1634,13 @@ Validate_HW_WL_Settings(bdk_node_t node, int ddr_interface_num,
|
|||||||
{
|
{
|
||||||
int wl[9], byte, errors;
|
int wl[9], byte, errors;
|
||||||
|
|
||||||
// arrange the sequences so
|
// arrange the sequences so
|
||||||
int useq[] = { 0,1,2,3,8,4,5,6,7,-1 }; // index 0 has byte 0, etc, ECC in middle
|
int useq[] = { 0,1,2,3,8,4,5,6,7,-1 }; // index 0 has byte 0, etc, ECC in middle
|
||||||
int rseq1[] = { 8,3,2,1,0,-1 }; // index 0 is ECC, then go down
|
int rseq1[] = { 8,3,2,1,0,-1 }; // index 0 is ECC, then go down
|
||||||
int rseq2[] = { 4,5,6,7,-1 }; // index 0 has byte 4, then go up
|
int rseq2[] = { 4,5,6,7,-1 }; // index 0 has byte 4, then go up
|
||||||
int useqno[] = { 0,1,2,3,4,5,6,7,-1 }; // index 0 has byte 0, etc, no ECC
|
int useqno[] = { 0,1,2,3,4,5,6,7,-1 }; // index 0 has byte 0, etc, no ECC
|
||||||
int rseq1no[] = { 3,2,1,0,-1 }; // index 0 is byte 3, then go down, no ECC
|
int rseq1no[] = { 3,2,1,0,-1 }; // index 0 is byte 3, then go down, no ECC
|
||||||
|
|
||||||
// in the CSR, bytes 0-7 are always data, byte 8 is ECC
|
// in the CSR, bytes 0-7 are always data, byte 8 is ECC
|
||||||
for (byte = 0; byte < 8+ecc_ena; byte++) {
|
for (byte = 0; byte < 8+ecc_ena; byte++) {
|
||||||
wl[byte] = (get_wlevel_rank_struct(lmc_wlevel_rank, byte) >> 1) & 3; // preprocess :-)
|
wl[byte] = (get_wlevel_rank_struct(lmc_wlevel_rank, byte) >> 1) & 3; // preprocess :-)
|
||||||
@ -1683,7 +1683,7 @@ static int get_rlevel_rank_struct(bdk_lmcx_rlevel_rankx_t *lmc_rlevel_rank,
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void unpack_rlevel_settings(int ddr_interface_bytemask, int ecc_ena,
|
static void unpack_rlevel_settings(int ddr_interface_bytemask, int ecc_ena,
|
||||||
rlevel_byte_data_t *rlevel_byte,
|
rlevel_byte_data_t *rlevel_byte,
|
||||||
bdk_lmcx_rlevel_rankx_t lmc_rlevel_rank)
|
bdk_lmcx_rlevel_rankx_t lmc_rlevel_rank)
|
||||||
{
|
{
|
||||||
@ -1713,11 +1713,11 @@ static void unpack_rlevel_settings(int ddr_interface_bytemask, int ecc_ena,
|
|||||||
rlevel_byte[0].delay = lmc_rlevel_rank.cn83xx.byte0;
|
rlevel_byte[0].delay = lmc_rlevel_rank.cn83xx.byte0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void pack_rlevel_settings(int ddr_interface_bytemask, int ecc_ena,
|
static void pack_rlevel_settings(int ddr_interface_bytemask, int ecc_ena,
|
||||||
rlevel_byte_data_t *rlevel_byte,
|
rlevel_byte_data_t *rlevel_byte,
|
||||||
bdk_lmcx_rlevel_rankx_t *final_rlevel_rank)
|
bdk_lmcx_rlevel_rankx_t *final_rlevel_rank)
|
||||||
{
|
{
|
||||||
bdk_lmcx_rlevel_rankx_t lmc_rlevel_rank = *final_rlevel_rank;
|
bdk_lmcx_rlevel_rankx_t lmc_rlevel_rank = *final_rlevel_rank;
|
||||||
|
|
||||||
if ((ddr_interface_bytemask & 0xff) == 0xff) {
|
if ((ddr_interface_bytemask & 0xff) == 0xff) {
|
||||||
if (ecc_ena) {
|
if (ecc_ena) {
|
||||||
@ -1808,7 +1808,7 @@ static int nonsequential_delays(rlevel_byte_data_t *rlevel_byte,
|
|||||||
}
|
}
|
||||||
|
|
||||||
delay_inc = _abs(delay_diff); // how big was the delay change, if any
|
delay_inc = _abs(delay_diff); // how big was the delay change, if any
|
||||||
|
|
||||||
/* Even if the trend did not change to the opposite direction, check for
|
/* Even if the trend did not change to the opposite direction, check for
|
||||||
the magnitude of the change, and scale the penalty by the amount that
|
the magnitude of the change, and scale the penalty by the amount that
|
||||||
the size is larger than the provided limit.
|
the size is larger than the provided limit.
|
||||||
@ -1954,9 +1954,9 @@ display_RL_with_computed(bdk_node_t node, int ddr_interface_num, bdk_lmcx_rlevel
|
|||||||
// control
|
// control
|
||||||
#define SKIP_SKIPPING 1
|
#define SKIP_SKIPPING 1
|
||||||
|
|
||||||
static const char *with_rodt_canned_msgs[4] = { " ", "SKIPPING ", "BEST ROW ", "BEST SCORE" };
|
static const char *with_rodt_canned_msgs[4] = { " ", "SKIPPING ", "BEST ROW ", "BEST SCORE" };
|
||||||
|
|
||||||
static void display_RL_with_RODT(bdk_node_t node, int ddr_interface_num,
|
static void display_RL_with_RODT(bdk_node_t node, int ddr_interface_num,
|
||||||
bdk_lmcx_rlevel_rankx_t lmc_rlevel_rank, int rank, int score,
|
bdk_lmcx_rlevel_rankx_t lmc_rlevel_rank, int rank, int score,
|
||||||
int nom_ohms, int rodt_ohms, int flag)
|
int nom_ohms, int rodt_ohms, int flag)
|
||||||
{
|
{
|
||||||
@ -1969,9 +1969,9 @@ static void display_RL_with_RODT(bdk_node_t node, int ddr_interface_num,
|
|||||||
if (nom_ohms < 0) {
|
if (nom_ohms < 0) {
|
||||||
snprintf(set_buf, sizeof(set_buf), " RODT %3d ", rodt_ohms);
|
snprintf(set_buf, sizeof(set_buf), " RODT %3d ", rodt_ohms);
|
||||||
} else {
|
} else {
|
||||||
snprintf(set_buf, sizeof(set_buf), "NOM %3d RODT %3d", nom_ohms, rodt_ohms);
|
snprintf(set_buf, sizeof(set_buf), "NOM %3d RODT %3d", nom_ohms, rodt_ohms);
|
||||||
}
|
}
|
||||||
|
|
||||||
VB_PRT(VBL_TME, "N%d.LMC%d.R%d: Rlevel %s %s : %5d %5d %5d %5d %5d %5d %5d %5d %5d (%d)\n",
|
VB_PRT(VBL_TME, "N%d.LMC%d.R%d: Rlevel %s %s : %5d %5d %5d %5d %5d %5d %5d %5d %5d (%d)\n",
|
||||||
node, ddr_interface_num, rank,
|
node, ddr_interface_num, rank,
|
||||||
set_buf, msg_buf,
|
set_buf, msg_buf,
|
||||||
@ -2249,7 +2249,7 @@ void perform_octeon3_ddr3_sequence(bdk_node_t node, int rank_mask, int ddr_inter
|
|||||||
* LMC(0)_SEQ_CTL[SEQ_SEL,INIT_START] = 1 with a single CSR write
|
* LMC(0)_SEQ_CTL[SEQ_SEL,INIT_START] = 1 with a single CSR write
|
||||||
* operation. LMC(0)_CONFIG[RANKMASK] bits should be set to indicate
|
* operation. LMC(0)_CONFIG[RANKMASK] bits should be set to indicate
|
||||||
* the ranks that will participate in the sequence.
|
* the ranks that will participate in the sequence.
|
||||||
*
|
*
|
||||||
* The LMC(0)_SEQ_CTL[SEQ_SEL] value should select power-up/init or
|
* The LMC(0)_SEQ_CTL[SEQ_SEL] value should select power-up/init or
|
||||||
* selfrefresh exit, depending on whether the DRAM parts are in
|
* selfrefresh exit, depending on whether the DRAM parts are in
|
||||||
* self-refresh and whether their contents should be preserved. While
|
* self-refresh and whether their contents should be preserved. While
|
||||||
@ -2257,7 +2257,7 @@ void perform_octeon3_ddr3_sequence(bdk_node_t node, int rank_mask, int ddr_inter
|
|||||||
* transactions. When the sequence is complete, hardware sets the
|
* transactions. When the sequence is complete, hardware sets the
|
||||||
* LMC(0)_CONFIG[INIT_STATUS] bits for the ranks that have been
|
* LMC(0)_CONFIG[INIT_STATUS] bits for the ranks that have been
|
||||||
* initialized.
|
* initialized.
|
||||||
*
|
*
|
||||||
* If power-up/init is selected immediately following a DRESET
|
* If power-up/init is selected immediately following a DRESET
|
||||||
* assertion, LMC executes the sequence described in the "Reset and
|
* assertion, LMC executes the sequence described in the "Reset and
|
||||||
* Initialization Procedure" section of the JEDEC DDR3
|
* Initialization Procedure" section of the JEDEC DDR3
|
||||||
@ -2270,16 +2270,16 @@ void perform_octeon3_ddr3_sequence(bdk_node_t node, int rank_mask, int ddr_inter
|
|||||||
* the first DDR3 mode register write operation.
|
* the first DDR3 mode register write operation.
|
||||||
* LMC(0)_DIMM_CTL[DIMM*_WMASK] should be cleared to 0 if the
|
* LMC(0)_DIMM_CTL[DIMM*_WMASK] should be cleared to 0 if the
|
||||||
* corresponding DIMM is not present.
|
* corresponding DIMM is not present.
|
||||||
*
|
*
|
||||||
* If self-refresh exit is selected, LMC executes the required SRX
|
* If self-refresh exit is selected, LMC executes the required SRX
|
||||||
* command followed by a refresh and ZQ calibration. Section 4.5
|
* command followed by a refresh and ZQ calibration. Section 4.5
|
||||||
* describes behavior of a REF + ZQCS. LMC does not write the DDR3
|
* describes behavior of a REF + ZQCS. LMC does not write the DDR3
|
||||||
* mode registers as part of this sequence, and the mode register
|
* mode registers as part of this sequence, and the mode register
|
||||||
* parameters must match at self-refresh entry and exit times.
|
* parameters must match at self-refresh entry and exit times.
|
||||||
*
|
*
|
||||||
* 4. Read LMC(0)_SEQ_CTL and wait for LMC(0)_SEQ_CTL[SEQ_COMPLETE] to be
|
* 4. Read LMC(0)_SEQ_CTL and wait for LMC(0)_SEQ_CTL[SEQ_COMPLETE] to be
|
||||||
* set.
|
* set.
|
||||||
*
|
*
|
||||||
* 5. Read LMC(0)_CONFIG[INIT_STATUS] and confirm that all ranks have
|
* 5. Read LMC(0)_CONFIG[INIT_STATUS] and confirm that all ranks have
|
||||||
* been initialized.
|
* been initialized.
|
||||||
*/
|
*/
|
||||||
@ -2351,8 +2351,8 @@ void ddr4_mrw(bdk_node_t node, int ddr_interface_num, int rank,
|
|||||||
lmc_mr_mpr_ctl.s.mr_wr_rank = rank;
|
lmc_mr_mpr_ctl.s.mr_wr_rank = rank;
|
||||||
//lmc_mr_mpr_ctl.s.mr_wr_pda_mask =
|
//lmc_mr_mpr_ctl.s.mr_wr_pda_mask =
|
||||||
//lmc_mr_mpr_ctl.s.mr_wr_pda_enable =
|
//lmc_mr_mpr_ctl.s.mr_wr_pda_enable =
|
||||||
//lmc_mr_mpr_ctl.s.mpr_loc =
|
//lmc_mr_mpr_ctl.s.mpr_loc =
|
||||||
//lmc_mr_mpr_ctl.s.mpr_wr =
|
//lmc_mr_mpr_ctl.s.mpr_wr =
|
||||||
//lmc_mr_mpr_ctl.s.mpr_bit_select =
|
//lmc_mr_mpr_ctl.s.mpr_bit_select =
|
||||||
//lmc_mr_mpr_ctl.s.mpr_byte_select =
|
//lmc_mr_mpr_ctl.s.mpr_byte_select =
|
||||||
//lmc_mr_mpr_ctl.s.mpr_whole_byte_enable =
|
//lmc_mr_mpr_ctl.s.mpr_whole_byte_enable =
|
||||||
@ -3032,7 +3032,7 @@ int init_octeon3_ddr3_interface(bdk_node_t node,
|
|||||||
if ((s = lookup_env_parameter("ddr_deskew_validation_delay")) != NULL) {
|
if ((s = lookup_env_parameter("ddr_deskew_validation_delay")) != NULL) {
|
||||||
deskew_validation_delay = strtoul(s, NULL, 0);
|
deskew_validation_delay = strtoul(s, NULL, 0);
|
||||||
}
|
}
|
||||||
// this one is in Perform_Read_Deskew_Training and controls lock retries
|
// this one is in Perform_Read_Deskew_Training and controls lock retries
|
||||||
if ((s = lookup_env_parameter("ddr_lock_retries")) != NULL) {
|
if ((s = lookup_env_parameter("ddr_lock_retries")) != NULL) {
|
||||||
default_lock_retry_limit = strtoul(s, NULL, 0);
|
default_lock_retry_limit = strtoul(s, NULL, 0);
|
||||||
}
|
}
|
||||||
@ -3164,7 +3164,7 @@ int init_octeon3_ddr3_interface(bdk_node_t node,
|
|||||||
// FIXME: print non-zero monolithic device definition
|
// FIXME: print non-zero monolithic device definition
|
||||||
ddr_print("DDR4: Package Type MONOLITHIC: %d die, signal load %d\n",
|
ddr_print("DDR4: Package Type MONOLITHIC: %d die, signal load %d\n",
|
||||||
((spd_package >> 4) & 7) + 1, (spd_package & 3));
|
((spd_package >> 4) & 7) + 1, (spd_package & 3));
|
||||||
}
|
}
|
||||||
|
|
||||||
asymmetric = (spd_org >> 6) & 1;
|
asymmetric = (spd_org >> 6) & 1;
|
||||||
if (asymmetric) {
|
if (asymmetric) {
|
||||||
@ -3208,7 +3208,7 @@ int init_octeon3_ddr3_interface(bdk_node_t node,
|
|||||||
ddr_print("DDR4: RDIMM Register Manufacturer ID 0x%x Revision 0x%x\n",
|
ddr_print("DDR4: RDIMM Register Manufacturer ID 0x%x Revision 0x%x\n",
|
||||||
spd_mfgr_id, spd_register_rev);
|
spd_mfgr_id, spd_register_rev);
|
||||||
|
|
||||||
// RAWCARD A or B must be bit 7=0 and bits 4-0 either 00000(A) or 00001(B)
|
// RAWCARD A or B must be bit 7=0 and bits 4-0 either 00000(A) or 00001(B)
|
||||||
spd_rawcard_AorB = ((spd_rawcard & 0x9fUL) <= 1);
|
spd_rawcard_AorB = ((spd_rawcard & 0x9fUL) <= 1);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -3762,14 +3762,14 @@ int init_octeon3_ddr3_interface(bdk_node_t node,
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* 6.9.7 Early LMC Initialization
|
* 6.9.7 Early LMC Initialization
|
||||||
*
|
*
|
||||||
* All of DDR PLL, LMC CK, and LMC DRESET initializations must be
|
* All of DDR PLL, LMC CK, and LMC DRESET initializations must be
|
||||||
* completed prior to starting this LMC initialization sequence.
|
* completed prior to starting this LMC initialization sequence.
|
||||||
*
|
*
|
||||||
* Perform the following five substeps for early LMC initialization:
|
* Perform the following five substeps for early LMC initialization:
|
||||||
*
|
*
|
||||||
* 1. Software must ensure there are no pending DRAM transactions.
|
* 1. Software must ensure there are no pending DRAM transactions.
|
||||||
*
|
*
|
||||||
* 2. Write LMC(0)_CONFIG, LMC(0)_CONTROL, LMC(0)_TIMING_PARAMS0,
|
* 2. Write LMC(0)_CONFIG, LMC(0)_CONTROL, LMC(0)_TIMING_PARAMS0,
|
||||||
* LMC(0)_TIMING_PARAMS1, LMC(0)_MODEREG_PARAMS0,
|
* LMC(0)_TIMING_PARAMS1, LMC(0)_MODEREG_PARAMS0,
|
||||||
* LMC(0)_MODEREG_PARAMS1, LMC(0)_DUAL_MEMCFG, LMC(0)_NXM,
|
* LMC(0)_MODEREG_PARAMS1, LMC(0)_DUAL_MEMCFG, LMC(0)_NXM,
|
||||||
@ -5073,7 +5073,7 @@ int init_octeon3_ddr3_interface(bdk_node_t node,
|
|||||||
|
|
||||||
perform_internal_vref_training:
|
perform_internal_vref_training:
|
||||||
|
|
||||||
for (sample = 0; sample < num_samples; sample++) {
|
for (sample = 0; sample < num_samples; sample++) {
|
||||||
|
|
||||||
dac_eval_retries = 0;
|
dac_eval_retries = 0;
|
||||||
|
|
||||||
@ -5265,48 +5265,48 @@ int init_octeon3_ddr3_interface(bdk_node_t node,
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* 6.9.11 LMC Write Leveling
|
* 6.9.11 LMC Write Leveling
|
||||||
*
|
*
|
||||||
* LMC supports an automatic write leveling like that described in the
|
* LMC supports an automatic write leveling like that described in the
|
||||||
* JEDEC DDR3 specifications separately per byte-lane.
|
* JEDEC DDR3 specifications separately per byte-lane.
|
||||||
*
|
*
|
||||||
* All of DDR PLL, LMC CK, LMC DRESET, and early LMC initializations must
|
* All of DDR PLL, LMC CK, LMC DRESET, and early LMC initializations must
|
||||||
* be completed prior to starting this LMC write-leveling sequence.
|
* be completed prior to starting this LMC write-leveling sequence.
|
||||||
*
|
*
|
||||||
* There are many possible procedures that will write-level all the
|
* There are many possible procedures that will write-level all the
|
||||||
* attached DDR3 DRAM parts. One possibility is for software to simply
|
* attached DDR3 DRAM parts. One possibility is for software to simply
|
||||||
* write the desired values into LMC(0)_WLEVEL_RANK(0..3). This section
|
* write the desired values into LMC(0)_WLEVEL_RANK(0..3). This section
|
||||||
* describes one possible sequence that uses LMC's autowrite-leveling
|
* describes one possible sequence that uses LMC's autowrite-leveling
|
||||||
* capabilities.
|
* capabilities.
|
||||||
*
|
*
|
||||||
* 1. If the DQS/DQ delays on the board may be more than the ADD/CMD
|
* 1. If the DQS/DQ delays on the board may be more than the ADD/CMD
|
||||||
* delays, then ensure that LMC(0)_CONFIG[EARLY_DQX] is set at this
|
* delays, then ensure that LMC(0)_CONFIG[EARLY_DQX] is set at this
|
||||||
* point.
|
* point.
|
||||||
*
|
*
|
||||||
* Do the remaining steps 2-7 separately for each rank i with attached
|
* Do the remaining steps 2-7 separately for each rank i with attached
|
||||||
* DRAM.
|
* DRAM.
|
||||||
*
|
*
|
||||||
* 2. Write LMC(0)_WLEVEL_RANKi = 0.
|
* 2. Write LMC(0)_WLEVEL_RANKi = 0.
|
||||||
*
|
*
|
||||||
* 3. For ×8 parts:
|
* 3. For ×8 parts:
|
||||||
*
|
*
|
||||||
* Without changing any other fields in LMC(0)_WLEVEL_CTL, write
|
* Without changing any other fields in LMC(0)_WLEVEL_CTL, write
|
||||||
* LMC(0)_WLEVEL_CTL[LANEMASK] to select all byte lanes with attached
|
* LMC(0)_WLEVEL_CTL[LANEMASK] to select all byte lanes with attached
|
||||||
* DRAM.
|
* DRAM.
|
||||||
*
|
*
|
||||||
* For ×16 parts:
|
* For ×16 parts:
|
||||||
*
|
*
|
||||||
* Without changing any other fields in LMC(0)_WLEVEL_CTL, write
|
* Without changing any other fields in LMC(0)_WLEVEL_CTL, write
|
||||||
* LMC(0)_WLEVEL_CTL[LANEMASK] to select all even byte lanes with
|
* LMC(0)_WLEVEL_CTL[LANEMASK] to select all even byte lanes with
|
||||||
* attached DRAM.
|
* attached DRAM.
|
||||||
*
|
*
|
||||||
* 4. Without changing any other fields in LMC(0)_CONFIG,
|
* 4. Without changing any other fields in LMC(0)_CONFIG,
|
||||||
*
|
*
|
||||||
* o write LMC(0)_SEQ_CTL[SEQ_SEL] to select write-leveling
|
* o write LMC(0)_SEQ_CTL[SEQ_SEL] to select write-leveling
|
||||||
*
|
*
|
||||||
* o write LMC(0)_CONFIG[RANKMASK] = (1 << i)
|
* o write LMC(0)_CONFIG[RANKMASK] = (1 << i)
|
||||||
*
|
*
|
||||||
* o write LMC(0)_SEQ_CTL[INIT_START] = 1
|
* o write LMC(0)_SEQ_CTL[INIT_START] = 1
|
||||||
*
|
*
|
||||||
* LMC will initiate write-leveling at this point. Assuming
|
* LMC will initiate write-leveling at this point. Assuming
|
||||||
* LMC(0)_WLEVEL_CTL [SSET] = 0, LMC first enables write-leveling on
|
* LMC(0)_WLEVEL_CTL [SSET] = 0, LMC first enables write-leveling on
|
||||||
* the selected DRAM rank via a DDR3 MR1 write, then sequences through
|
* the selected DRAM rank via a DDR3 MR1 write, then sequences through
|
||||||
@ -5315,17 +5315,17 @@ int init_octeon3_ddr3_interface(bdk_node_t node,
|
|||||||
* LMC(0)_WLEVEL_RANKi[BYTE*<4:3>] = 0, increasing by 1/8 CK each
|
* LMC(0)_WLEVEL_RANKi[BYTE*<4:3>] = 0, increasing by 1/8 CK each
|
||||||
* setting, covering a total distance of one CK, then disables the
|
* setting, covering a total distance of one CK, then disables the
|
||||||
* write-leveling via another DDR3 MR1 write.
|
* write-leveling via another DDR3 MR1 write.
|
||||||
*
|
*
|
||||||
* After the sequence through 16 delay settings is complete:
|
* After the sequence through 16 delay settings is complete:
|
||||||
*
|
*
|
||||||
* o LMC sets LMC(0)_WLEVEL_RANKi[STATUS] = 3
|
* o LMC sets LMC(0)_WLEVEL_RANKi[STATUS] = 3
|
||||||
*
|
*
|
||||||
* o LMC sets LMC(0)_WLEVEL_RANKi[BYTE*<2:0>] (for all ranks selected
|
* o LMC sets LMC(0)_WLEVEL_RANKi[BYTE*<2:0>] (for all ranks selected
|
||||||
* by LMC(0)_WLEVEL_CTL[LANEMASK]) to indicate the first write
|
* by LMC(0)_WLEVEL_CTL[LANEMASK]) to indicate the first write
|
||||||
* leveling result of 1 that followed result of 0 during the
|
* leveling result of 1 that followed result of 0 during the
|
||||||
* sequence, except that the LMC always writes
|
* sequence, except that the LMC always writes
|
||||||
* LMC(0)_WLEVEL_RANKi[BYTE*<0>]=0.
|
* LMC(0)_WLEVEL_RANKi[BYTE*<0>]=0.
|
||||||
*
|
*
|
||||||
* o Software can read the eight write-leveling results from the first
|
* o Software can read the eight write-leveling results from the first
|
||||||
* pass through the delay settings by reading
|
* pass through the delay settings by reading
|
||||||
* LMC(0)_WLEVEL_DBG[BITMASK] (after writing
|
* LMC(0)_WLEVEL_DBG[BITMASK] (after writing
|
||||||
@ -5333,66 +5333,66 @@ int init_octeon3_ddr3_interface(bdk_node_t node,
|
|||||||
* results from the second pass through the eight delay
|
* results from the second pass through the eight delay
|
||||||
* settings. They should often be identical to the
|
* settings. They should often be identical to the
|
||||||
* LMC(0)_WLEVEL_DBG[BITMASK] results, though.)
|
* LMC(0)_WLEVEL_DBG[BITMASK] results, though.)
|
||||||
*
|
*
|
||||||
* 5. Wait until LMC(0)_WLEVEL_RANKi[STATUS] != 2.
|
* 5. Wait until LMC(0)_WLEVEL_RANKi[STATUS] != 2.
|
||||||
*
|
*
|
||||||
* LMC will have updated LMC(0)_WLEVEL_RANKi[BYTE*<2:0>] for all byte
|
* LMC will have updated LMC(0)_WLEVEL_RANKi[BYTE*<2:0>] for all byte
|
||||||
* lanes selected by LMC(0)_WLEVEL_CTL[LANEMASK] at this point.
|
* lanes selected by LMC(0)_WLEVEL_CTL[LANEMASK] at this point.
|
||||||
* LMC(0)_WLEVEL_RANKi[BYTE*<4:3>] will still be the value that
|
* LMC(0)_WLEVEL_RANKi[BYTE*<4:3>] will still be the value that
|
||||||
* software wrote in substep 2 above, which is 0.
|
* software wrote in substep 2 above, which is 0.
|
||||||
*
|
*
|
||||||
* 6. For ×16 parts:
|
* 6. For ×16 parts:
|
||||||
*
|
*
|
||||||
* Without changing any other fields in LMC(0)_WLEVEL_CTL, write
|
* Without changing any other fields in LMC(0)_WLEVEL_CTL, write
|
||||||
* LMC(0)_WLEVEL_CTL[LANEMASK] to select all odd byte lanes with
|
* LMC(0)_WLEVEL_CTL[LANEMASK] to select all odd byte lanes with
|
||||||
* attached DRAM.
|
* attached DRAM.
|
||||||
*
|
*
|
||||||
* Repeat substeps 4 and 5 with this new LMC(0)_WLEVEL_CTL[LANEMASK]
|
* Repeat substeps 4 and 5 with this new LMC(0)_WLEVEL_CTL[LANEMASK]
|
||||||
* setting. Skip to substep 7 if this has already been done.
|
* setting. Skip to substep 7 if this has already been done.
|
||||||
*
|
*
|
||||||
* For ×8 parts:
|
* For ×8 parts:
|
||||||
*
|
*
|
||||||
* Skip this substep. Go to substep 7.
|
* Skip this substep. Go to substep 7.
|
||||||
*
|
*
|
||||||
* 7. Calculate LMC(0)_WLEVEL_RANKi[BYTE*<4:3>] settings for all byte
|
* 7. Calculate LMC(0)_WLEVEL_RANKi[BYTE*<4:3>] settings for all byte
|
||||||
* lanes on all ranks with attached DRAM.
|
* lanes on all ranks with attached DRAM.
|
||||||
*
|
*
|
||||||
* At this point, all byte lanes on rank i with attached DRAM should
|
* At this point, all byte lanes on rank i with attached DRAM should
|
||||||
* have been write-leveled, and LMC(0)_WLEVEL_RANKi[BYTE*<2:0>] has
|
* have been write-leveled, and LMC(0)_WLEVEL_RANKi[BYTE*<2:0>] has
|
||||||
* the result for each byte lane.
|
* the result for each byte lane.
|
||||||
*
|
*
|
||||||
* But note that the DDR3 write-leveling sequence will only determine
|
* But note that the DDR3 write-leveling sequence will only determine
|
||||||
* the delay modulo the CK cycle time, and cannot determine how many
|
* the delay modulo the CK cycle time, and cannot determine how many
|
||||||
* additional CK cycles of delay are present. Software must calculate
|
* additional CK cycles of delay are present. Software must calculate
|
||||||
* the number of CK cycles, or equivalently, the
|
* the number of CK cycles, or equivalently, the
|
||||||
* LMC(0)_WLEVEL_RANKi[BYTE*<4:3>] settings.
|
* LMC(0)_WLEVEL_RANKi[BYTE*<4:3>] settings.
|
||||||
*
|
*
|
||||||
* This BYTE*<4:3> calculation is system/board specific.
|
* This BYTE*<4:3> calculation is system/board specific.
|
||||||
*
|
*
|
||||||
* Many techniques can be used to calculate write-leveling BYTE*<4:3> values,
|
* Many techniques can be used to calculate write-leveling BYTE*<4:3> values,
|
||||||
* including:
|
* including:
|
||||||
*
|
*
|
||||||
* o Known values for some byte lanes.
|
* o Known values for some byte lanes.
|
||||||
*
|
*
|
||||||
* o Relative values for some byte lanes relative to others.
|
* o Relative values for some byte lanes relative to others.
|
||||||
*
|
*
|
||||||
* For example, suppose lane X is likely to require a larger
|
* For example, suppose lane X is likely to require a larger
|
||||||
* write-leveling delay than lane Y. A BYTEX<2:0> value that is much
|
* write-leveling delay than lane Y. A BYTEX<2:0> value that is much
|
||||||
* smaller than the BYTEY<2:0> value may then indicate that the
|
* smaller than the BYTEY<2:0> value may then indicate that the
|
||||||
* required lane X delay wrapped into the next CK, so BYTEX<4:3>
|
* required lane X delay wrapped into the next CK, so BYTEX<4:3>
|
||||||
* should be set to BYTEY<4:3>+1.
|
* should be set to BYTEY<4:3>+1.
|
||||||
*
|
*
|
||||||
* When ECC DRAM is not present (i.e. when DRAM is not attached to the
|
* When ECC DRAM is not present (i.e. when DRAM is not attached to the
|
||||||
* DDR_CBS_0_* and DDR_CB<7:0> chip signals, or the DDR_DQS_<4>_* and
|
* DDR_CBS_0_* and DDR_CB<7:0> chip signals, or the DDR_DQS_<4>_* and
|
||||||
* DDR_DQ<35:32> chip signals), write LMC(0)_WLEVEL_RANK*[BYTE8] =
|
* DDR_DQ<35:32> chip signals), write LMC(0)_WLEVEL_RANK*[BYTE8] =
|
||||||
* LMC(0)_WLEVEL_RANK*[BYTE0], using the final calculated BYTE0 value.
|
* LMC(0)_WLEVEL_RANK*[BYTE0], using the final calculated BYTE0 value.
|
||||||
* Write LMC(0)_WLEVEL_RANK*[BYTE4] = LMC(0)_WLEVEL_RANK*[BYTE0],
|
* Write LMC(0)_WLEVEL_RANK*[BYTE4] = LMC(0)_WLEVEL_RANK*[BYTE0],
|
||||||
* using the final calculated BYTE0 value.
|
* using the final calculated BYTE0 value.
|
||||||
*
|
*
|
||||||
* 8. Initialize LMC(0)_WLEVEL_RANK* values for all unused ranks.
|
* 8. Initialize LMC(0)_WLEVEL_RANK* values for all unused ranks.
|
||||||
*
|
*
|
||||||
* Let rank i be a rank with attached DRAM.
|
* Let rank i be a rank with attached DRAM.
|
||||||
*
|
*
|
||||||
* For all ranks j that do not have attached DRAM, set
|
* For all ranks j that do not have attached DRAM, set
|
||||||
* LMC(0)_WLEVEL_RANKj = LMC(0)_WLEVEL_RANKi.
|
* LMC(0)_WLEVEL_RANKj = LMC(0)_WLEVEL_RANKi.
|
||||||
*/
|
*/
|
||||||
@ -5794,18 +5794,18 @@ int init_octeon3_ddr3_interface(bdk_node_t node,
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* 6.9.12 LMC Read Leveling
|
* 6.9.12 LMC Read Leveling
|
||||||
*
|
*
|
||||||
* LMC supports an automatic read-leveling separately per byte-lane using
|
* LMC supports an automatic read-leveling separately per byte-lane using
|
||||||
* the DDR3 multipurpose register predefined pattern for system
|
* the DDR3 multipurpose register predefined pattern for system
|
||||||
* calibration defined in the JEDEC DDR3 specifications.
|
* calibration defined in the JEDEC DDR3 specifications.
|
||||||
*
|
*
|
||||||
* All of DDR PLL, LMC CK, and LMC DRESET, and early LMC initializations
|
* All of DDR PLL, LMC CK, and LMC DRESET, and early LMC initializations
|
||||||
* must be completed prior to starting this LMC read-leveling sequence.
|
* must be completed prior to starting this LMC read-leveling sequence.
|
||||||
*
|
*
|
||||||
* Software could simply write the desired read-leveling values into
|
* Software could simply write the desired read-leveling values into
|
||||||
* LMC(0)_RLEVEL_RANK(0..3). This section describes a sequence that uses
|
* LMC(0)_RLEVEL_RANK(0..3). This section describes a sequence that uses
|
||||||
* LMC's autoread-leveling capabilities.
|
* LMC's autoread-leveling capabilities.
|
||||||
*
|
*
|
||||||
* When LMC does the read-leveling sequence for a rank, it first enables
|
* When LMC does the read-leveling sequence for a rank, it first enables
|
||||||
* the DDR3 multipurpose register predefined pattern for system
|
* the DDR3 multipurpose register predefined pattern for system
|
||||||
* calibration on the selected DRAM rank via a DDR3 MR3 write, then
|
* calibration on the selected DRAM rank via a DDR3 MR3 write, then
|
||||||
@ -5814,13 +5814,13 @@ int init_octeon3_ddr3_interface(bdk_node_t node,
|
|||||||
* operation. LMC determines the pass or fail of each of the 64 settings
|
* operation. LMC determines the pass or fail of each of the 64 settings
|
||||||
* independently for each byte lane, then writes appropriate
|
* independently for each byte lane, then writes appropriate
|
||||||
* LMC(0)_RLEVEL_RANK(0..3)[BYTE*] values for the rank.
|
* LMC(0)_RLEVEL_RANK(0..3)[BYTE*] values for the rank.
|
||||||
*
|
*
|
||||||
* After read-leveling for a rank, software can read the 64 pass/fail
|
* After read-leveling for a rank, software can read the 64 pass/fail
|
||||||
* indications for one byte lane via LMC(0)_RLEVEL_DBG[BITMASK]. Software
|
* indications for one byte lane via LMC(0)_RLEVEL_DBG[BITMASK]. Software
|
||||||
* can observe all pass/fail results for all byte lanes in a rank via
|
* can observe all pass/fail results for all byte lanes in a rank via
|
||||||
* separate read-leveling sequences on the rank with different
|
* separate read-leveling sequences on the rank with different
|
||||||
* LMC(0)_RLEVEL_CTL[BYTE] values.
|
* LMC(0)_RLEVEL_CTL[BYTE] values.
|
||||||
*
|
*
|
||||||
* The 64 pass/fail results will typically have failures for the low
|
* The 64 pass/fail results will typically have failures for the low
|
||||||
* delays, followed by a run of some passing settings, followed by more
|
* delays, followed by a run of some passing settings, followed by more
|
||||||
* failures in the remaining high delays. LMC sets
|
* failures in the remaining high delays. LMC sets
|
||||||
@ -5834,46 +5834,46 @@ int init_octeon3_ddr3_interface(bdk_node_t node,
|
|||||||
* the run (rounding earlier when necessary). We expect the read-leveling
|
* the run (rounding earlier when necessary). We expect the read-leveling
|
||||||
* sequence to produce good results with the reset values
|
* sequence to produce good results with the reset values
|
||||||
* LMC(0)_RLEVEL_CTL [OFFSET_EN]=1, LMC(0)_RLEVEL_CTL[OFFSET] = 2.
|
* LMC(0)_RLEVEL_CTL [OFFSET_EN]=1, LMC(0)_RLEVEL_CTL[OFFSET] = 2.
|
||||||
*
|
*
|
||||||
* The read-leveling sequence has the following steps:
|
* The read-leveling sequence has the following steps:
|
||||||
*
|
*
|
||||||
* 1. Select desired LMC(0)_RLEVEL_CTL[OFFSET_EN,OFFSET,BYTE] settings.
|
* 1. Select desired LMC(0)_RLEVEL_CTL[OFFSET_EN,OFFSET,BYTE] settings.
|
||||||
* Do the remaining substeps 2-4 separately for each rank i with
|
* Do the remaining substeps 2-4 separately for each rank i with
|
||||||
* attached DRAM.
|
* attached DRAM.
|
||||||
*
|
*
|
||||||
* 2. Without changing any other fields in LMC(0)_CONFIG,
|
* 2. Without changing any other fields in LMC(0)_CONFIG,
|
||||||
*
|
*
|
||||||
* o write LMC(0)_SEQ_CTL[SEQ_SEL] to select read-leveling
|
* o write LMC(0)_SEQ_CTL[SEQ_SEL] to select read-leveling
|
||||||
*
|
*
|
||||||
* o write LMC(0)_CONFIG[RANKMASK] = (1 << i)
|
* o write LMC(0)_CONFIG[RANKMASK] = (1 << i)
|
||||||
*
|
*
|
||||||
* o write LMC(0)_SEQ_CTL[INIT_START] = 1
|
* o write LMC(0)_SEQ_CTL[INIT_START] = 1
|
||||||
*
|
*
|
||||||
* This initiates the previously-described read-leveling.
|
* This initiates the previously-described read-leveling.
|
||||||
*
|
*
|
||||||
* 3. Wait until LMC(0)_RLEVEL_RANKi[STATUS] != 2
|
* 3. Wait until LMC(0)_RLEVEL_RANKi[STATUS] != 2
|
||||||
*
|
*
|
||||||
* LMC will have updated LMC(0)_RLEVEL_RANKi[BYTE*] for all byte lanes
|
* LMC will have updated LMC(0)_RLEVEL_RANKi[BYTE*] for all byte lanes
|
||||||
* at this point.
|
* at this point.
|
||||||
*
|
*
|
||||||
* If ECC DRAM is not present (i.e. when DRAM is not attached to the
|
* If ECC DRAM is not present (i.e. when DRAM is not attached to the
|
||||||
* DDR_CBS_0_* and DDR_CB<7:0> chip signals, or the DDR_DQS_<4>_* and
|
* DDR_CBS_0_* and DDR_CB<7:0> chip signals, or the DDR_DQS_<4>_* and
|
||||||
* DDR_DQ<35:32> chip signals), write LMC(0)_RLEVEL_RANK*[BYTE8] =
|
* DDR_DQ<35:32> chip signals), write LMC(0)_RLEVEL_RANK*[BYTE8] =
|
||||||
* LMC(0)_RLEVEL_RANK*[BYTE0]. Write LMC(0)_RLEVEL_RANK*[BYTE4] =
|
* LMC(0)_RLEVEL_RANK*[BYTE0]. Write LMC(0)_RLEVEL_RANK*[BYTE4] =
|
||||||
* LMC(0)_RLEVEL_RANK*[BYTE0].
|
* LMC(0)_RLEVEL_RANK*[BYTE0].
|
||||||
*
|
*
|
||||||
* 4. If desired, consult LMC(0)_RLEVEL_DBG[BITMASK] and compare to
|
* 4. If desired, consult LMC(0)_RLEVEL_DBG[BITMASK] and compare to
|
||||||
* LMC(0)_RLEVEL_RANKi[BYTE*] for the lane selected by
|
* LMC(0)_RLEVEL_RANKi[BYTE*] for the lane selected by
|
||||||
* LMC(0)_RLEVEL_CTL[BYTE]. If desired, modify LMC(0)_RLEVEL_CTL[BYTE]
|
* LMC(0)_RLEVEL_CTL[BYTE]. If desired, modify LMC(0)_RLEVEL_CTL[BYTE]
|
||||||
* to a new value and repeat so that all BITMASKs can be observed.
|
* to a new value and repeat so that all BITMASKs can be observed.
|
||||||
*
|
*
|
||||||
* 5. Initialize LMC(0)_RLEVEL_RANK* values for all unused ranks.
|
* 5. Initialize LMC(0)_RLEVEL_RANK* values for all unused ranks.
|
||||||
*
|
*
|
||||||
* Let rank i be a rank with attached DRAM.
|
* Let rank i be a rank with attached DRAM.
|
||||||
*
|
*
|
||||||
* For all ranks j that do not have attached DRAM, set
|
* For all ranks j that do not have attached DRAM, set
|
||||||
* LMC(0)_RLEVEL_RANKj = LMC(0)_RLEVEL_RANKi.
|
* LMC(0)_RLEVEL_RANKj = LMC(0)_RLEVEL_RANKi.
|
||||||
*
|
*
|
||||||
* This read-leveling sequence can help select the proper CN70XX ODT
|
* This read-leveling sequence can help select the proper CN70XX ODT
|
||||||
* resistance value (LMC(0)_COMP_CTL2[RODT_CTL]). A hardware-generated
|
* resistance value (LMC(0)_COMP_CTL2[RODT_CTL]). A hardware-generated
|
||||||
* LMC(0)_RLEVEL_RANKi[BYTEj] value (for a used byte lane j) that is
|
* LMC(0)_RLEVEL_RANKi[BYTEj] value (for a used byte lane j) that is
|
||||||
@ -6083,7 +6083,7 @@ int init_octeon3_ddr3_interface(bdk_node_t node,
|
|||||||
i = 0;
|
i = 0;
|
||||||
while (custom_lmc_config->rlevel_table[i].part != NULL) {
|
while (custom_lmc_config->rlevel_table[i].part != NULL) {
|
||||||
debug_print("DIMM part number:\"%s\", SPD: \"%s\"\n", custom_lmc_config->rlevel_table[i].part, part_number);
|
debug_print("DIMM part number:\"%s\", SPD: \"%s\"\n", custom_lmc_config->rlevel_table[i].part, part_number);
|
||||||
if ((strcmp(part_number, custom_lmc_config->rlevel_table[i].part) == 0)
|
if ((strcmp(part_number, custom_lmc_config->rlevel_table[i].part) == 0)
|
||||||
&& (_abs(custom_lmc_config->rlevel_table[i].speed - 2*ddr_hertz/(1000*1000)) < 10 ))
|
&& (_abs(custom_lmc_config->rlevel_table[i].speed - 2*ddr_hertz/(1000*1000)) < 10 ))
|
||||||
{
|
{
|
||||||
ddr_print("Using hard-coded read leveling for DIMM part number: \"%s\"\n", part_number);
|
ddr_print("Using hard-coded read leveling for DIMM part number: \"%s\"\n", part_number);
|
||||||
@ -6290,7 +6290,7 @@ int init_octeon3_ddr3_interface(bdk_node_t node,
|
|||||||
rlevel_bitmask[7].bm = octeon_read_lmcx_ddr3_rlevel_dbg(node, ddr_interface_num, 7);
|
rlevel_bitmask[7].bm = octeon_read_lmcx_ddr3_rlevel_dbg(node, ddr_interface_num, 7);
|
||||||
/* B-side complete */
|
/* B-side complete */
|
||||||
|
|
||||||
|
|
||||||
update_rlevel_rank_struct(&lmc_rlevel_rank, 0, lmc_rlevel_rank_aside.cn83xx.byte0);
|
update_rlevel_rank_struct(&lmc_rlevel_rank, 0, lmc_rlevel_rank_aside.cn83xx.byte0);
|
||||||
update_rlevel_rank_struct(&lmc_rlevel_rank, 1, lmc_rlevel_rank_aside.cn83xx.byte1);
|
update_rlevel_rank_struct(&lmc_rlevel_rank, 1, lmc_rlevel_rank_aside.cn83xx.byte1);
|
||||||
update_rlevel_rank_struct(&lmc_rlevel_rank, 2, lmc_rlevel_rank_aside.cn83xx.byte2);
|
update_rlevel_rank_struct(&lmc_rlevel_rank, 2, lmc_rlevel_rank_aside.cn83xx.byte2);
|
||||||
@ -6390,7 +6390,7 @@ int init_octeon3_ddr3_interface(bdk_node_t node,
|
|||||||
#else
|
#else
|
||||||
rlevel_rank_errors = rlevel_bitmask_errors + rlevel_nonseq_errors;
|
rlevel_rank_errors = rlevel_bitmask_errors + rlevel_nonseq_errors;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// print original sample here only if we are not really averaging or picking best
|
// print original sample here only if we are not really averaging or picking best
|
||||||
// also do not print if we were redoing the NONSEQ score for using COMPUTED
|
// also do not print if we were redoing the NONSEQ score for using COMPUTED
|
||||||
if (!redoing_nonseq_errs && ((rlevel_avg_loops < 2) || dram_is_verbose(VBL_DEV2))) {
|
if (!redoing_nonseq_errs && ((rlevel_avg_loops < 2) || dram_is_verbose(VBL_DEV2))) {
|
||||||
@ -6833,7 +6833,7 @@ int init_octeon3_ddr3_interface(bdk_node_t node,
|
|||||||
best_rank_ohms = next_ohms;
|
best_rank_ohms = next_ohms;
|
||||||
best_rankx = orankx;
|
best_rankx = orankx;
|
||||||
lmc_rlevel_rank.u = rlevel_scoreboard[rtt_nom][rodt_ctl][orankx].setting;
|
lmc_rlevel_rank.u = rlevel_scoreboard[rtt_nom][rodt_ctl][orankx].setting;
|
||||||
|
|
||||||
} /* for (int orankx = 0; orankx < dimm_count * 4; orankx++) */
|
} /* for (int orankx = 0; orankx < dimm_count * 4; orankx++) */
|
||||||
} /* for (rodt_ctl = max_rodt_ctl; rodt_ctl >= min_rodt_ctl; --rodt_ctl) */
|
} /* for (rodt_ctl = max_rodt_ctl; rodt_ctl >= min_rodt_ctl; --rodt_ctl) */
|
||||||
} /* for (rtt_idx = min_rtt_nom_idx; rtt_idx <= max_rtt_nom_idx; ++rtt_idx) */
|
} /* for (rtt_idx = min_rtt_nom_idx; rtt_idx <= max_rtt_nom_idx; ++rtt_idx) */
|
||||||
@ -7233,7 +7233,7 @@ int init_octeon3_ddr3_interface(bdk_node_t node,
|
|||||||
if (delay_value >= 0) {
|
if (delay_value >= 0) {
|
||||||
if (ties != 0) {
|
if (ties != 0) {
|
||||||
if (ties & (1UL << (int)new_byte)) {
|
if (ties & (1UL << (int)new_byte)) {
|
||||||
// leave choice as new_byte if any tied one is the same...
|
// leave choice as new_byte if any tied one is the same...
|
||||||
|
|
||||||
|
|
||||||
delay_value = (int)new_byte;
|
delay_value = (int)new_byte;
|
||||||
@ -7251,7 +7251,7 @@ int init_octeon3_ddr3_interface(bdk_node_t node,
|
|||||||
if (delay_value != (int)new_byte) {
|
if (delay_value != (int)new_byte) {
|
||||||
delay_count = rank_perfect_counts[rankx].count[byte_idx][(int)new_byte];
|
delay_count = rank_perfect_counts[rankx].count[byte_idx][(int)new_byte];
|
||||||
VB_PRT(VBL_DEV, "N%d.LMC%d.R%d: PERFECT: Byte %d: DIFF from %d (%d), USING %d (%d)\n",
|
VB_PRT(VBL_DEV, "N%d.LMC%d.R%d: PERFECT: Byte %d: DIFF from %d (%d), USING %d (%d)\n",
|
||||||
node, ddr_interface_num, rankx, byte_idx, (int)new_byte,
|
node, ddr_interface_num, rankx, byte_idx, (int)new_byte,
|
||||||
delay_count, delay_value, delay_max);
|
delay_count, delay_value, delay_max);
|
||||||
new_byte = (uint64_t)delay_value; // FIXME: make this optional via envvar?
|
new_byte = (uint64_t)delay_value; // FIXME: make this optional via envvar?
|
||||||
} else {
|
} else {
|
||||||
@ -7522,7 +7522,7 @@ int init_octeon3_ddr3_interface(bdk_node_t node,
|
|||||||
|
|
||||||
/* Get the measured_vref setting from the config, check for an override... */
|
/* Get the measured_vref setting from the config, check for an override... */
|
||||||
/* NOTE: measured_vref=1 (ON) means force use of MEASURED Vref... */
|
/* NOTE: measured_vref=1 (ON) means force use of MEASURED Vref... */
|
||||||
// NOTE: measured VREF can only be done for DDR4
|
// NOTE: measured VREF can only be done for DDR4
|
||||||
if (ddr_type == DDR4_DRAM) {
|
if (ddr_type == DDR4_DRAM) {
|
||||||
measured_vref_flag = custom_lmc_config->measured_vref;
|
measured_vref_flag = custom_lmc_config->measured_vref;
|
||||||
if ((s = lookup_env_parameter("ddr_measured_vref")) != NULL) {
|
if ((s = lookup_env_parameter("ddr_measured_vref")) != NULL) {
|
||||||
@ -7650,7 +7650,7 @@ int init_octeon3_ddr3_interface(bdk_node_t node,
|
|||||||
} else {
|
} else {
|
||||||
vrlo = 1; vvlo -= VREF_RANGE2_LIMIT;
|
vrlo = 1; vvlo -= VREF_RANGE2_LIMIT;
|
||||||
}
|
}
|
||||||
|
|
||||||
int vvhi = best_vref_values_start + best_vref_values_count - 1;
|
int vvhi = best_vref_values_start + best_vref_values_count - 1;
|
||||||
int vrhi;
|
int vrhi;
|
||||||
if (vvhi < VREF_RANGE2_LIMIT) {
|
if (vvhi < VREF_RANGE2_LIMIT) {
|
||||||
@ -7678,7 +7678,7 @@ int init_octeon3_ddr3_interface(bdk_node_t node,
|
|||||||
ddr_print("N%d.LMC%d.R%d: Vref Using Default :"
|
ddr_print("N%d.LMC%d.R%d: Vref Using Default :"
|
||||||
" %2d <----- %2d (0x%02x) -----> %2d, range%1d\n",
|
" %2d <----- %2d (0x%02x) -----> %2d, range%1d\n",
|
||||||
node, ddr_interface_num, rankx,
|
node, ddr_interface_num, rankx,
|
||||||
final_vref_value, final_vref_value,
|
final_vref_value, final_vref_value,
|
||||||
final_vref_value, final_vref_value, final_vref_range+1);
|
final_vref_value, final_vref_value, final_vref_range+1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -7890,7 +7890,7 @@ int init_octeon3_ddr3_interface(bdk_node_t node,
|
|||||||
if (!measured_vref_flag) {
|
if (!measured_vref_flag) {
|
||||||
test_byte8 &= ~1; /* Use only even settings, rounding down... */
|
test_byte8 &= ~1; /* Use only even settings, rounding down... */
|
||||||
|
|
||||||
// do validity check on the calculated ECC delay value
|
// do validity check on the calculated ECC delay value
|
||||||
// this depends on the DIMM type
|
// this depends on the DIMM type
|
||||||
if (spd_rdimm) { // RDIMM
|
if (spd_rdimm) { // RDIMM
|
||||||
if (spd_dimm_type != 5) { // but not mini-RDIMM
|
if (spd_dimm_type != 5) { // but not mini-RDIMM
|
||||||
@ -8155,7 +8155,7 @@ int init_octeon3_ddr3_interface(bdk_node_t node,
|
|||||||
|
|
||||||
// do the test
|
// do the test
|
||||||
if (sw_wlevel_hw) {
|
if (sw_wlevel_hw) {
|
||||||
errors = run_best_hw_patterns(node, ddr_interface_num, rank_addr,
|
errors = run_best_hw_patterns(node, ddr_interface_num, rank_addr,
|
||||||
DBTRAIN_TEST, NULL) & 0x0ff;
|
DBTRAIN_TEST, NULL) & 0x0ff;
|
||||||
} else {
|
} else {
|
||||||
#if USE_ORIG_TEST_DRAM_BYTE
|
#if USE_ORIG_TEST_DRAM_BYTE
|
||||||
@ -8323,7 +8323,7 @@ int init_octeon3_ddr3_interface(bdk_node_t node,
|
|||||||
|
|
||||||
process_custom_dll_offsets(node, ddr_interface_num, "ddr_dll_write_offset",
|
process_custom_dll_offsets(node, ddr_interface_num, "ddr_dll_write_offset",
|
||||||
custom_lmc_config->dll_write_offset, "ddr%d_dll_write_offset_byte%d", 1);
|
custom_lmc_config->dll_write_offset, "ddr%d_dll_write_offset_byte%d", 1);
|
||||||
process_custom_dll_offsets(node, ddr_interface_num, "ddr_dll_read_offset",
|
process_custom_dll_offsets(node, ddr_interface_num, "ddr_dll_read_offset",
|
||||||
custom_lmc_config->dll_read_offset, "ddr%d_dll_read_offset_byte%d", 2);
|
custom_lmc_config->dll_read_offset, "ddr%d_dll_read_offset_byte%d", 2);
|
||||||
|
|
||||||
// we want to train write bit-deskew here...
|
// we want to train write bit-deskew here...
|
||||||
@ -8337,29 +8337,29 @@ int init_octeon3_ddr3_interface(bdk_node_t node,
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* 6.9.14 Final LMC Initialization
|
* 6.9.14 Final LMC Initialization
|
||||||
*
|
*
|
||||||
* Early LMC initialization, LMC write-leveling, and LMC read-leveling
|
* Early LMC initialization, LMC write-leveling, and LMC read-leveling
|
||||||
* must be completed prior to starting this final LMC initialization.
|
* must be completed prior to starting this final LMC initialization.
|
||||||
*
|
*
|
||||||
* LMC hardware updates the LMC(0)_SLOT_CTL0, LMC(0)_SLOT_CTL1,
|
* LMC hardware updates the LMC(0)_SLOT_CTL0, LMC(0)_SLOT_CTL1,
|
||||||
* LMC(0)_SLOT_CTL2 CSRs with minimum values based on the selected
|
* LMC(0)_SLOT_CTL2 CSRs with minimum values based on the selected
|
||||||
* readleveling and write-leveling settings. Software should not write
|
* readleveling and write-leveling settings. Software should not write
|
||||||
* the final LMC(0)_SLOT_CTL0, LMC(0)_SLOT_CTL1, and LMC(0)_SLOT_CTL2
|
* the final LMC(0)_SLOT_CTL0, LMC(0)_SLOT_CTL1, and LMC(0)_SLOT_CTL2
|
||||||
* values until after the final read-leveling and write-leveling settings
|
* values until after the final read-leveling and write-leveling settings
|
||||||
* are written.
|
* are written.
|
||||||
*
|
*
|
||||||
* Software must ensure the LMC(0)_SLOT_CTL0, LMC(0)_SLOT_CTL1, and
|
* Software must ensure the LMC(0)_SLOT_CTL0, LMC(0)_SLOT_CTL1, and
|
||||||
* LMC(0)_SLOT_CTL2 CSR values are appropriate for this step. These CSRs
|
* LMC(0)_SLOT_CTL2 CSR values are appropriate for this step. These CSRs
|
||||||
* select the minimum gaps between read operations and write operations
|
* select the minimum gaps between read operations and write operations
|
||||||
* of various types.
|
* of various types.
|
||||||
*
|
*
|
||||||
* Software must not reduce the values in these CSR fields below the
|
* Software must not reduce the values in these CSR fields below the
|
||||||
* values previously selected by the LMC hardware (during write-leveling
|
* values previously selected by the LMC hardware (during write-leveling
|
||||||
* and read-leveling steps above).
|
* and read-leveling steps above).
|
||||||
*
|
*
|
||||||
* All sections in this chapter may be used to derive proper settings for
|
* All sections in this chapter may be used to derive proper settings for
|
||||||
* these registers.
|
* these registers.
|
||||||
*
|
*
|
||||||
* For minimal read latency, L2C_CTL[EF_ENA,EF_CNT] should be programmed
|
* For minimal read latency, L2C_CTL[EF_ENA,EF_CNT] should be programmed
|
||||||
* properly. This should be done prior to the first read.
|
* properly. This should be done prior to the first read.
|
||||||
*/
|
*/
|
||||||
|
@ -72,7 +72,7 @@
|
|||||||
// 1. looking for the best sample score
|
// 1. looking for the best sample score
|
||||||
// 2. averaging the samples into a composite score
|
// 2. averaging the samples into a composite score
|
||||||
// symbol PICK_BEST_RANK_SCORE_NOT_AVG is used to choose
|
// symbol PICK_BEST_RANK_SCORE_NOT_AVG is used to choose
|
||||||
// (see dram-init-ddr3.c:
|
// (see dram-init-ddr3.c:
|
||||||
#define RLEVEL_AVG_LOOPS_DEFAULT 3
|
#define RLEVEL_AVG_LOOPS_DEFAULT 3
|
||||||
#define PICK_BEST_RANK_SCORE_NOT_AVG 1
|
#define PICK_BEST_RANK_SCORE_NOT_AVG 1
|
||||||
|
|
||||||
@ -125,7 +125,7 @@ extern int dram_tuning_mem_xor(bdk_node_t node, int ddr_interface_num, uint64_t
|
|||||||
|
|
||||||
// "mode" arg
|
// "mode" arg
|
||||||
#define DBTRAIN_TEST 0
|
#define DBTRAIN_TEST 0
|
||||||
#define DBTRAIN_DBI 1
|
#define DBTRAIN_DBI 1
|
||||||
#define DBTRAIN_LFSR 2
|
#define DBTRAIN_LFSR 2
|
||||||
extern int test_dram_byte_hw(bdk_node_t node, int ddr_interface_num,
|
extern int test_dram_byte_hw(bdk_node_t node, int ddr_interface_num,
|
||||||
uint64_t p, int mode, uint64_t *xor_data);
|
uint64_t p, int mode, uint64_t *xor_data);
|
||||||
|
@ -155,7 +155,7 @@ int read_spd(bdk_node_t node, const dimm_config_t *dimm_config, int spd_field)
|
|||||||
if (bank) {
|
if (bank) {
|
||||||
bdk_twsix_write_ia(node, bus, 0x36 | 0, 0, 2, 1, 0);
|
bdk_twsix_write_ia(node, bus, 0x36 | 0, 0, 2, 1, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -46,7 +46,7 @@
|
|||||||
#include <libbdk-hal/bdk-rng.h>
|
#include <libbdk-hal/bdk-rng.h>
|
||||||
#include <libbdk-os/bdk-init.h>
|
#include <libbdk-os/bdk-init.h>
|
||||||
|
|
||||||
// if enhanced verbosity levels are defined, use them
|
// if enhanced verbosity levels are defined, use them
|
||||||
#if defined(VB_PRT)
|
#if defined(VB_PRT)
|
||||||
#define ddr_print2(format, ...) VB_PRT(VBL_FAE, format, ##__VA_ARGS__)
|
#define ddr_print2(format, ...) VB_PRT(VBL_FAE, format, ##__VA_ARGS__)
|
||||||
#define ddr_print3(format, ...) VB_PRT(VBL_TME, format, ##__VA_ARGS__)
|
#define ddr_print3(format, ...) VB_PRT(VBL_TME, format, ##__VA_ARGS__)
|
||||||
@ -149,7 +149,7 @@ static const uint64_t *dram_tune_test_pattern = test_pattern_1;
|
|||||||
|
|
||||||
// set this to 1 to shorten the testing to exit when all byte lanes have errors
|
// set this to 1 to shorten the testing to exit when all byte lanes have errors
|
||||||
// having this at 0 forces the testing to take place over the entire range every iteration,
|
// having this at 0 forces the testing to take place over the entire range every iteration,
|
||||||
// hopefully ensuring an even load on the memory subsystem
|
// hopefully ensuring an even load on the memory subsystem
|
||||||
#define EXIT_WHEN_ALL_LANES_HAVE_ERRORS 0
|
#define EXIT_WHEN_ALL_LANES_HAVE_ERRORS 0
|
||||||
|
|
||||||
#define DEFAULT_TEST_BURSTS 5 // FIXME: this is what works so far...// FIXME: was 7
|
#define DEFAULT_TEST_BURSTS 5 // FIXME: this is what works so far...// FIXME: was 7
|
||||||
@ -198,7 +198,7 @@ get_speed_bin(bdk_node_t node, int lmc)
|
|||||||
ret = 1;
|
ret = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
debug_print("N%d.LMC%d: %s: returning bin %d for MTS %d\n",
|
debug_print("N%d.LMC%d: %s: returning bin %d for MTS %d\n",
|
||||||
node, lmc, __FUNCTION__, ret, mts_speed);
|
node, lmc, __FUNCTION__, ret, mts_speed);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@ -260,13 +260,13 @@ int dram_tuning_mem_xor(bdk_node_t node, int lmc, uint64_t p, uint64_t bitmask,
|
|||||||
#define I_INC (1ULL << 3)
|
#define I_INC (1ULL << 3)
|
||||||
#define I_MAX (1ULL << 7)
|
#define I_MAX (1ULL << 7)
|
||||||
|
|
||||||
debug_print("N%d.LMC%d: dram_tuning_mem_xor: phys_addr=0x%lx\n",
|
debug_print("N%d.LMC%d: dram_tuning_mem_xor: phys_addr=0x%lx\n",
|
||||||
node, lmc, p);
|
node, lmc, p);
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
int ix;
|
int ix;
|
||||||
// add this loop to fill memory with the test pattern first
|
// add this loop to fill memory with the test pattern first
|
||||||
// loops are ordered so that only entire cachelines are written
|
// loops are ordered so that only entire cachelines are written
|
||||||
for (ii = 0; ii < II_MAX; ii += II_INC) { // FIXME? extend the range of memory tested!!
|
for (ii = 0; ii < II_MAX; ii += II_INC) { // FIXME? extend the range of memory tested!!
|
||||||
for (k = 0; k < K_MAX; k += K_INC) {
|
for (k = 0; k < K_MAX; k += K_INC) {
|
||||||
for (j = 0; j < J_MAX; j += J_INC) {
|
for (j = 0; j < J_MAX; j += J_INC) {
|
||||||
@ -329,7 +329,7 @@ int dram_tuning_mem_xor(bdk_node_t node, int lmc, uint64_t p, uint64_t bitmask,
|
|||||||
|
|
||||||
BDK_DCACHE_INVALIDATE;
|
BDK_DCACHE_INVALIDATE;
|
||||||
|
|
||||||
debug_print("N%d.LMC%d: dram_tuning_mem_xor: done INIT loop\n",
|
debug_print("N%d.LMC%d: dram_tuning_mem_xor: done INIT loop\n",
|
||||||
node, lmc);
|
node, lmc);
|
||||||
|
|
||||||
/* Make a series of passes over the memory areas. */
|
/* Make a series of passes over the memory areas. */
|
||||||
@ -384,7 +384,7 @@ int dram_tuning_mem_xor(bdk_node_t node, int lmc, uint64_t p, uint64_t bitmask,
|
|||||||
|
|
||||||
BDK_DCACHE_INVALIDATE;
|
BDK_DCACHE_INVALIDATE;
|
||||||
|
|
||||||
debug_print("N%d.LMC%d: dram_tuning_mem_xor: done MODIFY loop\n",
|
debug_print("N%d.LMC%d: dram_tuning_mem_xor: done MODIFY loop\n",
|
||||||
node, lmc);
|
node, lmc);
|
||||||
|
|
||||||
#if ENABLE_PREFETCH
|
#if ENABLE_PREFETCH
|
||||||
@ -460,7 +460,7 @@ int dram_tuning_mem_xor(bdk_node_t node, int lmc, uint64_t p, uint64_t bitmask,
|
|||||||
}
|
}
|
||||||
} /* for (ii = 0; ii < (1ULL << 31); ii += (1ULL << 29)) */
|
} /* for (ii = 0; ii < (1ULL << 31); ii += (1ULL << 29)) */
|
||||||
|
|
||||||
debug_print("N%d.LMC%d: dram_tuning_mem_xor: done TEST loop\n",
|
debug_print("N%d.LMC%d: dram_tuning_mem_xor: done TEST loop\n",
|
||||||
node, lmc);
|
node, lmc);
|
||||||
|
|
||||||
} /* for (int burst = 0; burst < dram_tune_use_bursts; burst++) */
|
} /* for (int burst = 0; burst < dram_tune_use_bursts; burst++) */
|
||||||
@ -534,7 +534,7 @@ run_dram_tuning_threads(bdk_node_t node, int num_lmcs, uint64_t bytemask)
|
|||||||
/* Wait for threads to finish, with progress */
|
/* Wait for threads to finish, with progress */
|
||||||
int cur_count;
|
int cur_count;
|
||||||
uint64_t cur_time;
|
uint64_t cur_time;
|
||||||
uint64_t period = bdk_clock_get_rate(bdk_numa_local(), BDK_CLOCK_TIME) * TIMEOUT_SECS; // FIXME?
|
uint64_t period = bdk_clock_get_rate(bdk_numa_local(), BDK_CLOCK_TIME) * TIMEOUT_SECS; // FIXME?
|
||||||
uint64_t timeout = bdk_clock_get_count(BDK_CLOCK_TIME) + period;
|
uint64_t timeout = bdk_clock_get_count(BDK_CLOCK_TIME) + period;
|
||||||
do {
|
do {
|
||||||
// bdk_thread_yield(); /* FIXME(dhendrix): don't yield... */
|
// bdk_thread_yield(); /* FIXME(dhendrix): don't yield... */
|
||||||
@ -854,7 +854,7 @@ auto_set_dll_offset(bdk_node_t node, int dll_offset_mode,
|
|||||||
} /* for (lmc = 0; lmc < num_lmcs; lmc++) */
|
} /* for (lmc = 0; lmc < num_lmcs; lmc++) */
|
||||||
|
|
||||||
// FIXME: only when verbose, or only when there are errors?
|
// FIXME: only when verbose, or only when there are errors?
|
||||||
// run the test one last time
|
// run the test one last time
|
||||||
// print whether there are errors or not, but only when verbose...
|
// print whether there are errors or not, but only when verbose...
|
||||||
bdk_watchdog_poke();
|
bdk_watchdog_poke();
|
||||||
debug_print("N%d: %s: Start running test one last time\n", node, __FUNCTION__);
|
debug_print("N%d: %s: Start running test one last time\n", node, __FUNCTION__);
|
||||||
@ -912,7 +912,7 @@ int perform_dll_offset_tuning(bdk_node_t node, int dll_offset_mode, int do_tune)
|
|||||||
loops = strtoul(s, NULL, 0);
|
loops = strtoul(s, NULL, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// see if we want to change the granularity of the byte_offset sampling
|
// see if we want to change the granularity of the byte_offset sampling
|
||||||
if ((s = getenv("ddr_tune_use_gran"))) {
|
if ((s = getenv("ddr_tune_use_gran"))) {
|
||||||
dram_tune_use_gran = strtoul(s, NULL, 0);
|
dram_tune_use_gran = strtoul(s, NULL, 0);
|
||||||
}
|
}
|
||||||
@ -1018,7 +1018,7 @@ int perform_dll_offset_tuning(bdk_node_t node, int dll_offset_mode, int do_tune)
|
|||||||
limit_l2_ways(node, ways, ways_print);
|
limit_l2_ways(node, ways, ways_print);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// perform cleanup on all active LMCs
|
// perform cleanup on all active LMCs
|
||||||
debug_print("N%d: %s: starting LMCs cleanup.\n", node, __FUNCTION__);
|
debug_print("N%d: %s: starting LMCs cleanup.\n", node, __FUNCTION__);
|
||||||
for (lmc = 0; lmc < num_lmcs; lmc++) {
|
for (lmc = 0; lmc < num_lmcs; lmc++) {
|
||||||
|
|
||||||
@ -1420,7 +1420,7 @@ hw_assist_test_dll_offset(bdk_node_t node, int dll_offset_mode,
|
|||||||
ddr_print("%5d ", new_best_offset[byte]);
|
ddr_print("%5d ", new_best_offset[byte]);
|
||||||
else
|
else
|
||||||
ddr_print("(byte %d) %5d ", byte, new_best_offset[byte]);
|
ddr_print("(byte %d) %5d ", byte, new_best_offset[byte]);
|
||||||
|
|
||||||
|
|
||||||
#if 1
|
#if 1
|
||||||
// done with testing, load up the best offsets we found...
|
// done with testing, load up the best offsets we found...
|
||||||
@ -1433,7 +1433,7 @@ hw_assist_test_dll_offset(bdk_node_t node, int dll_offset_mode,
|
|||||||
ddr_print("\n");
|
ddr_print("\n");
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
// run the test one last time
|
// run the test one last time
|
||||||
// print whether there are errors or not, but only when verbose...
|
// print whether there are errors or not, but only when verbose...
|
||||||
tot_errors = run_test_dram_byte_threads(node, num_lmcs, bytemask);
|
tot_errors = run_test_dram_byte_threads(node, num_lmcs, bytemask);
|
||||||
printf("N%d.LMC%d: Bytelane %d DLL %s Offset Final Test: errors 0x%x\n",
|
printf("N%d.LMC%d: Bytelane %d DLL %s Offset Final Test: errors 0x%x\n",
|
||||||
|
@ -460,7 +460,7 @@ int test_dram_byte_hw(bdk_node_t node, int ddr_interface_num,
|
|||||||
|
|
||||||
// FIXME: K iterations set to 4 for now.
|
// FIXME: K iterations set to 4 for now.
|
||||||
// FIXME: decrement to increase interations.
|
// FIXME: decrement to increase interations.
|
||||||
// FIXME: must be no less than 22 to stay above an LMC hash field.
|
// FIXME: must be no less than 22 to stay above an LMC hash field.
|
||||||
int kshift = 26;
|
int kshift = 26;
|
||||||
const char *s;
|
const char *s;
|
||||||
|
|
||||||
@ -560,8 +560,8 @@ int test_dram_byte_hw(bdk_node_t node, int ddr_interface_num,
|
|||||||
dbtrain_ctl.s.column_a = col;
|
dbtrain_ctl.s.column_a = col;
|
||||||
dbtrain_ctl.s.row_a = row;
|
dbtrain_ctl.s.row_a = row;
|
||||||
dbtrain_ctl.s.bg = (bank >> 2) & 3;
|
dbtrain_ctl.s.bg = (bank >> 2) & 3;
|
||||||
dbtrain_ctl.s.prank = (dimm * 2) + prank; // FIXME?
|
dbtrain_ctl.s.prank = (dimm * 2) + prank; // FIXME?
|
||||||
dbtrain_ctl.s.lrank = lrank; // FIXME?
|
dbtrain_ctl.s.lrank = lrank; // FIXME?
|
||||||
dbtrain_ctl.s.activate = (mode == DBTRAIN_DBI);
|
dbtrain_ctl.s.activate = (mode == DBTRAIN_DBI);
|
||||||
dbtrain_ctl.s.write_ena = 1;
|
dbtrain_ctl.s.write_ena = 1;
|
||||||
dbtrain_ctl.s.read_cmd_count = 31; // max count pass 1.x
|
dbtrain_ctl.s.read_cmd_count = 31; // max count pass 1.x
|
||||||
@ -892,7 +892,7 @@ int initialize_ddr_clock(bdk_node_t node,
|
|||||||
*
|
*
|
||||||
* 13. DRAM Vref Training for DDR4
|
* 13. DRAM Vref Training for DDR4
|
||||||
*
|
*
|
||||||
* 14. Final LMC initialization
|
* 14. Final LMC initialization
|
||||||
*
|
*
|
||||||
* CN88XX supports two modes:
|
* CN88XX supports two modes:
|
||||||
*
|
*
|
||||||
@ -1014,7 +1014,7 @@ int initialize_ddr_clock(bdk_node_t node,
|
|||||||
ddr_print("LMC0: override DDR_PLL_CTL[dclk_invert] to %d\n",
|
ddr_print("LMC0: override DDR_PLL_CTL[dclk_invert] to %d\n",
|
||||||
ddr_pll_ctl.cn83xx.dclk_invert);
|
ddr_pll_ctl.cn83xx.dclk_invert);
|
||||||
}
|
}
|
||||||
|
|
||||||
// always write LMC0 CSR, it must be active
|
// always write LMC0 CSR, it must be active
|
||||||
DRAM_CSR_WRITE(node, BDK_LMCX_DDR_PLL_CTL(0), ddr_pll_ctl.u);
|
DRAM_CSR_WRITE(node, BDK_LMCX_DDR_PLL_CTL(0), ddr_pll_ctl.u);
|
||||||
ddr_print("%-45s : 0x%016llx\n", "LMC0: DDR_PLL_CTL", ddr_pll_ctl.u);
|
ddr_print("%-45s : 0x%016llx\n", "LMC0: DDR_PLL_CTL", ddr_pll_ctl.u);
|
||||||
@ -1719,8 +1719,8 @@ static void dbi_switchover_interface(int node, int lmc)
|
|||||||
read_DAC_DBI_settings(node, lmc, /*DBI*/0, dbi_settings);
|
read_DAC_DBI_settings(node, lmc, /*DBI*/0, dbi_settings);
|
||||||
|
|
||||||
display_DAC_DBI_settings(node, lmc, /* DBI */0, ecc_ena, dbi_settings, " INIT");
|
display_DAC_DBI_settings(node, lmc, /* DBI */0, ecc_ena, dbi_settings, " INIT");
|
||||||
|
|
||||||
/* 2. set DBI related CSRs as below and issue MR write.
|
/* 2. set DBI related CSRs as below and issue MR write.
|
||||||
MODEREG_PARAMS3.WR_DBI=1
|
MODEREG_PARAMS3.WR_DBI=1
|
||||||
MODEREG_PARAMS3.RD_DBI=1
|
MODEREG_PARAMS3.RD_DBI=1
|
||||||
PHY_CTL.DBI_MODE_ENA=1
|
PHY_CTL.DBI_MODE_ENA=1
|
||||||
@ -1738,7 +1738,7 @@ static void dbi_switchover_interface(int node, int lmc)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
there are two options for data to send. Lets start with (1) and could move to (2) in the future:
|
there are two options for data to send. Lets start with (1) and could move to (2) in the future:
|
||||||
|
|
||||||
1) DBTRAIN_CTL[LFSR_PATTERN_SEL] = 0 (or for older chips where this does not exist)
|
1) DBTRAIN_CTL[LFSR_PATTERN_SEL] = 0 (or for older chips where this does not exist)
|
||||||
set data directly in these reigsters. this will yield a clk/2 pattern:
|
set data directly in these reigsters. this will yield a clk/2 pattern:
|
||||||
GENERAL_PURPOSE0.DATA == 64'h00ff00ff00ff00ff;
|
GENERAL_PURPOSE0.DATA == 64'h00ff00ff00ff00ff;
|
||||||
@ -1756,10 +1756,10 @@ static void dbi_switchover_interface(int node, int lmc)
|
|||||||
DRAM_CSR_WRITE(node, BDK_LMCX_GENERAL_PURPOSE1(lmc), dbi_pattern[1]);
|
DRAM_CSR_WRITE(node, BDK_LMCX_GENERAL_PURPOSE1(lmc), dbi_pattern[1]);
|
||||||
DRAM_CSR_WRITE(node, BDK_LMCX_GENERAL_PURPOSE2(lmc), dbi_pattern[2]);
|
DRAM_CSR_WRITE(node, BDK_LMCX_GENERAL_PURPOSE2(lmc), dbi_pattern[2]);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
3. adjust cas_latency (only necessary if RD_DBI is set).
|
3. adjust cas_latency (only necessary if RD_DBI is set).
|
||||||
here is my code for doing this:
|
here is my code for doing this:
|
||||||
|
|
||||||
if (csr_model.MODEREG_PARAMS3.RD_DBI.value == 1) begin
|
if (csr_model.MODEREG_PARAMS3.RD_DBI.value == 1) begin
|
||||||
case (csr_model.MODEREG_PARAMS0.CL.value)
|
case (csr_model.MODEREG_PARAMS0.CL.value)
|
||||||
0,1,2,3,4: csr_model.MODEREG_PARAMS0.CL.value += 2; // CL 9-13 -> 11-15
|
0,1,2,3,4: csr_model.MODEREG_PARAMS0.CL.value += 2; // CL 9-13 -> 11-15
|
||||||
@ -1774,7 +1774,7 @@ static void dbi_switchover_interface(int node, int lmc)
|
|||||||
7: csr_model.MODEREG_PARAMS0.CL.value = 14; // 16->19
|
7: csr_model.MODEREG_PARAMS0.CL.value = 14; // 16->19
|
||||||
8: csr_model.MODEREG_PARAMS0.CL.value = 15; // 18->21
|
8: csr_model.MODEREG_PARAMS0.CL.value = 15; // 18->21
|
||||||
default:
|
default:
|
||||||
`cn_fatal(("Error mem_cfg (%s) CL (%d) with RD_DBI=1, I am not sure what to do.",
|
`cn_fatal(("Error mem_cfg (%s) CL (%d) with RD_DBI=1, I am not sure what to do.",
|
||||||
mem_cfg, csr_model.MODEREG_PARAMS3.RD_DBI.value))
|
mem_cfg, csr_model.MODEREG_PARAMS3.RD_DBI.value))
|
||||||
endcase
|
endcase
|
||||||
end
|
end
|
||||||
@ -2056,7 +2056,7 @@ int octeon_ddr_initialize(bdk_node_t node,
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
try_again:
|
try_again:
|
||||||
// if we are LMC0
|
// if we are LMC0
|
||||||
if (interface_index == 0) {
|
if (interface_index == 0) {
|
||||||
// if we are asking for 100 MHz refclk, we can only get it via alternate, so switch to it
|
// if we are asking for 100 MHz refclk, we can only get it via alternate, so switch to it
|
||||||
if (ddr_ref_hertz == 100000000) {
|
if (ddr_ref_hertz == 100000000) {
|
||||||
|
@ -157,13 +157,13 @@ static int bdk_libdram_tune_node(int node)
|
|||||||
|
|
||||||
// Automatically tune the data byte DLL read offsets
|
// Automatically tune the data byte DLL read offsets
|
||||||
// always done by default, but allow use of HW-assist
|
// always done by default, but allow use of HW-assist
|
||||||
// NOTE: HW-assist will also tune the ECC byte
|
// NOTE: HW-assist will also tune the ECC byte
|
||||||
|
|
||||||
BDK_TRACE(DRAM, "N%d: Starting DLL Read Offset Tuning for LMCs\n", node);
|
BDK_TRACE(DRAM, "N%d: Starting DLL Read Offset Tuning for LMCs\n", node);
|
||||||
if (!do_dllro_hw || (lmc_config.s.mode32b != 0)) {
|
if (!do_dllro_hw || (lmc_config.s.mode32b != 0)) {
|
||||||
errs = perform_dll_offset_tuning(node, 2, /* tune */1);
|
errs = perform_dll_offset_tuning(node, 2, /* tune */1);
|
||||||
} else {
|
} else {
|
||||||
errs = perform_HW_dll_offset_tuning(node, /* read */2, 0x0A/* all bytelanes */);
|
errs = perform_HW_dll_offset_tuning(node, /* read */2, 0x0A/* all bytelanes */);
|
||||||
}
|
}
|
||||||
BDK_TRACE(DRAM, "N%d: Finished DLL Read Offset Tuning for LMCs, %d errors)\n",
|
BDK_TRACE(DRAM, "N%d: Finished DLL Read Offset Tuning for LMCs, %d errors)\n",
|
||||||
node, errs);
|
node, errs);
|
||||||
@ -183,10 +183,10 @@ static int bdk_libdram_tune_node(int node)
|
|||||||
// disabled by default for now, does not seem to be needed much?
|
// disabled by default for now, does not seem to be needed much?
|
||||||
// Automatically tune the ECC byte DLL read offsets
|
// Automatically tune the ECC byte DLL read offsets
|
||||||
// FIXME? allow override of the filtering
|
// FIXME? allow override of the filtering
|
||||||
// FIXME? allow programmatic override, not via envvar?
|
// FIXME? allow programmatic override, not via envvar?
|
||||||
if (do_eccdll && !do_dllro_hw && (lmc_config.s.mode32b == 0)) { // do not do HW-assist twice for ECC
|
if (do_eccdll && !do_dllro_hw && (lmc_config.s.mode32b == 0)) { // do not do HW-assist twice for ECC
|
||||||
BDK_TRACE(DRAM, "N%d: Starting ECC DLL Read Offset Tuning for LMCs\n", node);
|
BDK_TRACE(DRAM, "N%d: Starting ECC DLL Read Offset Tuning for LMCs\n", node);
|
||||||
errs = perform_HW_dll_offset_tuning(node, 2, 8/* ECC bytelane */);
|
errs = perform_HW_dll_offset_tuning(node, 2, 8/* ECC bytelane */);
|
||||||
BDK_TRACE(DRAM, "N%d: Finished ECC DLL Read Offset Tuning for LMCs, %d errors\n",
|
BDK_TRACE(DRAM, "N%d: Finished ECC DLL Read Offset Tuning for LMCs, %d errors\n",
|
||||||
node, errs);
|
node, errs);
|
||||||
tot_errs += errs;
|
tot_errs += errs;
|
||||||
@ -207,7 +207,7 @@ static int bdk_libdram_tune_node(int node)
|
|||||||
|
|
||||||
// FIXME: DDR3 is not tuned
|
// FIXME: DDR3 is not tuned
|
||||||
static const uint32_t ddr_speed_filter[2][2][2] = {
|
static const uint32_t ddr_speed_filter[2][2][2] = {
|
||||||
[IS_DDR4] = {
|
[IS_DDR4] = {
|
||||||
[IS_RDIMM] = {
|
[IS_RDIMM] = {
|
||||||
[IS_1SLOT] = 940,
|
[IS_1SLOT] = 940,
|
||||||
[IS_2SLOT] = 800
|
[IS_2SLOT] = 800
|
||||||
@ -473,7 +473,7 @@ int libdram_tune(int node)
|
|||||||
ddr_print("N%d: %s: non-zero node, not worrying about L2C lock status\n", node, __FUNCTION__);
|
ddr_print("N%d: %s: non-zero node, not worrying about L2C lock status\n", node, __FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
// make sure to clear memory and any ECC errs when done...
|
// make sure to clear memory and any ECC errs when done...
|
||||||
bdk_dram_clear_mem(node);
|
bdk_dram_clear_mem(node);
|
||||||
bdk_dram_clear_ecc(node);
|
bdk_dram_clear_ecc(node);
|
||||||
|
|
||||||
@ -498,7 +498,7 @@ int libdram_margin_write_voltage(int node)
|
|||||||
// call the margining routine
|
// call the margining routine
|
||||||
tot_errs = perform_margin_write_voltage(node);
|
tot_errs = perform_margin_write_voltage(node);
|
||||||
|
|
||||||
// make sure to clear memory and any ECC errs when done...
|
// make sure to clear memory and any ECC errs when done...
|
||||||
bdk_dram_clear_mem(node);
|
bdk_dram_clear_mem(node);
|
||||||
bdk_dram_clear_ecc(node);
|
bdk_dram_clear_ecc(node);
|
||||||
|
|
||||||
@ -523,7 +523,7 @@ int libdram_margin_read_voltage(int node)
|
|||||||
// call the margining routine
|
// call the margining routine
|
||||||
tot_errs = perform_margin_read_voltage(node);
|
tot_errs = perform_margin_read_voltage(node);
|
||||||
|
|
||||||
// make sure to clear memory and any ECC errs when done...
|
// make sure to clear memory and any ECC errs when done...
|
||||||
bdk_dram_clear_mem(node);
|
bdk_dram_clear_mem(node);
|
||||||
bdk_dram_clear_ecc(node);
|
bdk_dram_clear_ecc(node);
|
||||||
|
|
||||||
@ -548,7 +548,7 @@ int libdram_margin_write_timing(int node)
|
|||||||
// call the tuning routine, tell it we are margining not tuning...
|
// call the tuning routine, tell it we are margining not tuning...
|
||||||
tot_errs = perform_dll_offset_tuning(node, /* write offsets */1, /* margin */0);
|
tot_errs = perform_dll_offset_tuning(node, /* write offsets */1, /* margin */0);
|
||||||
|
|
||||||
// make sure to clear memory and any ECC errs when done...
|
// make sure to clear memory and any ECC errs when done...
|
||||||
bdk_dram_clear_mem(node);
|
bdk_dram_clear_mem(node);
|
||||||
bdk_dram_clear_ecc(node);
|
bdk_dram_clear_ecc(node);
|
||||||
|
|
||||||
@ -573,7 +573,7 @@ int libdram_margin_read_timing(int node)
|
|||||||
// call the tuning routine, tell it we are margining not tuning...
|
// call the tuning routine, tell it we are margining not tuning...
|
||||||
tot_errs = perform_dll_offset_tuning(node, /* read offsets */2, /* margin */0);
|
tot_errs = perform_dll_offset_tuning(node, /* read offsets */2, /* margin */0);
|
||||||
|
|
||||||
// make sure to clear memory and any ECC errs when done...
|
// make sure to clear memory and any ECC errs when done...
|
||||||
bdk_dram_clear_mem(node);
|
bdk_dram_clear_mem(node);
|
||||||
bdk_dram_clear_ecc(node);
|
bdk_dram_clear_ecc(node);
|
||||||
|
|
||||||
@ -596,7 +596,7 @@ int libdram_margin(int node)
|
|||||||
const char *risk[2] = { "Low Risk", "Needs Review" };
|
const char *risk[2] = { "Low Risk", "Needs Review" };
|
||||||
int l2c_is_locked = bdk_l2c_is_locked(node);
|
int l2c_is_locked = bdk_l2c_is_locked(node);
|
||||||
|
|
||||||
// for now, no margining on 81xx, until we can reduce the dynamic runtime size...
|
// for now, no margining on 81xx, until we can reduce the dynamic runtime size...
|
||||||
if (CAVIUM_IS_MODEL(CAVIUM_CN81XX)) {
|
if (CAVIUM_IS_MODEL(CAVIUM_CN81XX)) {
|
||||||
printf("Sorry, margining is not available on 81xx yet...\n");
|
printf("Sorry, margining is not available on 81xx yet...\n");
|
||||||
return 0;
|
return 0;
|
||||||
@ -637,7 +637,7 @@ int libdram_margin(int node)
|
|||||||
>>> N0: Read Timing Margin : Low Risk
|
>>> N0: Read Timing Margin : Low Risk
|
||||||
>>> N0: Write Timing Margin : Low Risk
|
>>> N0: Write Timing Margin : Low Risk
|
||||||
>>> N0: Read Voltage Margin : Low Risk
|
>>> N0: Read Voltage Margin : Low Risk
|
||||||
>>> N0: Write Voltage Margin : Low Risk
|
>>> N0: Write Voltage Margin : Low Risk
|
||||||
*/
|
*/
|
||||||
printf(" \n");
|
printf(" \n");
|
||||||
printf("-------------------------------------\n");
|
printf("-------------------------------------\n");
|
||||||
@ -647,7 +647,7 @@ int libdram_margin(int node)
|
|||||||
printf("N%d: Write Timing Margin : %s\n", node, risk[!!ret_wt]);
|
printf("N%d: Write Timing Margin : %s\n", node, risk[!!ret_wt]);
|
||||||
|
|
||||||
// these may not have been done due to DDR3 and/or THUNDER pass 1.x
|
// these may not have been done due to DDR3 and/or THUNDER pass 1.x
|
||||||
// FIXME? would it be better to print an appropriate message here?
|
// FIXME? would it be better to print an appropriate message here?
|
||||||
if (ret_rv != -1) printf("N%d: Read Voltage Margin : %s\n", node, risk[!!ret_rv]);
|
if (ret_rv != -1) printf("N%d: Read Voltage Margin : %s\n", node, risk[!!ret_rv]);
|
||||||
if (ret_wv != -1) printf("N%d: Write Voltage Margin : %s\n", node, risk[!!ret_wv]);
|
if (ret_wv != -1) printf("N%d: Write Voltage Margin : %s\n", node, risk[!!ret_wv]);
|
||||||
|
|
||||||
|
@ -85,7 +85,7 @@
|
|||||||
#define BDK_CACHE_WB_L2(address) { asm volatile ("sys " BDK_SYS_CVMCACHE_WB_L2 ", %0" : : "r" (address)); } // Push to memory, don't invalidate, don't unlock
|
#define BDK_CACHE_WB_L2(address) { asm volatile ("sys " BDK_SYS_CVMCACHE_WB_L2 ", %0" : : "r" (address)); } // Push to memory, don't invalidate, don't unlock
|
||||||
#define BDK_CACHE_LCK_L2(address) { asm volatile ("sys " BDK_SYS_CVMCACHE_LCK_L2 ", %0" : : "r" (address)); } // Lock into L2
|
#define BDK_CACHE_LCK_L2(address) { asm volatile ("sys " BDK_SYS_CVMCACHE_LCK_L2 ", %0" : : "r" (address)); } // Lock into L2
|
||||||
#define BDK_DCACHE_INVALIDATE { asm volatile ("sys " BDK_SYS_CVMCACHE_INVALL_DC ", xzr"); } // Invalidate the entire Dcache on local core
|
#define BDK_DCACHE_INVALIDATE { asm volatile ("sys " BDK_SYS_CVMCACHE_INVALL_DC ", xzr"); } // Invalidate the entire Dcache on local core
|
||||||
#define BDK_CACHE_LTG_L2_INDEXED(encoded) { asm volatile ("sys " BDK_SYS_CVMCACHE_LTG_L2_INDEXED ", %0" : : "r" (encoded)); } // Load L2 TAG, index by set/way
|
#define BDK_CACHE_LTG_L2_INDEXED(encoded) { asm volatile ("sys " BDK_SYS_CVMCACHE_LTG_L2_INDEXED ", %0" : : "r" (encoded)); } // Load L2 TAG, index by set/way
|
||||||
|
|
||||||
#define BDK_STORE_PAIR(ptr, data1, data2) { asm volatile ("stp %x[d1], %x[d2], [%[b]]" : [mem] "+m" (*(__uint128_t*)ptr) : [b] "r" (ptr), [d1] "r" (data1), [d2] "r" (data2)); }
|
#define BDK_STORE_PAIR(ptr, data1, data2) { asm volatile ("stp %x[d1], %x[d2], [%[b]]" : [mem] "+m" (*(__uint128_t*)ptr) : [b] "r" (ptr), [d1] "r" (data1), [d2] "r" (data2)); }
|
||||||
|
|
||||||
|
@ -163,7 +163,7 @@ typedef struct {
|
|||||||
the delays of adjacent bytes. A value of 0 disables this
|
the delays of adjacent bytes. A value of 0 disables this
|
||||||
check.
|
check.
|
||||||
|
|
||||||
.fprch2 Front Porch Enable: When set, the turn-off
|
.fprch2 Front Porch Enable: When set, the turn-off
|
||||||
time for the default DDR_DQ/DQS drivers is FPRCH2 CKs earlier.
|
time for the default DDR_DQ/DQS drivers is FPRCH2 CKs earlier.
|
||||||
00 = 0 CKs
|
00 = 0 CKs
|
||||||
01 = 1 CKs
|
01 = 1 CKs
|
||||||
|
@ -216,7 +216,7 @@ EFI_STATUS
|
|||||||
and defined for each FSP binary. This will be documented in Integration guide with
|
and defined for each FSP binary. This will be documented in Integration guide with
|
||||||
each FSP release.
|
each FSP release.
|
||||||
After FspMemInit completes its execution, it passes the pointer to the HobList and
|
After FspMemInit completes its execution, it passes the pointer to the HobList and
|
||||||
returns to the boot loader from where it was called. BootLoader is responsible to
|
returns to the boot loader from where it was called. BootLoader is responsible to
|
||||||
migrate it's stack and data to Memory.
|
migrate it's stack and data to Memory.
|
||||||
FspMemoryInit, TempRamExit and FspSiliconInit APIs provide an alternate method to
|
FspMemoryInit, TempRamExit and FspSiliconInit APIs provide an alternate method to
|
||||||
complete the silicon initialization and provides bootloader an opportunity to get
|
complete the silicon initialization and provides bootloader an opportunity to get
|
||||||
|
@ -144,7 +144,7 @@ typedef struct {
|
|||||||
///
|
///
|
||||||
UINT8 Reserved;
|
UINT8 Reserved;
|
||||||
///
|
///
|
||||||
/// Byte 0x0A: FSP producer identification string
|
/// Byte 0x0A: FSP producer identification string
|
||||||
///
|
///
|
||||||
CHAR8 FspProducerId[6];
|
CHAR8 FspProducerId[6];
|
||||||
///
|
///
|
||||||
|
@ -268,7 +268,7 @@ SetFspApiCallingIndex (
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
This function gets FSP Phase StatusCode.
|
This function gets FSP Phase StatusCode.
|
||||||
|
|
||||||
@retval StatusCode
|
@retval StatusCode
|
||||||
**/
|
**/
|
||||||
UINT32
|
UINT32
|
||||||
|
@ -3,13 +3,13 @@
|
|||||||
|
|
||||||
Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
|
||||||
Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
|
Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
@ -35,7 +35,7 @@
|
|||||||
#define UNREACHABLE()
|
#define UNREACHABLE()
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if _MSC_EXTENSIONS
|
#if _MSC_EXTENSIONS
|
||||||
//
|
//
|
||||||
// use Microsoft* C compiler dependent integer width types
|
// use Microsoft* C compiler dependent integer width types
|
||||||
//
|
//
|
||||||
@ -52,7 +52,7 @@
|
|||||||
typedef signed char INT8;
|
typedef signed char INT8;
|
||||||
#else
|
#else
|
||||||
//
|
//
|
||||||
// Assume standard ARM alignment.
|
// Assume standard ARM alignment.
|
||||||
// Need to check portability of long long
|
// Need to check portability of long long
|
||||||
//
|
//
|
||||||
typedef unsigned long long UINT64;
|
typedef unsigned long long UINT64;
|
||||||
@ -121,7 +121,7 @@ typedef INT32 INTN;
|
|||||||
// use the correct C calling convention. All protocol member functions and
|
// use the correct C calling convention. All protocol member functions and
|
||||||
// EFI intrinsics are required to modify their member functions with EFIAPI.
|
// EFI intrinsics are required to modify their member functions with EFIAPI.
|
||||||
//
|
//
|
||||||
#define EFIAPI
|
#define EFIAPI
|
||||||
|
|
||||||
// When compiling with Clang, we still use GNU as for the assembler, so we still
|
// When compiling with Clang, we still use GNU as for the assembler, so we still
|
||||||
// need to define the GCC_ASM* macros.
|
// need to define the GCC_ASM* macros.
|
||||||
@ -142,34 +142,34 @@ typedef INT32 INTN;
|
|||||||
|
|
||||||
#define GCC_ASM_EXPORT(func__) \
|
#define GCC_ASM_EXPORT(func__) \
|
||||||
.global _CONCATENATE (__USER_LABEL_PREFIX__, func__) ;\
|
.global _CONCATENATE (__USER_LABEL_PREFIX__, func__) ;\
|
||||||
.type ASM_PFX(func__), %function
|
.type ASM_PFX(func__), %function
|
||||||
|
|
||||||
#define GCC_ASM_IMPORT(func__) \
|
#define GCC_ASM_IMPORT(func__) \
|
||||||
.extern _CONCATENATE (__USER_LABEL_PREFIX__, func__)
|
.extern _CONCATENATE (__USER_LABEL_PREFIX__, func__)
|
||||||
|
|
||||||
#else
|
#else
|
||||||
//
|
//
|
||||||
// .type not supported by Apple Xcode tools
|
// .type not supported by Apple Xcode tools
|
||||||
//
|
//
|
||||||
#define INTERWORK_FUNC(func__)
|
#define INTERWORK_FUNC(func__)
|
||||||
|
|
||||||
#define GCC_ASM_EXPORT(func__) \
|
#define GCC_ASM_EXPORT(func__) \
|
||||||
.globl _CONCATENATE (__USER_LABEL_PREFIX__, func__) \
|
.globl _CONCATENATE (__USER_LABEL_PREFIX__, func__) \
|
||||||
|
|
||||||
#define GCC_ASM_IMPORT(name)
|
#define GCC_ASM_IMPORT(name)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Return the pointer to the first instruction of a function given a function pointer.
|
Return the pointer to the first instruction of a function given a function pointer.
|
||||||
On ARM CPU architectures, these two pointer values are the same,
|
On ARM CPU architectures, these two pointer values are the same,
|
||||||
so the implementation of this macro is very simple.
|
so the implementation of this macro is very simple.
|
||||||
|
|
||||||
@param FunctionPointer A pointer to a function.
|
@param FunctionPointer A pointer to a function.
|
||||||
|
|
||||||
@return The pointer to the first instruction of a function given a function pointer.
|
@return The pointer to the first instruction of a function given a function pointer.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
#define FUNCTION_ENTRY_POINT(FunctionPointer) (VOID *)(UINTN)(FunctionPointer)
|
#define FUNCTION_ENTRY_POINT(FunctionPointer) (VOID *)(UINTN)(FunctionPointer)
|
||||||
|
|
||||||
|
@ -65,8 +65,8 @@ VERIFY_SIZE_OF (CHAR16, 2);
|
|||||||
|
|
||||||
//
|
//
|
||||||
// The following three enum types are used to verify that the compiler
|
// The following three enum types are used to verify that the compiler
|
||||||
// configuration for enum types is compliant with Section 2.3.1 of the
|
// configuration for enum types is compliant with Section 2.3.1 of the
|
||||||
// UEFI 2.3 Specification. These enum types and enum values are not
|
// UEFI 2.3 Specification. These enum types and enum values are not
|
||||||
// intended to be used. A prefix of '__' is used avoid conflicts with
|
// intended to be used. A prefix of '__' is used avoid conflicts with
|
||||||
// other types.
|
// other types.
|
||||||
//
|
//
|
||||||
@ -766,7 +766,7 @@ typedef CHAR8 *VA_LIST;
|
|||||||
|
|
||||||
This macro initializes Dest as a copy of Start, as if the VA_START macro had been applied to Dest
|
This macro initializes Dest as a copy of Start, as if the VA_START macro had been applied to Dest
|
||||||
followed by the same sequence of uses of the VA_ARG macro as had previously been used to reach
|
followed by the same sequence of uses of the VA_ARG macro as had previously been used to reach
|
||||||
the present state of Start.
|
the present state of Start.
|
||||||
|
|
||||||
@param Dest VA_LIST used to traverse the list of arguments.
|
@param Dest VA_LIST used to traverse the list of arguments.
|
||||||
@param Start VA_LIST used to traverse the list of arguments.
|
@param Start VA_LIST used to traverse the list of arguments.
|
||||||
|
@ -5,13 +5,13 @@
|
|||||||
specific functions in this file.
|
specific functions in this file.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials are licensed and made available under
|
This program and the accompanying materials are licensed and made available under
|
||||||
the terms and conditions of the BSD License that accompanies this distribution.
|
the terms and conditions of the BSD License that accompanies this distribution.
|
||||||
The full text of the license may be found at
|
The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php.
|
http://opensource.org/licenses/bsd-license.php.
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
@ -91,7 +91,7 @@ typedef unsigned long UINTN;
|
|||||||
/// A value of native width with the highest bit set.
|
/// A value of native width with the highest bit set.
|
||||||
/// Scalable macro to set the most significant bit in a natural number.
|
/// Scalable macro to set the most significant bit in a natural number.
|
||||||
///
|
///
|
||||||
#define MAX_BIT (1ULL << (sizeof (INTN) * 8 - 1))
|
#define MAX_BIT (1ULL << (sizeof (INTN) * 8 - 1))
|
||||||
///
|
///
|
||||||
/// A value of native width with the two highest bits set.
|
/// A value of native width with the two highest bits set.
|
||||||
/// Scalable macro to set the most 2 significant bits in a natural number.
|
/// Scalable macro to set the most 2 significant bits in a natural number.
|
||||||
@ -130,14 +130,14 @@ typedef unsigned long UINTN;
|
|||||||
/// If EFIAPI is already defined, then we use that definition.
|
/// If EFIAPI is already defined, then we use that definition.
|
||||||
///
|
///
|
||||||
#else
|
#else
|
||||||
#define EFIAPI
|
#define EFIAPI
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Return the pointer to the first instruction of a function given a function pointer.
|
Return the pointer to the first instruction of a function given a function pointer.
|
||||||
On EBC architectures, these two pointer values are the same,
|
On EBC architectures, these two pointer values are the same,
|
||||||
so the implementation of this macro is very simple.
|
so the implementation of this macro is very simple.
|
||||||
|
|
||||||
@param FunctionPointer A pointer to a function.
|
@param FunctionPointer A pointer to a function.
|
||||||
|
|
||||||
@return The pointer to the first instruction of a function given a function pointer.
|
@return The pointer to the first instruction of a function given a function pointer.
|
||||||
@ -148,5 +148,5 @@ typedef unsigned long UINTN;
|
|||||||
#define __USER_LABEL_PREFIX__
|
#define __USER_LABEL_PREFIX__
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -2,17 +2,17 @@
|
|||||||
GUIDs used for ACPI entries in the EFI system table
|
GUIDs used for ACPI entries in the EFI system table
|
||||||
|
|
||||||
These GUIDs point the ACPI tables as defined in the ACPI specifications.
|
These GUIDs point the ACPI tables as defined in the ACPI specifications.
|
||||||
ACPI 2.0 specification defines the ACPI 2.0 GUID. UEFI 2.0 defines the
|
ACPI 2.0 specification defines the ACPI 2.0 GUID. UEFI 2.0 defines the
|
||||||
ACPI 2.0 Table GUID and ACPI Table GUID.
|
ACPI 2.0 Table GUID and ACPI Table GUID.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
@par Revision Reference:
|
@par Revision Reference:
|
||||||
GUIDs defined in UEFI 2.0 spec.
|
GUIDs defined in UEFI 2.0 spec.
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
the dependency grammar.
|
the dependency grammar.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
@par Revision Reference:
|
@par Revision Reference:
|
||||||
GUID introduced in PI Version 1.0.
|
GUID introduced in PI Version 1.0.
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
volume.
|
volume.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
@par Revision Reference:
|
@par Revision Reference:
|
||||||
GUID introduced in PI Version 1.0.
|
GUID introduced in PI Version 1.0.
|
||||||
@ -24,7 +24,7 @@
|
|||||||
{ 0x1b45cc0a, 0x156a, 0x428a, { 0x62, 0XAF, 0x49, 0x86, 0x4d, 0xa0, 0xe6, 0xe6 } }
|
{ 0x1b45cc0a, 0x156a, 0x428a, { 0x62, 0XAF, 0x49, 0x86, 0x4d, 0xa0, 0xe6, 0xe6 } }
|
||||||
|
|
||||||
|
|
||||||
///
|
///
|
||||||
/// This file must be of type EFI_FV_FILETYPE_FREEFORM and must
|
/// This file must be of type EFI_FV_FILETYPE_FREEFORM and must
|
||||||
/// contain a single section of type EFI_SECTION_RAW. For details on
|
/// contain a single section of type EFI_SECTION_RAW. For details on
|
||||||
/// firmware volumes, firmware file types, and firmware file section
|
/// firmware volumes, firmware file types, and firmware file section
|
||||||
@ -33,7 +33,7 @@
|
|||||||
typedef struct {
|
typedef struct {
|
||||||
///
|
///
|
||||||
/// An array of zero or more EFI_GUID type entries that match the file names of PEIM
|
/// An array of zero or more EFI_GUID type entries that match the file names of PEIM
|
||||||
/// modules in the same Firmware Volume. The maximum number of entries.
|
/// modules in the same Firmware Volume. The maximum number of entries.
|
||||||
///
|
///
|
||||||
EFI_GUID FileNamesWithinVolume[1];
|
EFI_GUID FileNamesWithinVolume[1];
|
||||||
} PEI_APRIORI_FILE_CONTENTS;
|
} PEI_APRIORI_FILE_CONTENTS;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/** @file
|
/** @file
|
||||||
Guid & data structure used for Capsule process result variables
|
Guid & data structure used for Capsule process result variables
|
||||||
|
|
||||||
Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
@ -84,14 +84,14 @@ typedef struct {
|
|||||||
|
|
||||||
///
|
///
|
||||||
/// In case of capsule loaded from disk, the zero-terminated array containing file name of capsule that was processed.
|
/// In case of capsule loaded from disk, the zero-terminated array containing file name of capsule that was processed.
|
||||||
/// In case of capsule submitted directly to UpdateCapsule() there is no file name, and this field is required to contain a single 16-bit zero character
|
/// In case of capsule submitted directly to UpdateCapsule() there is no file name, and this field is required to contain a single 16-bit zero character
|
||||||
/// which is included in VariableTotalSize.
|
/// which is included in VariableTotalSize.
|
||||||
///
|
///
|
||||||
/// CHAR16 CapsuleFileName[];
|
/// CHAR16 CapsuleFileName[];
|
||||||
///
|
///
|
||||||
|
|
||||||
///
|
///
|
||||||
/// This field will contain a zero-terminated CHAR16 string containing the text representation of the device path of device publishing Firmware Management Protocol
|
/// This field will contain a zero-terminated CHAR16 string containing the text representation of the device path of device publishing Firmware Management Protocol
|
||||||
/// (if present). In case where device path is not present and the target is not otherwise known to firmware, or when payload was blocked by policy, or skipped,
|
/// (if present). In case where device path is not present and the target is not otherwise known to firmware, or when payload was blocked by policy, or skipped,
|
||||||
/// this field is required to contain a single 16-bit zero character which is included in VariableTotalSize.
|
/// this field is required to contain a single 16-bit zero character which is included in VariableTotalSize.
|
||||||
///
|
///
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
GUID and related data structures used with the Debug Image Info Table.
|
GUID and related data structures used with the Debug Image Info Table.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
@par Revision Reference:
|
@par Revision Reference:
|
||||||
GUID defined in UEFI 2.0 spec.
|
GUID defined in UEFI 2.0 spec.
|
||||||
@ -35,7 +35,7 @@
|
|||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
UINT64 Signature; ///< A constant UINT64 that has the value EFI_SYSTEM_TABLE_SIGNATURE
|
UINT64 Signature; ///< A constant UINT64 that has the value EFI_SYSTEM_TABLE_SIGNATURE
|
||||||
EFI_PHYSICAL_ADDRESS EfiSystemTableBase; ///< The physical address of the EFI system table.
|
EFI_PHYSICAL_ADDRESS EfiSystemTableBase; ///< The physical address of the EFI system table.
|
||||||
UINT32 Crc32; ///< A 32-bit CRC value that is used to verify the EFI_SYSTEM_TABLE_POINTER structure is valid.
|
UINT32 Crc32; ///< A 32-bit CRC value that is used to verify the EFI_SYSTEM_TABLE_POINTER structure is valid.
|
||||||
} EFI_SYSTEM_TABLE_POINTER;
|
} EFI_SYSTEM_TABLE_POINTER;
|
||||||
|
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
GUID used to identify the DXE Services Table
|
GUID used to identify the DXE Services Table
|
||||||
|
|
||||||
Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
@par Revision Reference:
|
@par Revision Reference:
|
||||||
GUID introduced in PI Version 1.0.
|
GUID introduced in PI Version 1.0.
|
||||||
|
@ -2,20 +2,20 @@
|
|||||||
GUIDs for gBS->CreateEventEx Event Groups. Defined in UEFI spec 2.0 and PI 1.2.1.
|
GUIDs for gBS->CreateEventEx Event Groups. Defined in UEFI spec 2.0 and PI 1.2.1.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials are licensed and made available under
|
This program and the accompanying materials are licensed and made available under
|
||||||
the terms and conditions of the BSD License that accompanies this distribution.
|
the terms and conditions of the BSD License that accompanies this distribution.
|
||||||
The full text of the license may be found at
|
The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php.
|
http://opensource.org/licenses/bsd-license.php.
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
#ifndef __EVENT_GROUP_GUID__
|
#ifndef __EVENT_GROUP_GUID__
|
||||||
#define __EVENT_GROUP_GUID__
|
#define __EVENT_GROUP_GUID__
|
||||||
|
|
||||||
|
|
||||||
#define EFI_EVENT_GROUP_EXIT_BOOT_SERVICES \
|
#define EFI_EVENT_GROUP_EXIT_BOOT_SERVICES \
|
||||||
{ 0x27abf055, 0xb1b8, 0x4c26, { 0x80, 0x48, 0x74, 0x8f, 0x37, 0xba, 0xa2, 0xdf } }
|
{ 0x27abf055, 0xb1b8, 0x4c26, { 0x80, 0x48, 0x74, 0x8f, 0x37, 0xba, 0xa2, 0xdf } }
|
||||||
|
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
/** @file
|
/** @file
|
||||||
GUID is the name of events used with CreateEventEx in order to be notified
|
GUID is the name of events used with CreateEventEx in order to be notified
|
||||||
when the EFI boot manager is about to boot a legacy boot option.
|
when the EFI boot manager is about to boot a legacy boot option.
|
||||||
Events of this type are notificated just before Int19h is invoked.
|
Events of this type are notificated just before Int19h is invoked.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
@par Revision Reference:
|
@par Revision Reference:
|
||||||
GUID introduced in PI Version 1.0.
|
GUID introduced in PI Version 1.0.
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
This GUID is defined in UEFI specification.
|
This GUID is defined in UEFI specification.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials are licensed and made available under
|
This program and the accompanying materials are licensed and made available under
|
||||||
the terms and conditions of the BSD License that accompanies this distribution.
|
the terms and conditions of the BSD License that accompanies this distribution.
|
||||||
The full text of the license may be found at
|
The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php.
|
http://opensource.org/licenses/bsd-license.php.
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
This GUID is defined in UEFI specification.
|
This GUID is defined in UEFI specification.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials are licensed and made available under
|
This program and the accompanying materials are licensed and made available under
|
||||||
the terms and conditions of the BSD License that accompanies this distribution.
|
the terms and conditions of the BSD License that accompanies this distribution.
|
||||||
The full text of the license may be found at
|
The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php.
|
http://opensource.org/licenses/bsd-license.php.
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
This GUID is defined in UEFI specification.
|
This GUID is defined in UEFI specification.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
GUID is used to define the signed section.
|
GUID is used to define the signed section.
|
||||||
|
|
||||||
Copyright (c) 2013, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2013, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
@par Revision Reference:
|
@par Revision Reference:
|
||||||
GUID introduced in PI Version 1.2.1.
|
GUID introduced in PI Version 1.2.1.
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
Guid used to define the Firmware File System 2.
|
Guid used to define the Firmware File System 2.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
@par Revision Reference:
|
@par Revision Reference:
|
||||||
GUIDs introduced in PI Version 1.0.
|
GUIDs introduced in PI Version 1.0.
|
||||||
@ -18,18 +18,18 @@
|
|||||||
#ifndef __FIRMWARE_FILE_SYSTEM2_GUID_H__
|
#ifndef __FIRMWARE_FILE_SYSTEM2_GUID_H__
|
||||||
#define __FIRMWARE_FILE_SYSTEM2_GUID_H__
|
#define __FIRMWARE_FILE_SYSTEM2_GUID_H__
|
||||||
|
|
||||||
///
|
///
|
||||||
/// The firmware volume header contains a data field for
|
/// The firmware volume header contains a data field for
|
||||||
/// the file system GUID
|
/// the file system GUID
|
||||||
///
|
///
|
||||||
#define EFI_FIRMWARE_FILE_SYSTEM2_GUID \
|
#define EFI_FIRMWARE_FILE_SYSTEM2_GUID \
|
||||||
{ 0x8c8ce578, 0x8a3d, 0x4f1c, { 0x99, 0x35, 0x89, 0x61, 0x85, 0xc3, 0x2d, 0xd3 } }
|
{ 0x8c8ce578, 0x8a3d, 0x4f1c, { 0x99, 0x35, 0x89, 0x61, 0x85, 0xc3, 0x2d, 0xd3 } }
|
||||||
|
|
||||||
///
|
///
|
||||||
/// A Volume Top File (VTF) is a file that must be
|
/// A Volume Top File (VTF) is a file that must be
|
||||||
/// located such that the last byte of the file is
|
/// located such that the last byte of the file is
|
||||||
/// also the last byte of the firmware volume
|
/// also the last byte of the firmware volume
|
||||||
///
|
///
|
||||||
#define EFI_FFS_VOLUME_TOP_FILE_GUID \
|
#define EFI_FFS_VOLUME_TOP_FILE_GUID \
|
||||||
{ 0x1BA0062E, 0xC779, 0x4582, { 0x85, 0x66, 0x33, 0x6A, 0xE8, 0xF7, 0x8F, 0x9 } }
|
{ 0x1BA0062E, 0xC779, 0x4582, { 0x85, 0x66, 0x33, 0x6A, 0xE8, 0xF7, 0x8F, 0x9 } }
|
||||||
|
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
Guid used to define the Firmware File System 3.
|
Guid used to define the Firmware File System 3.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
@par Revision Reference:
|
@par Revision Reference:
|
||||||
GUIDs introduced in PI Version 1.0.
|
GUIDs introduced in PI Version 1.0.
|
||||||
@ -18,7 +18,7 @@
|
|||||||
#ifndef __FIRMWARE_FILE_SYSTEM3_GUID_H__
|
#ifndef __FIRMWARE_FILE_SYSTEM3_GUID_H__
|
||||||
#define __FIRMWARE_FILE_SYSTEM3_GUID_H__
|
#define __FIRMWARE_FILE_SYSTEM3_GUID_H__
|
||||||
|
|
||||||
///
|
///
|
||||||
/// The firmware volume header contains a data field for the file system GUID
|
/// The firmware volume header contains a data field for the file system GUID
|
||||||
/// {5473C07A-3DCB-4dca-BD6F-1E9689E7349A}
|
/// {5473C07A-3DCB-4dca-BD6F-1E9689E7349A}
|
||||||
///
|
///
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
GUID for EFI (NVRAM) Variables.
|
GUID for EFI (NVRAM) Variables.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
@par Revision Reference:
|
@par Revision Reference:
|
||||||
GUID defined in UEFI 2.1
|
GUID defined in UEFI 2.1
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
/** @file
|
/** @file
|
||||||
Guids used for the GPT (GUID Partition Table)
|
Guids used for the GPT (GUID Partition Table)
|
||||||
|
|
||||||
GPT defines a new disk partitioning scheme and also describes
|
GPT defines a new disk partitioning scheme and also describes
|
||||||
usage of the legacy Master Boot Record (MBR) partitioning scheme.
|
usage of the legacy Master Boot Record (MBR) partitioning scheme.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2007, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2007, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
@par Revision Reference:
|
@par Revision Reference:
|
||||||
GUIDs defined in UEFI 2.1 spec.
|
GUIDs defined in UEFI 2.1 spec.
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
Guid used to identify HII FormMap configuration method.
|
Guid used to identify HII FormMap configuration method.
|
||||||
|
|
||||||
Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
@par Revision Reference:
|
@par Revision Reference:
|
||||||
GUID defined in UEFI 2.2 spec.
|
GUID defined in UEFI 2.2 spec.
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
/** @file
|
/** @file
|
||||||
|
|
||||||
HII keyboard layout GUID as defined in UEFI2.1 specification
|
HII keyboard layout GUID as defined in UEFI2.1 specification
|
||||||
|
|
||||||
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
|
||||||
This program and the accompanying materials
|
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
|
||||||
http://opensource.org/licenses/bsd-license.php
|
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
This program and the accompanying materials
|
||||||
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
@par Revision Reference:
|
@par Revision Reference:
|
||||||
GUIDs defined in UEFI 2.1 spec.
|
GUIDs defined in UEFI 2.1 spec.
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
/** @file
|
/** @file
|
||||||
GUID indicates that the form set contains forms designed to be used
|
GUID indicates that the form set contains forms designed to be used
|
||||||
for platform configuration and this form set will be displayed.
|
for platform configuration and this form set will be displayed.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials are licensed and made available under
|
This program and the accompanying materials are licensed and made available under
|
||||||
the terms and conditions of the BSD License that accompanies this distribution.
|
the terms and conditions of the BSD License that accompanies this distribution.
|
||||||
The full text of the license may be found at
|
The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php.
|
http://opensource.org/licenses/bsd-license.php.
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
@par Revision Reference:
|
@par Revision Reference:
|
||||||
GUID defined in UEFI 2.1.
|
GUID defined in UEFI 2.1.
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
These GUIDs point the HOB List passed from PEI to DXE.
|
These GUIDs point the HOB List passed from PEI to DXE.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
@par Revision Reference:
|
@par Revision Reference:
|
||||||
GUID introduced in PI Version 1.0.
|
GUID introduced in PI Version 1.0.
|
||||||
|
@ -319,7 +319,7 @@ typedef struct {
|
|||||||
/// Zero or more image signatures. If the image contained no signatures,
|
/// Zero or more image signatures. If the image contained no signatures,
|
||||||
/// then this field is empty.
|
/// then this field is empty.
|
||||||
/// EFI_SIGNATURE_LIST Signature;
|
/// EFI_SIGNATURE_LIST Signature;
|
||||||
///
|
///
|
||||||
} EFI_IMAGE_EXECUTION_INFO;
|
} EFI_IMAGE_EXECUTION_INFO;
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/** @file
|
/** @file
|
||||||
GUID for MdePkg PCD Token Space
|
GUID for MdePkg PCD Token Space
|
||||||
|
|
||||||
Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
GUIDs for HOBs used in memory allcation
|
GUIDs for HOBs used in memory allcation
|
||||||
|
|
||||||
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
@par Revision Reference:
|
@par Revision Reference:
|
||||||
GUIDs introduced in PI Version 1.0.
|
GUIDs introduced in PI Version 1.0.
|
||||||
|
@ -1,20 +1,20 @@
|
|||||||
/** @file
|
/** @file
|
||||||
GUID used for MemoryOverwriteRequestControl UEFI variable defined in
|
GUID used for MemoryOverwriteRequestControl UEFI variable defined in
|
||||||
TCG Platform Reset Attack Mitigation Specification 1.00.
|
TCG Platform Reset Attack Mitigation Specification 1.00.
|
||||||
See http://trustedcomputinggroup.org for the latest specification
|
See http://trustedcomputinggroup.org for the latest specification
|
||||||
|
|
||||||
The purpose of the MemoryOverwriteRequestControl UEFI variable is to give users (e.g., OS, loader) the ability to
|
The purpose of the MemoryOverwriteRequestControl UEFI variable is to give users (e.g., OS, loader) the ability to
|
||||||
indicate to the platform that secrets are present in memory and that the platform firmware must clear memory upon
|
indicate to the platform that secrets are present in memory and that the platform firmware must clear memory upon
|
||||||
a restart. The OS loader should not create the variable. Rather, the firmware is required to create it.
|
a restart. The OS loader should not create the variable. Rather, the firmware is required to create it.
|
||||||
|
|
||||||
Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
@ -27,17 +27,17 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Variable name is "MemoryOverwriteRequestControl" and it is a 1 byte unsigned value.
|
/// Variable name is "MemoryOverwriteRequestControl" and it is a 1 byte unsigned value.
|
||||||
/// The attributes should be:
|
/// The attributes should be:
|
||||||
/// EFI_VARIABLE_NON_VOLATILE |
|
/// EFI_VARIABLE_NON_VOLATILE |
|
||||||
/// EFI_VARIABLE_BOOTSERVICE_ACCESS |
|
/// EFI_VARIABLE_BOOTSERVICE_ACCESS |
|
||||||
/// EFI_VARIABLE_RUNTIME_ACCESS
|
/// EFI_VARIABLE_RUNTIME_ACCESS
|
||||||
///
|
///
|
||||||
#define MEMORY_OVERWRITE_REQUEST_VARIABLE_NAME L"MemoryOverwriteRequestControl"
|
#define MEMORY_OVERWRITE_REQUEST_VARIABLE_NAME L"MemoryOverwriteRequestControl"
|
||||||
|
|
||||||
///
|
///
|
||||||
/// 0 = Firmware MUST clear the MOR bit
|
/// 0 = Firmware MUST clear the MOR bit
|
||||||
/// 1 = Firmware MUST set the MOR bit
|
/// 1 = Firmware MUST set the MOR bit
|
||||||
///
|
///
|
||||||
#define MOR_CLEAR_MEMORY_BIT_MASK 0x01
|
#define MOR_CLEAR_MEMORY_BIT_MASK 0x01
|
||||||
|
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
included to support Itanium-based platform power on. So don't use it if you don't have too.
|
included to support Itanium-based platform power on. So don't use it if you don't have too.
|
||||||
|
|
||||||
Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
@par Revision Reference:
|
@par Revision Reference:
|
||||||
GUIDs defined in UEFI 2.0 spec.
|
GUIDs defined in UEFI 2.0 spec.
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
Terminal Device Path Vendor Guid.
|
Terminal Device Path Vendor Guid.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
@par Revision Reference:
|
@par Revision Reference:
|
||||||
GUIDs defined in UEFI 2.0 spec.
|
GUIDs defined in UEFI 2.0 spec.
|
||||||
@ -42,7 +42,7 @@
|
|||||||
{ \
|
{ \
|
||||||
0x37499a9d, 0x542f, 0x4c89, {0xa0, 0x26, 0x35, 0xda, 0x14, 0x20, 0x94, 0xe4 } \
|
0x37499a9d, 0x542f, 0x4c89, {0xa0, 0x26, 0x35, 0xda, 0x14, 0x20, 0x94, 0xe4 } \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define EFI_SAS_DEVICE_PATH_GUID \
|
#define EFI_SAS_DEVICE_PATH_GUID \
|
||||||
{ \
|
{ \
|
||||||
0xd487ddb4, 0x008b, 0x11d9, {0xaf, 0xdc, 0x00, 0x10, 0x83, 0xff, 0xca, 0x4d } \
|
0xd487ddb4, 0x008b, 0x11d9, {0xaf, 0xdc, 0x00, 0x10, 0x83, 0xff, 0xca, 0x4d } \
|
||||||
|
@ -5,13 +5,13 @@
|
|||||||
the system.
|
the system.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
@par Revision Reference:
|
@par Revision Reference:
|
||||||
GUIDs defined in UEFI 2.0 spec.
|
GUIDs defined in UEFI 2.0 spec.
|
||||||
|
@ -6,13 +6,13 @@
|
|||||||
tables.
|
tables.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
@par Revision Reference:
|
@par Revision Reference:
|
||||||
GUIDs defined in UEFI 2.5 spec.
|
GUIDs defined in UEFI 2.5 spec.
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
@par Revision Reference:
|
@par Revision Reference:
|
||||||
These GUIDs and structures are defined in UEFI Platform Initialization Specification 1.2
|
These GUIDs and structures are defined in UEFI Platform Initialization Specification 1.2
|
||||||
Volume 3: Shared Architectural Elements
|
Volume 3: Shared Architectural Elements
|
||||||
|
|
||||||
**/
|
**/
|
||||||
@ -38,12 +38,12 @@ typedef enum {
|
|||||||
///
|
///
|
||||||
EfiStringUnicode,
|
EfiStringUnicode,
|
||||||
///
|
///
|
||||||
/// An EFI_STATUS_CODE_STRING_TOKEN representing the string. The actual
|
/// An EFI_STATUS_CODE_STRING_TOKEN representing the string. The actual
|
||||||
/// string can be obtained by querying the HII Database
|
/// string can be obtained by querying the HII Database
|
||||||
///
|
///
|
||||||
EfiStringToken
|
EfiStringToken
|
||||||
} EFI_STRING_TYPE;
|
} EFI_STRING_TYPE;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Specifies the format of the data in EFI_STATUS_CODE_STRING_DATA.String.
|
/// Specifies the format of the data in EFI_STATUS_CODE_STRING_DATA.String.
|
||||||
///
|
///
|
||||||
@ -60,7 +60,7 @@ typedef struct {
|
|||||||
///
|
///
|
||||||
EFI_STRING_ID Token;
|
EFI_STRING_ID Token;
|
||||||
} EFI_STATUS_CODE_STRING_TOKEN;
|
} EFI_STATUS_CODE_STRING_TOKEN;
|
||||||
|
|
||||||
typedef union {
|
typedef union {
|
||||||
///
|
///
|
||||||
/// ASCII formatted string.
|
/// ASCII formatted string.
|
||||||
@ -75,11 +75,11 @@ typedef union {
|
|||||||
///
|
///
|
||||||
EFI_STATUS_CODE_STRING_TOKEN Hii;
|
EFI_STATUS_CODE_STRING_TOKEN Hii;
|
||||||
} EFI_STATUS_CODE_STRING;
|
} EFI_STATUS_CODE_STRING;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// This data type defines a string type of extended data. A string can accompany
|
/// This data type defines a string type of extended data. A string can accompany
|
||||||
/// any status code. The string can provide additional information about the
|
/// any status code. The string can provide additional information about the
|
||||||
/// status code. The string can be ASCII, Unicode, or a Human Interface Infrastructure
|
/// status code. The string can be ASCII, Unicode, or a Human Interface Infrastructure
|
||||||
/// (HII) token/GUID pair.
|
/// (HII) token/GUID pair.
|
||||||
///
|
///
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@ -89,14 +89,14 @@ typedef struct {
|
|||||||
/// sizeof (EFI_STATUS_CODE_STRING_DATA) - HeaderSize, and
|
/// sizeof (EFI_STATUS_CODE_STRING_DATA) - HeaderSize, and
|
||||||
/// DataHeader.Type should be
|
/// DataHeader.Type should be
|
||||||
/// EFI_STATUS_CODE_DATA_TYPE_STRING_GUID.
|
/// EFI_STATUS_CODE_DATA_TYPE_STRING_GUID.
|
||||||
///
|
///
|
||||||
EFI_STATUS_CODE_DATA DataHeader;
|
EFI_STATUS_CODE_DATA DataHeader;
|
||||||
///
|
///
|
||||||
/// Specifies the format of the data in String.
|
/// Specifies the format of the data in String.
|
||||||
///
|
///
|
||||||
EFI_STRING_TYPE StringType;
|
EFI_STRING_TYPE StringType;
|
||||||
///
|
///
|
||||||
/// A pointer to the extended data. The data follows the format specified by
|
/// A pointer to the extended data. The data follows the format specified by
|
||||||
/// StringType.
|
/// StringType.
|
||||||
///
|
///
|
||||||
EFI_STATUS_CODE_STRING String;
|
EFI_STATUS_CODE_STRING String;
|
||||||
@ -123,7 +123,7 @@ extern EFI_GUID gEfiStatusCodeDataTypeStringGuid;
|
|||||||
{ 0x335984bd, 0xe805, 0x409a, { 0xb8, 0xf8, 0xd2, 0x7e, 0xce, 0x5f, 0xf7, 0xa6 } }
|
{ 0x335984bd, 0xe805, 0x409a, { 0xb8, 0xf8, 0xd2, 0x7e, 0xce, 0x5f, 0xf7, 0xa6 } }
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Extended data about the device path, which is used for many errors and
|
/// Extended data about the device path, which is used for many errors and
|
||||||
/// progress codes to point to the device.
|
/// progress codes to point to the device.
|
||||||
///
|
///
|
||||||
/// The device path is used to point to the physical device in case there is more than one device
|
/// The device path is used to point to the physical device in case there is more than one device
|
||||||
@ -148,7 +148,7 @@ typedef struct {
|
|||||||
///
|
///
|
||||||
EFI_STATUS_CODE_DATA DataHeader;
|
EFI_STATUS_CODE_DATA DataHeader;
|
||||||
///
|
///
|
||||||
/// The device path to the controller or the hardware device. Note that this parameter is a
|
/// The device path to the controller or the hardware device. Note that this parameter is a
|
||||||
/// variable-length device path structure and not a pointer to such a structure. This structure is
|
/// variable-length device path structure and not a pointer to such a structure. This structure is
|
||||||
/// populated only if it is a physical device. For virtual devices, the Size field in DataHeader
|
/// populated only if it is a physical device. For virtual devices, the Size field in DataHeader
|
||||||
/// is set to zero and this field is not populated.
|
/// is set to zero and this field is not populated.
|
||||||
@ -183,7 +183,7 @@ typedef struct {
|
|||||||
///
|
///
|
||||||
/// This structure defines extended data describing a PCI resource allocation error.
|
/// This structure defines extended data describing a PCI resource allocation error.
|
||||||
///
|
///
|
||||||
/// @par Note:
|
/// @par Note:
|
||||||
/// The following structure contains variable-length fields and cannot be defined as a C-style
|
/// The following structure contains variable-length fields and cannot be defined as a C-style
|
||||||
/// structure.
|
/// structure.
|
||||||
///
|
///
|
||||||
@ -209,7 +209,7 @@ typedef struct {
|
|||||||
///
|
///
|
||||||
/// DevicePathSize should be zero if it is a virtual device that is not associated with
|
/// DevicePathSize should be zero if it is a virtual device that is not associated with
|
||||||
/// a device path. Otherwise, this parameter is the length of the variable-length
|
/// a device path. Otherwise, this parameter is the length of the variable-length
|
||||||
/// DevicePath.
|
/// DevicePath.
|
||||||
///
|
///
|
||||||
UINT16 DevicePathSize;
|
UINT16 DevicePathSize;
|
||||||
///
|
///
|
||||||
@ -223,9 +223,9 @@ typedef struct {
|
|||||||
///
|
///
|
||||||
UINT16 AllocResSize;
|
UINT16 AllocResSize;
|
||||||
///
|
///
|
||||||
/// The device path to the controller or the hardware device that did not get the requested
|
/// The device path to the controller or the hardware device that did not get the requested
|
||||||
/// resources. Note that this parameter is the variable-length device path structure and not
|
/// resources. Note that this parameter is the variable-length device path structure and not
|
||||||
/// a pointer to this structure.
|
/// a pointer to this structure.
|
||||||
///
|
///
|
||||||
// EFI_DEVICE_PATH_PROTOCOL DevicePath;
|
// EFI_DEVICE_PATH_PROTOCOL DevicePath;
|
||||||
///
|
///
|
||||||
@ -234,7 +234,7 @@ typedef struct {
|
|||||||
///
|
///
|
||||||
// UINT8 ReqRes[];
|
// UINT8 ReqRes[];
|
||||||
///
|
///
|
||||||
/// The allocated resources in the format of an ACPI 2.0 resource descriptor. This
|
/// The allocated resources in the format of an ACPI 2.0 resource descriptor. This
|
||||||
/// parameter is not a pointer; it is the complete resource descriptor.
|
/// parameter is not a pointer; it is the complete resource descriptor.
|
||||||
///
|
///
|
||||||
// UINT8 AllocRes[];
|
// UINT8 AllocRes[];
|
||||||
@ -244,7 +244,7 @@ typedef struct {
|
|||||||
/// This structure provides a calculation for base-10 representations.
|
/// This structure provides a calculation for base-10 representations.
|
||||||
///
|
///
|
||||||
/// Not consistent with PI 1.2 Specification.
|
/// Not consistent with PI 1.2 Specification.
|
||||||
/// This data type is not defined in the PI 1.2 Specification, but is
|
/// This data type is not defined in the PI 1.2 Specification, but is
|
||||||
/// required by several of the other data structures in this file.
|
/// required by several of the other data structures in this file.
|
||||||
///
|
///
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@ -253,16 +253,16 @@ typedef struct {
|
|||||||
///
|
///
|
||||||
INT16 Value;
|
INT16 Value;
|
||||||
///
|
///
|
||||||
/// The INT16 number by which to raise the base-2 calculation.
|
/// The INT16 number by which to raise the base-2 calculation.
|
||||||
///
|
///
|
||||||
INT16 Exponent;
|
INT16 Exponent;
|
||||||
} EFI_EXP_BASE10_DATA;
|
} EFI_EXP_BASE10_DATA;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// This structure provides the voltage at the time of error. It also provides
|
/// This structure provides the voltage at the time of error. It also provides
|
||||||
/// the threshold value indicating the minimum or maximum voltage that is considered
|
/// the threshold value indicating the minimum or maximum voltage that is considered
|
||||||
/// an error. If the voltage is less then the threshold, the error indicates that the
|
/// an error. If the voltage is less then the threshold, the error indicates that the
|
||||||
/// voltage fell below the minimum acceptable value. If the voltage is greater then the threshold,
|
/// voltage fell below the minimum acceptable value. If the voltage is greater then the threshold,
|
||||||
/// the error indicates that the voltage rose above the maximum acceptable value.
|
/// the error indicates that the voltage rose above the maximum acceptable value.
|
||||||
///
|
///
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@ -312,7 +312,7 @@ typedef struct {
|
|||||||
/// sizeof (EFI_STATUS_CODE_DATA), DataHeader.Size should be
|
/// sizeof (EFI_STATUS_CODE_DATA), DataHeader.Size should be
|
||||||
/// sizeof (EFI_COMPUTING_UNIT_TIMER_EXPIRED_ERROR_DATA) -
|
/// sizeof (EFI_COMPUTING_UNIT_TIMER_EXPIRED_ERROR_DATA) -
|
||||||
/// HeaderSize, and DataHeader.Type should be
|
/// HeaderSize, and DataHeader.Type should be
|
||||||
/// EFI_STATUS_CODE_SPECIFIC_DATA_GUID.
|
/// EFI_STATUS_CODE_SPECIFIC_DATA_GUID.
|
||||||
///
|
///
|
||||||
EFI_STATUS_CODE_DATA DataHeader;
|
EFI_STATUS_CODE_DATA DataHeader;
|
||||||
///
|
///
|
||||||
@ -341,11 +341,11 @@ typedef struct {
|
|||||||
///
|
///
|
||||||
/// This structure defines extended data for processor mismatch errors.
|
/// This structure defines extended data for processor mismatch errors.
|
||||||
///
|
///
|
||||||
/// This provides information to indicate which processors mismatch, and how they mismatch. The
|
/// This provides information to indicate which processors mismatch, and how they mismatch. The
|
||||||
/// status code contains the instance number of the processor that is in error. This structure's
|
/// status code contains the instance number of the processor that is in error. This structure's
|
||||||
/// Instance indicates the second processor that does not match. This differentiation allows the
|
/// Instance indicates the second processor that does not match. This differentiation allows the
|
||||||
/// consumer to determine which two processors do not match. The Attributes indicate what
|
/// consumer to determine which two processors do not match. The Attributes indicate what
|
||||||
/// mismatch is being reported. Because Attributes is a bit field, more than one mismatch can be
|
/// mismatch is being reported. Because Attributes is a bit field, more than one mismatch can be
|
||||||
/// reported with one error code.
|
/// reported with one error code.
|
||||||
///
|
///
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@ -354,23 +354,23 @@ typedef struct {
|
|||||||
/// sizeof (EFI_STATUS_CODE_DATA), DataHeader.Size should be
|
/// sizeof (EFI_STATUS_CODE_DATA), DataHeader.Size should be
|
||||||
/// sizeof (EFI_ HOST_PROCESSOR_MISMATCH_ERROR_DATA) -
|
/// sizeof (EFI_ HOST_PROCESSOR_MISMATCH_ERROR_DATA) -
|
||||||
/// HeaderSize , and DataHeader.Type should be
|
/// HeaderSize , and DataHeader.Type should be
|
||||||
/// EFI_STATUS_CODE_SPECIFIC_DATA_GUID.
|
/// EFI_STATUS_CODE_SPECIFIC_DATA_GUID.
|
||||||
///
|
///
|
||||||
EFI_STATUS_CODE_DATA DataHeader;
|
EFI_STATUS_CODE_DATA DataHeader;
|
||||||
///
|
///
|
||||||
/// The unit number of the computing unit that does not match.
|
/// The unit number of the computing unit that does not match.
|
||||||
///
|
///
|
||||||
UINT32 Instance;
|
UINT32 Instance;
|
||||||
///
|
///
|
||||||
/// The attributes describing the failure.
|
/// The attributes describing the failure.
|
||||||
///
|
///
|
||||||
UINT16 Attributes;
|
UINT16 Attributes;
|
||||||
} EFI_HOST_PROCESSOR_MISMATCH_ERROR_DATA;
|
} EFI_HOST_PROCESSOR_MISMATCH_ERROR_DATA;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// This structure provides details about the computing unit thermal failure.
|
/// This structure provides details about the computing unit thermal failure.
|
||||||
///
|
///
|
||||||
/// This structure provides the temperature at the time of error. It also provides the threshold value
|
/// This structure provides the temperature at the time of error. It also provides the threshold value
|
||||||
/// indicating the minimum temperature that is considered an error.
|
/// indicating the minimum temperature that is considered an error.
|
||||||
///
|
///
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@ -379,7 +379,7 @@ typedef struct {
|
|||||||
/// sizeof (EFI_STATUS_CODE_DATA), DataHeader.Size should be
|
/// sizeof (EFI_STATUS_CODE_DATA), DataHeader.Size should be
|
||||||
/// sizeof (EFI_COMPUTING_UNIT_THERMAL_ERROR_DATA) -
|
/// sizeof (EFI_COMPUTING_UNIT_THERMAL_ERROR_DATA) -
|
||||||
/// HeaderSize , and DataHeader.Type should be
|
/// HeaderSize , and DataHeader.Type should be
|
||||||
/// EFI_STATUS_CODE_SPECIFIC_DATA_GUID.
|
/// EFI_STATUS_CODE_SPECIFIC_DATA_GUID.
|
||||||
///
|
///
|
||||||
EFI_STATUS_CODE_DATA DataHeader;
|
EFI_STATUS_CODE_DATA DataHeader;
|
||||||
///
|
///
|
||||||
@ -429,7 +429,7 @@ typedef struct {
|
|||||||
typedef UINT32 EFI_CPU_STATE_CHANGE_CAUSE;
|
typedef UINT32 EFI_CPU_STATE_CHANGE_CAUSE;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// The reasons that the processor is disabled.
|
/// The reasons that the processor is disabled.
|
||||||
/// Used to fill in EFI_COMPUTING_UNIT_CPU_DISABLED_ERROR_DATA.Cause.
|
/// Used to fill in EFI_COMPUTING_UNIT_CPU_DISABLED_ERROR_DATA.Cause.
|
||||||
///
|
///
|
||||||
///@{
|
///@{
|
||||||
@ -447,8 +447,8 @@ typedef UINT32 EFI_CPU_STATE_CHANGE_CAUSE;
|
|||||||
///
|
///
|
||||||
/// This structure provides information about the disabled computing unit.
|
/// This structure provides information about the disabled computing unit.
|
||||||
///
|
///
|
||||||
/// This structure provides details as to why and how the computing unit was disabled. The causes
|
/// This structure provides details as to why and how the computing unit was disabled. The causes
|
||||||
/// should cover the typical reasons a processor would be disabled. How the processor was disabled is
|
/// should cover the typical reasons a processor would be disabled. How the processor was disabled is
|
||||||
/// important because there are distinct differences between hardware and software disabling.
|
/// important because there are distinct differences between hardware and software disabling.
|
||||||
///
|
///
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@ -461,12 +461,12 @@ typedef struct {
|
|||||||
///
|
///
|
||||||
EFI_STATUS_CODE_DATA DataHeader;
|
EFI_STATUS_CODE_DATA DataHeader;
|
||||||
///
|
///
|
||||||
/// The reason for disabling the processor.
|
/// The reason for disabling the processor.
|
||||||
///
|
///
|
||||||
UINT32 Cause;
|
UINT32 Cause;
|
||||||
///
|
///
|
||||||
/// TRUE if the processor is disabled via software means such as not listing it in the ACPI tables.
|
/// TRUE if the processor is disabled via software means such as not listing it in the ACPI tables.
|
||||||
/// Such a processor will respond to Interprocessor Interrupts (IPIs). FALSE if the processor is hardware
|
/// Such a processor will respond to Interprocessor Interrupts (IPIs). FALSE if the processor is hardware
|
||||||
/// disabled, which means it is invisible to software and will not respond to IPIs.
|
/// disabled, which means it is invisible to software and will not respond to IPIs.
|
||||||
///
|
///
|
||||||
BOOLEAN SoftwareDisabled;
|
BOOLEAN SoftwareDisabled;
|
||||||
@ -504,8 +504,8 @@ typedef UINT8 EFI_MEMORY_ERROR_OPERATION;
|
|||||||
///@}
|
///@}
|
||||||
|
|
||||||
///
|
///
|
||||||
/// This structure provides specific details about the memory error that was detected. It provides
|
/// This structure provides specific details about the memory error that was detected. It provides
|
||||||
/// enough information so that consumers can identify the exact failure and provides enough
|
/// enough information so that consumers can identify the exact failure and provides enough
|
||||||
/// information to enable corrective action if necessary.
|
/// information to enable corrective action if necessary.
|
||||||
///
|
///
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@ -513,7 +513,7 @@ typedef struct {
|
|||||||
/// The data header identifying the data. DataHeader.HeaderSize should be
|
/// The data header identifying the data. DataHeader.HeaderSize should be
|
||||||
/// sizeof (EFI_STATUS_CODE_DATA), DataHeader.Size should be
|
/// sizeof (EFI_STATUS_CODE_DATA), DataHeader.Size should be
|
||||||
/// sizeof (EFI_MEMORY_EXTENDED_ERROR_DATA) - HeaderSize, and
|
/// sizeof (EFI_MEMORY_EXTENDED_ERROR_DATA) - HeaderSize, and
|
||||||
/// DataHeader.Type should be EFI_STATUS_CODE_SPECIFIC_DATA_GUID.
|
/// DataHeader.Type should be EFI_STATUS_CODE_SPECIFIC_DATA_GUID.
|
||||||
///
|
///
|
||||||
EFI_STATUS_CODE_DATA DataHeader;
|
EFI_STATUS_CODE_DATA DataHeader;
|
||||||
///
|
///
|
||||||
@ -521,18 +521,18 @@ typedef struct {
|
|||||||
///
|
///
|
||||||
EFI_MEMORY_ERROR_GRANULARITY Granularity;
|
EFI_MEMORY_ERROR_GRANULARITY Granularity;
|
||||||
///
|
///
|
||||||
/// The operation that resulted in the error being detected.
|
/// The operation that resulted in the error being detected.
|
||||||
///
|
///
|
||||||
EFI_MEMORY_ERROR_OPERATION Operation;
|
EFI_MEMORY_ERROR_OPERATION Operation;
|
||||||
///
|
///
|
||||||
/// The error syndrome, vendor-specific ECC syndrome, or CRC data associated with
|
/// The error syndrome, vendor-specific ECC syndrome, or CRC data associated with
|
||||||
/// the error. If unknown, should be initialized to 0.
|
/// the error. If unknown, should be initialized to 0.
|
||||||
/// Inconsistent with specification here:
|
/// Inconsistent with specification here:
|
||||||
/// This field in StatusCodes spec0.9 is defined as UINT32, keep code unchanged.
|
/// This field in StatusCodes spec0.9 is defined as UINT32, keep code unchanged.
|
||||||
///
|
///
|
||||||
UINTN Syndrome;
|
UINTN Syndrome;
|
||||||
///
|
///
|
||||||
/// The physical address of the error.
|
/// The physical address of the error.
|
||||||
///
|
///
|
||||||
EFI_PHYSICAL_ADDRESS Address;
|
EFI_PHYSICAL_ADDRESS Address;
|
||||||
///
|
///
|
||||||
@ -543,31 +543,31 @@ typedef struct {
|
|||||||
|
|
||||||
///
|
///
|
||||||
/// A definition to describe that the operation is performed on multiple devices within the array.
|
/// A definition to describe that the operation is performed on multiple devices within the array.
|
||||||
/// May be used for EFI_STATUS_CODE_DIMM_NUMBER.Array and EFI_STATUS_CODE_DIMM_NUMBER.Device.
|
/// May be used for EFI_STATUS_CODE_DIMM_NUMBER.Array and EFI_STATUS_CODE_DIMM_NUMBER.Device.
|
||||||
///
|
///
|
||||||
#define EFI_MULTIPLE_MEMORY_DEVICE_OPERATION 0xfffe
|
#define EFI_MULTIPLE_MEMORY_DEVICE_OPERATION 0xfffe
|
||||||
|
|
||||||
///
|
///
|
||||||
/// A definition to describe that the operation is performed on all devices within the array.
|
/// A definition to describe that the operation is performed on all devices within the array.
|
||||||
/// May be used for EFI_STATUS_CODE_DIMM_NUMBER.Array and EFI_STATUS_CODE_DIMM_NUMBER.Device.
|
/// May be used for EFI_STATUS_CODE_DIMM_NUMBER.Array and EFI_STATUS_CODE_DIMM_NUMBER.Device.
|
||||||
///
|
///
|
||||||
#define EFI_ALL_MEMORY_DEVICE_OPERATION 0xffff
|
#define EFI_ALL_MEMORY_DEVICE_OPERATION 0xffff
|
||||||
|
|
||||||
///
|
///
|
||||||
/// A definition to describe that the operation is performed on multiple arrays.
|
/// A definition to describe that the operation is performed on multiple arrays.
|
||||||
/// May be used for EFI_STATUS_CODE_DIMM_NUMBER.Array and EFI_STATUS_CODE_DIMM_NUMBER.Device.
|
/// May be used for EFI_STATUS_CODE_DIMM_NUMBER.Array and EFI_STATUS_CODE_DIMM_NUMBER.Device.
|
||||||
///
|
///
|
||||||
#define EFI_MULTIPLE_MEMORY_ARRAY_OPERATION 0xfffe
|
#define EFI_MULTIPLE_MEMORY_ARRAY_OPERATION 0xfffe
|
||||||
|
|
||||||
///
|
///
|
||||||
/// A definition to describe that the operation is performed on all the arrays.
|
/// A definition to describe that the operation is performed on all the arrays.
|
||||||
/// May be used for EFI_STATUS_CODE_DIMM_NUMBER.Array and EFI_STATUS_CODE_DIMM_NUMBER.Device.
|
/// May be used for EFI_STATUS_CODE_DIMM_NUMBER.Array and EFI_STATUS_CODE_DIMM_NUMBER.Device.
|
||||||
///
|
///
|
||||||
#define EFI_ALL_MEMORY_ARRAY_OPERATION 0xffff
|
#define EFI_ALL_MEMORY_ARRAY_OPERATION 0xffff
|
||||||
|
|
||||||
///
|
///
|
||||||
/// This extended data provides some context that consumers can use to locate a DIMM within the
|
/// This extended data provides some context that consumers can use to locate a DIMM within the
|
||||||
/// overall memory scheme.
|
/// overall memory scheme.
|
||||||
///
|
///
|
||||||
/// This extended data provides some context that consumers can use to locate a DIMM within the
|
/// This extended data provides some context that consumers can use to locate a DIMM within the
|
||||||
/// overall memory scheme. The Array and Device numbers may indicate a specific DIMM, or they
|
/// overall memory scheme. The Array and Device numbers may indicate a specific DIMM, or they
|
||||||
@ -595,7 +595,7 @@ typedef struct {
|
|||||||
/// This structure defines extended data describing memory modules that do not match.
|
/// This structure defines extended data describing memory modules that do not match.
|
||||||
///
|
///
|
||||||
/// This extended data may be used to convey the specifics of memory modules that do not match.
|
/// This extended data may be used to convey the specifics of memory modules that do not match.
|
||||||
///
|
///
|
||||||
typedef struct {
|
typedef struct {
|
||||||
///
|
///
|
||||||
/// The data header identifying the data. DataHeader.HeaderSize should be
|
/// The data header identifying the data. DataHeader.HeaderSize should be
|
||||||
@ -606,7 +606,7 @@ typedef struct {
|
|||||||
///
|
///
|
||||||
EFI_STATUS_CODE_DATA DataHeader;
|
EFI_STATUS_CODE_DATA DataHeader;
|
||||||
///
|
///
|
||||||
/// The instance number of the memory module that does not match.
|
/// The instance number of the memory module that does not match.
|
||||||
///
|
///
|
||||||
EFI_STATUS_CODE_DIMM_NUMBER Instance;
|
EFI_STATUS_CODE_DIMM_NUMBER Instance;
|
||||||
} EFI_MEMORY_MODULE_MISMATCH_ERROR_DATA;
|
} EFI_MEMORY_MODULE_MISMATCH_ERROR_DATA;
|
||||||
@ -614,7 +614,7 @@ typedef struct {
|
|||||||
///
|
///
|
||||||
/// This structure defines extended data describing a memory range.
|
/// This structure defines extended data describing a memory range.
|
||||||
///
|
///
|
||||||
/// This extended data may be used to convey the specifics of a memory range. Ranges are specified
|
/// This extended data may be used to convey the specifics of a memory range. Ranges are specified
|
||||||
/// with a start address and a length.
|
/// with a start address and a length.
|
||||||
///
|
///
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@ -622,11 +622,11 @@ typedef struct {
|
|||||||
/// The data header identifying the data. DataHeader.HeaderSize should be
|
/// The data header identifying the data. DataHeader.HeaderSize should be
|
||||||
/// sizeof (EFI_STATUS_CODE_DATA), DataHeader.Size should be
|
/// sizeof (EFI_STATUS_CODE_DATA), DataHeader.Size should be
|
||||||
/// sizeof (EFI_MEMORY_RANGE_EXTENDED_DATA) - HeaderSize, and
|
/// sizeof (EFI_MEMORY_RANGE_EXTENDED_DATA) - HeaderSize, and
|
||||||
/// DataHeader.Type should be EFI_STATUS_CODE_SPECIFIC_DATA_GUID.
|
/// DataHeader.Type should be EFI_STATUS_CODE_SPECIFIC_DATA_GUID.
|
||||||
///
|
///
|
||||||
EFI_STATUS_CODE_DATA DataHeader;
|
EFI_STATUS_CODE_DATA DataHeader;
|
||||||
///
|
///
|
||||||
/// The starting address of the memory range.
|
/// The starting address of the memory range.
|
||||||
///
|
///
|
||||||
EFI_PHYSICAL_ADDRESS Start;
|
EFI_PHYSICAL_ADDRESS Start;
|
||||||
///
|
///
|
||||||
@ -647,7 +647,7 @@ typedef struct {
|
|||||||
/// sizeof (EFI_STATUS_CODE_DATA), DataHeader.Size should be
|
/// sizeof (EFI_STATUS_CODE_DATA), DataHeader.Size should be
|
||||||
/// sizeof (EFI_DEBUG_ASSERT_DATA) - HeaderSize , and
|
/// sizeof (EFI_DEBUG_ASSERT_DATA) - HeaderSize , and
|
||||||
/// DataHeader.Type should be EFI_STATUS_CODE_SPECIFIC_DATA_GUID.
|
/// DataHeader.Type should be EFI_STATUS_CODE_SPECIFIC_DATA_GUID.
|
||||||
///
|
///
|
||||||
EFI_STATUS_CODE_DATA DataHeader;
|
EFI_STATUS_CODE_DATA DataHeader;
|
||||||
///
|
///
|
||||||
/// The line number of the source file where the fault was generated.
|
/// The line number of the source file where the fault was generated.
|
||||||
@ -658,7 +658,7 @@ typedef struct {
|
|||||||
///
|
///
|
||||||
UINT32 FileNameSize;
|
UINT32 FileNameSize;
|
||||||
///
|
///
|
||||||
/// A pointer to a NULL-terminated ASCII or Unicode string that represents
|
/// A pointer to a NULL-terminated ASCII or Unicode string that represents
|
||||||
/// the file name of the source file where the fault was generated.
|
/// the file name of the source file where the fault was generated.
|
||||||
///
|
///
|
||||||
EFI_STATUS_CODE_STRING_DATA *FileName;
|
EFI_STATUS_CODE_STRING_DATA *FileName;
|
||||||
@ -691,7 +691,7 @@ typedef union {
|
|||||||
/// EFI_SYSTEM_CONTEXT_X64 is defined in the
|
/// EFI_SYSTEM_CONTEXT_X64 is defined in the
|
||||||
/// EFI_DEBUG_SUPPORT_PROTOCOL in the UEFI Specification.
|
/// EFI_DEBUG_SUPPORT_PROTOCOL in the UEFI Specification.
|
||||||
///
|
///
|
||||||
EFI_SYSTEM_CONTEXT_X64 SystemContextX64;
|
EFI_SYSTEM_CONTEXT_X64 SystemContextX64;
|
||||||
///
|
///
|
||||||
/// The context of the ARM processor when the exception was generated. Type
|
/// The context of the ARM processor when the exception was generated. Type
|
||||||
/// EFI_SYSTEM_CONTEXT_ARM is defined in the
|
/// EFI_SYSTEM_CONTEXT_ARM is defined in the
|
||||||
@ -713,11 +713,11 @@ typedef struct {
|
|||||||
/// sizeof (EFI_STATUS_CODE_DATA), DataHeader.Size should be
|
/// sizeof (EFI_STATUS_CODE_DATA), DataHeader.Size should be
|
||||||
/// sizeof (EFI_STATUS_CODE_EXCEP_EXTENDED_DATA) - HeaderSize,
|
/// sizeof (EFI_STATUS_CODE_EXCEP_EXTENDED_DATA) - HeaderSize,
|
||||||
/// and DataHeader.Type should be
|
/// and DataHeader.Type should be
|
||||||
/// EFI_STATUS_CODE_SPECIFIC_DATA_GUID.
|
/// EFI_STATUS_CODE_SPECIFIC_DATA_GUID.
|
||||||
///
|
///
|
||||||
EFI_STATUS_CODE_DATA DataHeader;
|
EFI_STATUS_CODE_DATA DataHeader;
|
||||||
///
|
///
|
||||||
/// The system context.
|
/// The system context.
|
||||||
///
|
///
|
||||||
EFI_STATUS_CODE_EXCEP_SYSTEM_CONTEXT Context;
|
EFI_STATUS_CODE_EXCEP_SYSTEM_CONTEXT Context;
|
||||||
} EFI_STATUS_CODE_EXCEP_EXTENDED_DATA;
|
} EFI_STATUS_CODE_EXCEP_EXTENDED_DATA;
|
||||||
@ -729,33 +729,33 @@ typedef struct {
|
|||||||
/// the UEFI Driver Binding Protocol.
|
/// the UEFI Driver Binding Protocol.
|
||||||
///
|
///
|
||||||
typedef struct {
|
typedef struct {
|
||||||
///
|
///
|
||||||
/// The data header identifying the data. DataHeader.HeaderSize should be
|
/// The data header identifying the data. DataHeader.HeaderSize should be
|
||||||
/// sizeof (EFI_STATUS_CODE_DATA), DataHeader.Size should be
|
/// sizeof (EFI_STATUS_CODE_DATA), DataHeader.Size should be
|
||||||
/// sizeof (EFI_STATUS_CODE_START_EXTENDED_DATA) - HeaderSize,
|
/// sizeof (EFI_STATUS_CODE_START_EXTENDED_DATA) - HeaderSize,
|
||||||
/// and DataHeader.Type should be
|
/// and DataHeader.Type should be
|
||||||
/// EFI_STATUS_CODE_SPECIFIC_DATA_GUID.
|
/// EFI_STATUS_CODE_SPECIFIC_DATA_GUID.
|
||||||
///
|
///
|
||||||
EFI_STATUS_CODE_DATA DataHeader;
|
EFI_STATUS_CODE_DATA DataHeader;
|
||||||
///
|
///
|
||||||
/// The controller handle.
|
/// The controller handle.
|
||||||
///
|
///
|
||||||
EFI_HANDLE ControllerHandle;
|
EFI_HANDLE ControllerHandle;
|
||||||
///
|
///
|
||||||
/// The driver binding handle.
|
/// The driver binding handle.
|
||||||
///
|
///
|
||||||
EFI_HANDLE DriverBindingHandle;
|
EFI_HANDLE DriverBindingHandle;
|
||||||
///
|
///
|
||||||
/// The size of the RemainingDevicePath. It is zero if the Start() function is
|
/// The size of the RemainingDevicePath. It is zero if the Start() function is
|
||||||
/// called with RemainingDevicePath = NULL. The UEFI Specification allows
|
/// called with RemainingDevicePath = NULL. The UEFI Specification allows
|
||||||
/// that the Start() function of bus drivers can be called in this way.
|
/// that the Start() function of bus drivers can be called in this way.
|
||||||
///
|
///
|
||||||
UINT16 DevicePathSize;
|
UINT16 DevicePathSize;
|
||||||
///
|
///
|
||||||
/// Matches the RemainingDevicePath parameter being passed to the Start() function.
|
/// Matches the RemainingDevicePath parameter being passed to the Start() function.
|
||||||
/// Note that this parameter is the variable-length device path and not a pointer
|
/// Note that this parameter is the variable-length device path and not a pointer
|
||||||
/// to the device path.
|
/// to the device path.
|
||||||
///
|
///
|
||||||
// EFI_DEVICE_PATH_PROTOCOL RemainingDevicePath;
|
// EFI_DEVICE_PATH_PROTOCOL RemainingDevicePath;
|
||||||
} EFI_STATUS_CODE_START_EXTENDED_DATA;
|
} EFI_STATUS_CODE_START_EXTENDED_DATA;
|
||||||
|
|
||||||
@ -771,7 +771,7 @@ typedef struct {
|
|||||||
/// The data header identifying the data. DataHeader.HeaderSize should be
|
/// The data header identifying the data. DataHeader.HeaderSize should be
|
||||||
/// sizeof (EFI_STATUS_CODE_DATA), DataHeader.Size should be
|
/// sizeof (EFI_STATUS_CODE_DATA), DataHeader.Size should be
|
||||||
/// sizeof (EFI_LEGACY_OPROM_EXTENDED_DATA) - HeaderSize, and
|
/// sizeof (EFI_LEGACY_OPROM_EXTENDED_DATA) - HeaderSize, and
|
||||||
/// DataHeader.Type should be EFI_STATUS_CODE_SPECIFIC_DATA_GUID.
|
/// DataHeader.Type should be EFI_STATUS_CODE_SPECIFIC_DATA_GUID.
|
||||||
///
|
///
|
||||||
EFI_STATUS_CODE_DATA DataHeader;
|
EFI_STATUS_CODE_DATA DataHeader;
|
||||||
///
|
///
|
||||||
@ -779,7 +779,7 @@ typedef struct {
|
|||||||
///
|
///
|
||||||
EFI_HANDLE DeviceHandle;
|
EFI_HANDLE DeviceHandle;
|
||||||
///
|
///
|
||||||
/// The base address of the shadowed legacy ROM image. May or may not point to the shadow RAM area.
|
/// The base address of the shadowed legacy ROM image. May or may not point to the shadow RAM area.
|
||||||
///
|
///
|
||||||
EFI_PHYSICAL_ADDRESS RomImageBase;
|
EFI_PHYSICAL_ADDRESS RomImageBase;
|
||||||
} EFI_LEGACY_OPROM_EXTENDED_DATA;
|
} EFI_LEGACY_OPROM_EXTENDED_DATA;
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
/** @file
|
/** @file
|
||||||
GUID for system configuration table entry that points to the table
|
GUID for system configuration table entry that points to the table
|
||||||
in case an entity in DXE wishes to update/change the vector table contents.
|
in case an entity in DXE wishes to update/change the vector table contents.
|
||||||
|
|
||||||
Copyright (c) 2013, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2013, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
@par Revision Reference:
|
@par Revision Reference:
|
||||||
GUID defined in PI 1.2.1 spec.
|
GUID defined in PI 1.2.1 spec.
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
Processor or Compiler specific defines and types for IA-32 architecture.
|
Processor or Compiler specific defines and types for IA-32 architecture.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials are licensed and made available under
|
This program and the accompanying materials are licensed and made available under
|
||||||
the terms and conditions of the BSD License that accompanies this distribution.
|
the terms and conditions of the BSD License that accompanies this distribution.
|
||||||
The full text of the license may be found at
|
The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php.
|
http://opensource.org/licenses/bsd-license.php.
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
@ -100,17 +100,17 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||||||
//
|
//
|
||||||
|
|
||||||
//
|
//
|
||||||
// This warning is for potentially uninitialized local variable, and it may cause false
|
// This warning is for potentially uninitialized local variable, and it may cause false
|
||||||
// positive issues in VS2013 and VS2015 build
|
// positive issues in VS2013 and VS2015 build
|
||||||
//
|
//
|
||||||
#pragma warning ( disable : 4701 )
|
#pragma warning ( disable : 4701 )
|
||||||
|
|
||||||
//
|
//
|
||||||
// This warning is for potentially uninitialized local pointer variable, and it may cause
|
// This warning is for potentially uninitialized local pointer variable, and it may cause
|
||||||
// false positive issues in VS2013 and VS2015 build
|
// false positive issues in VS2013 and VS2015 build
|
||||||
//
|
//
|
||||||
#pragma warning ( disable : 4703 )
|
#pragma warning ( disable : 4703 )
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@ -168,7 +168,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||||||
/// 1-byte signed value.
|
/// 1-byte signed value.
|
||||||
///
|
///
|
||||||
typedef signed char INT8;
|
typedef signed char INT8;
|
||||||
#else
|
#else
|
||||||
///
|
///
|
||||||
/// 8-byte unsigned value.
|
/// 8-byte unsigned value.
|
||||||
///
|
///
|
||||||
@ -275,17 +275,17 @@ typedef INT32 INTN;
|
|||||||
#elif defined(_MSC_EXTENSIONS)
|
#elif defined(_MSC_EXTENSIONS)
|
||||||
///
|
///
|
||||||
/// Microsoft* compiler specific method for EFIAPI calling convention.
|
/// Microsoft* compiler specific method for EFIAPI calling convention.
|
||||||
///
|
///
|
||||||
#define EFIAPI __cdecl
|
#define EFIAPI __cdecl
|
||||||
#elif defined(__GNUC__)
|
#elif defined(__GNUC__)
|
||||||
///
|
///
|
||||||
/// GCC specific method for EFIAPI calling convention.
|
/// GCC specific method for EFIAPI calling convention.
|
||||||
///
|
///
|
||||||
#define EFIAPI __attribute__((cdecl))
|
#define EFIAPI __attribute__((cdecl))
|
||||||
#else
|
#else
|
||||||
///
|
///
|
||||||
/// The default for a non Microsoft* or GCC compiler is to assume the EFI ABI
|
/// The default for a non Microsoft* or GCC compiler is to assume the EFI ABI
|
||||||
/// is the standard.
|
/// is the standard.
|
||||||
///
|
///
|
||||||
#define EFIAPI
|
#define EFIAPI
|
||||||
#endif
|
#endif
|
||||||
@ -300,13 +300,13 @@ typedef INT32 INTN;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
Return the pointer to the first instruction of a function given a function pointer.
|
Return the pointer to the first instruction of a function given a function pointer.
|
||||||
On IA-32 CPU architectures, these two pointer values are the same,
|
On IA-32 CPU architectures, these two pointer values are the same,
|
||||||
so the implementation of this macro is very simple.
|
so the implementation of this macro is very simple.
|
||||||
|
|
||||||
@param FunctionPointer A pointer to a function.
|
@param FunctionPointer A pointer to a function.
|
||||||
|
|
||||||
@return The pointer to the first instruction of a function given a function pointer.
|
@return The pointer to the first instruction of a function given a function pointer.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
#define FUNCTION_ENTRY_POINT(FunctionPointer) (VOID *)(UINTN)(FunctionPointer)
|
#define FUNCTION_ENTRY_POINT(FunctionPointer) (VOID *)(UINTN)(FunctionPointer)
|
||||||
|
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
/** @file
|
/** @file
|
||||||
ACPI 1.0b definitions from the ACPI Specification, revision 1.0b
|
ACPI 1.0b definitions from the ACPI Specification, revision 1.0b
|
||||||
|
|
||||||
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials are licensed and made available under
|
This program and the accompanying materials are licensed and made available under
|
||||||
the terms and conditions of the BSD License that accompanies this distribution.
|
the terms and conditions of the BSD License that accompanies this distribution.
|
||||||
The full text of the license may be found at
|
The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php.
|
http://opensource.org/licenses/bsd-license.php.
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
**/
|
**/
|
||||||
|
|
||||||
#ifndef _ACPI_1_0_H_
|
#ifndef _ACPI_1_0_H_
|
||||||
@ -357,7 +357,7 @@ typedef struct {
|
|||||||
#define EFI_ACPI_DMA_SPEED_TYPE_A 0x20
|
#define EFI_ACPI_DMA_SPEED_TYPE_A 0x20
|
||||||
#define EFI_ACPI_DMA_SPEED_TYPE_B 0x40
|
#define EFI_ACPI_DMA_SPEED_TYPE_B 0x40
|
||||||
#define EFI_ACPI_DMA_SPEED_TYPE_F 0x60
|
#define EFI_ACPI_DMA_SPEED_TYPE_F 0x60
|
||||||
|
|
||||||
#define EFI_ACPI_DMA_BUS_MASTER_MASK 0x04
|
#define EFI_ACPI_DMA_BUS_MASTER_MASK 0x04
|
||||||
#define EFI_ACPI_DMA_BUS_MASTER 0x04
|
#define EFI_ACPI_DMA_BUS_MASTER 0x04
|
||||||
|
|
||||||
@ -403,7 +403,7 @@ typedef struct {
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Root System Description Table
|
// Root System Description Table
|
||||||
// No definition needed as it is a common description table header, the same with
|
// No definition needed as it is a common description table header, the same with
|
||||||
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
|
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
|
||||||
//
|
//
|
||||||
|
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
/** @file
|
/** @file
|
||||||
ACPI 2.0 definitions from the ACPI Specification, revision 2.0
|
ACPI 2.0 definitions from the ACPI Specification, revision 2.0
|
||||||
|
|
||||||
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
**/
|
**/
|
||||||
|
|
||||||
#ifndef _ACPI_2_0_H_
|
#ifndef _ACPI_2_0_H_
|
||||||
@ -103,7 +103,7 @@ typedef struct {
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Root System Description Table
|
// Root System Description Table
|
||||||
// No definition needed as it is a common description table header, the same with
|
// No definition needed as it is a common description table header, the same with
|
||||||
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
|
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
|
||||||
//
|
//
|
||||||
|
|
||||||
@ -114,7 +114,7 @@ typedef struct {
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Extended System Description Table
|
// Extended System Description Table
|
||||||
// No definition needed as it is a common description table header, the same with
|
// No definition needed as it is a common description table header, the same with
|
||||||
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers.
|
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers.
|
||||||
//
|
//
|
||||||
|
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
/** @file
|
/** @file
|
||||||
ACPI 3.0 definitions from the ACPI Specification Revision 3.0b October 10, 2006
|
ACPI 3.0 definitions from the ACPI Specification Revision 3.0b October 10, 2006
|
||||||
|
|
||||||
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
**/
|
**/
|
||||||
|
|
||||||
#ifndef _ACPI_3_0_H_
|
#ifndef _ACPI_3_0_H_
|
||||||
@ -128,7 +128,7 @@ typedef struct {
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Root System Description Table
|
// Root System Description Table
|
||||||
// No definition needed as it is a common description table header, the same with
|
// No definition needed as it is a common description table header, the same with
|
||||||
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
|
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
|
||||||
//
|
//
|
||||||
|
|
||||||
@ -139,7 +139,7 @@ typedef struct {
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Extended System Description Table
|
// Extended System Description Table
|
||||||
// No definition needed as it is a common description table header, the same with
|
// No definition needed as it is a common description table header, the same with
|
||||||
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers.
|
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers.
|
||||||
//
|
//
|
||||||
|
|
||||||
@ -597,7 +597,7 @@ typedef struct {
|
|||||||
///
|
///
|
||||||
/// "RSD PTR " Root System Description Pointer
|
/// "RSD PTR " Root System Description Pointer
|
||||||
///
|
///
|
||||||
#define EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
|
#define EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
|
||||||
|
|
||||||
///
|
///
|
||||||
/// "APIC" Multiple APIC Description Table
|
/// "APIC" Multiple APIC Description Table
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
/** @file
|
/** @file
|
||||||
ACPI 4.0 definitions from the ACPI Specification Revision 4.0a April 5, 2010
|
ACPI 4.0 definitions from the ACPI Specification Revision 4.0a April 5, 2010
|
||||||
|
|
||||||
Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
**/
|
**/
|
||||||
|
|
||||||
#ifndef _ACPI_4_0_H_
|
#ifndef _ACPI_4_0_H_
|
||||||
@ -86,7 +86,7 @@ typedef struct {
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Root System Description Table
|
// Root System Description Table
|
||||||
// No definition needed as it is a common description table header, the same with
|
// No definition needed as it is a common description table header, the same with
|
||||||
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
|
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
|
||||||
//
|
//
|
||||||
|
|
||||||
@ -97,7 +97,7 @@ typedef struct {
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Extended System Description Table
|
// Extended System Description Table
|
||||||
// No definition needed as it is a common description table header, the same with
|
// No definition needed as it is a common description table header, the same with
|
||||||
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers.
|
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers.
|
||||||
//
|
//
|
||||||
|
|
||||||
@ -1132,7 +1132,7 @@ typedef struct {
|
|||||||
///
|
///
|
||||||
/// "RSD PTR " Root System Description Pointer
|
/// "RSD PTR " Root System Description Pointer
|
||||||
///
|
///
|
||||||
#define EFI_ACPI_4_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
|
#define EFI_ACPI_4_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
|
||||||
|
|
||||||
///
|
///
|
||||||
/// "APIC" Multiple APIC Description Table
|
/// "APIC" Multiple APIC Description Table
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
/** @file
|
/** @file
|
||||||
ACPI 5.0 definitions from the ACPI Specification Revision 5.0a November 13, 2013.
|
ACPI 5.0 definitions from the ACPI Specification Revision 5.0a November 13, 2013.
|
||||||
|
|
||||||
Copyright (c) 2014 Hewlett-Packard Development Company, L.P.<BR>
|
Copyright (c) 2014 Hewlett-Packard Development Company, L.P.<BR>
|
||||||
Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
**/
|
**/
|
||||||
|
|
||||||
#ifndef _ACPI_5_0_H_
|
#ifndef _ACPI_5_0_H_
|
||||||
@ -208,7 +208,7 @@ typedef struct {
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Root System Description Table
|
// Root System Description Table
|
||||||
// No definition needed as it is a common description table header, the same with
|
// No definition needed as it is a common description table header, the same with
|
||||||
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
|
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
|
||||||
//
|
//
|
||||||
|
|
||||||
@ -219,7 +219,7 @@ typedef struct {
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Extended System Description Table
|
// Extended System Description Table
|
||||||
// No definition needed as it is a common description table header, the same with
|
// No definition needed as it is a common description table header, the same with
|
||||||
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers.
|
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers.
|
||||||
//
|
//
|
||||||
|
|
||||||
@ -1876,7 +1876,7 @@ typedef struct {
|
|||||||
///
|
///
|
||||||
/// "RSD PTR " Root System Description Pointer
|
/// "RSD PTR " Root System Description Pointer
|
||||||
///
|
///
|
||||||
#define EFI_ACPI_5_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
|
#define EFI_ACPI_5_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
|
||||||
|
|
||||||
///
|
///
|
||||||
/// "APIC" Multiple APIC Description Table
|
/// "APIC" Multiple APIC Description Table
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
/** @file
|
/** @file
|
||||||
ACPI 5.1 definitions from the ACPI Specification Revision 5.1 Errata B January, 2016.
|
ACPI 5.1 definitions from the ACPI Specification Revision 5.1 Errata B January, 2016.
|
||||||
|
|
||||||
Copyright (c) 2014 Hewlett-Packard Development Company, L.P.<BR>
|
Copyright (c) 2014 Hewlett-Packard Development Company, L.P.<BR>
|
||||||
Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||||
(C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
|
(C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
**/
|
**/
|
||||||
|
|
||||||
#ifndef _ACPI_5_1_H_
|
#ifndef _ACPI_5_1_H_
|
||||||
@ -89,7 +89,7 @@ typedef struct {
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Root System Description Table
|
// Root System Description Table
|
||||||
// No definition needed as it is a common description table header, the same with
|
// No definition needed as it is a common description table header, the same with
|
||||||
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
|
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
|
||||||
//
|
//
|
||||||
|
|
||||||
@ -100,7 +100,7 @@ typedef struct {
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Extended System Description Table
|
// Extended System Description Table
|
||||||
// No definition needed as it is a common description table header, the same with
|
// No definition needed as it is a common description table header, the same with
|
||||||
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers.
|
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers.
|
||||||
//
|
//
|
||||||
|
|
||||||
@ -1874,7 +1874,7 @@ typedef struct {
|
|||||||
UINT8 CommandComplete:1;
|
UINT8 CommandComplete:1;
|
||||||
UINT8 SciDoorbell:1;
|
UINT8 SciDoorbell:1;
|
||||||
UINT8 Error:1;
|
UINT8 Error:1;
|
||||||
UINT8 PlatformNotification:1;
|
UINT8 PlatformNotification:1;
|
||||||
UINT8 Reserved:4;
|
UINT8 Reserved:4;
|
||||||
UINT8 Reserved1;
|
UINT8 Reserved1;
|
||||||
} EFI_ACPI_5_1_PCCT_GENERIC_SHARED_MEMORY_REGION_STATUS;
|
} EFI_ACPI_5_1_PCCT_GENERIC_SHARED_MEMORY_REGION_STATUS;
|
||||||
@ -1892,7 +1892,7 @@ typedef struct {
|
|||||||
///
|
///
|
||||||
/// "RSD PTR " Root System Description Pointer
|
/// "RSD PTR " Root System Description Pointer
|
||||||
///
|
///
|
||||||
#define EFI_ACPI_5_1_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
|
#define EFI_ACPI_5_1_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
|
||||||
|
|
||||||
///
|
///
|
||||||
/// "APIC" Multiple APIC Description Table
|
/// "APIC" Multiple APIC Description Table
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
/** @file
|
/** @file
|
||||||
ACPI 6.0 definitions from the ACPI Specification Revision 6.0 Errata A January, 2016.
|
ACPI 6.0 definitions from the ACPI Specification Revision 6.0 Errata A January, 2016.
|
||||||
|
|
||||||
Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||||
(C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP<BR>
|
(C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
**/
|
**/
|
||||||
|
|
||||||
#ifndef _ACPI_6_0_H_
|
#ifndef _ACPI_6_0_H_
|
||||||
@ -88,7 +88,7 @@ typedef struct {
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Root System Description Table
|
// Root System Description Table
|
||||||
// No definition needed as it is a common description table header, the same with
|
// No definition needed as it is a common description table header, the same with
|
||||||
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
|
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
|
||||||
//
|
//
|
||||||
|
|
||||||
@ -99,7 +99,7 @@ typedef struct {
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Extended System Description Table
|
// Extended System Description Table
|
||||||
// No definition needed as it is a common description table header, the same with
|
// No definition needed as it is a common description table header, the same with
|
||||||
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers.
|
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers.
|
||||||
//
|
//
|
||||||
|
|
||||||
@ -2063,7 +2063,7 @@ typedef struct {
|
|||||||
UINT8 CommandComplete:1;
|
UINT8 CommandComplete:1;
|
||||||
UINT8 SciDoorbell:1;
|
UINT8 SciDoorbell:1;
|
||||||
UINT8 Error:1;
|
UINT8 Error:1;
|
||||||
UINT8 PlatformNotification:1;
|
UINT8 PlatformNotification:1;
|
||||||
UINT8 Reserved:4;
|
UINT8 Reserved:4;
|
||||||
UINT8 Reserved1;
|
UINT8 Reserved1;
|
||||||
} EFI_ACPI_6_0_PCCT_GENERIC_SHARED_MEMORY_REGION_STATUS;
|
} EFI_ACPI_6_0_PCCT_GENERIC_SHARED_MEMORY_REGION_STATUS;
|
||||||
@ -2125,7 +2125,7 @@ typedef struct {
|
|||||||
///
|
///
|
||||||
/// "RSD PTR " Root System Description Pointer
|
/// "RSD PTR " Root System Description Pointer
|
||||||
///
|
///
|
||||||
#define EFI_ACPI_6_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
|
#define EFI_ACPI_6_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
|
||||||
|
|
||||||
///
|
///
|
||||||
/// "APIC" Multiple APIC Description Table
|
/// "APIC" Multiple APIC Description Table
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
/** @file
|
/** @file
|
||||||
ACPI 6.1 definitions from the ACPI Specification Revision 6.1 January, 2016.
|
ACPI 6.1 definitions from the ACPI Specification Revision 6.1 January, 2016.
|
||||||
|
|
||||||
Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||||
(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
|
(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
**/
|
**/
|
||||||
|
|
||||||
#ifndef _ACPI_6_1_H_
|
#ifndef _ACPI_6_1_H_
|
||||||
@ -88,7 +88,7 @@ typedef struct {
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Root System Description Table
|
// Root System Description Table
|
||||||
// No definition needed as it is a common description table header, the same with
|
// No definition needed as it is a common description table header, the same with
|
||||||
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
|
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
|
||||||
//
|
//
|
||||||
|
|
||||||
@ -99,7 +99,7 @@ typedef struct {
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Extended System Description Table
|
// Extended System Description Table
|
||||||
// No definition needed as it is a common description table header, the same with
|
// No definition needed as it is a common description table header, the same with
|
||||||
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers.
|
// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers.
|
||||||
//
|
//
|
||||||
|
|
||||||
@ -2095,7 +2095,7 @@ typedef struct {
|
|||||||
UINT8 CommandComplete:1;
|
UINT8 CommandComplete:1;
|
||||||
UINT8 SciDoorbell:1;
|
UINT8 SciDoorbell:1;
|
||||||
UINT8 Error:1;
|
UINT8 Error:1;
|
||||||
UINT8 PlatformNotification:1;
|
UINT8 PlatformNotification:1;
|
||||||
UINT8 Reserved:4;
|
UINT8 Reserved:4;
|
||||||
UINT8 Reserved1;
|
UINT8 Reserved1;
|
||||||
} EFI_ACPI_6_1_PCCT_GENERIC_SHARED_MEMORY_REGION_STATUS;
|
} EFI_ACPI_6_1_PCCT_GENERIC_SHARED_MEMORY_REGION_STATUS;
|
||||||
@ -2157,7 +2157,7 @@ typedef struct {
|
|||||||
///
|
///
|
||||||
/// "RSD PTR " Root System Description Pointer
|
/// "RSD PTR " Root System Description Pointer
|
||||||
///
|
///
|
||||||
#define EFI_ACPI_6_1_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
|
#define EFI_ACPI_6_1_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
|
||||||
|
|
||||||
///
|
///
|
||||||
/// "APIC" Multiple APIC Description Table
|
/// "APIC" Multiple APIC Description Table
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
/** @file
|
/** @file
|
||||||
ACPI Alert Standard Format Description Table ASF! as described in the ASF2.0 Specification
|
ACPI Alert Standard Format Description Table ASF! as described in the ASF2.0 Specification
|
||||||
|
|
||||||
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
**/
|
**/
|
||||||
|
|
||||||
#ifndef _ALERT_STANDARD_FORMAT_TABLE_H_
|
#ifndef _ALERT_STANDARD_FORMAT_TABLE_H_
|
||||||
@ -31,7 +31,7 @@ typedef struct {
|
|||||||
} EFI_ACPI_ASF_RECORD_HEADER;
|
} EFI_ACPI_ASF_RECORD_HEADER;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// This structure contains information that identifies the system's type
|
/// This structure contains information that identifies the system's type
|
||||||
/// and configuration
|
/// and configuration
|
||||||
///
|
///
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@ -84,7 +84,7 @@ typedef struct {
|
|||||||
UINT8 DeviceAddress;
|
UINT8 DeviceAddress;
|
||||||
UINT8 Command;
|
UINT8 Command;
|
||||||
UINT8 DataValue;
|
UINT8 DataValue;
|
||||||
} EFI_ACPI_ASF_CONTROLDATA;
|
} EFI_ACPI_ASF_CONTROLDATA;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Alert Remote Control System Actions
|
/// Alert Remote Control System Actions
|
||||||
|
@ -3,12 +3,12 @@
|
|||||||
that dealing with ATA/ATAPI interface.
|
that dealing with ATA/ATAPI interface.
|
||||||
|
|
||||||
Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials are licensed and made available under
|
This program and the accompanying materials are licensed and made available under
|
||||||
the terms and conditions of the BSD License that accompanies this distribution.
|
the terms and conditions of the BSD License that accompanies this distribution.
|
||||||
The full text of the license may be found at
|
The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php.
|
http://opensource.org/licenses/bsd-license.php.
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
@ -21,59 +21,59 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||||||
///
|
///
|
||||||
/// ATA5_IDENTIFY_DATA is defined in ATA-5.
|
/// ATA5_IDENTIFY_DATA is defined in ATA-5.
|
||||||
/// (This structure is provided mainly for backward-compatibility support.
|
/// (This structure is provided mainly for backward-compatibility support.
|
||||||
/// Old drivers may reference fields that are marked "obsolete" in
|
/// Old drivers may reference fields that are marked "obsolete" in
|
||||||
/// ATA_IDENTIFY_DATA, which currently conforms to ATA-8.)
|
/// ATA_IDENTIFY_DATA, which currently conforms to ATA-8.)
|
||||||
///
|
///
|
||||||
typedef struct {
|
typedef struct {
|
||||||
UINT16 config; ///< General Configuration.
|
UINT16 config; ///< General Configuration.
|
||||||
UINT16 cylinders; ///< Number of Cylinders.
|
UINT16 cylinders; ///< Number of Cylinders.
|
||||||
UINT16 reserved_2;
|
UINT16 reserved_2;
|
||||||
UINT16 heads; ///< Number of logical heads.
|
UINT16 heads; ///< Number of logical heads.
|
||||||
UINT16 vendor_data1;
|
UINT16 vendor_data1;
|
||||||
UINT16 vendor_data2;
|
UINT16 vendor_data2;
|
||||||
UINT16 sectors_per_track;
|
UINT16 sectors_per_track;
|
||||||
UINT16 vendor_specific_7_9[3];
|
UINT16 vendor_specific_7_9[3];
|
||||||
CHAR8 SerialNo[20]; ///< ASCII
|
CHAR8 SerialNo[20]; ///< ASCII
|
||||||
UINT16 vendor_specific_20_21[2];
|
UINT16 vendor_specific_20_21[2];
|
||||||
UINT16 ecc_bytes_available;
|
UINT16 ecc_bytes_available;
|
||||||
CHAR8 FirmwareVer[8]; ///< ASCII
|
CHAR8 FirmwareVer[8]; ///< ASCII
|
||||||
CHAR8 ModelName[40]; ///< ASCII
|
CHAR8 ModelName[40]; ///< ASCII
|
||||||
UINT16 multi_sector_cmd_max_sct_cnt;
|
UINT16 multi_sector_cmd_max_sct_cnt;
|
||||||
UINT16 reserved_48;
|
UINT16 reserved_48;
|
||||||
UINT16 capabilities;
|
UINT16 capabilities;
|
||||||
UINT16 reserved_50;
|
UINT16 reserved_50;
|
||||||
UINT16 pio_cycle_timing;
|
UINT16 pio_cycle_timing;
|
||||||
UINT16 reserved_52;
|
UINT16 reserved_52;
|
||||||
UINT16 field_validity;
|
UINT16 field_validity;
|
||||||
UINT16 current_cylinders;
|
UINT16 current_cylinders;
|
||||||
UINT16 current_heads;
|
UINT16 current_heads;
|
||||||
UINT16 current_sectors;
|
UINT16 current_sectors;
|
||||||
UINT16 CurrentCapacityLsb;
|
UINT16 CurrentCapacityLsb;
|
||||||
UINT16 CurrentCapacityMsb;
|
UINT16 CurrentCapacityMsb;
|
||||||
UINT16 reserved_59;
|
UINT16 reserved_59;
|
||||||
UINT16 user_addressable_sectors_lo;
|
UINT16 user_addressable_sectors_lo;
|
||||||
UINT16 user_addressable_sectors_hi;
|
UINT16 user_addressable_sectors_hi;
|
||||||
UINT16 reserved_62;
|
UINT16 reserved_62;
|
||||||
UINT16 multi_word_dma_mode;
|
UINT16 multi_word_dma_mode;
|
||||||
UINT16 advanced_pio_modes;
|
UINT16 advanced_pio_modes;
|
||||||
UINT16 min_multi_word_dma_cycle_time;
|
UINT16 min_multi_word_dma_cycle_time;
|
||||||
UINT16 rec_multi_word_dma_cycle_time;
|
UINT16 rec_multi_word_dma_cycle_time;
|
||||||
UINT16 min_pio_cycle_time_without_flow_control;
|
UINT16 min_pio_cycle_time_without_flow_control;
|
||||||
UINT16 min_pio_cycle_time_with_flow_control;
|
UINT16 min_pio_cycle_time_with_flow_control;
|
||||||
UINT16 reserved_69_79[11];
|
UINT16 reserved_69_79[11];
|
||||||
UINT16 major_version_no;
|
UINT16 major_version_no;
|
||||||
UINT16 minor_version_no;
|
UINT16 minor_version_no;
|
||||||
UINT16 command_set_supported_82; ///< word 82
|
UINT16 command_set_supported_82; ///< word 82
|
||||||
UINT16 command_set_supported_83; ///< word 83
|
UINT16 command_set_supported_83; ///< word 83
|
||||||
UINT16 command_set_feature_extn; ///< word 84
|
UINT16 command_set_feature_extn; ///< word 84
|
||||||
UINT16 command_set_feature_enb_85; ///< word 85
|
UINT16 command_set_feature_enb_85; ///< word 85
|
||||||
UINT16 command_set_feature_enb_86; ///< word 86
|
UINT16 command_set_feature_enb_86; ///< word 86
|
||||||
UINT16 command_set_feature_default; ///< word 87
|
UINT16 command_set_feature_default; ///< word 87
|
||||||
UINT16 ultra_dma_mode; ///< word 88
|
UINT16 ultra_dma_mode; ///< word 88
|
||||||
UINT16 reserved_89_127[39];
|
UINT16 reserved_89_127[39];
|
||||||
UINT16 security_status;
|
UINT16 security_status;
|
||||||
UINT16 vendor_data_129_159[31];
|
UINT16 vendor_data_129_159[31];
|
||||||
UINT16 reserved_160_255[96];
|
UINT16 reserved_160_255[96];
|
||||||
} ATA5_IDENTIFY_DATA;
|
} ATA5_IDENTIFY_DATA;
|
||||||
|
|
||||||
///
|
///
|
||||||
@ -86,50 +86,50 @@ typedef struct {
|
|||||||
UINT16 obsolete_1;
|
UINT16 obsolete_1;
|
||||||
UINT16 specific_config; ///< Specific Configuration.
|
UINT16 specific_config; ///< Specific Configuration.
|
||||||
UINT16 obsolete_3;
|
UINT16 obsolete_3;
|
||||||
UINT16 retired_4_5[2];
|
UINT16 retired_4_5[2];
|
||||||
UINT16 obsolete_6;
|
UINT16 obsolete_6;
|
||||||
UINT16 cfa_reserved_7_8[2];
|
UINT16 cfa_reserved_7_8[2];
|
||||||
UINT16 retired_9;
|
UINT16 retired_9;
|
||||||
CHAR8 SerialNo[20]; ///< word 10~19
|
CHAR8 SerialNo[20]; ///< word 10~19
|
||||||
UINT16 retired_20_21[2];
|
UINT16 retired_20_21[2];
|
||||||
UINT16 obsolete_22;
|
UINT16 obsolete_22;
|
||||||
CHAR8 FirmwareVer[8]; ///< word 23~26
|
CHAR8 FirmwareVer[8]; ///< word 23~26
|
||||||
CHAR8 ModelName[40]; ///< word 27~46
|
CHAR8 ModelName[40]; ///< word 27~46
|
||||||
UINT16 multi_sector_cmd_max_sct_cnt;
|
UINT16 multi_sector_cmd_max_sct_cnt;
|
||||||
UINT16 trusted_computing_support;
|
UINT16 trusted_computing_support;
|
||||||
UINT16 capabilities_49;
|
UINT16 capabilities_49;
|
||||||
UINT16 capabilities_50;
|
UINT16 capabilities_50;
|
||||||
UINT16 obsolete_51_52[2];
|
UINT16 obsolete_51_52[2];
|
||||||
UINT16 field_validity;
|
UINT16 field_validity;
|
||||||
UINT16 obsolete_54_58[5];
|
UINT16 obsolete_54_58[5];
|
||||||
UINT16 multi_sector_setting;
|
UINT16 multi_sector_setting;
|
||||||
UINT16 user_addressable_sectors_lo;
|
UINT16 user_addressable_sectors_lo;
|
||||||
UINT16 user_addressable_sectors_hi;
|
UINT16 user_addressable_sectors_hi;
|
||||||
UINT16 obsolete_62;
|
UINT16 obsolete_62;
|
||||||
UINT16 multi_word_dma_mode;
|
UINT16 multi_word_dma_mode;
|
||||||
UINT16 advanced_pio_modes;
|
UINT16 advanced_pio_modes;
|
||||||
UINT16 min_multi_word_dma_cycle_time;
|
UINT16 min_multi_word_dma_cycle_time;
|
||||||
UINT16 rec_multi_word_dma_cycle_time;
|
UINT16 rec_multi_word_dma_cycle_time;
|
||||||
UINT16 min_pio_cycle_time_without_flow_control;
|
UINT16 min_pio_cycle_time_without_flow_control;
|
||||||
UINT16 min_pio_cycle_time_with_flow_control;
|
UINT16 min_pio_cycle_time_with_flow_control;
|
||||||
UINT16 additional_supported; ///< word 69
|
UINT16 additional_supported; ///< word 69
|
||||||
UINT16 reserved_70;
|
UINT16 reserved_70;
|
||||||
UINT16 reserved_71_74[4]; ///< Reserved for IDENTIFY PACKET DEVICE cmd.
|
UINT16 reserved_71_74[4]; ///< Reserved for IDENTIFY PACKET DEVICE cmd.
|
||||||
UINT16 queue_depth;
|
UINT16 queue_depth;
|
||||||
UINT16 serial_ata_capabilities;
|
UINT16 serial_ata_capabilities;
|
||||||
UINT16 reserved_77; ///< Reserved for Serial ATA
|
UINT16 reserved_77; ///< Reserved for Serial ATA
|
||||||
UINT16 serial_ata_features_supported;
|
UINT16 serial_ata_features_supported;
|
||||||
UINT16 serial_ata_features_enabled;
|
UINT16 serial_ata_features_enabled;
|
||||||
UINT16 major_version_no;
|
UINT16 major_version_no;
|
||||||
UINT16 minor_version_no;
|
UINT16 minor_version_no;
|
||||||
UINT16 command_set_supported_82; ///< word 82
|
UINT16 command_set_supported_82; ///< word 82
|
||||||
UINT16 command_set_supported_83; ///< word 83
|
UINT16 command_set_supported_83; ///< word 83
|
||||||
UINT16 command_set_feature_extn; ///< word 84
|
UINT16 command_set_feature_extn; ///< word 84
|
||||||
UINT16 command_set_feature_enb_85; ///< word 85
|
UINT16 command_set_feature_enb_85; ///< word 85
|
||||||
UINT16 command_set_feature_enb_86; ///< word 86
|
UINT16 command_set_feature_enb_86; ///< word 86
|
||||||
UINT16 command_set_feature_default; ///< word 87
|
UINT16 command_set_feature_default; ///< word 87
|
||||||
UINT16 ultra_dma_mode; ///< word 88
|
UINT16 ultra_dma_mode; ///< word 88
|
||||||
UINT16 time_for_security_erase_unit;
|
UINT16 time_for_security_erase_unit;
|
||||||
UINT16 time_for_enhanced_security_erase_unit;
|
UINT16 time_for_enhanced_security_erase_unit;
|
||||||
UINT16 advanced_power_management_level;
|
UINT16 advanced_power_management_level;
|
||||||
UINT16 master_password_identifier;
|
UINT16 master_password_identifier;
|
||||||
@ -154,7 +154,7 @@ typedef struct {
|
|||||||
UINT16 reserved_121_126[6];
|
UINT16 reserved_121_126[6];
|
||||||
UINT16 obsolete_127;
|
UINT16 obsolete_127;
|
||||||
UINT16 security_status; ///< word 128
|
UINT16 security_status; ///< word 128
|
||||||
UINT16 vendor_specific_129_159[31];
|
UINT16 vendor_specific_129_159[31];
|
||||||
UINT16 cfa_power_mode; ///< word 160
|
UINT16 cfa_power_mode; ///< word 160
|
||||||
UINT16 reserved_for_compactflash_161_167[7];
|
UINT16 reserved_for_compactflash_161_167[7];
|
||||||
UINT16 device_nominal_form_factor;
|
UINT16 device_nominal_form_factor;
|
||||||
@ -239,7 +239,7 @@ typedef struct {
|
|||||||
UINT16 reserved_95_107[13];
|
UINT16 reserved_95_107[13];
|
||||||
UINT16 world_wide_name[4]; ///< word 108~111
|
UINT16 world_wide_name[4]; ///< word 108~111
|
||||||
UINT16 reserved_for_128bit_wwn_112_115[4];
|
UINT16 reserved_for_128bit_wwn_112_115[4];
|
||||||
UINT16 reserved_116_118[3];
|
UINT16 reserved_116_118[3];
|
||||||
UINT16 command_and_feature_sets_supported; ///< word 119
|
UINT16 command_and_feature_sets_supported; ///< word 119
|
||||||
UINT16 command_and_feature_sets_supported_enabled;
|
UINT16 command_and_feature_sets_supported_enabled;
|
||||||
UINT16 reserved_121_124[4];
|
UINT16 reserved_121_124[4];
|
||||||
@ -458,7 +458,7 @@ typedef struct {
|
|||||||
|
|
||||||
///
|
///
|
||||||
/// ATAPI_PACKET_COMMAND is not defined in the ATA specification.
|
/// ATAPI_PACKET_COMMAND is not defined in the ATA specification.
|
||||||
/// We add it here for the convenience of ATA/ATAPI module writers.
|
/// We add it here for the convenience of ATA/ATAPI module writers.
|
||||||
///
|
///
|
||||||
typedef union {
|
typedef union {
|
||||||
UINT16 Data16[6];
|
UINT16 Data16[6];
|
||||||
@ -477,7 +477,7 @@ typedef union {
|
|||||||
#define ATAPI_MAX_DMA_CMD_SECTORS 0x100
|
#define ATAPI_MAX_DMA_CMD_SECTORS 0x100
|
||||||
|
|
||||||
// ATA/ATAPI Signature equates
|
// ATA/ATAPI Signature equates
|
||||||
#define ATA_SIGNATURE 0x0101 ///< defined in ACS-3
|
#define ATA_SIGNATURE 0x0101 ///< defined in ACS-3
|
||||||
#define ATAPI_SIGNATURE 0xeb14 ///< defined in ACS-3
|
#define ATAPI_SIGNATURE 0xeb14 ///< defined in ACS-3
|
||||||
#define ATAPI_SIGNATURE_32 0xeb140101 ///< defined in ACS-3
|
#define ATAPI_SIGNATURE_32 0xeb140101 ///< defined in ACS-3
|
||||||
|
|
||||||
@ -521,11 +521,11 @@ typedef union {
|
|||||||
#define ATA_CMD_GET_CONFIGURATION 0x46 ///< defined in ATAPI Multimedia Devices
|
#define ATA_CMD_GET_CONFIGURATION 0x46 ///< defined in ATAPI Multimedia Devices
|
||||||
#define ATA_GCCD_RT_FIELD_VALUE_ALL 0x00 ///< defined in ATAPI Multimedia Devices
|
#define ATA_GCCD_RT_FIELD_VALUE_ALL 0x00 ///< defined in ATAPI Multimedia Devices
|
||||||
#define ATA_GCCD_RT_FIELD_VALUE_CURRENT 0x01 ///< defined in ATAPI Multimedia Devices
|
#define ATA_GCCD_RT_FIELD_VALUE_CURRENT 0x01 ///< defined in ATAPI Multimedia Devices
|
||||||
#define ATA_GCCD_RT_FIELD_VALUE_SINGLE 0x02 ///< defined in ATAPI Multimedia Devices
|
#define ATA_GCCD_RT_FIELD_VALUE_SINGLE 0x02 ///< defined in ATAPI Multimedia Devices
|
||||||
#define ATA_GCCD_RT_FIELD_VALUE_RESERVED 0x03 ///< defined in ATAPI Multimedia Devices
|
#define ATA_GCCD_RT_FIELD_VALUE_RESERVED 0x03 ///< defined in ATAPI Multimedia Devices
|
||||||
|
|
||||||
#define ATA_FEATURE_LIST_PROFILE_LIST 0x0000 ///< defined in ATAPI Multimedia Devices
|
#define ATA_FEATURE_LIST_PROFILE_LIST 0x0000 ///< defined in ATAPI Multimedia Devices
|
||||||
#define ATA_FEATURE_LIST_CORE 0x0001 ///< defined in ATAPI Multimedia Devices
|
#define ATA_FEATURE_LIST_CORE 0x0001 ///< defined in ATAPI Multimedia Devices
|
||||||
#define ATA_FEATURE_LIST_MORPHING 0x0002 ///< defined in ATAPI Multimedia Devices
|
#define ATA_FEATURE_LIST_MORPHING 0x0002 ///< defined in ATAPI Multimedia Devices
|
||||||
#define ATA_FEATURE_LIST_REMOVEABLE_MEDIUM 0x0003 ///< defined in ATAPI Multimedia Devices
|
#define ATA_FEATURE_LIST_REMOVEABLE_MEDIUM 0x0003 ///< defined in ATAPI Multimedia Devices
|
||||||
#define ATA_FEATURE_LIST_WRITE_PROTECT 0x0004 ///< defined in ATAPI Multimedia Devices
|
#define ATA_FEATURE_LIST_WRITE_PROTECT 0x0004 ///< defined in ATAPI Multimedia Devices
|
||||||
@ -549,33 +549,33 @@ typedef union {
|
|||||||
//
|
//
|
||||||
#define ATA_CMD_IDENTIFY_DRIVE 0xec ///< defined from ATA-3
|
#define ATA_CMD_IDENTIFY_DRIVE 0xec ///< defined from ATA-3
|
||||||
#define ATA_CMD_READ_BUFFER 0xe4 ///< defined from ATA-1
|
#define ATA_CMD_READ_BUFFER 0xe4 ///< defined from ATA-1
|
||||||
#define ATA_CMD_READ_SECTORS 0x20 ///< defined from ATA-1
|
#define ATA_CMD_READ_SECTORS 0x20 ///< defined from ATA-1
|
||||||
#define ATA_CMD_READ_SECTORS_WITH_RETRY 0x21 ///< defined from ATA-1, obsoleted from ATA-5
|
#define ATA_CMD_READ_SECTORS_WITH_RETRY 0x21 ///< defined from ATA-1, obsoleted from ATA-5
|
||||||
#define ATA_CMD_READ_LONG 0x22 ///< defined from ATA-1, obsoleted from ATA-5
|
#define ATA_CMD_READ_LONG 0x22 ///< defined from ATA-1, obsoleted from ATA-5
|
||||||
#define ATA_CMD_READ_LONG_WITH_RETRY 0x23 ///< defined from ATA-1, obsoleted from ATA-5
|
#define ATA_CMD_READ_LONG_WITH_RETRY 0x23 ///< defined from ATA-1, obsoleted from ATA-5
|
||||||
#define ATA_CMD_READ_SECTORS_EXT 0x24 ///< defined from ATA-6
|
#define ATA_CMD_READ_SECTORS_EXT 0x24 ///< defined from ATA-6
|
||||||
#define ATA_CMD_READ_MULTIPLE 0xc4 ///< defined in ACS-3
|
#define ATA_CMD_READ_MULTIPLE 0xc4 ///< defined in ACS-3
|
||||||
#define ATA_CMD_READ_MULTIPLE_EXT 0x29 ///< defined in ACS-3
|
#define ATA_CMD_READ_MULTIPLE_EXT 0x29 ///< defined in ACS-3
|
||||||
#define ATA_CMD_READ_LOG_EXT 0x2f ///< defined in ACS-3
|
#define ATA_CMD_READ_LOG_EXT 0x2f ///< defined in ACS-3
|
||||||
|
|
||||||
//
|
//
|
||||||
// Class 2: PIO Data-Out Commands
|
// Class 2: PIO Data-Out Commands
|
||||||
//
|
//
|
||||||
#define ATA_CMD_FORMAT_TRACK 0x50 ///< defined from ATA-1, obsoleted from ATA-4
|
#define ATA_CMD_FORMAT_TRACK 0x50 ///< defined from ATA-1, obsoleted from ATA-4
|
||||||
#define ATA_CMD_WRITE_BUFFER 0xe8 ///< defined from ATA-1
|
#define ATA_CMD_WRITE_BUFFER 0xe8 ///< defined from ATA-1
|
||||||
#define ATA_CMD_WRITE_SECTORS 0x30 ///< defined from ATA-1
|
#define ATA_CMD_WRITE_SECTORS 0x30 ///< defined from ATA-1
|
||||||
#define ATA_CMD_WRITE_SECTORS_WITH_RETRY 0x31 ///< defined from ATA-1, obsoleted from ATA-5
|
#define ATA_CMD_WRITE_SECTORS_WITH_RETRY 0x31 ///< defined from ATA-1, obsoleted from ATA-5
|
||||||
#define ATA_CMD_WRITE_LONG 0x32 ///< defined from ATA-1, obsoleted from ATA-5
|
#define ATA_CMD_WRITE_LONG 0x32 ///< defined from ATA-1, obsoleted from ATA-5
|
||||||
#define ATA_CMD_WRITE_LONG_WITH_RETRY 0x33 ///< defined from ATA-1, obsoleted from ATA-5
|
#define ATA_CMD_WRITE_LONG_WITH_RETRY 0x33 ///< defined from ATA-1, obsoleted from ATA-5
|
||||||
#define ATA_CMD_WRITE_VERIFY 0x3c ///< defined from ATA-1, obsoleted from ATA-5
|
#define ATA_CMD_WRITE_VERIFY 0x3c ///< defined from ATA-1, obsoleted from ATA-5
|
||||||
#define ATA_CMD_WRITE_SECTORS_EXT 0x34 ///< defined from ATA-6
|
#define ATA_CMD_WRITE_SECTORS_EXT 0x34 ///< defined from ATA-6
|
||||||
#define ATA_CMD_WRITE_MULTIPLE 0xc5 ///< defined in ACS-3
|
#define ATA_CMD_WRITE_MULTIPLE 0xc5 ///< defined in ACS-3
|
||||||
#define ATA_CMD_WRITE_MULTIPLE_EXT 0x39 ///< defined in ACS-3
|
#define ATA_CMD_WRITE_MULTIPLE_EXT 0x39 ///< defined in ACS-3
|
||||||
|
|
||||||
//
|
//
|
||||||
// Class 3 No Data Command
|
// Class 3 No Data Command
|
||||||
//
|
//
|
||||||
#define ATA_CMD_ACK_MEDIA_CHANGE 0xdb ///< defined from ATA-1, obsoleted from ATA-5
|
#define ATA_CMD_ACK_MEDIA_CHANGE 0xdb ///< defined from ATA-1, obsoleted from ATA-5
|
||||||
#define ATA_CMD_BOOT_POST_BOOT 0xdc ///< defined from ATA-1, obsoleted from ATA-3
|
#define ATA_CMD_BOOT_POST_BOOT 0xdc ///< defined from ATA-1, obsoleted from ATA-3
|
||||||
#define ATA_CMD_BOOT_PRE_BOOT 0xdd ///< defined from ATA-1, obsoleted from ATA-3
|
#define ATA_CMD_BOOT_PRE_BOOT 0xdd ///< defined from ATA-1, obsoleted from ATA-3
|
||||||
#define ATA_CMD_CHECK_POWER_MODE 0x98 ///< defined from ATA-1, obsoleted from ATA-4
|
#define ATA_CMD_CHECK_POWER_MODE 0x98 ///< defined from ATA-1, obsoleted from ATA-4
|
||||||
@ -599,39 +599,39 @@ typedef union {
|
|||||||
#define ATA_CMD_STANDBY_ALIAS 0xe2 ///< defined from ATA-1
|
#define ATA_CMD_STANDBY_ALIAS 0xe2 ///< defined from ATA-1
|
||||||
#define ATA_CMD_STANDBY_IMMEDIATE 0x94 ///< defined from ATA-1, obsoleted from ATA-4
|
#define ATA_CMD_STANDBY_IMMEDIATE 0x94 ///< defined from ATA-1, obsoleted from ATA-4
|
||||||
#define ATA_CMD_STANDBY_IMMEDIATE_ALIAS 0xe0 ///< defined from ATA-1
|
#define ATA_CMD_STANDBY_IMMEDIATE_ALIAS 0xe0 ///< defined from ATA-1
|
||||||
#define ATA_CMD_SLEEP 0xe6 ///< defined in ACS-3
|
#define ATA_CMD_SLEEP 0xe6 ///< defined in ACS-3
|
||||||
#define ATA_CMD_READ_NATIVE_MAX_ADDRESS 0xf8 ///< defined in ATA-6
|
#define ATA_CMD_READ_NATIVE_MAX_ADDRESS 0xf8 ///< defined in ATA-6
|
||||||
#define ATA_CMD_READ_NATIVE_MAX_ADDRESS_EXT 0x27 ///< defined in ATA-6
|
#define ATA_CMD_READ_NATIVE_MAX_ADDRESS_EXT 0x27 ///< defined in ATA-6
|
||||||
|
|
||||||
//
|
//
|
||||||
// Set Features Sub Command
|
// Set Features Sub Command
|
||||||
//
|
//
|
||||||
#define ATA_SUB_CMD_ENABLE_VOLATILE_WRITE_CACHE 0x02 ///< defined in ACS-3
|
#define ATA_SUB_CMD_ENABLE_VOLATILE_WRITE_CACHE 0x02 ///< defined in ACS-3
|
||||||
#define ATA_SUB_CMD_SET_TRANSFER_MODE 0x03 ///< defined in ACS-3
|
#define ATA_SUB_CMD_SET_TRANSFER_MODE 0x03 ///< defined in ACS-3
|
||||||
#define ATA_SUB_CMD_ENABLE_APM 0x05 ///< defined in ACS-3
|
#define ATA_SUB_CMD_ENABLE_APM 0x05 ///< defined in ACS-3
|
||||||
#define ATA_SUB_CMD_ENABLE_PUIS 0x06 ///< defined in ACS-3
|
#define ATA_SUB_CMD_ENABLE_PUIS 0x06 ///< defined in ACS-3
|
||||||
#define ATA_SUB_CMD_PUIS_SET_DEVICE_SPINUP 0x07 ///< defined in ACS-3
|
#define ATA_SUB_CMD_PUIS_SET_DEVICE_SPINUP 0x07 ///< defined in ACS-3
|
||||||
#define ATA_SUB_CMD_ENABLE_WRITE_READ_VERIFY 0x0b ///< defined in ACS-3
|
#define ATA_SUB_CMD_ENABLE_WRITE_READ_VERIFY 0x0b ///< defined in ACS-3
|
||||||
#define ATA_SUB_CMD_ENABLE_SATA_FEATURE 0x10 ///< defined in ACS-3
|
#define ATA_SUB_CMD_ENABLE_SATA_FEATURE 0x10 ///< defined in ACS-3
|
||||||
#define ATA_SUB_CMD_DISABLE_MEDIA_STATUS_NOTIFICATION 0x31 ///< defined in ACS-3
|
#define ATA_SUB_CMD_DISABLE_MEDIA_STATUS_NOTIFICATION 0x31 ///< defined in ACS-3
|
||||||
#define ATA_SUB_CMD_ENABLE_FREE_FALL_CONTROL 0x41 ///< defined in ACS-3
|
#define ATA_SUB_CMD_ENABLE_FREE_FALL_CONTROL 0x41 ///< defined in ACS-3
|
||||||
#define ATA_SUB_CMD_ACOUSTIC_MANAGEMENT_ENABLE 0x42 ///< defined in ACS-3
|
#define ATA_SUB_CMD_ACOUSTIC_MANAGEMENT_ENABLE 0x42 ///< defined in ACS-3
|
||||||
#define ATA_SUB_CMD_SET_MAX_HOST_INTERFACE_SECTOR_TIMES 0x43 ///< defined in ACS-3
|
#define ATA_SUB_CMD_SET_MAX_HOST_INTERFACE_SECTOR_TIMES 0x43 ///< defined in ACS-3
|
||||||
#define ATA_SUB_CMD_EXTENDED_POWER_CONDITIONS 0x4a ///< defined in ACS-3
|
#define ATA_SUB_CMD_EXTENDED_POWER_CONDITIONS 0x4a ///< defined in ACS-3
|
||||||
#define ATA_SUB_CMD_DISABLE_READ_LOOK_AHEAD 0x55 ///< defined in ACS-3
|
#define ATA_SUB_CMD_DISABLE_READ_LOOK_AHEAD 0x55 ///< defined in ACS-3
|
||||||
#define ATA_SUB_CMD_EN_DIS_DSN_FEATURE 0x63 ///< defined in ACS-3
|
#define ATA_SUB_CMD_EN_DIS_DSN_FEATURE 0x63 ///< defined in ACS-3
|
||||||
#define ATA_SUB_CMD_DISABLE_REVERT_TO_POWER_ON_DEFAULTS 0x66 ///< defined in ACS-3
|
#define ATA_SUB_CMD_DISABLE_REVERT_TO_POWER_ON_DEFAULTS 0x66 ///< defined in ACS-3
|
||||||
#define ATA_SUB_CMD_DISABLE_VOLATILE_WRITE_CACHE 0x82 ///< defined in ACS-3
|
#define ATA_SUB_CMD_DISABLE_VOLATILE_WRITE_CACHE 0x82 ///< defined in ACS-3
|
||||||
#define ATA_SUB_CMD_DISABLE_APM 0x85 ///< defined in ACS-3
|
#define ATA_SUB_CMD_DISABLE_APM 0x85 ///< defined in ACS-3
|
||||||
#define ATA_SUB_CMD_DISABLE_PUIS 0x86 ///< defined in ACS-3
|
#define ATA_SUB_CMD_DISABLE_PUIS 0x86 ///< defined in ACS-3
|
||||||
#define ATA_SUB_CMD_DISABLE_WRITE_READ_VERIFY 0x8b ///< defined in ACS-3
|
#define ATA_SUB_CMD_DISABLE_WRITE_READ_VERIFY 0x8b ///< defined in ACS-3
|
||||||
#define ATA_SUB_CMD_DISABLE_SATA_FEATURE 0x90 ///< defined in ACS-3
|
#define ATA_SUB_CMD_DISABLE_SATA_FEATURE 0x90 ///< defined in ACS-3
|
||||||
#define ATA_SUB_CMD_ENABLE_MEDIA_STATUS_NOTIFICATION 0x95 ///< defined in ACS-3
|
#define ATA_SUB_CMD_ENABLE_MEDIA_STATUS_NOTIFICATION 0x95 ///< defined in ACS-3
|
||||||
#define ATA_SUB_CMD_ENABLE_READ_LOOK_AHEAD 0xaa ///< defined in ACS-3
|
#define ATA_SUB_CMD_ENABLE_READ_LOOK_AHEAD 0xaa ///< defined in ACS-3
|
||||||
#define ATA_SUB_CMD_DISABLE_FREE_FALL_CONTROL 0xc1 ///< defined in ACS-3
|
#define ATA_SUB_CMD_DISABLE_FREE_FALL_CONTROL 0xc1 ///< defined in ACS-3
|
||||||
#define ATA_SUB_CMD_ACOUSTIC_MANAGEMENT_DISABLE 0xc2 ///< defined in ACS-3
|
#define ATA_SUB_CMD_ACOUSTIC_MANAGEMENT_DISABLE 0xc2 ///< defined in ACS-3
|
||||||
#define ATA_SUB_CMD_EN_DIS_SENSE_DATA_REPORTING 0xc3 ///< defined in ACS-3
|
#define ATA_SUB_CMD_EN_DIS_SENSE_DATA_REPORTING 0xc3 ///< defined in ACS-3
|
||||||
#define ATA_SUB_CMD_ENABLE_REVERT_TO_POWER_ON_DEFAULTS 0xcc ///< defined in ACS-3
|
#define ATA_SUB_CMD_ENABLE_REVERT_TO_POWER_ON_DEFAULTS 0xcc ///< defined in ACS-3
|
||||||
|
|
||||||
//
|
//
|
||||||
// S.M.A.R.T
|
// S.M.A.R.T
|
||||||
@ -640,13 +640,13 @@ typedef union {
|
|||||||
#define ATA_CONSTANT_C2 0xc2 ///< reserved
|
#define ATA_CONSTANT_C2 0xc2 ///< reserved
|
||||||
#define ATA_CONSTANT_4F 0x4f ///< reserved
|
#define ATA_CONSTANT_4F 0x4f ///< reserved
|
||||||
|
|
||||||
#define ATA_SMART_READ_DATA 0xd0 ///< defined in ACS-3
|
#define ATA_SMART_READ_DATA 0xd0 ///< defined in ACS-3
|
||||||
|
|
||||||
#define ATA_SMART_AUTOSAVE 0xd2 ///< defined in ACS-3
|
#define ATA_SMART_AUTOSAVE 0xd2 ///< defined in ACS-3
|
||||||
#define ATA_AUTOSAVE_DISABLE_ATTR 0x00
|
#define ATA_AUTOSAVE_DISABLE_ATTR 0x00
|
||||||
#define ATA_AUTOSAVE_ENABLE_ATTR 0xf1
|
#define ATA_AUTOSAVE_ENABLE_ATTR 0xf1
|
||||||
|
|
||||||
#define ATA_SMART_EXECUTE_OFFLINE_IMMEDIATE 0xd4 ///< defined in ACS-3
|
#define ATA_SMART_EXECUTE_OFFLINE_IMMEDIATE 0xd4 ///< defined in ACS-3
|
||||||
#define ATA_EXECUTE_SMART_OFFLINE_ROUTINE 0x00 ///< defined in ACS-3
|
#define ATA_EXECUTE_SMART_OFFLINE_ROUTINE 0x00 ///< defined in ACS-3
|
||||||
#define ATA_EXECUTE_SMART_OFFLINE_SHORT_SELFTEST 0x01 ///< defined in ACS-3
|
#define ATA_EXECUTE_SMART_OFFLINE_SHORT_SELFTEST 0x01 ///< defined in ACS-3
|
||||||
#define ATA_EXECUTE_SMART_OFFLINE_EXTENDED_SELFTEST 0x02 ///< defined in ACS-3
|
#define ATA_EXECUTE_SMART_OFFLINE_EXTENDED_SELFTEST 0x02 ///< defined in ACS-3
|
||||||
@ -658,25 +658,25 @@ typedef union {
|
|||||||
#define ATA_EXECUTE_SMART_CAPTIVE_CONVEYANCE_SELFTEST 0x83 ///< defined in ACS-3
|
#define ATA_EXECUTE_SMART_CAPTIVE_CONVEYANCE_SELFTEST 0x83 ///< defined in ACS-3
|
||||||
#define ATA_EXECUTE_SMART_CAPTIVE_SELECTIVE_SELFTEST 0x84 ///< defined in ACS-3
|
#define ATA_EXECUTE_SMART_CAPTIVE_SELECTIVE_SELFTEST 0x84 ///< defined in ACS-3
|
||||||
|
|
||||||
#define ATA_SMART_READLOG 0xd5 ///< defined in ACS-3
|
#define ATA_SMART_READLOG 0xd5 ///< defined in ACS-3
|
||||||
#define ATA_SMART_WRITELOG 0xd6 ///< defined in ACS-3
|
#define ATA_SMART_WRITELOG 0xd6 ///< defined in ACS-3
|
||||||
#define ATA_SMART_ENABLE_OPERATION 0xd8 ///< reserved
|
#define ATA_SMART_ENABLE_OPERATION 0xd8 ///< reserved
|
||||||
#define ATA_SMART_DISABLE_OPERATION 0xd9 ///< defined in ACS-3
|
#define ATA_SMART_DISABLE_OPERATION 0xd9 ///< defined in ACS-3
|
||||||
#define ATA_SMART_RETURN_STATUS 0xda ///< defined from ATA-3
|
#define ATA_SMART_RETURN_STATUS 0xda ///< defined from ATA-3
|
||||||
|
|
||||||
#define ATA_SMART_THRESHOLD_NOT_EXCEEDED_VALUE 0xc24f ///< defined in ACS-3
|
#define ATA_SMART_THRESHOLD_NOT_EXCEEDED_VALUE 0xc24f ///< defined in ACS-3
|
||||||
#define ATA_SMART_THRESHOLD_EXCEEDED_VALUE 0x2cf4 ///< defined in ACS-3
|
#define ATA_SMART_THRESHOLD_EXCEEDED_VALUE 0x2cf4 ///< defined in ACS-3
|
||||||
|
|
||||||
// SMART Log Definitions
|
// SMART Log Definitions
|
||||||
#define ATA_SMART_LOG_DIRECTORY 0x00 ///< defined in ACS-3
|
#define ATA_SMART_LOG_DIRECTORY 0x00 ///< defined in ACS-3
|
||||||
#define ATA_SMART_SUM_SMART_ERROR_LOG 0x01 ///< defined in ACS-3
|
#define ATA_SMART_SUM_SMART_ERROR_LOG 0x01 ///< defined in ACS-3
|
||||||
#define ATA_SMART_COMP_SMART_ERROR_LOG 0x02 ///< defined in ACS-3
|
#define ATA_SMART_COMP_SMART_ERROR_LOG 0x02 ///< defined in ACS-3
|
||||||
#define ATA_SMART_EXT_COMP_SMART_ERROR_LOG 0x03 ///< defined in ACS-3
|
#define ATA_SMART_EXT_COMP_SMART_ERROR_LOG 0x03 ///< defined in ACS-3
|
||||||
#define ATA_SMART_SMART_SELFTEST_LOG 0x06 ///< defined in ACS-3
|
#define ATA_SMART_SMART_SELFTEST_LOG 0x06 ///< defined in ACS-3
|
||||||
#define ATA_SMART_EXT_SMART_SELFTEST_LOG 0x07 ///< defined in ACS-3
|
#define ATA_SMART_EXT_SMART_SELFTEST_LOG 0x07 ///< defined in ACS-3
|
||||||
#define ATA_SMART_SELECTIVE_SELFTEST_LOG 0x09 ///< defined in ACS-3
|
#define ATA_SMART_SELECTIVE_SELFTEST_LOG 0x09 ///< defined in ACS-3
|
||||||
#define ATA_SMART_HOST_VENDOR_SPECIFIC 0x80 ///< defined in ACS-3
|
#define ATA_SMART_HOST_VENDOR_SPECIFIC 0x80 ///< defined in ACS-3
|
||||||
#define ATA_SMART_DEVICE_VENDOR_SPECIFIC 0xa0 ///< defined in ACS-3
|
#define ATA_SMART_DEVICE_VENDOR_SPECIFIC 0xa0 ///< defined in ACS-3
|
||||||
|
|
||||||
//
|
//
|
||||||
// Class 4: DMA Command
|
// Class 4: DMA Command
|
||||||
@ -687,18 +687,18 @@ typedef union {
|
|||||||
#define ATA_CMD_WRITE_DMA 0xca ///< defined from ATA-1
|
#define ATA_CMD_WRITE_DMA 0xca ///< defined from ATA-1
|
||||||
#define ATA_CMD_WRITE_DMA_WITH_RETRY 0xcb ///< defined from ATA-1, obsoleted from ATA-
|
#define ATA_CMD_WRITE_DMA_WITH_RETRY 0xcb ///< defined from ATA-1, obsoleted from ATA-
|
||||||
#define ATA_CMD_WRITE_DMA_EXT 0x35 ///< defined from ATA-6
|
#define ATA_CMD_WRITE_DMA_EXT 0x35 ///< defined from ATA-6
|
||||||
|
|
||||||
//
|
//
|
||||||
// ATA Security commands
|
// ATA Security commands
|
||||||
//
|
//
|
||||||
#define ATA_CMD_SECURITY_SET_PASSWORD 0xf1 ///< defined in ACS-3
|
#define ATA_CMD_SECURITY_SET_PASSWORD 0xf1 ///< defined in ACS-3
|
||||||
#define ATA_CMD_SECURITY_UNLOCK 0xf2 ///< defined in ACS-3
|
#define ATA_CMD_SECURITY_UNLOCK 0xf2 ///< defined in ACS-3
|
||||||
#define ATA_CMD_SECURITY_ERASE_PREPARE 0xf3 ///< defined in ACS-3
|
#define ATA_CMD_SECURITY_ERASE_PREPARE 0xf3 ///< defined in ACS-3
|
||||||
#define ATA_CMD_SECURITY_ERASE_UNIT 0xf4 ///< defined in ACS-3
|
#define ATA_CMD_SECURITY_ERASE_UNIT 0xf4 ///< defined in ACS-3
|
||||||
#define ATA_CMD_SECURITY_FREEZE_LOCK 0xf5 ///< defined in ACS-3
|
#define ATA_CMD_SECURITY_FREEZE_LOCK 0xf5 ///< defined in ACS-3
|
||||||
#define ATA_CMD_SECURITY_DISABLE_PASSWORD 0xf6 ///< defined in ACS-3
|
#define ATA_CMD_SECURITY_DISABLE_PASSWORD 0xf6 ///< defined in ACS-3
|
||||||
|
|
||||||
#define ATA_SECURITY_BUFFER_LENGTH 512 ///< defined in ACS-3
|
#define ATA_SECURITY_BUFFER_LENGTH 512 ///< defined in ACS-3
|
||||||
|
|
||||||
//
|
//
|
||||||
// ATA Device Config Overlay
|
// ATA Device Config Overlay
|
||||||
@ -712,19 +712,19 @@ typedef union {
|
|||||||
//
|
//
|
||||||
// ATA Trusted Computing Feature Set Commands
|
// ATA Trusted Computing Feature Set Commands
|
||||||
//
|
//
|
||||||
#define ATA_CMD_TRUSTED_NON_DATA 0x5b ///< defined in ACS-3
|
#define ATA_CMD_TRUSTED_NON_DATA 0x5b ///< defined in ACS-3
|
||||||
#define ATA_CMD_TRUSTED_RECEIVE 0x5c ///< defined in ACS-3
|
#define ATA_CMD_TRUSTED_RECEIVE 0x5c ///< defined in ACS-3
|
||||||
#define ATA_CMD_TRUSTED_RECEIVE_DMA 0x5d ///< defined in ACS-3
|
#define ATA_CMD_TRUSTED_RECEIVE_DMA 0x5d ///< defined in ACS-3
|
||||||
#define ATA_CMD_TRUSTED_SEND 0x5e ///< defined in ACS-3
|
#define ATA_CMD_TRUSTED_SEND 0x5e ///< defined in ACS-3
|
||||||
#define ATA_CMD_TRUSTED_SEND_DMA 0x5f ///< defined in ACS-3
|
#define ATA_CMD_TRUSTED_SEND_DMA 0x5f ///< defined in ACS-3
|
||||||
|
|
||||||
//
|
//
|
||||||
// ATA Trusted Receive Fields
|
// ATA Trusted Receive Fields
|
||||||
//
|
//
|
||||||
#define ATA_TR_RETURN_SECURITY_PROTOCOL_INFORMATION 0x00 ///< defined in ACS-3
|
#define ATA_TR_RETURN_SECURITY_PROTOCOL_INFORMATION 0x00 ///< defined in ACS-3
|
||||||
#define ATA_TR_SECURITY_PROTOCOL_JEDEC_RESERVED 0xec ///< defined in ACS-3
|
#define ATA_TR_SECURITY_PROTOCOL_JEDEC_RESERVED 0xec ///< defined in ACS-3
|
||||||
#define ATA_TR_SECURITY_PROTOCOL_SDCARD_RESERVED 0xed ///< defined in ACS-3
|
#define ATA_TR_SECURITY_PROTOCOL_SDCARD_RESERVED 0xed ///< defined in ACS-3
|
||||||
#define ATA_TR_SECURITY_PROTOCOL_IEEE1667_RESERVED 0xee ///< defined in ACS-3
|
#define ATA_TR_SECURITY_PROTOCOL_IEEE1667_RESERVED 0xee ///< defined in ACS-3
|
||||||
|
|
||||||
//
|
//
|
||||||
// Equates used for Acoustic Flags
|
// Equates used for Acoustic Flags
|
||||||
@ -732,18 +732,18 @@ typedef union {
|
|||||||
#define ATA_ACOUSTIC_LEVEL_BYPASS 0xff ///< defined from ATA-6
|
#define ATA_ACOUSTIC_LEVEL_BYPASS 0xff ///< defined from ATA-6
|
||||||
#define ATA_ACOUSTIC_LEVEL_MAXIMUM_PERFORMANCE 0xfe ///< defined from ATA-6
|
#define ATA_ACOUSTIC_LEVEL_MAXIMUM_PERFORMANCE 0xfe ///< defined from ATA-6
|
||||||
#define ATA_ACOUSTIC_LEVEL_QUIET 0x80 ///< defined from ATA-6
|
#define ATA_ACOUSTIC_LEVEL_QUIET 0x80 ///< defined from ATA-6
|
||||||
|
|
||||||
//
|
//
|
||||||
// Equates used for DiPM Support
|
// Equates used for DiPM Support
|
||||||
//
|
//
|
||||||
#define ATA_CMD_DIPM_SUB 0x03 // defined in ACS-3 : Count value in SetFeature identification : 03h Device-initiated interface power state transitions
|
#define ATA_CMD_DIPM_SUB 0x03 // defined in ACS-3 : Count value in SetFeature identification : 03h Device-initiated interface power state transitions
|
||||||
#define ATA_DIPM_ENABLE 0x10 // defined in ACS-3
|
#define ATA_DIPM_ENABLE 0x10 // defined in ACS-3
|
||||||
#define ATA_DIPM_DISABLE 0x90 // defined in ACS-3
|
#define ATA_DIPM_DISABLE 0x90 // defined in ACS-3
|
||||||
|
|
||||||
//
|
//
|
||||||
// Equates used for DevSleep Support
|
// Equates used for DevSleep Support
|
||||||
//
|
//
|
||||||
#define ATA_CMD_DEVSLEEP_SUB 0x09 // defined in SATA 3.2 Gold Spec : Count value in SetFeature identification : 09h Device Sleep
|
#define ATA_CMD_DEVSLEEP_SUB 0x09 // defined in SATA 3.2 Gold Spec : Count value in SetFeature identification : 09h Device Sleep
|
||||||
#define ATA_DEVSLEEP_ENABLE 0x10 // defined in SATA 3.2 Gold Spec
|
#define ATA_DEVSLEEP_ENABLE 0x10 // defined in SATA 3.2 Gold Spec
|
||||||
#define ATA_DEVSLEEP_DISABLE 0x90 // defined in SATA 3.2 Gold Spec
|
#define ATA_DEVSLEEP_DISABLE 0x90 // defined in SATA 3.2 Gold Spec
|
||||||
|
|
||||||
@ -765,7 +765,7 @@ typedef union {
|
|||||||
/// Default content of device control register, disable INT,
|
/// Default content of device control register, disable INT,
|
||||||
/// Bit3 is set to 1 according ATA-1
|
/// Bit3 is set to 1 according ATA-1
|
||||||
///
|
///
|
||||||
#define ATA_DEFAULT_CTL (0x0a)
|
#define ATA_DEFAULT_CTL (0x0a)
|
||||||
///
|
///
|
||||||
/// Default context of Device/Head Register,
|
/// Default context of Device/Head Register,
|
||||||
/// Bit7 and Bit5 are set to 1 for back-compatibilities.
|
/// Bit7 and Bit5 are set to 1 for back-compatibilities.
|
||||||
@ -778,9 +778,9 @@ typedef union {
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Sense Key, Additional Sense Codes and Additional Sense Code Qualifier
|
// Sense Key, Additional Sense Codes and Additional Sense Code Qualifier
|
||||||
// defined in MultiMedia Commands (MMC, MMC-2)
|
// defined in MultiMedia Commands (MMC, MMC-2)
|
||||||
//
|
//
|
||||||
// Sense Key
|
// Sense Key
|
||||||
//
|
//
|
||||||
#define ATA_SK_NO_SENSE (0x0)
|
#define ATA_SK_NO_SENSE (0x0)
|
||||||
#define ATA_SK_RECOVERY_ERROR (0x1)
|
#define ATA_SK_RECOVERY_ERROR (0x1)
|
||||||
@ -825,7 +825,7 @@ typedef union {
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Error Register
|
// Error Register
|
||||||
//
|
//
|
||||||
#define ATA_ERRREG_BBK BIT7 ///< Bad block detected defined from ATA-1, obsoleted from ATA-2
|
#define ATA_ERRREG_BBK BIT7 ///< Bad block detected defined from ATA-1, obsoleted from ATA-2
|
||||||
#define ATA_ERRREG_UNC BIT6 ///< Uncorrectable Data defined from ATA-1, obsoleted from ATA-4
|
#define ATA_ERRREG_UNC BIT6 ///< Uncorrectable Data defined from ATA-1, obsoleted from ATA-4
|
||||||
#define ATA_ERRREG_MC BIT5 ///< Media Change defined from ATA-1, obsoleted from ATA-4
|
#define ATA_ERRREG_MC BIT5 ///< Media Change defined from ATA-1, obsoleted from ATA-4
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/** @file
|
/** @file
|
||||||
ACPI debug port 2 table definition, defined at
|
ACPI debug port 2 table definition, defined at
|
||||||
Microsoft DebugPort2Specification.
|
Microsoft DebugPort2Specification.
|
||||||
|
|
||||||
Copyright (c) 2012, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2012, Intel Corporation. All rights reserved.<BR>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/** @file
|
/** @file
|
||||||
ACPI debug port table definition, defined at
|
ACPI debug port table definition, defined at
|
||||||
Microsoft DebugPortSpecification.
|
Microsoft DebugPortSpecification.
|
||||||
|
|
||||||
Copyright (c) 2012, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2012, Intel Corporation. All rights reserved.<BR>
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
/** @file
|
/** @file
|
||||||
ElTorito Partitions Format Definition.
|
ElTorito Partitions Format Definition.
|
||||||
This file includes some defintions from
|
This file includes some defintions from
|
||||||
1. "El Torito" Bootable CD-ROM Format Specification, Version 1.0.
|
1. "El Torito" Bootable CD-ROM Format Specification, Version 1.0.
|
||||||
2. Volume and File Structure of CDROM for Information Interchange,
|
2. Volume and File Structure of CDROM for Information Interchange,
|
||||||
Standard ECMA-119. (IS0 9660)
|
Standard ECMA-119. (IS0 9660)
|
||||||
|
|
||||||
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
@ -57,13 +57,13 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||||||
|
|
||||||
#pragma pack(1)
|
#pragma pack(1)
|
||||||
|
|
||||||
///
|
///
|
||||||
/// CD-ROM Volume Descriptor
|
/// CD-ROM Volume Descriptor
|
||||||
///
|
///
|
||||||
typedef union {
|
typedef union {
|
||||||
struct {
|
struct {
|
||||||
UINT8 Type;
|
UINT8 Type;
|
||||||
CHAR8 Id[5]; ///< "CD001"
|
CHAR8 Id[5]; ///< "CD001"
|
||||||
CHAR8 Reserved[82];
|
CHAR8 Reserved[82];
|
||||||
} Unknown;
|
} Unknown;
|
||||||
|
|
||||||
@ -72,29 +72,29 @@ typedef union {
|
|||||||
///
|
///
|
||||||
struct {
|
struct {
|
||||||
UINT8 Type; ///< Must be 0
|
UINT8 Type; ///< Must be 0
|
||||||
CHAR8 Id[5]; ///< "CD001"
|
CHAR8 Id[5]; ///< "CD001"
|
||||||
UINT8 Version; ///< Must be 1
|
UINT8 Version; ///< Must be 1
|
||||||
CHAR8 SystemId[32]; ///< "EL TORITO SPECIFICATION"
|
CHAR8 SystemId[32]; ///< "EL TORITO SPECIFICATION"
|
||||||
CHAR8 Unused[32]; ///< Must be 0
|
CHAR8 Unused[32]; ///< Must be 0
|
||||||
UINT8 EltCatalog[4]; ///< Absolute pointer to first sector of Boot Catalog
|
UINT8 EltCatalog[4]; ///< Absolute pointer to first sector of Boot Catalog
|
||||||
CHAR8 Unused2[13]; ///< Must be 0
|
CHAR8 Unused2[13]; ///< Must be 0
|
||||||
} BootRecordVolume;
|
} BootRecordVolume;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Primary Volumn Descriptor, defined in ISO 9660.
|
/// Primary Volumn Descriptor, defined in ISO 9660.
|
||||||
///
|
///
|
||||||
struct {
|
struct {
|
||||||
UINT8 Type;
|
UINT8 Type;
|
||||||
CHAR8 Id[5]; ///< "CD001"
|
CHAR8 Id[5]; ///< "CD001"
|
||||||
UINT8 Version;
|
UINT8 Version;
|
||||||
UINT8 Unused; ///< Must be 0
|
UINT8 Unused; ///< Must be 0
|
||||||
CHAR8 SystemId[32];
|
CHAR8 SystemId[32];
|
||||||
CHAR8 VolumeId[32];
|
CHAR8 VolumeId[32];
|
||||||
UINT8 Unused2[8]; ///< Must be 0
|
UINT8 Unused2[8]; ///< Must be 0
|
||||||
UINT32 VolSpaceSize[2]; ///< the number of Logical Blocks
|
UINT32 VolSpaceSize[2]; ///< the number of Logical Blocks
|
||||||
} PrimaryVolume;
|
} PrimaryVolume;
|
||||||
|
|
||||||
} CDROM_VOLUME_DESCRIPTOR;
|
} CDROM_VOLUME_DESCRIPTOR;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Catalog Entry
|
/// Catalog Entry
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
/** @file
|
/** @file
|
||||||
ACPI high precision event timer table definition, at www.intel.com
|
ACPI high precision event timer table definition, at www.intel.com
|
||||||
Specification name is IA-PC HPET (High Precision Event Timers) Specification.
|
Specification name is IA-PC HPET (High Precision Event Timers) Specification.
|
||||||
|
|
||||||
Copyright (c) 2007 - 2008, Intel Corporation. All rights reserved.<BR>
|
|
||||||
This program and the accompanying materials
|
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
|
||||||
http://opensource.org/licenses/bsd-license.php
|
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
Copyright (c) 2007 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
This program and the accompanying materials
|
||||||
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
**/
|
**/
|
||||||
|
|
||||||
#ifndef _HIGH_PRECISION_EVENT_TIMER_TABLE_H_
|
#ifndef _HIGH_PRECISION_EVENT_TIMER_TABLE_H_
|
||||||
|
@ -25,8 +25,8 @@
|
|||||||
|
|
||||||
#define PLATFORM_SECURITY_ROLE_PLATFORM_REFERENCE 0x00000001 // IHV
|
#define PLATFORM_SECURITY_ROLE_PLATFORM_REFERENCE 0x00000001 // IHV
|
||||||
#define PLATFORM_SECURITY_ROLE_PLATFORM_IBV 0x00000002
|
#define PLATFORM_SECURITY_ROLE_PLATFORM_IBV 0x00000002
|
||||||
#define PLATFORM_SECURITY_ROLE_IMPLEMENTOR_OEM 0x00000003
|
#define PLATFORM_SECURITY_ROLE_IMPLEMENTOR_OEM 0x00000003
|
||||||
#define PLATFORM_SECURITY_ROLE_IMPLEMENTOR_ODM 0x00000004
|
#define PLATFORM_SECURITY_ROLE_IMPLEMENTOR_ODM 0x00000004
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
//
|
//
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
/** @file
|
/** @file
|
||||||
Hypertext Transfer Protocol -- HTTP/1.1 Standard definitions, from RFC 2616
|
Hypertext Transfer Protocol -- HTTP/1.1 Standard definitions, from RFC 2616
|
||||||
|
|
||||||
|
This file contains common HTTP 1.1 definitions from RFC 2616
|
||||||
|
|
||||||
This file contains common HTTP 1.1 definitions from RFC 2616
|
|
||||||
|
|
||||||
(C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP<BR>
|
(C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
///
|
///
|
||||||
/// HTTP Version (currently HTTP 1.1)
|
/// HTTP Version (currently HTTP 1.1)
|
||||||
///
|
///
|
||||||
/// The version of an HTTP message is indicated by an HTTP-Version field
|
/// The version of an HTTP message is indicated by an HTTP-Version field
|
||||||
/// in the first line of the message.
|
/// in the first line of the message.
|
||||||
///
|
///
|
||||||
@ -28,7 +28,7 @@
|
|||||||
|
|
||||||
///
|
///
|
||||||
/// HTTP Request Method definitions
|
/// HTTP Request Method definitions
|
||||||
///
|
///
|
||||||
/// The Method token indicates the method to be performed on the
|
/// The Method token indicates the method to be performed on the
|
||||||
/// resource identified by the Request-URI. The method is case-sensitive.
|
/// resource identified by the Request-URI. The method is case-sensitive.
|
||||||
///
|
///
|
||||||
@ -50,27 +50,27 @@
|
|||||||
|
|
||||||
///
|
///
|
||||||
/// Accept Request Header
|
/// Accept Request Header
|
||||||
/// The Accept request-header field can be used to specify certain media types which are
|
/// The Accept request-header field can be used to specify certain media types which are
|
||||||
/// acceptable for the response. Accept headers can be used to indicate that the request
|
/// acceptable for the response. Accept headers can be used to indicate that the request
|
||||||
/// is specifically limited to a small set of desired types, as in the case of a request
|
/// is specifically limited to a small set of desired types, as in the case of a request
|
||||||
/// for an in-line image.
|
/// for an in-line image.
|
||||||
///
|
///
|
||||||
#define HTTP_HEADER_ACCEPT "Accept"
|
#define HTTP_HEADER_ACCEPT "Accept"
|
||||||
|
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Accept-Charset Request Header
|
/// Accept-Charset Request Header
|
||||||
/// The Accept-Charset request-header field can be used to indicate what character sets
|
/// The Accept-Charset request-header field can be used to indicate what character sets
|
||||||
/// are acceptable for the response. This field allows clients capable of understanding
|
/// are acceptable for the response. This field allows clients capable of understanding
|
||||||
/// more comprehensive or special-purpose character sets to signal that capability to a
|
/// more comprehensive or special-purpose character sets to signal that capability to a
|
||||||
/// server which is capable of representing documents in those character sets.
|
/// server which is capable of representing documents in those character sets.
|
||||||
///
|
///
|
||||||
#define HTTP_HEADER_ACCEPT_CHARSET "Accept-Charset"
|
#define HTTP_HEADER_ACCEPT_CHARSET "Accept-Charset"
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Accept-Language Request Header
|
/// Accept-Language Request Header
|
||||||
/// The Accept-Language request-header field is similar to Accept,
|
/// The Accept-Language request-header field is similar to Accept,
|
||||||
/// but restricts the set of natural languages that are preferred
|
/// but restricts the set of natural languages that are preferred
|
||||||
/// as a response to the request.
|
/// as a response to the request.
|
||||||
///
|
///
|
||||||
#define HTTP_HEADER_ACCEPT_LANGUAGE "Accept-Language"
|
#define HTTP_HEADER_ACCEPT_LANGUAGE "Accept-Language"
|
||||||
@ -83,39 +83,39 @@
|
|||||||
#define HTTP_HEADER_ACCEPT_RANGES "Accept-Ranges"
|
#define HTTP_HEADER_ACCEPT_RANGES "Accept-Ranges"
|
||||||
|
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Accept-Encoding Request Header
|
/// Accept-Encoding Request Header
|
||||||
/// The Accept-Encoding request-header field is similar to Accept,
|
/// The Accept-Encoding request-header field is similar to Accept,
|
||||||
/// but restricts the content-codings that are acceptable in the response.
|
/// but restricts the content-codings that are acceptable in the response.
|
||||||
///
|
///
|
||||||
#define HTTP_HEADER_ACCEPT_ENCODING "Accept-Encoding"
|
#define HTTP_HEADER_ACCEPT_ENCODING "Accept-Encoding"
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Content-Encoding Header
|
/// Content-Encoding Header
|
||||||
/// The Content-Encoding entity-header field is used as a modifier to the media-type.
|
/// The Content-Encoding entity-header field is used as a modifier to the media-type.
|
||||||
/// When present, its value indicates what additional content codings have been applied
|
/// When present, its value indicates what additional content codings have been applied
|
||||||
/// to the entity-body, and thus what decoding mechanisms must be applied in order to
|
/// to the entity-body, and thus what decoding mechanisms must be applied in order to
|
||||||
/// obtain the media-type referenced by the Content-Type header field. Content-Encoding
|
/// obtain the media-type referenced by the Content-Type header field. Content-Encoding
|
||||||
/// is primarily used to allow a document to be compressed without losing the identity
|
/// is primarily used to allow a document to be compressed without losing the identity
|
||||||
/// of its underlying media type.
|
/// of its underlying media type.
|
||||||
///
|
///
|
||||||
#define HTTP_HEADER_CONTENT_ENCODING "Content-Encoding"
|
#define HTTP_HEADER_CONTENT_ENCODING "Content-Encoding"
|
||||||
|
|
||||||
///
|
///
|
||||||
/// HTTP Content-Encoding Compression types
|
/// HTTP Content-Encoding Compression types
|
||||||
///
|
///
|
||||||
|
|
||||||
#define HTTP_CONTENT_ENCODING_IDENTITY "identity" /// No transformation is used. This is the default value for content coding.
|
#define HTTP_CONTENT_ENCODING_IDENTITY "identity" /// No transformation is used. This is the default value for content coding.
|
||||||
#define HTTP_CONTENT_ENCODING_GZIP "gzip" /// Content-Encoding: GNU zip format (described in RFC 1952).
|
#define HTTP_CONTENT_ENCODING_GZIP "gzip" /// Content-Encoding: GNU zip format (described in RFC 1952).
|
||||||
#define HTTP_CONTENT_ENCODING_COMPRESS "compress" /// encoding format produced by the common UNIX file compression program "compress".
|
#define HTTP_CONTENT_ENCODING_COMPRESS "compress" /// encoding format produced by the common UNIX file compression program "compress".
|
||||||
#define HTTP_CONTENT_ENCODING_DEFLATE "deflate" /// The "zlib" format defined in RFC 1950 in combination with the "deflate"
|
#define HTTP_CONTENT_ENCODING_DEFLATE "deflate" /// The "zlib" format defined in RFC 1950 in combination with the "deflate"
|
||||||
/// compression mechanism described in RFC 1951.
|
/// compression mechanism described in RFC 1951.
|
||||||
|
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Content-Type Header
|
/// Content-Type Header
|
||||||
/// The Content-Type entity-header field indicates the media type of the entity-body sent to
|
/// The Content-Type entity-header field indicates the media type of the entity-body sent to
|
||||||
/// the recipient or, in the case of the HEAD method, the media type that would have been sent
|
/// the recipient or, in the case of the HEAD method, the media type that would have been sent
|
||||||
/// had the request been a GET.
|
/// had the request been a GET.
|
||||||
///
|
///
|
||||||
#define HTTP_HEADER_CONTENT_TYPE "Content-Type"
|
#define HTTP_HEADER_CONTENT_TYPE "Content-Type"
|
||||||
@ -124,12 +124,12 @@
|
|||||||
//
|
//
|
||||||
#define HTTP_CONTENT_TYPE_APP_JSON "application/json"
|
#define HTTP_CONTENT_TYPE_APP_JSON "application/json"
|
||||||
#define HTTP_CONTENT_TYPE_APP_OCTET_STREAM "application/octet-stream"
|
#define HTTP_CONTENT_TYPE_APP_OCTET_STREAM "application/octet-stream"
|
||||||
|
|
||||||
#define HTTP_CONTENT_TYPE_TEXT_HTML "text/html"
|
#define HTTP_CONTENT_TYPE_TEXT_HTML "text/html"
|
||||||
#define HTTP_CONTENT_TYPE_TEXT_PLAIN "text/plain"
|
#define HTTP_CONTENT_TYPE_TEXT_PLAIN "text/plain"
|
||||||
#define HTTP_CONTENT_TYPE_TEXT_CSS "text/css"
|
#define HTTP_CONTENT_TYPE_TEXT_CSS "text/css"
|
||||||
#define HTTP_CONTENT_TYPE_TEXT_XML "text/xml"
|
#define HTTP_CONTENT_TYPE_TEXT_XML "text/xml"
|
||||||
|
|
||||||
#define HTTP_CONTENT_TYPE_IMAGE_GIF "image/gif"
|
#define HTTP_CONTENT_TYPE_IMAGE_GIF "image/gif"
|
||||||
#define HTTP_CONTENT_TYPE_IMAGE_JPEG "image/jpeg"
|
#define HTTP_CONTENT_TYPE_IMAGE_JPEG "image/jpeg"
|
||||||
#define HTTP_CONTENT_TYPE_IMAGE_PNG "image/png"
|
#define HTTP_CONTENT_TYPE_IMAGE_PNG "image/png"
|
||||||
@ -138,17 +138,17 @@
|
|||||||
|
|
||||||
///
|
///
|
||||||
/// Content-Length Header
|
/// Content-Length Header
|
||||||
/// The Content-Length entity-header field indicates the size of the entity-body,
|
/// The Content-Length entity-header field indicates the size of the entity-body,
|
||||||
/// in decimal number of OCTETs, sent to the recipient or, in the case of the HEAD
|
/// in decimal number of OCTETs, sent to the recipient or, in the case of the HEAD
|
||||||
/// method, the size of the entity-body that would have been sent had the request been a GET.
|
/// method, the size of the entity-body that would have been sent had the request been a GET.
|
||||||
///
|
///
|
||||||
#define HTTP_HEADER_CONTENT_LENGTH "Content-Length"
|
#define HTTP_HEADER_CONTENT_LENGTH "Content-Length"
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Transfer-Encoding Header
|
/// Transfer-Encoding Header
|
||||||
/// The Transfer-Encoding general-header field indicates what (if any) type of transformation
|
/// The Transfer-Encoding general-header field indicates what (if any) type of transformation
|
||||||
/// has been applied to the message body in order to safely transfer it between the sender
|
/// has been applied to the message body in order to safely transfer it between the sender
|
||||||
/// and the recipient. This differs from the content-coding in that the transfer-coding
|
/// and the recipient. This differs from the content-coding in that the transfer-coding
|
||||||
/// is a property of the message, not of the entity.
|
/// is a property of the message, not of the entity.
|
||||||
///
|
///
|
||||||
#define HTTP_HEADER_TRANSFER_ENCODING "Transfer-Encoding"
|
#define HTTP_HEADER_TRANSFER_ENCODING "Transfer-Encoding"
|
||||||
@ -156,14 +156,14 @@
|
|||||||
|
|
||||||
///
|
///
|
||||||
/// User Agent Request Header
|
/// User Agent Request Header
|
||||||
///
|
///
|
||||||
/// The User-Agent request-header field contains information about the user agent originating
|
/// The User-Agent request-header field contains information about the user agent originating
|
||||||
/// the request. This is for statistical purposes, the tracing of protocol violations, and
|
/// the request. This is for statistical purposes, the tracing of protocol violations, and
|
||||||
/// automated recognition of user agents for the sake of tailoring responses to avoid
|
/// automated recognition of user agents for the sake of tailoring responses to avoid
|
||||||
/// particular user agent limitations. User agents SHOULD include this field with requests.
|
/// particular user agent limitations. User agents SHOULD include this field with requests.
|
||||||
/// The field can contain multiple product tokens and comments identifying the agent and any
|
/// The field can contain multiple product tokens and comments identifying the agent and any
|
||||||
/// subproducts which form a significant part of the user agent.
|
/// subproducts which form a significant part of the user agent.
|
||||||
/// By convention, the product tokens are listed in order of their significance for
|
/// By convention, the product tokens are listed in order of their significance for
|
||||||
/// identifying the application.
|
/// identifying the application.
|
||||||
///
|
///
|
||||||
#define HTTP_HEADER_USER_AGENT "User-Agent"
|
#define HTTP_HEADER_USER_AGENT "User-Agent"
|
||||||
@ -171,49 +171,49 @@
|
|||||||
///
|
///
|
||||||
/// Host Request Header
|
/// Host Request Header
|
||||||
///
|
///
|
||||||
/// The Host request-header field specifies the Internet host and port number of the resource
|
/// The Host request-header field specifies the Internet host and port number of the resource
|
||||||
/// being requested, as obtained from the original URI given by the user or referring resource
|
/// being requested, as obtained from the original URI given by the user or referring resource
|
||||||
///
|
///
|
||||||
#define HTTP_HEADER_HOST "Host"
|
#define HTTP_HEADER_HOST "Host"
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Location Response Header
|
/// Location Response Header
|
||||||
///
|
///
|
||||||
/// The Location response-header field is used to redirect the recipient to a location other than
|
/// The Location response-header field is used to redirect the recipient to a location other than
|
||||||
/// the Request-URI for completion of the request or identification of a new resource.
|
/// the Request-URI for completion of the request or identification of a new resource.
|
||||||
/// For 201 (Created) responses, the Location is that of the new resource which was created by
|
/// For 201 (Created) responses, the Location is that of the new resource which was created by
|
||||||
/// the request. For 3xx responses, the location SHOULD indicate the server's preferred URI for
|
/// the request. For 3xx responses, the location SHOULD indicate the server's preferred URI for
|
||||||
/// automatic redirection to the resource. The field value consists of a single absolute URI.
|
/// automatic redirection to the resource. The field value consists of a single absolute URI.
|
||||||
///
|
///
|
||||||
#define HTTP_HEADER_LOCATION "Location"
|
#define HTTP_HEADER_LOCATION "Location"
|
||||||
|
|
||||||
///
|
///
|
||||||
/// The If-Match request-header field is used with a method to make it conditional.
|
/// The If-Match request-header field is used with a method to make it conditional.
|
||||||
/// A client that has one or more entities previously obtained from the resource
|
/// A client that has one or more entities previously obtained from the resource
|
||||||
/// can verify that one of those entities is current by including a list of their
|
/// can verify that one of those entities is current by including a list of their
|
||||||
/// associated entity tags in the If-Match header field.
|
/// associated entity tags in the If-Match header field.
|
||||||
/// The purpose of this feature is to allow efficient updates of cached information
|
/// The purpose of this feature is to allow efficient updates of cached information
|
||||||
/// with a minimum amount of transaction overhead. It is also used, on updating requests,
|
/// with a minimum amount of transaction overhead. It is also used, on updating requests,
|
||||||
/// to prevent inadvertent modification of the wrong version of a resource.
|
/// to prevent inadvertent modification of the wrong version of a resource.
|
||||||
/// As a special case, the value "*" matches any current entity of the resource.
|
/// As a special case, the value "*" matches any current entity of the resource.
|
||||||
///
|
///
|
||||||
#define HTTP_HEADER_IF_MATCH "If-Match"
|
#define HTTP_HEADER_IF_MATCH "If-Match"
|
||||||
|
|
||||||
|
|
||||||
///
|
///
|
||||||
/// The If-None-Match request-header field is used with a method to make it conditional.
|
/// The If-None-Match request-header field is used with a method to make it conditional.
|
||||||
/// A client that has one or more entities previously obtained from the resource can verify
|
/// A client that has one or more entities previously obtained from the resource can verify
|
||||||
/// that none of those entities is current by including a list of their associated entity
|
/// that none of those entities is current by including a list of their associated entity
|
||||||
/// tags in the If-None-Match header field. The purpose of this feature is to allow efficient
|
/// tags in the If-None-Match header field. The purpose of this feature is to allow efficient
|
||||||
/// updates of cached information with a minimum amount of transaction overhead. It is also used
|
/// updates of cached information with a minimum amount of transaction overhead. It is also used
|
||||||
/// to prevent a method (e.g. PUT) from inadvertently modifying an existing resource when the
|
/// to prevent a method (e.g. PUT) from inadvertently modifying an existing resource when the
|
||||||
/// client believes that the resource does not exist.
|
/// client believes that the resource does not exist.
|
||||||
///
|
///
|
||||||
#define HTTP_HEADER_IF_NONE_MATCH "If-None-Match"
|
#define HTTP_HEADER_IF_NONE_MATCH "If-None-Match"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Authorization Request Header
|
/// Authorization Request Header
|
||||||
/// The Authorization field value consists of credentials
|
/// The Authorization field value consists of credentials
|
||||||
/// containing the authentication information of the user agent for
|
/// containing the authentication information of the user agent for
|
||||||
@ -223,8 +223,8 @@
|
|||||||
|
|
||||||
///
|
///
|
||||||
/// ETAG Response Header
|
/// ETAG Response Header
|
||||||
/// The ETag response-header field provides the current value of the entity tag
|
/// The ETag response-header field provides the current value of the entity tag
|
||||||
/// for the requested variant.
|
/// for the requested variant.
|
||||||
///
|
///
|
||||||
#define HTTP_HEADER_ETAG "ETag"
|
#define HTTP_HEADER_ETAG "ETag"
|
||||||
|
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
/** @file
|
/** @file
|
||||||
The definition for iSCSI Boot Firmware Table, it's defined in Microsoft's
|
The definition for iSCSI Boot Firmware Table, it's defined in Microsoft's
|
||||||
iSCSI Boot Firmware Table(iBFT) as Defined in ACPI 3.0b Specification.
|
iSCSI Boot Firmware Table(iBFT) as Defined in ACPI 3.0b Specification.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
|
|
||||||
This program and the accompanying materials
|
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
|
||||||
http://opensource.org/licenses/bsd-license.php
|
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
This program and the accompanying materials
|
||||||
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
@ -58,7 +58,7 @@ typedef struct {
|
|||||||
} EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_HEADER;
|
} EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_HEADER;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Common Header of Boot Firmware Table Structure
|
/// Common Header of Boot Firmware Table Structure
|
||||||
///
|
///
|
||||||
typedef struct {
|
typedef struct {
|
||||||
UINT8 StructureId;
|
UINT8 StructureId;
|
||||||
@ -78,7 +78,7 @@ typedef struct {
|
|||||||
UINT16 NIC0Offset;
|
UINT16 NIC0Offset;
|
||||||
UINT16 Target0Offset;
|
UINT16 Target0Offset;
|
||||||
UINT16 NIC1Offset;
|
UINT16 NIC1Offset;
|
||||||
UINT16 Target1Offset;
|
UINT16 Target1Offset;
|
||||||
} EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE;
|
} EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE;
|
||||||
|
|
||||||
#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE_VERSION 0x1
|
#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE_VERSION 0x1
|
||||||
@ -100,8 +100,8 @@ typedef struct {
|
|||||||
|
|
||||||
#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_VERSION 0x1
|
#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_VERSION 0x1
|
||||||
|
|
||||||
#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_FLAG_BLOCK_VALID BIT0
|
#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_FLAG_BLOCK_VALID BIT0
|
||||||
#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_FLAG_BOOT_SELECTED BIT1
|
#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_FLAG_BOOT_SELECTED BIT1
|
||||||
|
|
||||||
///
|
///
|
||||||
/// NIC Structure
|
/// NIC Structure
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
/** @file
|
/** @file
|
||||||
Defives data structures per MultiProcessor Specification Ver 1.4.
|
Defives data structures per MultiProcessor Specification Ver 1.4.
|
||||||
|
|
||||||
The MultiProcessor Specification defines an enhancement to the standard
|
The MultiProcessor Specification defines an enhancement to the standard
|
||||||
to which PC manufacturers design DOS-compatible systems.
|
to which PC manufacturers design DOS-compatible systems.
|
||||||
|
|
||||||
Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
Legacy Master Boot Record Format Definition.
|
Legacy Master Boot Record Format Definition.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
/** @file
|
/** @file
|
||||||
ACPI memory mapped configuration space access table definition, defined at
|
ACPI memory mapped configuration space access table definition, defined at
|
||||||
in the PCI Firmware Specification, version 3.0.
|
in the PCI Firmware Specification, version 3.0.
|
||||||
Specification is available at http://www.pcisig.com.
|
Specification is available at http://www.pcisig.com.
|
||||||
|
|
||||||
Copyright (c) 2007 - 2008, Intel Corporation. All rights reserved.<BR>
|
|
||||||
This program and the accompanying materials
|
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
|
||||||
http://opensource.org/licenses/bsd-license.php
|
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
Copyright (c) 2007 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
This program and the accompanying materials
|
||||||
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
**/
|
**/
|
||||||
|
|
||||||
#ifndef _MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_TABLE_H_
|
#ifndef _MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_TABLE_H_
|
||||||
@ -35,7 +35,7 @@ typedef struct {
|
|||||||
} EFI_ACPI_MEMORY_MAPPED_ENHANCED_CONFIGURATION_SPACE_BASE_ADDRESS_ALLOCATION_STRUCTURE;
|
} EFI_ACPI_MEMORY_MAPPED_ENHANCED_CONFIGURATION_SPACE_BASE_ADDRESS_ALLOCATION_STRUCTURE;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// MCFG Table header definition. The rest of the table
|
/// MCFG Table header definition. The rest of the table
|
||||||
/// must be defined in a platform specific manner.
|
/// must be defined in a platform specific manner.
|
||||||
///
|
///
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/** @file
|
/** @file
|
||||||
Support for Microsoft Secure MOR implementation, defined at
|
Support for Microsoft Secure MOR implementation, defined at
|
||||||
Microsoft Secure MOR implementation.
|
Microsoft Secure MOR implementation.
|
||||||
https://msdn.microsoft.com/en-us/library/windows/hardware/mt270973(v=vs.85).aspx
|
https://msdn.microsoft.com/en-us/library/windows/hardware/mt270973(v=vs.85).aspx
|
||||||
|
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
Main PAL API's defined in Intel Itanium Architecture Software Developer's Manual.
|
Main PAL API's defined in Intel Itanium Architecture Software Developer's Manual.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
@ -1152,7 +1152,7 @@ typedef struct {
|
|||||||
///< be enabled or disabled by
|
///< be enabled or disabled by
|
||||||
///< PAL_PROC_SET_FEATURES. The
|
///< PAL_PROC_SET_FEATURES. The
|
||||||
///< corresponding argument is ignored.
|
///< corresponding argument is ignored.
|
||||||
|
|
||||||
UINT64 NoPresentPmi:1; ///< Bit37, No INIT, PMI, and LINT pins
|
UINT64 NoPresentPmi:1; ///< Bit37, No INIT, PMI, and LINT pins
|
||||||
///< present. Denotes the absence of INIT,
|
///< present. Denotes the absence of INIT,
|
||||||
///< PMI, LINT0 and LINT1 pins on the
|
///< PMI, LINT0 and LINT1 pins on the
|
||||||
@ -1163,7 +1163,7 @@ typedef struct {
|
|||||||
///< enabled or disabled by
|
///< enabled or disabled by
|
||||||
///< PAL_PROC_SET_FEATURES. The corresponding
|
///< PAL_PROC_SET_FEATURES. The corresponding
|
||||||
///< argument is ignored.
|
///< argument is ignored.
|
||||||
|
|
||||||
UINT64 NoSimpleImpInUndefinedIns:1; ///< Bit38, No Simple
|
UINT64 NoSimpleImpInUndefinedIns:1; ///< Bit38, No Simple
|
||||||
///< implementation of
|
///< implementation of
|
||||||
///< unimplemented instruction
|
///< unimplemented instruction
|
||||||
@ -1432,7 +1432,7 @@ typedef struct {
|
|||||||
///< bit has no effect if BERR
|
///< bit has no effect if BERR
|
||||||
///< signalling is disabled. (See
|
///< signalling is disabled. (See
|
||||||
///< PAL_BUS_GET/SET_FEATURES)
|
///< PAL_BUS_GET/SET_FEATURES)
|
||||||
|
|
||||||
UINT64 EnableBerrPromotion:1; ///< Bit63. Enable BERR promotion. When
|
UINT64 EnableBerrPromotion:1; ///< Bit63. Enable BERR promotion. When
|
||||||
///< 1, the Bus Error (BERR) signal is
|
///< 1, the Bus Error (BERR) signal is
|
||||||
///< promoted to the Bus Initialization
|
///< promoted to the Bus Initialization
|
||||||
@ -1757,15 +1757,15 @@ typedef struct {
|
|||||||
|
|
||||||
UINT64 FailedInInsCache:1; ///< Bit11, Failure located in the
|
UINT64 FailedInInsCache:1; ///< Bit11, Failure located in the
|
||||||
///< instruction cache.
|
///< instruction cache.
|
||||||
|
|
||||||
UINT64 Mesi:3; ///< Bit14:12, 0 - cache line is invalid. 1 - cache
|
UINT64 Mesi:3; ///< Bit14:12, 0 - cache line is invalid. 1 - cache
|
||||||
///< line is held shared. 2 - cache line is held
|
///< line is held shared. 2 - cache line is held
|
||||||
///< exclusive. 3 - cache line is modified. All other
|
///< exclusive. 3 - cache line is modified. All other
|
||||||
///< values are reserved.
|
///< values are reserved.
|
||||||
|
|
||||||
UINT64 MesiIsValid:1; ///< Bit15, The mesi field in the cache_check
|
UINT64 MesiIsValid:1; ///< Bit15, The mesi field in the cache_check
|
||||||
///< parameter is valid.
|
///< parameter is valid.
|
||||||
|
|
||||||
UINT64 FailedWay:5; ///< Bit20:16, Failure located in the way of
|
UINT64 FailedWay:5; ///< Bit20:16, Failure located in the way of
|
||||||
///< the cache indicated by this value.
|
///< the cache indicated by this value.
|
||||||
|
|
||||||
@ -2288,7 +2288,7 @@ typedef struct {
|
|||||||
///< ignored or generate an illegal argument in
|
///< ignored or generate an illegal argument in
|
||||||
///< procedure calls if the caller sets these
|
///< procedure calls if the caller sets these
|
||||||
///< bits.
|
///< bits.
|
||||||
|
|
||||||
UINT64 ControlSupport:1; ///< This bit defines if an implementation
|
UINT64 ControlSupport:1; ///< This bit defines if an implementation
|
||||||
///< supports control of the PAL self-tests
|
///< supports control of the PAL self-tests
|
||||||
///< via the self-test control word. If
|
///< via the self-test control word. If
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
Support for the latest PCI standard.
|
Support for the latest PCI standard.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials are licensed and made available under
|
This program and the accompanying materials are licensed and made available under
|
||||||
the terms and conditions of the BSD License that accompanies this distribution.
|
the terms and conditions of the BSD License that accompanies this distribution.
|
||||||
The full text of the license may be found at
|
The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php.
|
http://opensource.org/licenses/bsd-license.php.
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
|
@ -9,13 +9,13 @@
|
|||||||
|
|
||||||
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||||
Copyright (c) 2014 - 2015, Hewlett-Packard Development Company, L.P.<BR>
|
Copyright (c) 2014 - 2015, Hewlett-Packard Development Company, L.P.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
@ -116,8 +116,8 @@ typedef union {
|
|||||||
PCI_TYPE01 Bridge;
|
PCI_TYPE01 Bridge;
|
||||||
} PCI_TYPE_GENERIC;
|
} PCI_TYPE_GENERIC;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// CardBus Conroller Configuration Space,
|
/// CardBus Conroller Configuration Space,
|
||||||
/// Section 4.5.1, PC Card Standard. 8.0
|
/// Section 4.5.1, PC Card Standard. 8.0
|
||||||
///
|
///
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@ -158,7 +158,7 @@ typedef struct {
|
|||||||
#define PCI_CLASS_MASS_STORAGE_OTHER 0x80
|
#define PCI_CLASS_MASS_STORAGE_OTHER 0x80
|
||||||
|
|
||||||
#define PCI_CLASS_NETWORK 0x02
|
#define PCI_CLASS_NETWORK 0x02
|
||||||
#define PCI_CLASS_NETWORK_ETHERNET 0x00
|
#define PCI_CLASS_NETWORK_ETHERNET 0x00
|
||||||
#define PCI_CLASS_NETWORK_TOKENRING 0x01
|
#define PCI_CLASS_NETWORK_TOKENRING 0x01
|
||||||
#define PCI_CLASS_NETWORK_FDDI 0x02
|
#define PCI_CLASS_NETWORK_FDDI 0x02
|
||||||
#define PCI_CLASS_NETWORK_ATM 0x03
|
#define PCI_CLASS_NETWORK_ATM 0x03
|
||||||
@ -171,7 +171,7 @@ typedef struct {
|
|||||||
#define PCI_IF_VGA_8514 0x01
|
#define PCI_IF_VGA_8514 0x01
|
||||||
#define PCI_CLASS_DISPLAY_XGA 0x01
|
#define PCI_CLASS_DISPLAY_XGA 0x01
|
||||||
#define PCI_CLASS_DISPLAY_3D 0x02
|
#define PCI_CLASS_DISPLAY_3D 0x02
|
||||||
#define PCI_CLASS_DISPLAY_OTHER 0x80
|
#define PCI_CLASS_DISPLAY_OTHER 0x80
|
||||||
|
|
||||||
#define PCI_CLASS_MEDIA 0x04
|
#define PCI_CLASS_MEDIA 0x04
|
||||||
#define PCI_CLASS_MEDIA_VIDEO 0x00
|
#define PCI_CLASS_MEDIA_VIDEO 0x00
|
||||||
@ -199,7 +199,7 @@ typedef struct {
|
|||||||
#define PCI_CLASS_BRIDGE_OTHER 0x80
|
#define PCI_CLASS_BRIDGE_OTHER 0x80
|
||||||
#define PCI_CLASS_BRIDGE_ISA_PDECODE 0x80
|
#define PCI_CLASS_BRIDGE_ISA_PDECODE 0x80
|
||||||
|
|
||||||
#define PCI_CLASS_SCC 0x07 ///< Simple communications controllers
|
#define PCI_CLASS_SCC 0x07 ///< Simple communications controllers
|
||||||
#define PCI_SUBCLASS_SERIAL 0x00
|
#define PCI_SUBCLASS_SERIAL 0x00
|
||||||
#define PCI_IF_GENERIC_XT 0x00
|
#define PCI_IF_GENERIC_XT 0x00
|
||||||
#define PCI_IF_16450 0x01
|
#define PCI_IF_16450 0x01
|
||||||
@ -228,8 +228,8 @@ typedef struct {
|
|||||||
#define PCI_IF_8259_PIC 0x00
|
#define PCI_IF_8259_PIC 0x00
|
||||||
#define PCI_IF_ISA_PIC 0x01
|
#define PCI_IF_ISA_PIC 0x01
|
||||||
#define PCI_IF_EISA_PIC 0x02
|
#define PCI_IF_EISA_PIC 0x02
|
||||||
#define PCI_IF_APIC_CONTROLLER 0x10 ///< I/O APIC interrupt controller , 32 bye none-prefectable memory.
|
#define PCI_IF_APIC_CONTROLLER 0x10 ///< I/O APIC interrupt controller , 32 bye none-prefectable memory.
|
||||||
#define PCI_IF_APIC_CONTROLLER2 0x20
|
#define PCI_IF_APIC_CONTROLLER2 0x20
|
||||||
#define PCI_SUBCLASS_DMA 0x01
|
#define PCI_SUBCLASS_DMA 0x01
|
||||||
#define PCI_IF_8237_DMA 0x00
|
#define PCI_IF_8237_DMA 0x00
|
||||||
#define PCI_IF_ISA_DMA 0x01
|
#define PCI_IF_ISA_DMA 0x01
|
||||||
@ -297,25 +297,25 @@ typedef struct {
|
|||||||
|
|
||||||
#define PCI_SECURITY_CONTROLLER 0x10 ///< Encryption and decryption controller
|
#define PCI_SECURITY_CONTROLLER 0x10 ///< Encryption and decryption controller
|
||||||
#define PCI_SUBCLASS_NET_COMPUT 0x00
|
#define PCI_SUBCLASS_NET_COMPUT 0x00
|
||||||
#define PCI_SUBCLASS_ENTERTAINMENT 0x10
|
#define PCI_SUBCLASS_ENTERTAINMENT 0x10
|
||||||
#define PCI_SUBCLASS_SECURITY_OTHER 0x80
|
#define PCI_SUBCLASS_SECURITY_OTHER 0x80
|
||||||
|
|
||||||
#define PCI_CLASS_DPIO 0x11
|
#define PCI_CLASS_DPIO 0x11
|
||||||
#define PCI_SUBCLASS_DPIO 0x00
|
#define PCI_SUBCLASS_DPIO 0x00
|
||||||
#define PCI_SUBCLASS_DPIO_OTHER 0x80
|
#define PCI_SUBCLASS_DPIO_OTHER 0x80
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Macro that checks whether the Base Class code of device matched.
|
Macro that checks whether the Base Class code of device matched.
|
||||||
|
|
||||||
@param _p Specified device.
|
@param _p Specified device.
|
||||||
@param c Base Class code needs matching.
|
@param c Base Class code needs matching.
|
||||||
|
|
||||||
@retval TRUE Base Class code matches the specified device.
|
@retval TRUE Base Class code matches the specified device.
|
||||||
@retval FALSE Base Class code doesn't match the specified device.
|
@retval FALSE Base Class code doesn't match the specified device.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
#define IS_CLASS1(_p, c) ((_p)->Hdr.ClassCode[2] == (c))
|
#define IS_CLASS1(_p, c) ((_p)->Hdr.ClassCode[2] == (c))
|
||||||
/**
|
/**
|
||||||
Macro that checks whether the Base Class code and Sub-Class code of device matched.
|
Macro that checks whether the Base Class code and Sub-Class code of device matched.
|
||||||
|
|
||||||
@param _p Specified device.
|
@param _p Specified device.
|
||||||
@ -323,11 +323,11 @@ typedef struct {
|
|||||||
@param s Sub-Class code needs matching.
|
@param s Sub-Class code needs matching.
|
||||||
|
|
||||||
@retval TRUE Base Class code and Sub-Class code match the specified device.
|
@retval TRUE Base Class code and Sub-Class code match the specified device.
|
||||||
@retval FALSE Base Class code and Sub-Class code don't match the specified device.
|
@retval FALSE Base Class code and Sub-Class code don't match the specified device.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
#define IS_CLASS2(_p, c, s) (IS_CLASS1 (_p, c) && ((_p)->Hdr.ClassCode[1] == (s)))
|
#define IS_CLASS2(_p, c, s) (IS_CLASS1 (_p, c) && ((_p)->Hdr.ClassCode[1] == (s)))
|
||||||
/**
|
/**
|
||||||
Macro that checks whether the Base Class code, Sub-Class code and Interface code of device matched.
|
Macro that checks whether the Base Class code, Sub-Class code and Interface code of device matched.
|
||||||
|
|
||||||
@param _p Specified device.
|
@param _p Specified device.
|
||||||
@ -336,12 +336,12 @@ typedef struct {
|
|||||||
@param p Interface code needs matching.
|
@param p Interface code needs matching.
|
||||||
|
|
||||||
@retval TRUE Base Class code, Sub-Class code and Interface code match the specified device.
|
@retval TRUE Base Class code, Sub-Class code and Interface code match the specified device.
|
||||||
@retval FALSE Base Class code, Sub-Class code and Interface code don't match the specified device.
|
@retval FALSE Base Class code, Sub-Class code and Interface code don't match the specified device.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
#define IS_CLASS3(_p, c, s, p) (IS_CLASS2 (_p, c, s) && ((_p)->Hdr.ClassCode[0] == (p)))
|
#define IS_CLASS3(_p, c, s, p) (IS_CLASS2 (_p, c, s) && ((_p)->Hdr.ClassCode[0] == (p)))
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Macro that checks whether device is a display controller.
|
Macro that checks whether device is a display controller.
|
||||||
|
|
||||||
@param _p Specified device.
|
@param _p Specified device.
|
||||||
@ -351,7 +351,7 @@ typedef struct {
|
|||||||
|
|
||||||
**/
|
**/
|
||||||
#define IS_PCI_DISPLAY(_p) IS_CLASS1 (_p, PCI_CLASS_DISPLAY)
|
#define IS_PCI_DISPLAY(_p) IS_CLASS1 (_p, PCI_CLASS_DISPLAY)
|
||||||
/**
|
/**
|
||||||
Macro that checks whether device is a VGA-compatible controller.
|
Macro that checks whether device is a VGA-compatible controller.
|
||||||
|
|
||||||
@param _p Specified device.
|
@param _p Specified device.
|
||||||
@ -361,7 +361,7 @@ typedef struct {
|
|||||||
|
|
||||||
**/
|
**/
|
||||||
#define IS_PCI_VGA(_p) IS_CLASS3 (_p, PCI_CLASS_DISPLAY, PCI_CLASS_DISPLAY_VGA, PCI_IF_VGA_VGA)
|
#define IS_PCI_VGA(_p) IS_CLASS3 (_p, PCI_CLASS_DISPLAY, PCI_CLASS_DISPLAY_VGA, PCI_IF_VGA_VGA)
|
||||||
/**
|
/**
|
||||||
Macro that checks whether device is an 8514-compatible controller.
|
Macro that checks whether device is an 8514-compatible controller.
|
||||||
|
|
||||||
@param _p Specified device.
|
@param _p Specified device.
|
||||||
@ -371,7 +371,7 @@ typedef struct {
|
|||||||
|
|
||||||
**/
|
**/
|
||||||
#define IS_PCI_8514(_p) IS_CLASS3 (_p, PCI_CLASS_DISPLAY, PCI_CLASS_DISPLAY_VGA, PCI_IF_VGA_8514)
|
#define IS_PCI_8514(_p) IS_CLASS3 (_p, PCI_CLASS_DISPLAY, PCI_CLASS_DISPLAY_VGA, PCI_IF_VGA_8514)
|
||||||
/**
|
/**
|
||||||
Macro that checks whether device is built before the Class Code field was defined.
|
Macro that checks whether device is built before the Class Code field was defined.
|
||||||
|
|
||||||
@param _p Specified device.
|
@param _p Specified device.
|
||||||
@ -381,7 +381,7 @@ typedef struct {
|
|||||||
|
|
||||||
**/
|
**/
|
||||||
#define IS_PCI_OLD(_p) IS_CLASS1 (_p, PCI_CLASS_OLD)
|
#define IS_PCI_OLD(_p) IS_CLASS1 (_p, PCI_CLASS_OLD)
|
||||||
/**
|
/**
|
||||||
Macro that checks whether device is a VGA-compatible device built before the Class Code field was defined.
|
Macro that checks whether device is a VGA-compatible device built before the Class Code field was defined.
|
||||||
|
|
||||||
@param _p Specified device.
|
@param _p Specified device.
|
||||||
@ -391,7 +391,7 @@ typedef struct {
|
|||||||
|
|
||||||
**/
|
**/
|
||||||
#define IS_PCI_OLD_VGA(_p) IS_CLASS2 (_p, PCI_CLASS_OLD, PCI_CLASS_OLD_VGA)
|
#define IS_PCI_OLD_VGA(_p) IS_CLASS2 (_p, PCI_CLASS_OLD, PCI_CLASS_OLD_VGA)
|
||||||
/**
|
/**
|
||||||
Macro that checks whether device is an IDE controller.
|
Macro that checks whether device is an IDE controller.
|
||||||
|
|
||||||
@param _p Specified device.
|
@param _p Specified device.
|
||||||
@ -401,7 +401,7 @@ typedef struct {
|
|||||||
|
|
||||||
**/
|
**/
|
||||||
#define IS_PCI_IDE(_p) IS_CLASS2 (_p, PCI_CLASS_MASS_STORAGE, PCI_CLASS_MASS_STORAGE_IDE)
|
#define IS_PCI_IDE(_p) IS_CLASS2 (_p, PCI_CLASS_MASS_STORAGE, PCI_CLASS_MASS_STORAGE_IDE)
|
||||||
/**
|
/**
|
||||||
Macro that checks whether device is a SCSI bus controller.
|
Macro that checks whether device is a SCSI bus controller.
|
||||||
|
|
||||||
@param _p Specified device.
|
@param _p Specified device.
|
||||||
@ -411,7 +411,7 @@ typedef struct {
|
|||||||
|
|
||||||
**/
|
**/
|
||||||
#define IS_PCI_SCSI(_p) IS_CLASS2 (_p, PCI_CLASS_MASS_STORAGE, PCI_CLASS_MASS_STORAGE_SCSI)
|
#define IS_PCI_SCSI(_p) IS_CLASS2 (_p, PCI_CLASS_MASS_STORAGE, PCI_CLASS_MASS_STORAGE_SCSI)
|
||||||
/**
|
/**
|
||||||
Macro that checks whether device is a RAID controller.
|
Macro that checks whether device is a RAID controller.
|
||||||
|
|
||||||
@param _p Specified device.
|
@param _p Specified device.
|
||||||
@ -421,7 +421,7 @@ typedef struct {
|
|||||||
|
|
||||||
**/
|
**/
|
||||||
#define IS_PCI_RAID(_p) IS_CLASS2 (_p, PCI_CLASS_MASS_STORAGE, PCI_CLASS_MASS_STORAGE_RAID)
|
#define IS_PCI_RAID(_p) IS_CLASS2 (_p, PCI_CLASS_MASS_STORAGE, PCI_CLASS_MASS_STORAGE_RAID)
|
||||||
/**
|
/**
|
||||||
Macro that checks whether device is an ISA bridge.
|
Macro that checks whether device is an ISA bridge.
|
||||||
|
|
||||||
@param _p Specified device.
|
@param _p Specified device.
|
||||||
@ -431,7 +431,7 @@ typedef struct {
|
|||||||
|
|
||||||
**/
|
**/
|
||||||
#define IS_PCI_LPC(_p) IS_CLASS2 (_p, PCI_CLASS_BRIDGE, PCI_CLASS_BRIDGE_ISA)
|
#define IS_PCI_LPC(_p) IS_CLASS2 (_p, PCI_CLASS_BRIDGE, PCI_CLASS_BRIDGE_ISA)
|
||||||
/**
|
/**
|
||||||
Macro that checks whether device is a PCI-to-PCI bridge.
|
Macro that checks whether device is a PCI-to-PCI bridge.
|
||||||
|
|
||||||
@param _p Specified device.
|
@param _p Specified device.
|
||||||
@ -441,7 +441,7 @@ typedef struct {
|
|||||||
|
|
||||||
**/
|
**/
|
||||||
#define IS_PCI_P2P(_p) IS_CLASS3 (_p, PCI_CLASS_BRIDGE, PCI_CLASS_BRIDGE_P2P, PCI_IF_BRIDGE_P2P)
|
#define IS_PCI_P2P(_p) IS_CLASS3 (_p, PCI_CLASS_BRIDGE, PCI_CLASS_BRIDGE_P2P, PCI_IF_BRIDGE_P2P)
|
||||||
/**
|
/**
|
||||||
Macro that checks whether device is a Subtractive Decode PCI-to-PCI bridge.
|
Macro that checks whether device is a Subtractive Decode PCI-to-PCI bridge.
|
||||||
|
|
||||||
@param _p Specified device.
|
@param _p Specified device.
|
||||||
@ -451,7 +451,7 @@ typedef struct {
|
|||||||
|
|
||||||
**/
|
**/
|
||||||
#define IS_PCI_P2P_SUB(_p) IS_CLASS3 (_p, PCI_CLASS_BRIDGE, PCI_CLASS_BRIDGE_P2P, PCI_IF_BRIDGE_P2P_SUBTRACTIVE)
|
#define IS_PCI_P2P_SUB(_p) IS_CLASS3 (_p, PCI_CLASS_BRIDGE, PCI_CLASS_BRIDGE_P2P, PCI_IF_BRIDGE_P2P_SUBTRACTIVE)
|
||||||
/**
|
/**
|
||||||
Macro that checks whether device is a 16550-compatible serial controller.
|
Macro that checks whether device is a 16550-compatible serial controller.
|
||||||
|
|
||||||
@param _p Specified device.
|
@param _p Specified device.
|
||||||
@ -461,7 +461,7 @@ typedef struct {
|
|||||||
|
|
||||||
**/
|
**/
|
||||||
#define IS_PCI_16550_SERIAL(_p) IS_CLASS3 (_p, PCI_CLASS_SCC, PCI_SUBCLASS_SERIAL, PCI_IF_16550)
|
#define IS_PCI_16550_SERIAL(_p) IS_CLASS3 (_p, PCI_CLASS_SCC, PCI_SUBCLASS_SERIAL, PCI_IF_16550)
|
||||||
/**
|
/**
|
||||||
Macro that checks whether device is a Universal Serial Bus controller.
|
Macro that checks whether device is a Universal Serial Bus controller.
|
||||||
|
|
||||||
@param _p Specified device.
|
@param _p Specified device.
|
||||||
@ -473,7 +473,7 @@ typedef struct {
|
|||||||
#define IS_PCI_USB(_p) IS_CLASS2 (_p, PCI_CLASS_SERIAL, PCI_CLASS_SERIAL_USB)
|
#define IS_PCI_USB(_p) IS_CLASS2 (_p, PCI_CLASS_SERIAL, PCI_CLASS_SERIAL_USB)
|
||||||
|
|
||||||
//
|
//
|
||||||
// the definition of Header Type
|
// the definition of Header Type
|
||||||
//
|
//
|
||||||
#define HEADER_TYPE_DEVICE 0x00
|
#define HEADER_TYPE_DEVICE 0x00
|
||||||
#define HEADER_TYPE_PCI_TO_PCI_BRIDGE 0x01
|
#define HEADER_TYPE_PCI_TO_PCI_BRIDGE 0x01
|
||||||
@ -483,7 +483,7 @@ typedef struct {
|
|||||||
// Mask of Header type
|
// Mask of Header type
|
||||||
//
|
//
|
||||||
#define HEADER_LAYOUT_CODE 0x7f
|
#define HEADER_LAYOUT_CODE 0x7f
|
||||||
/**
|
/**
|
||||||
Macro that checks whether device is a PCI-PCI bridge.
|
Macro that checks whether device is a PCI-PCI bridge.
|
||||||
|
|
||||||
@param _p Specified device.
|
@param _p Specified device.
|
||||||
@ -493,7 +493,7 @@ typedef struct {
|
|||||||
|
|
||||||
**/
|
**/
|
||||||
#define IS_PCI_BRIDGE(_p) (((_p)->Hdr.HeaderType & HEADER_LAYOUT_CODE) == (HEADER_TYPE_PCI_TO_PCI_BRIDGE))
|
#define IS_PCI_BRIDGE(_p) (((_p)->Hdr.HeaderType & HEADER_LAYOUT_CODE) == (HEADER_TYPE_PCI_TO_PCI_BRIDGE))
|
||||||
/**
|
/**
|
||||||
Macro that checks whether device is a CardBus bridge.
|
Macro that checks whether device is a CardBus bridge.
|
||||||
|
|
||||||
@param _p Specified device.
|
@param _p Specified device.
|
||||||
@ -503,7 +503,7 @@ typedef struct {
|
|||||||
|
|
||||||
**/
|
**/
|
||||||
#define IS_CARDBUS_BRIDGE(_p) (((_p)->Hdr.HeaderType & HEADER_LAYOUT_CODE) == (HEADER_TYPE_CARDBUS_BRIDGE))
|
#define IS_CARDBUS_BRIDGE(_p) (((_p)->Hdr.HeaderType & HEADER_LAYOUT_CODE) == (HEADER_TYPE_CARDBUS_BRIDGE))
|
||||||
/**
|
/**
|
||||||
Macro that checks whether device is a multiple functions device.
|
Macro that checks whether device is a multiple functions device.
|
||||||
|
|
||||||
@param _p Specified device.
|
@param _p Specified device.
|
||||||
@ -548,17 +548,17 @@ typedef struct {
|
|||||||
//
|
//
|
||||||
// defined in PCI-to-PCI Bridge Architecture Specification
|
// defined in PCI-to-PCI Bridge Architecture Specification
|
||||||
//
|
//
|
||||||
#define PCI_BRIDGE_PRIMARY_BUS_REGISTER_OFFSET 0x18
|
#define PCI_BRIDGE_PRIMARY_BUS_REGISTER_OFFSET 0x18
|
||||||
#define PCI_BRIDGE_SECONDARY_BUS_REGISTER_OFFSET 0x19
|
#define PCI_BRIDGE_SECONDARY_BUS_REGISTER_OFFSET 0x19
|
||||||
#define PCI_BRIDGE_SUBORDINATE_BUS_REGISTER_OFFSET 0x1a
|
#define PCI_BRIDGE_SUBORDINATE_BUS_REGISTER_OFFSET 0x1a
|
||||||
#define PCI_BRIDGE_SECONDARY_LATENCY_TIMER_OFFSET 0x1b
|
#define PCI_BRIDGE_SECONDARY_LATENCY_TIMER_OFFSET 0x1b
|
||||||
#define PCI_BRIDGE_STATUS_REGISTER_OFFSET 0x1E
|
#define PCI_BRIDGE_STATUS_REGISTER_OFFSET 0x1E
|
||||||
#define PCI_BRIDGE_CONTROL_REGISTER_OFFSET 0x3E
|
#define PCI_BRIDGE_CONTROL_REGISTER_OFFSET 0x3E
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Interrupt Line "Unknown" or "No connection" value defined for x86 based system
|
/// Interrupt Line "Unknown" or "No connection" value defined for x86 based system
|
||||||
///
|
///
|
||||||
#define PCI_INT_LINE_UNKNOWN 0xFF
|
#define PCI_INT_LINE_UNKNOWN 0xFF
|
||||||
|
|
||||||
///
|
///
|
||||||
/// PCI Access Data Format
|
/// PCI Access Data Format
|
||||||
@ -770,7 +770,7 @@ typedef struct {
|
|||||||
} EFI_PCI_CAPABILITY_MSI64;
|
} EFI_PCI_CAPABILITY_MSI64;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Capability EFI_PCI_CAPABILITY_ID_HOTPLUG,
|
/// Capability EFI_PCI_CAPABILITY_ID_HOTPLUG,
|
||||||
/// CompactPCI Hot Swap Specification PICMG 2.1, R1.0
|
/// CompactPCI Hot Swap Specification PICMG 2.1, R1.0
|
||||||
///
|
///
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@ -789,8 +789,8 @@ typedef struct {
|
|||||||
|
|
||||||
///
|
///
|
||||||
/// EFI PCI Option ROM definitions
|
/// EFI PCI Option ROM definitions
|
||||||
///
|
///
|
||||||
#define EFI_ROOT_BRIDGE_LIST 'eprb'
|
#define EFI_ROOT_BRIDGE_LIST 'eprb'
|
||||||
#define EFI_PCI_EXPANSION_ROM_HEADER_EFISIGNATURE 0x0EF1 ///< defined in UEFI Spec.
|
#define EFI_PCI_EXPANSION_ROM_HEADER_EFISIGNATURE 0x0EF1 ///< defined in UEFI Spec.
|
||||||
|
|
||||||
#define PCI_EXPANSION_ROM_HEADER_SIGNATURE 0xaa55
|
#define PCI_EXPANSION_ROM_HEADER_SIGNATURE 0xaa55
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
Support for PCI 2.3 standard.
|
Support for PCI 2.3 standard.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php.
|
http://opensource.org/licenses/bsd-license.php.
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
@ -96,7 +96,7 @@
|
|||||||
|
|
||||||
#pragma pack(1)
|
#pragma pack(1)
|
||||||
///
|
///
|
||||||
/// PCI-X Capabilities List,
|
/// PCI-X Capabilities List,
|
||||||
/// Section 7.2, PCI-X Addendum to the PCI Local Bus Specification, Revision 1.0b.
|
/// Section 7.2, PCI-X Addendum to the PCI Local Bus Specification, Revision 1.0b.
|
||||||
///
|
///
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@ -106,7 +106,7 @@ typedef struct {
|
|||||||
} EFI_PCI_CAPABILITY_PCIX;
|
} EFI_PCI_CAPABILITY_PCIX;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// PCI-X Bridge Capabilities List,
|
/// PCI-X Bridge Capabilities List,
|
||||||
/// Section 8.6.2, PCI-X Addendum to the PCI Local Bus Specification, Revision 1.0b.
|
/// Section 8.6.2, PCI-X Addendum to the PCI Local Bus Specification, Revision 1.0b.
|
||||||
///
|
///
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
Support for PCI 3.0 standard.
|
Support for PCI 3.0 standard.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
|
@ -3,13 +3,13 @@
|
|||||||
revision 1.3.
|
revision 1.3.
|
||||||
|
|
||||||
Copyright (c) 2012, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2012, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
|
@ -2,14 +2,14 @@
|
|||||||
Support for the latest PCI standard.
|
Support for the latest PCI standard.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||||
(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
|
(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
This header file may not define all structures. Please extend as required.
|
This header file may not define all structures. Please extend as required.
|
||||||
|
|
||||||
Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
|
@ -1,21 +1,21 @@
|
|||||||
/** @file
|
/** @file
|
||||||
EFI image format for PE32, PE32+ and TE. Please note some data structures are
|
EFI image format for PE32, PE32+ and TE. Please note some data structures are
|
||||||
different for PE32 and PE32+. EFI_IMAGE_NT_HEADERS32 is for PE32 and
|
different for PE32 and PE32+. EFI_IMAGE_NT_HEADERS32 is for PE32 and
|
||||||
EFI_IMAGE_NT_HEADERS64 is for PE32+.
|
EFI_IMAGE_NT_HEADERS64 is for PE32+.
|
||||||
|
|
||||||
This file is coded to the Visual Studio, Microsoft Portable Executable and
|
This file is coded to the Visual Studio, Microsoft Portable Executable and
|
||||||
Common Object File Format Specification, Revision 8.3 - February 6, 2013.
|
Common Object File Format Specification, Revision 8.3 - February 6, 2013.
|
||||||
This file also includes some definitions in PI Specification, Revision 1.0.
|
This file also includes some definitions in PI Specification, Revision 1.0.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||||
Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
|
Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php.
|
http://opensource.org/licenses/bsd-license.php.
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
@ -134,12 +134,12 @@ typedef struct {
|
|||||||
|
|
||||||
///
|
///
|
||||||
/// @attention
|
/// @attention
|
||||||
/// EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC means PE32 and
|
/// EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC means PE32 and
|
||||||
/// EFI_IMAGE_OPTIONAL_HEADER32 must be used. The data structures only vary
|
/// EFI_IMAGE_OPTIONAL_HEADER32 must be used. The data structures only vary
|
||||||
/// after NT additional fields.
|
/// after NT additional fields.
|
||||||
///
|
///
|
||||||
#define EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC 0x10b
|
#define EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC 0x10b
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Optional Header Standard Fields for PE32.
|
/// Optional Header Standard Fields for PE32.
|
||||||
///
|
///
|
||||||
@ -185,7 +185,7 @@ typedef struct {
|
|||||||
|
|
||||||
///
|
///
|
||||||
/// @attention
|
/// @attention
|
||||||
/// EFI_IMAGE_NT_OPTIONAL_HDR64_MAGIC means PE32+ and
|
/// EFI_IMAGE_NT_OPTIONAL_HDR64_MAGIC means PE32+ and
|
||||||
/// EFI_IMAGE_OPTIONAL_HEADER64 must be used. The data structures only vary
|
/// EFI_IMAGE_OPTIONAL_HEADER64 must be used. The data structures only vary
|
||||||
/// after NT additional fields.
|
/// after NT additional fields.
|
||||||
///
|
///
|
||||||
@ -296,7 +296,7 @@ typedef struct {
|
|||||||
/// Size of EFI_IMAGE_SECTION_HEADER.
|
/// Size of EFI_IMAGE_SECTION_HEADER.
|
||||||
///
|
///
|
||||||
#define EFI_IMAGE_SIZEOF_SECTION_HEADER 40
|
#define EFI_IMAGE_SIZEOF_SECTION_HEADER 40
|
||||||
|
|
||||||
//
|
//
|
||||||
// Section Flags Values
|
// Section Flags Values
|
||||||
//
|
//
|
||||||
@ -304,12 +304,12 @@ typedef struct {
|
|||||||
#define EFI_IMAGE_SCN_CNT_CODE BIT5 ///< 0x00000020
|
#define EFI_IMAGE_SCN_CNT_CODE BIT5 ///< 0x00000020
|
||||||
#define EFI_IMAGE_SCN_CNT_INITIALIZED_DATA BIT6 ///< 0x00000040
|
#define EFI_IMAGE_SCN_CNT_INITIALIZED_DATA BIT6 ///< 0x00000040
|
||||||
#define EFI_IMAGE_SCN_CNT_UNINITIALIZED_DATA BIT7 ///< 0x00000080
|
#define EFI_IMAGE_SCN_CNT_UNINITIALIZED_DATA BIT7 ///< 0x00000080
|
||||||
|
|
||||||
#define EFI_IMAGE_SCN_LNK_OTHER BIT8 ///< 0x00000100 ///< Reserved.
|
#define EFI_IMAGE_SCN_LNK_OTHER BIT8 ///< 0x00000100 ///< Reserved.
|
||||||
#define EFI_IMAGE_SCN_LNK_INFO BIT9 ///< 0x00000200 ///< Section contains comments or some other type of information.
|
#define EFI_IMAGE_SCN_LNK_INFO BIT9 ///< 0x00000200 ///< Section contains comments or some other type of information.
|
||||||
#define EFI_IMAGE_SCN_LNK_REMOVE BIT11 ///< 0x00000800 ///< Section contents will not become part of image.
|
#define EFI_IMAGE_SCN_LNK_REMOVE BIT11 ///< 0x00000800 ///< Section contents will not become part of image.
|
||||||
#define EFI_IMAGE_SCN_LNK_COMDAT BIT12 ///< 0x00001000
|
#define EFI_IMAGE_SCN_LNK_COMDAT BIT12 ///< 0x00001000
|
||||||
|
|
||||||
#define EFI_IMAGE_SCN_ALIGN_1BYTES BIT20 ///< 0x00100000
|
#define EFI_IMAGE_SCN_ALIGN_1BYTES BIT20 ///< 0x00100000
|
||||||
#define EFI_IMAGE_SCN_ALIGN_2BYTES BIT21 ///< 0x00200000
|
#define EFI_IMAGE_SCN_ALIGN_2BYTES BIT21 ///< 0x00200000
|
||||||
#define EFI_IMAGE_SCN_ALIGN_4BYTES (BIT20|BIT21) ///< 0x00300000
|
#define EFI_IMAGE_SCN_ALIGN_4BYTES (BIT20|BIT21) ///< 0x00300000
|
||||||
@ -317,7 +317,7 @@ typedef struct {
|
|||||||
#define EFI_IMAGE_SCN_ALIGN_16BYTES (BIT20|BIT22) ///< 0x00500000
|
#define EFI_IMAGE_SCN_ALIGN_16BYTES (BIT20|BIT22) ///< 0x00500000
|
||||||
#define EFI_IMAGE_SCN_ALIGN_32BYTES (BIT21|BIT22) ///< 0x00600000
|
#define EFI_IMAGE_SCN_ALIGN_32BYTES (BIT21|BIT22) ///< 0x00600000
|
||||||
#define EFI_IMAGE_SCN_ALIGN_64BYTES (BIT20|BIT21|BIT22) ///< 0x00700000
|
#define EFI_IMAGE_SCN_ALIGN_64BYTES (BIT20|BIT21|BIT22) ///< 0x00700000
|
||||||
|
|
||||||
#define EFI_IMAGE_SCN_MEM_DISCARDABLE BIT25 ///< 0x02000000
|
#define EFI_IMAGE_SCN_MEM_DISCARDABLE BIT25 ///< 0x02000000
|
||||||
#define EFI_IMAGE_SCN_MEM_NOT_CACHED BIT26 ///< 0x04000000
|
#define EFI_IMAGE_SCN_MEM_NOT_CACHED BIT26 ///< 0x04000000
|
||||||
#define EFI_IMAGE_SCN_MEM_NOT_PAGED BIT27 ///< 0x08000000
|
#define EFI_IMAGE_SCN_MEM_NOT_PAGED BIT27 ///< 0x08000000
|
||||||
@ -415,7 +415,7 @@ typedef struct {
|
|||||||
#define EFI_IMAGE_COMDAT_SELECT_SAME_SIZE 3
|
#define EFI_IMAGE_COMDAT_SELECT_SAME_SIZE 3
|
||||||
#define EFI_IMAGE_COMDAT_SELECT_EXACT_MATCH 4
|
#define EFI_IMAGE_COMDAT_SELECT_EXACT_MATCH 4
|
||||||
#define EFI_IMAGE_COMDAT_SELECT_ASSOCIATIVE 5
|
#define EFI_IMAGE_COMDAT_SELECT_ASSOCIATIVE 5
|
||||||
|
|
||||||
//
|
//
|
||||||
// the following values only be referred in PeCoff, not defined in PECOFF.
|
// the following values only be referred in PeCoff, not defined in PECOFF.
|
||||||
//
|
//
|
||||||
@ -450,9 +450,9 @@ typedef struct {
|
|||||||
#define EFI_IMAGE_REL_I386_SECREL 0x000B
|
#define EFI_IMAGE_REL_I386_SECREL 0x000B
|
||||||
#define EFI_IMAGE_REL_I386_REL32 0x0014 ///< PC-relative 32-bit reference to the symbols virtual address.
|
#define EFI_IMAGE_REL_I386_REL32 0x0014 ///< PC-relative 32-bit reference to the symbols virtual address.
|
||||||
|
|
||||||
//
|
//
|
||||||
// x64 processor relocation types.
|
// x64 processor relocation types.
|
||||||
//
|
//
|
||||||
#define IMAGE_REL_AMD64_ABSOLUTE 0x0000
|
#define IMAGE_REL_AMD64_ABSOLUTE 0x0000
|
||||||
#define IMAGE_REL_AMD64_ADDR64 0x0001
|
#define IMAGE_REL_AMD64_ADDR64 0x0001
|
||||||
#define IMAGE_REL_AMD64_ADDR32 0x0002
|
#define IMAGE_REL_AMD64_ADDR32 0x0002
|
||||||
|
@ -3,13 +3,13 @@
|
|||||||
Layer Specification Revision 3.2 (December 2003)
|
Layer Specification Revision 3.2 (December 2003)
|
||||||
|
|
||||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials are licensed and made available under
|
This program and the accompanying materials are licensed and made available under
|
||||||
the terms and conditions of the BSD License that accompanies this distribution.
|
the terms and conditions of the BSD License that accompanies this distribution.
|
||||||
The full text of the license may be found at
|
The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php.
|
http://opensource.org/licenses/bsd-license.php.
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
@ -17,16 +17,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||||||
#define __SAL_API_H__
|
#define __SAL_API_H__
|
||||||
|
|
||||||
///
|
///
|
||||||
/// SAL return status type
|
/// SAL return status type
|
||||||
///
|
///
|
||||||
typedef INTN EFI_SAL_STATUS;
|
typedef INTN EFI_SAL_STATUS;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Call completed without error.
|
/// Call completed without error.
|
||||||
///
|
///
|
||||||
#define EFI_SAL_SUCCESS ((EFI_SAL_STATUS) 0)
|
#define EFI_SAL_SUCCESS ((EFI_SAL_STATUS) 0)
|
||||||
///
|
///
|
||||||
/// Call completed without error, but some information was lost due to overflow.
|
/// Call completed without error, but some information was lost due to overflow.
|
||||||
///
|
///
|
||||||
#define EFI_SAL_OVERFLOW ((EFI_SAL_STATUS) 1)
|
#define EFI_SAL_OVERFLOW ((EFI_SAL_STATUS) 1)
|
||||||
///
|
///
|
||||||
@ -34,7 +34,7 @@ typedef INTN EFI_SAL_STATUS;
|
|||||||
///
|
///
|
||||||
#define EFI_SAL_WARM_BOOT_NEEDED ((EFI_SAL_STATUS) 2)
|
#define EFI_SAL_WARM_BOOT_NEEDED ((EFI_SAL_STATUS) 2)
|
||||||
///
|
///
|
||||||
/// More information is available for retrieval.
|
/// More information is available for retrieval.
|
||||||
///
|
///
|
||||||
#define EFI_SAL_MORE_RECORDS ((EFI_SAL_STATUS) 3)
|
#define EFI_SAL_MORE_RECORDS ((EFI_SAL_STATUS) 3)
|
||||||
///
|
///
|
||||||
@ -46,15 +46,15 @@ typedef INTN EFI_SAL_STATUS;
|
|||||||
///
|
///
|
||||||
#define EFI_SAL_INVALID_ARGUMENT ((EFI_SAL_STATUS) - 2)
|
#define EFI_SAL_INVALID_ARGUMENT ((EFI_SAL_STATUS) - 2)
|
||||||
///
|
///
|
||||||
/// Call completed without error.
|
/// Call completed without error.
|
||||||
///
|
///
|
||||||
#define EFI_SAL_ERROR ((EFI_SAL_STATUS) - 3)
|
#define EFI_SAL_ERROR ((EFI_SAL_STATUS) - 3)
|
||||||
///
|
///
|
||||||
/// Virtual address not registered.
|
/// Virtual address not registered.
|
||||||
///
|
///
|
||||||
#define EFI_SAL_VIRTUAL_ADDRESS_ERROR ((EFI_SAL_STATUS) - 4)
|
#define EFI_SAL_VIRTUAL_ADDRESS_ERROR ((EFI_SAL_STATUS) - 4)
|
||||||
///
|
///
|
||||||
/// No information available.
|
/// No information available.
|
||||||
///
|
///
|
||||||
#define EFI_SAL_NO_INFORMATION ((EFI_SAL_STATUS) - 5)
|
#define EFI_SAL_NO_INFORMATION ((EFI_SAL_STATUS) - 5)
|
||||||
///
|
///
|
||||||
@ -213,7 +213,7 @@ typedef struct {
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Parameter of EFI_SAL_GET_STATE_INFO, EFI_SAL_GET_STATE_INFO_SIZE, and EFI_SAL_CLEAR_STATE_INFO
|
// Parameter of EFI_SAL_GET_STATE_INFO, EFI_SAL_GET_STATE_INFO_SIZE, and EFI_SAL_CLEAR_STATE_INFO
|
||||||
//
|
//
|
||||||
// Type of information
|
// Type of information
|
||||||
//
|
//
|
||||||
#define EFI_SAL_MCA_STATE_INFO 0x0
|
#define EFI_SAL_MCA_STATE_INFO 0x0
|
||||||
@ -345,8 +345,8 @@ typedef struct _SAL_UPDATE_PAL_INFO_BLOCK {
|
|||||||
#pragma pack(1)
|
#pragma pack(1)
|
||||||
typedef struct {
|
typedef struct {
|
||||||
///
|
///
|
||||||
/// The ASCII string representation of "SST_" that confirms the presence of the table.
|
/// The ASCII string representation of "SST_" that confirms the presence of the table.
|
||||||
///
|
///
|
||||||
UINT32 Signature;
|
UINT32 Signature;
|
||||||
///
|
///
|
||||||
/// The length of the entire table in bytes, starting from offset zero and including the
|
/// The length of the entire table in bytes, starting from offset zero and including the
|
||||||
@ -470,7 +470,7 @@ typedef struct {
|
|||||||
UINT64 NumberOfProcessors;
|
UINT64 NumberOfProcessors;
|
||||||
UINT64 LocalIDRegister;
|
UINT64 LocalIDRegister;
|
||||||
} SAL_COHERENCE_DOMAIN_INFO;
|
} SAL_COHERENCE_DOMAIN_INFO;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Format of Purge Translation Cache Coherence Domain Entry.
|
/// Format of Purge Translation Cache Coherence Domain Entry.
|
||||||
///
|
///
|
||||||
@ -504,7 +504,7 @@ typedef struct {
|
|||||||
UINT8 CheckSum;
|
UINT8 CheckSum;
|
||||||
} EFI_SAL_FIT_ENTRY;
|
} EFI_SAL_FIT_ENTRY;
|
||||||
//
|
//
|
||||||
// FIT Types
|
// FIT Types
|
||||||
//
|
//
|
||||||
#define EFI_SAL_FIT_FIT_HEADER_TYPE 0x00
|
#define EFI_SAL_FIT_FIT_HEADER_TYPE 0x00
|
||||||
#define EFI_SAL_FIT_PAL_B_TYPE 0x01
|
#define EFI_SAL_FIT_PAL_B_TYPE 0x01
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user