Jason
2aa107c0aa
UefiCpuPkg: Replace Opcode with the corresponding instructions.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3790
Replace Opcode with the corresponding instructions.
The code changes have been verified with CompareBuild.py tool, which
can be used to compare the results of two different EDK II builds to
determine if they generate the same binaries.
(tool link: https://github.com/mdkinney/edk2/tree/sandbox/CompareBuild )
Signed-off-by: Jason Lou <yun.lou@intel.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
Cc: Eric Dong <eric.dong@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
2022-03-01 01:45:47 +00:00
Michael Kubacki
053e878bfb
UefiCpuPkg: Apply uncrustify changes
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737
Apply uncrustify changes to .c/.h files in the UefiCpuPkg package
Cc: Andrew Fish <afish@apple.com >
Cc: Leif Lindholm <leif@nuviainc.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
2021-12-07 17:24:28 +00:00
Guo Dong
ebfe2d3eb5
UefiCpuPkg/CpuDxe: Fix boot error
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3084
When DXE drivers are dispatched above 4GB memory in 64bit
mode, the address setCodeSelectorLongJump in stack will
be override by parameter. Jump to Qword is not supported
by some processors. So use "o64 retf" instead.
Signed-off-by: Guo Dong <guo.dong@intel.com >
Acked-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Tom Lendacky <thomas.lendacky@amd.com >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
Tested-by: James Bottomley <jejb@linux.ibm.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
2021-01-12 06:35:30 +00:00
Laszlo Ersek
089285b42c
Revert "UefiCpuPkg/CpuDxe: Fix boot error"
...
This reverts commit cee5b0441a
.
Commit cee5b0441a
("UefiCpuPkg/CpuDxe: Fix boot error", 2020-12-08)
breaks CpuDxe (and with it, OVMF boot) on AMD processors. AMD processors
cannot do far jumps to 64-bit targets, as documented in the AMD64
Architecture Programmer's Manual.
Revert the patch until a RETFQ-based substitute is posted.
Cc: Eric Dong <eric.dong@intel.com >
Cc: Guo Dong <guo.dong@intel.com >
Cc: James Bottomley <James.Bottomley@HansenPartnership.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Thomas Lendacky <thomas.lendacky@amd.com >
Ref: https://edk2.groups.io/g/devel/message/68597
Ref: https://www.redhat.com/archives/edk2-devel-archive/2020-December/msg00493.html
Reported-by: Thomas Lendacky <thomas.lendacky@amd.com >
Ref: https://edk2.groups.io/g/devel/message/68832
Ref: https://www.redhat.com/archives/edk2-devel-archive/2020-December/msg00737.html
Reported-by: James Bottomley <James.Bottomley@HansenPartnership.com >
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Message-Id: <20201217085055.15131-1-lersek@redhat.com >
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3121
[lersek@redhat.com: add BZ link]
2020-12-18 11:20:55 +00:00
Guo Dong
cee5b0441a
UefiCpuPkg/CpuDxe: Fix boot error
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3084
When DXE drivers are dispatched above 4GB memory and
the system is already in 64bit mode, the address
setCodeSelectorLongJump in stack will be override
by parameter. so change to use 64bit address and
jump to qword address.
Signed-off-by: Guo Dong <guo.dong@intel.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
Reviewed-by: Eric Dong <eric.dong@intel.com >
2020-12-08 22:17:55 +00:00
Dong, Eric
c70fef962e
UefiCpuPkg/CpuDxe: clean up PAGE_TABLE_LIB_PAGING_CONTEXT usage.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1039
Current implementation not checks system mode before using
PAGE_TABLE_LIB_PAGING_CONTEXT.ContextData.X64 or
PAGE_TABLE_LIB_PAGING_CONTEXT.ContextData.Ia32. This patch check the
mode before using the correct one.
Signed-off-by: Eric Dong <eric.dong@intel.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
2019-09-25 14:29:24 +08:00
Michael D Kinney
0acd869796
UefiCpuPkg: Replace BSD License with BSD+Patent License
...
https://bugzilla.tianocore.org/show_bug.cgi?id=1373
Replace BSD 2-Clause License with BSD+Patent License. This change is
based on the following emails:
https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html
https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html
RFCs with detailed process for the license change:
V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html
V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html
V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Eric Dong <eric.dong@intel.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
2019-04-09 10:58:28 -07:00
Liming Gao
236601136f
UefiCpuPkg: Remove X86 ASM and S files
...
NASM has replaced ASM and S files.
1. Remove ASM from all modules expect for the ones in ResetVector directory.
The ones in ResetVector directory are included by Vtf0.nasmb. They are
also nasm style.
2. Remove S files from the drivers only.
3. https://bugzilla.tianocore.org/show_bug.cgi?id=881
After NASM is updated, S files can be removed from Library.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Eric Dong <eric.dong@intel.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
2018-06-07 15:27:36 +08:00
Jeff Fan
39d49a73a5
UefiCpuPkg/CpuDxe: Remove unused codes and files
...
v5:
1. Remove unused PcdCpuApStackSize and PcdCpuApInitTimeOutInMicroSeconds.
v4:
1. Keep GDT table setup to fix IA32 S3 boot issue.
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Michael Kinney <michael.d.kinney@intel.com >
2016-08-17 20:07:07 +08:00
Liming Gao
b85a6ffb44
UefiCpuPkg CpuDxe: Add nasm source file in CpuDxe.inf
...
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com >
2016-06-28 09:52:06 +08:00
Jordan Justen
fab82c1873
UefiCpuPkg/CpuDxe: Add stackless assembly AP entry points
...
The AP startup code simply jumps into this code with the CpuDxe driver
without setting up a stack for the processor.
Therefore, this code must setup the stack before calling into C code.
This is the basic flow:
* AP enters CpuDxe driver code (AsmApEntryPoint) without stack
- AP grabs a lock
- AP sets up stack
- AP calls CpuMp.c:ApEntryPointInC
- If ApEntryPointInC returns, the lock is freed, and another AP may
run
- The AP C code may call AsmApDoneWithCommonStack to indicate that
the AP is no longer using the stack, and another may therefore
proceed to use the stack and then call ApEntryPointInC
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Jeff Fan <jeff.fan@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16347 6f19259b-4bc3-4df7-8a09-765794883524
2014-11-13 18:24:59 +00:00
Jeff Fan
e41aad1521
1. Separated DxeSmmCpuExceptionHandlerLib.inf into 2 instance DxeCpuExceptionHandlerLib.inf and SmmCpuExceptionHandlerLib.inf.
...
2. Updated CPU Exception Handler Library instance according to the new CPU Exception Handler Library class definitions.
3. Updated CPU Exception Handler Library instance to handle the vector attributes defined in PI 1.2.1.
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Reviewed-by: Feng Tian <feng.tian@intel.com >
Reviewed-by: Hot Tian <hot.tian@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14885 6f19259b-4bc3-4df7-8a09-765794883524
2013-11-22 06:24:41 +00:00
niruiyu
a6ce6cf992
Fix typo that breaks the build.
...
Signed-off-by: niruiyu
Reviewed-by: vanjeff
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12002 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-08 06:51:30 +00:00
andrewfish
4d0ceb8dca
UefiCpuPkg: Fix X64 clang compiler/assembler warnings.
...
Signed-off-by: andrewfish
Reviewed-by: rsun3
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11996 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-06 18:12:29 +00:00
rsun3
24f7e42cb7
A complement fix for revision 11664 to update GCC assembly files : clear the direction flag in interrupt/exception handlers' assembly entry code before calling C functions to follow the UEFI calling convention.
...
Signed-off-by: rsun3
Reviewed-by: jyao1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11670 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-17 08:35:20 +00:00
rsun3
ad8cbf7197
Clear the direction flag in interrupt/exception handlers' assembly entry code before calling C functions to follow the UEFI calling convention.
...
Signed-off-by: rsun3
Reviewed-by: jyao1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11664 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-16 06:10:42 +00:00
rsun3
61ece967cb
Skip restoration of DRx registers to support in-circuit emualators or debuggers set breakpoint in interrupt/exception context.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10573 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-11 03:22:15 +00:00
hhtian
01a1c0fc9e
Update the copyright notice format
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10429 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-24 12:25:26 +00:00
jljusten
a495774f69
Remove svn:executable on *.c, *.h, *.asm, *.S, *.inf and *.asl*
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10087 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-25 18:17:41 +00:00
qhuang8
c2fd60f071
Update to make end-of-line consistent for all source files in MdePkg. There are no other updates besides that change.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9155 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-20 08:04:40 +00:00
gikidy
3668c083cd
Remove ".intel_syntax", convert MASM to GAS.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9079 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-17 05:39:17 +00:00
jljusten
a47463f283
Add CPU DXE driver for IA32 & X64 processor architectures.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8395 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-27 21:09:47 +00:00