]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Rename dirs
authorbbahnsen <bbahnsen@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 24 Apr 2006 22:17:39 +0000 (22:17 +0000)
committerbbahnsen <bbahnsen@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 24 Apr 2006 22:17:39 +0000 (22:17 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@16 6f19259b-4bc3-4df7-8a09-765794883524

550 files changed:
MdePkg/Library/BaseLib/Ia32/ARShiftU64.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ARShiftU64.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/CpuBreakpoint.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/CpuBreakpoint.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/CpuFlushTlb.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/CpuFlushTlb.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/CpuId.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/CpuId.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/CpuPause.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/CpuPause.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/CpuSleep.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/CpuSleep.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/DisableInterrupts.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/DisableInterrupts.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/DisablePaging32.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/DisablePaging32.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/DivS64x64Remainder.c [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/DivU64x32.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/DivU64x32.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/DivU64x32Remainder.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/DivU64x32Remainder.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/DivU64x64Remainder.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/DivU64x64Remainder.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/EnableDisableInterrupts.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/EnableDisableInterrupts.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/EnableInterrupts.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/EnableInterrupts.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/EnablePaging32.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/EnablePaging32.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/EnablePaging64.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/EnablePaging64.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/FlushCacheLine.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/FlushCacheLine.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/FxRestore.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/FxRestore.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/FxSave.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/FxSave.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/InterlockedCompareExchange32.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/InterlockedCompareExchange32.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/InterlockedCompareExchange64.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/InterlockedCompareExchange64.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/InterlockedDecrement.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/InterlockedDecrement.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/InterlockedIncrement.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/InterlockedIncrement.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/Invd.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/Invd.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/LRotU64.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/LRotU64.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/LShiftU64.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/LShiftU64.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/LongJump.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/LongJump.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ModU64x32.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ModU64x32.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/Monitor.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/Monitor.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/MultU64x32.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/MultU64x32.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/MultU64x64.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/MultU64x64.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/Mwait.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/Mwait.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/Non-existing.c [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/RRotU64.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/RRotU64.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/RShiftU64.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/RShiftU64.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadCr0.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadCr0.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadCr2.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadCr2.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadCr3.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadCr3.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadCr4.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadCr4.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadCs.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadCs.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadDr0.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadDr0.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadDr1.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadDr1.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadDr2.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadDr2.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadDr3.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadDr3.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadDr4.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadDr5.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadDr6.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadDr6.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadDr7.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadDr7.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadDs.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadDs.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadEflags.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadEflags.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadEs.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadEs.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadFs.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadFs.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadGdtr.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadGdtr.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadGs.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadGs.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadIdtr.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadIdtr.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadLdtr.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadLdtr.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadMm0.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadMm0.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadMm1.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadMm1.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadMm2.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadMm2.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadMm3.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadMm3.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadMm4.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadMm4.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadMm5.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadMm5.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadMm6.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadMm6.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadMm7.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadMm7.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadMsr64.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadMsr64.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadPmc.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadPmc.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadSs.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadSs.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadTr.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadTr.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadTsc.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/ReadTsc.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/SetJump.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/SetJump.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/SwapBytes64.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/SwitchStack.c [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/Thunk16.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/Thunk16.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/Wbinvd.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/Wbinvd.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteCr0.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteCr0.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteCr2.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteCr2.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteCr3.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteCr3.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteCr4.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteCr4.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteDr0.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteDr0.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteDr1.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteDr1.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteDr2.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteDr2.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteDr3.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteDr3.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteDr4.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteDr5.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteDr6.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteDr6.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteDr7.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteDr7.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteGdtr.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteGdtr.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteIdtr.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteIdtr.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteLdtr.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteLdtr.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteMm0.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteMm0.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteMm1.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteMm1.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteMm2.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteMm2.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteMm3.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteMm3.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteMm4.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteMm4.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteMm5.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteMm5.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteMm6.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteMm6.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteMm7.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteMm7.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteMsr32.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteMsr32.s [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteMsr64.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/Ia32/WriteMsr64.s [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/CpuBreakpoint.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/CpuFlushTlb.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/CpuId.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/CpuPause.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/CpuSleep.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/DisableInterrupts.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/DisablePaging64.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/EnableDisableInterrupts.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/EnableInterrupts.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/FlushCacheLine.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/FxRestore.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/FxSave.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/InterlockedCompareExchange32.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/InterlockedCompareExchange64.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/InterlockedDecrement.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/InterlockedIncrement.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/Invd.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/LongJump.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/Monitor.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/Mwait.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/Non-existing.c [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadCr0.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadCr2.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadCr3.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadCr4.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadCs.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadDr0.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadDr1.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadDr2.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadDr3.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadDr4.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadDr5.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadDr6.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadDr7.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadDs.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadEflags.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadEs.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadFs.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadGdtr.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadGs.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadIdtr.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadLdtr.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadMm0.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadMm1.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadMm2.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadMm3.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadMm4.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadMm5.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadMm6.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadMm7.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadMsr32.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadMsr64.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadPmc.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadSs.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadTr.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/ReadTsc.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/SetJump.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/SwitchStack.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/Thunk16.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/Wbinvd.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/WriteCr0.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/WriteCr2.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/WriteCr3.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/WriteCr4.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/WriteDr0.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/WriteDr1.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/WriteDr2.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/WriteDr3.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/WriteDr4.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/WriteDr5.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/WriteDr6.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/WriteDr7.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/WriteGdtr.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/WriteIdtr.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/WriteLdtr.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/WriteMm0.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/WriteMm1.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/WriteMm2.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/WriteMm3.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/WriteMm4.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/WriteMm5.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/WriteMm6.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/WriteMm7.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/WriteMsr32.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/X64/WriteMsr64.asm [new file with mode: 0644]
MdePkg/Library/BaseLib/ia32/ARShiftU64.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ARShiftU64.s [deleted file]
MdePkg/Library/BaseLib/ia32/CpuBreakpoint.asm [deleted file]
MdePkg/Library/BaseLib/ia32/CpuBreakpoint.s [deleted file]
MdePkg/Library/BaseLib/ia32/CpuFlushTlb.asm [deleted file]
MdePkg/Library/BaseLib/ia32/CpuFlushTlb.s [deleted file]
MdePkg/Library/BaseLib/ia32/CpuId.asm [deleted file]
MdePkg/Library/BaseLib/ia32/CpuId.s [deleted file]
MdePkg/Library/BaseLib/ia32/CpuPause.asm [deleted file]
MdePkg/Library/BaseLib/ia32/CpuPause.s [deleted file]
MdePkg/Library/BaseLib/ia32/CpuSleep.asm [deleted file]
MdePkg/Library/BaseLib/ia32/CpuSleep.s [deleted file]
MdePkg/Library/BaseLib/ia32/DisableInterrupts.asm [deleted file]
MdePkg/Library/BaseLib/ia32/DisableInterrupts.s [deleted file]
MdePkg/Library/BaseLib/ia32/DisablePaging32.asm [deleted file]
MdePkg/Library/BaseLib/ia32/DisablePaging32.s [deleted file]
MdePkg/Library/BaseLib/ia32/DivS64x64Remainder.c [deleted file]
MdePkg/Library/BaseLib/ia32/DivU64x32.asm [deleted file]
MdePkg/Library/BaseLib/ia32/DivU64x32.s [deleted file]
MdePkg/Library/BaseLib/ia32/DivU64x32Remainder.asm [deleted file]
MdePkg/Library/BaseLib/ia32/DivU64x32Remainder.s [deleted file]
MdePkg/Library/BaseLib/ia32/DivU64x64Remainder.asm [deleted file]
MdePkg/Library/BaseLib/ia32/DivU64x64Remainder.s [deleted file]
MdePkg/Library/BaseLib/ia32/EnableDisableInterrupts.asm [deleted file]
MdePkg/Library/BaseLib/ia32/EnableDisableInterrupts.s [deleted file]
MdePkg/Library/BaseLib/ia32/EnableInterrupts.asm [deleted file]
MdePkg/Library/BaseLib/ia32/EnableInterrupts.s [deleted file]
MdePkg/Library/BaseLib/ia32/EnablePaging32.asm [deleted file]
MdePkg/Library/BaseLib/ia32/EnablePaging32.s [deleted file]
MdePkg/Library/BaseLib/ia32/EnablePaging64.asm [deleted file]
MdePkg/Library/BaseLib/ia32/EnablePaging64.s [deleted file]
MdePkg/Library/BaseLib/ia32/FlushCacheLine.asm [deleted file]
MdePkg/Library/BaseLib/ia32/FlushCacheLine.s [deleted file]
MdePkg/Library/BaseLib/ia32/FxRestore.asm [deleted file]
MdePkg/Library/BaseLib/ia32/FxRestore.s [deleted file]
MdePkg/Library/BaseLib/ia32/FxSave.asm [deleted file]
MdePkg/Library/BaseLib/ia32/FxSave.s [deleted file]
MdePkg/Library/BaseLib/ia32/InterlockedCompareExchange32.asm [deleted file]
MdePkg/Library/BaseLib/ia32/InterlockedCompareExchange32.s [deleted file]
MdePkg/Library/BaseLib/ia32/InterlockedCompareExchange64.asm [deleted file]
MdePkg/Library/BaseLib/ia32/InterlockedCompareExchange64.s [deleted file]
MdePkg/Library/BaseLib/ia32/InterlockedDecrement.asm [deleted file]
MdePkg/Library/BaseLib/ia32/InterlockedDecrement.s [deleted file]
MdePkg/Library/BaseLib/ia32/InterlockedIncrement.asm [deleted file]
MdePkg/Library/BaseLib/ia32/InterlockedIncrement.s [deleted file]
MdePkg/Library/BaseLib/ia32/Invd.asm [deleted file]
MdePkg/Library/BaseLib/ia32/Invd.s [deleted file]
MdePkg/Library/BaseLib/ia32/LRotU64.asm [deleted file]
MdePkg/Library/BaseLib/ia32/LRotU64.s [deleted file]
MdePkg/Library/BaseLib/ia32/LShiftU64.asm [deleted file]
MdePkg/Library/BaseLib/ia32/LShiftU64.s [deleted file]
MdePkg/Library/BaseLib/ia32/LongJump.asm [deleted file]
MdePkg/Library/BaseLib/ia32/LongJump.s [deleted file]
MdePkg/Library/BaseLib/ia32/ModU64x32.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ModU64x32.s [deleted file]
MdePkg/Library/BaseLib/ia32/Monitor.asm [deleted file]
MdePkg/Library/BaseLib/ia32/Monitor.s [deleted file]
MdePkg/Library/BaseLib/ia32/MultU64x32.asm [deleted file]
MdePkg/Library/BaseLib/ia32/MultU64x32.s [deleted file]
MdePkg/Library/BaseLib/ia32/MultU64x64.asm [deleted file]
MdePkg/Library/BaseLib/ia32/MultU64x64.s [deleted file]
MdePkg/Library/BaseLib/ia32/Mwait.asm [deleted file]
MdePkg/Library/BaseLib/ia32/Mwait.s [deleted file]
MdePkg/Library/BaseLib/ia32/Non-existing.c [deleted file]
MdePkg/Library/BaseLib/ia32/RRotU64.asm [deleted file]
MdePkg/Library/BaseLib/ia32/RRotU64.s [deleted file]
MdePkg/Library/BaseLib/ia32/RShiftU64.asm [deleted file]
MdePkg/Library/BaseLib/ia32/RShiftU64.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadCr0.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadCr0.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadCr2.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadCr2.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadCr3.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadCr3.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadCr4.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadCr4.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadCs.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadCs.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadDr0.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadDr0.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadDr1.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadDr1.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadDr2.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadDr2.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadDr3.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadDr3.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadDr4.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadDr5.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadDr6.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadDr6.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadDr7.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadDr7.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadDs.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadDs.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadEflags.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadEflags.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadEs.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadEs.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadFs.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadFs.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadGdtr.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadGdtr.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadGs.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadGs.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadIdtr.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadIdtr.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadLdtr.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadLdtr.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadMm0.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadMm0.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadMm1.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadMm1.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadMm2.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadMm2.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadMm3.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadMm3.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadMm4.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadMm4.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadMm5.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadMm5.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadMm6.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadMm6.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadMm7.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadMm7.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadMsr64.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadMsr64.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadPmc.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadPmc.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadSs.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadSs.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadTr.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadTr.s [deleted file]
MdePkg/Library/BaseLib/ia32/ReadTsc.asm [deleted file]
MdePkg/Library/BaseLib/ia32/ReadTsc.s [deleted file]
MdePkg/Library/BaseLib/ia32/SetJump.asm [deleted file]
MdePkg/Library/BaseLib/ia32/SetJump.s [deleted file]
MdePkg/Library/BaseLib/ia32/SwapBytes64.asm [deleted file]
MdePkg/Library/BaseLib/ia32/SwitchStack.c [deleted file]
MdePkg/Library/BaseLib/ia32/Thunk16.asm [deleted file]
MdePkg/Library/BaseLib/ia32/Thunk16.s [deleted file]
MdePkg/Library/BaseLib/ia32/Wbinvd.asm [deleted file]
MdePkg/Library/BaseLib/ia32/Wbinvd.s [deleted file]
MdePkg/Library/BaseLib/ia32/WriteCr0.asm [deleted file]
MdePkg/Library/BaseLib/ia32/WriteCr0.s [deleted file]
MdePkg/Library/BaseLib/ia32/WriteCr2.asm [deleted file]
MdePkg/Library/BaseLib/ia32/WriteCr2.s [deleted file]
MdePkg/Library/BaseLib/ia32/WriteCr3.asm [deleted file]
MdePkg/Library/BaseLib/ia32/WriteCr3.s [deleted file]
MdePkg/Library/BaseLib/ia32/WriteCr4.asm [deleted file]
MdePkg/Library/BaseLib/ia32/WriteCr4.s [deleted file]
MdePkg/Library/BaseLib/ia32/WriteDr0.asm [deleted file]
MdePkg/Library/BaseLib/ia32/WriteDr0.s [deleted file]
MdePkg/Library/BaseLib/ia32/WriteDr1.asm [deleted file]
MdePkg/Library/BaseLib/ia32/WriteDr1.s [deleted file]
MdePkg/Library/BaseLib/ia32/WriteDr2.asm [deleted file]
MdePkg/Library/BaseLib/ia32/WriteDr2.s [deleted file]
MdePkg/Library/BaseLib/ia32/WriteDr3.asm [deleted file]
MdePkg/Library/BaseLib/ia32/WriteDr3.s [deleted file]
MdePkg/Library/BaseLib/ia32/WriteDr4.asm [deleted file]
MdePkg/Library/BaseLib/ia32/WriteDr5.asm [deleted file]
MdePkg/Library/BaseLib/ia32/WriteDr6.asm [deleted file]
MdePkg/Library/BaseLib/ia32/WriteDr6.s [deleted file]
MdePkg/Library/BaseLib/ia32/WriteDr7.asm [deleted file]
MdePkg/Library/BaseLib/ia32/WriteDr7.s [deleted file]
MdePkg/Library/BaseLib/ia32/WriteGdtr.asm [deleted file]
MdePkg/Library/BaseLib/ia32/WriteGdtr.s [deleted file]
MdePkg/Library/BaseLib/ia32/WriteIdtr.asm [deleted file]
MdePkg/Library/BaseLib/ia32/WriteIdtr.s [deleted file]
MdePkg/Library/BaseLib/ia32/WriteLdtr.asm [deleted file]
MdePkg/Library/BaseLib/ia32/WriteLdtr.s [deleted file]
MdePkg/Library/BaseLib/ia32/WriteMm0.asm [deleted file]
MdePkg/Library/BaseLib/ia32/WriteMm0.s [deleted file]
MdePkg/Library/BaseLib/ia32/WriteMm1.asm [deleted file]
MdePkg/Library/BaseLib/ia32/WriteMm1.s [deleted file]
MdePkg/Library/BaseLib/ia32/WriteMm2.asm [deleted file]
MdePkg/Library/BaseLib/ia32/WriteMm2.s [deleted file]
MdePkg/Library/BaseLib/ia32/WriteMm3.asm [deleted file]
MdePkg/Library/BaseLib/ia32/WriteMm3.s [deleted file]
MdePkg/Library/BaseLib/ia32/WriteMm4.asm [deleted file]
MdePkg/Library/BaseLib/ia32/WriteMm4.s [deleted file]
MdePkg/Library/BaseLib/ia32/WriteMm5.asm [deleted file]
MdePkg/Library/BaseLib/ia32/WriteMm5.s [deleted file]
MdePkg/Library/BaseLib/ia32/WriteMm6.asm [deleted file]
MdePkg/Library/BaseLib/ia32/WriteMm6.s [deleted file]
MdePkg/Library/BaseLib/ia32/WriteMm7.asm [deleted file]
MdePkg/Library/BaseLib/ia32/WriteMm7.s [deleted file]
MdePkg/Library/BaseLib/ia32/WriteMsr32.asm [deleted file]
MdePkg/Library/BaseLib/ia32/WriteMsr32.s [deleted file]
MdePkg/Library/BaseLib/ia32/WriteMsr64.asm [deleted file]
MdePkg/Library/BaseLib/ia32/WriteMsr64.s [deleted file]
MdePkg/Library/BaseLib/x64/CpuBreakpoint.asm [deleted file]
MdePkg/Library/BaseLib/x64/CpuFlushTlb.asm [deleted file]
MdePkg/Library/BaseLib/x64/CpuId.asm [deleted file]
MdePkg/Library/BaseLib/x64/CpuPause.asm [deleted file]
MdePkg/Library/BaseLib/x64/CpuSleep.asm [deleted file]
MdePkg/Library/BaseLib/x64/DisableInterrupts.asm [deleted file]
MdePkg/Library/BaseLib/x64/DisablePaging64.asm [deleted file]
MdePkg/Library/BaseLib/x64/EnableDisableInterrupts.asm [deleted file]
MdePkg/Library/BaseLib/x64/EnableInterrupts.asm [deleted file]
MdePkg/Library/BaseLib/x64/FlushCacheLine.asm [deleted file]
MdePkg/Library/BaseLib/x64/FxRestore.asm [deleted file]
MdePkg/Library/BaseLib/x64/FxSave.asm [deleted file]
MdePkg/Library/BaseLib/x64/InterlockedCompareExchange32.asm [deleted file]
MdePkg/Library/BaseLib/x64/InterlockedCompareExchange64.asm [deleted file]
MdePkg/Library/BaseLib/x64/InterlockedDecrement.asm [deleted file]
MdePkg/Library/BaseLib/x64/InterlockedIncrement.asm [deleted file]
MdePkg/Library/BaseLib/x64/Invd.asm [deleted file]
MdePkg/Library/BaseLib/x64/LongJump.asm [deleted file]
MdePkg/Library/BaseLib/x64/Monitor.asm [deleted file]
MdePkg/Library/BaseLib/x64/Mwait.asm [deleted file]
MdePkg/Library/BaseLib/x64/Non-existing.c [deleted file]
MdePkg/Library/BaseLib/x64/ReadCr0.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadCr2.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadCr3.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadCr4.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadCs.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadDr0.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadDr1.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadDr2.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadDr3.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadDr4.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadDr5.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadDr6.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadDr7.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadDs.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadEflags.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadEs.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadFs.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadGdtr.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadGs.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadIdtr.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadLdtr.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadMm0.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadMm1.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadMm2.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadMm3.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadMm4.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadMm5.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadMm6.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadMm7.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadMsr32.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadMsr64.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadPmc.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadSs.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadTr.asm [deleted file]
MdePkg/Library/BaseLib/x64/ReadTsc.asm [deleted file]
MdePkg/Library/BaseLib/x64/SetJump.asm [deleted file]
MdePkg/Library/BaseLib/x64/SwitchStack.asm [deleted file]
MdePkg/Library/BaseLib/x64/Thunk16.asm [deleted file]
MdePkg/Library/BaseLib/x64/Wbinvd.asm [deleted file]
MdePkg/Library/BaseLib/x64/WriteCr0.asm [deleted file]
MdePkg/Library/BaseLib/x64/WriteCr2.asm [deleted file]
MdePkg/Library/BaseLib/x64/WriteCr3.asm [deleted file]
MdePkg/Library/BaseLib/x64/WriteCr4.asm [deleted file]
MdePkg/Library/BaseLib/x64/WriteDr0.asm [deleted file]
MdePkg/Library/BaseLib/x64/WriteDr1.asm [deleted file]
MdePkg/Library/BaseLib/x64/WriteDr2.asm [deleted file]
MdePkg/Library/BaseLib/x64/WriteDr3.asm [deleted file]
MdePkg/Library/BaseLib/x64/WriteDr4.asm [deleted file]
MdePkg/Library/BaseLib/x64/WriteDr5.asm [deleted file]
MdePkg/Library/BaseLib/x64/WriteDr6.asm [deleted file]
MdePkg/Library/BaseLib/x64/WriteDr7.asm [deleted file]
MdePkg/Library/BaseLib/x64/WriteGdtr.asm [deleted file]
MdePkg/Library/BaseLib/x64/WriteIdtr.asm [deleted file]
MdePkg/Library/BaseLib/x64/WriteLdtr.asm [deleted file]
MdePkg/Library/BaseLib/x64/WriteMm0.asm [deleted file]
MdePkg/Library/BaseLib/x64/WriteMm1.asm [deleted file]
MdePkg/Library/BaseLib/x64/WriteMm2.asm [deleted file]
MdePkg/Library/BaseLib/x64/WriteMm3.asm [deleted file]
MdePkg/Library/BaseLib/x64/WriteMm4.asm [deleted file]
MdePkg/Library/BaseLib/x64/WriteMm5.asm [deleted file]
MdePkg/Library/BaseLib/x64/WriteMm6.asm [deleted file]
MdePkg/Library/BaseLib/x64/WriteMm7.asm [deleted file]
MdePkg/Library/BaseLib/x64/WriteMsr32.asm [deleted file]
MdePkg/Library/BaseLib/x64/WriteMsr64.asm [deleted file]

diff --git a/MdePkg/Library/BaseLib/Ia32/ARShiftU64.asm b/MdePkg/Library/BaseLib/Ia32/ARShiftU64.asm
new file mode 100644 (file)
index 0000000..6b9cfa1
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ARShiftU64.asm\r
+;\r
+; Abstract:\r
+;\r
+;   64-bit arithmetic right shift function for IA-32\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .686\r
+    .model  flat,C\r
+    .code\r
+\r
+InternalMathARShiftU64  PROC\r
+    mov     cl, [esp + 12]\r
+    mov     eax, [esp + 8]\r
+    cdq\r
+    test    cl, 32\r
+    cmovz   edx, eax\r
+    cmovz   eax, [esp + 4]\r
+    shrd    eax, edx, cl\r
+    sar     edx, cl\r
+    ret\r
+InternalMathARShiftU64  ENDP\r
+\r
+    END
\ No newline at end of file
diff --git a/MdePkg/Library/BaseLib/Ia32/ARShiftU64.s b/MdePkg/Library/BaseLib/Ia32/ARShiftU64.s
new file mode 100644 (file)
index 0000000..d6af974
--- /dev/null
@@ -0,0 +1,41 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ARShiftU64.asm\r
+#\r
+# Abstract:\r
+#\r
+#   64-bit arithmetic right shift function for IA-32\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+.global _ARShiftU64\r
+_ARShiftU64: \r
+    movb    12(%esp),%cl\r
+    movl    8(%esp),%eax\r
+    cltd\r
+    testb   $32,%cl\r
+# MISMATCH: "    cmovz   edx, eax"\r
+    cmovz   %eax, %edx\r
+# MISMATCH: "    cmovz   eax, [esp + 4]"\r
+    cmovz   4(%esp), %eax\r
+    shrdl   %cl,%edx,%eax\r
+    sar     %cl,%edx\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/CpuBreakpoint.asm b/MdePkg/Library/BaseLib/Ia32/CpuBreakpoint.asm
new file mode 100644 (file)
index 0000000..a4d3978
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------ ;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   CpuBreakpoint.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   CpuBreakpoint function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .686\r
+    .model  flat\r
+    .xmm\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; CpuBreakpoint (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_CpuBreakpoint   PROC\r
+    int  3\r
+    ret\r
+_CpuBreakpoint   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/CpuBreakpoint.s b/MdePkg/Library/BaseLib/Ia32/CpuBreakpoint.s
new file mode 100644 (file)
index 0000000..e5d18c3
--- /dev/null
@@ -0,0 +1,41 @@
+#------------------------------------------------------------------------------ ;\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   CpuBreakpoint.s\r
+#\r
+# Abstract:\r
+#\r
+#   CpuBreakpoint function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# VOID\r
+# EFIAPI\r
+# CpuBreakpoint (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _CpuBreakpoint\r
+_CpuBreakpoint: \r
+    int  3\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/CpuFlushTlb.asm b/MdePkg/Library/BaseLib/Ia32/CpuFlushTlb.asm
new file mode 100644 (file)
index 0000000..de87ad7
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------ ;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   CpuFlushTlb.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   CpuFlushTlb function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; CpuFlushTlb (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_CpuFlushTlb    PROC\r
+    mov     eax, cr3\r
+    mov     cr3, eax\r
+    ret\r
+_CpuFlushTlb    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/CpuFlushTlb.s b/MdePkg/Library/BaseLib/Ia32/CpuFlushTlb.s
new file mode 100644 (file)
index 0000000..1d85fa7
--- /dev/null
@@ -0,0 +1,41 @@
+#------------------------------------------------------------------------------ ;\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   CpuFlushTlb.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   CpuFlushTlb function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# VOID\r
+# EFIAPI\r
+# CpuFlushTlb (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _CpuFlushTlb\r
+_CpuFlushTlb: \r
+    movl    %cr3, %eax\r
+    movl    %eax, %cr3\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/CpuId.asm b/MdePkg/Library/BaseLib/Ia32/CpuId.asm
new file mode 100644 (file)
index 0000000..2c94e3a
--- /dev/null
@@ -0,0 +1,66 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   CpuId.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmCpuid function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586P\r
+    .model  flat,C\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+;  VOID\r
+;  EFIAPI\r
+;  AsmCpuid (\r
+;    IN   UINT32  RegisterInEax,\r
+;    OUT  UINT32  *RegisterOutEax  OPTIONAL,\r
+;    OUT  UINT32  *RegisterOutEbx  OPTIONAL,\r
+;    OUT  UINT32  *RegisterOutEcx  OPTIONAL,\r
+;    OUT  UINT32  *RegisterOutEdx  OPTIONAL\r
+;    )\r
+;------------------------------------------------------------------------------\r
+AsmCpuid    PROC    USES    ebx\r
+    push    ebp\r
+    mov     ebp, esp\r
+    mov     eax, [ebp + 12]\r
+    cpuid\r
+    push    ecx\r
+    mov     ecx, [ebp + 16]\r
+    jecxz   @F\r
+    mov     [ecx], eax\r
+@@:\r
+    mov     ecx, [ebp + 20]\r
+    jecxz   @F\r
+    mov     [ecx], ebx\r
+@@:\r
+    mov     ecx, [ebp + 24]\r
+    jecxz   @F\r
+    pop     [ecx]\r
+@@:\r
+    mov     ecx, [ebp + 28]\r
+    jecxz   @F\r
+    mov     [ecx], edx\r
+@@:\r
+    mov     eax, [ebp + 12]\r
+    leave\r
+    ret\r
+AsmCpuid    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/CpuId.s b/MdePkg/Library/BaseLib/Ia32/CpuId.s
new file mode 100644 (file)
index 0000000..989daba
--- /dev/null
@@ -0,0 +1,63 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   CpuId.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmCpuid function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+\r
+#------------------------------------------------------------------------------\r
+#  VOID\r
+#  EFIAPI\r
+#  AsmCpuid (\r
+#    IN   UINT32  RegisterInEax,\r
+#    OUT  UINT32  *RegisterOutEax  OPTIONAL,\r
+#    OUT  UINT32  *RegisterOutEbx  OPTIONAL,\r
+#    OUT  UINT32  *RegisterOutEcx  OPTIONAL,\r
+#    OUT  UINT32  *RegisterOutEdx  OPTIONAL\r
+#    )\r
+#------------------------------------------------------------------------------\r
+.globl _AsmCpuid\r
+_AsmCpuid:\r
+    push   %ebx\r
+    push   %edi\r
+    movl    12(%esp),%eax\r
+    cpuid\r
+    movl    %ecx,%edi\r
+    movl    16(%esp),%ecx\r
+    jecxz   L1\r
+    movl    %eax,(%ecx)\r
+L1:\r
+    movl    20(%esp),%ecx\r
+    jecxz   L2\r
+    movl    %ebx,(%ecx)\r
+L2:\r
+    movl    24(%esp),%ecx\r
+    jecxz   L3\r
+    movl    %edi,(%ecx)\r
+L3:\r
+    movl    28(%esp),%ecx\r
+    jecxz   L4\r
+    movl    %edx,(%ecx)\r
+L4:\r
+    pop    %edi\r
+    pop    %ebx\r
+    ret\r
diff --git a/MdePkg/Library/BaseLib/Ia32/CpuPause.asm b/MdePkg/Library/BaseLib/Ia32/CpuPause.asm
new file mode 100644 (file)
index 0000000..79a4f2f
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------ ;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   CpuPause.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   CpuPause function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .686\r
+    .model  flat\r
+    .xmm\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; CpuPause (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_CpuPause   PROC\r
+    pause\r
+    ret\r
+_CpuPause   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/CpuPause.s b/MdePkg/Library/BaseLib/Ia32/CpuPause.s
new file mode 100644 (file)
index 0000000..ace2c67
--- /dev/null
@@ -0,0 +1,41 @@
+#------------------------------------------------------------------------------ ;\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   CpuPause.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   CpuPause function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# VOID\r
+# EFIAPI\r
+# CpuPause (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _CpuPause\r
+_CpuPause: \r
+    pause\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/CpuSleep.asm b/MdePkg/Library/BaseLib/Ia32/CpuSleep.asm
new file mode 100644 (file)
index 0000000..66fb90e
--- /dev/null
@@ -0,0 +1,39 @@
+;------------------------------------------------------------------------------ ;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   CpuSleep.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   CpuSleep function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; CpuSleep (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_CpuSleep   PROC\r
+    hlt\r
+    ret\r
+_CpuSleep   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/CpuSleep.s b/MdePkg/Library/BaseLib/Ia32/CpuSleep.s
new file mode 100644 (file)
index 0000000..9b77131
--- /dev/null
@@ -0,0 +1,40 @@
+#------------------------------------------------------------------------------ ;\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   CpuSleep.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   CpuSleep function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# VOID\r
+# EFIAPI\r
+# CpuSleep (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _CpuSleep\r
+_CpuSleep: \r
+    hlt\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/DisableInterrupts.asm b/MdePkg/Library/BaseLib/Ia32/DisableInterrupts.asm
new file mode 100644 (file)
index 0000000..74bdd0b
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   DisableInterrupts.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   DisableInterrupts function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; DisableInterrupts (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_DisableInterrupts  PROC\r
+    cli\r
+    ret\r
+_DisableInterrupts  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/DisableInterrupts.s b/MdePkg/Library/BaseLib/Ia32/DisableInterrupts.s
new file mode 100644 (file)
index 0000000..cc9c95c
--- /dev/null
@@ -0,0 +1,41 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   DisableInterrupts.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   DisableInterrupts function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# VOID\r
+# EFIAPI\r
+# DisableInterrupts (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _DisableInterrupts\r
+_DisableInterrupts: \r
+    cli\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/DisablePaging32.asm b/MdePkg/Library/BaseLib/Ia32/DisablePaging32.asm
new file mode 100644 (file)
index 0000000..04ae8cf
--- /dev/null
@@ -0,0 +1,57 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   DisablePaging32.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmDisablePaging32 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386\r
+    .model  flat,C\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; InternalX86DisablePaging32 (\r
+;   IN      SWITCH_STACK_ENTRY_POINT  EntryPoint,\r
+;   IN      VOID                      *Context1,    OPTIONAL\r
+;   IN      VOID                      *Context2,    OPTIONAL\r
+;   IN      VOID                      *NewStack\r
+;   );\r
+;------------------------------------------------------------------------------\r
+InternalX86DisablePaging32    PROC\r
+    mov     ebx, [esp + 4]\r
+    mov     ecx, [esp + 8]\r
+    mov     edx, [esp + 12]\r
+    pushfd\r
+    pop     edi\r
+    cli\r
+    mov     eax, cr0\r
+    btr     eax, 31\r
+    mov     esp, [esp + 16]\r
+    mov     cr0, eax\r
+    push    edi\r
+    popfd\r
+    push    edx\r
+    push    ecx\r
+    call    ebx\r
+    jmp     $\r
+InternalX86DisablePaging32    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/DisablePaging32.s b/MdePkg/Library/BaseLib/Ia32/DisablePaging32.s
new file mode 100644 (file)
index 0000000..21e8a82
--- /dev/null
@@ -0,0 +1,58 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   DisablePaging32.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmDisablePaging32 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# VOID\r
+# EFIAPI\r
+# AsmDisablePaging32 (\r
+#   IN      SWITCH_STACK_ENTRY_POINT  EntryPoint,\r
+#   IN      VOID                      *Context1,    OPTIONAL\r
+#   IN      VOID                      *Context2,    OPTIONAL\r
+#   IN      VOID                      *NewStack\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmDisablePaging32\r
+_AsmDisablePaging32: \r
+    movl    4(%esp),%ebx\r
+    movl    8(%esp),%ecx\r
+    movl    12(%esp),%edx\r
+    pushfl\r
+    popl    %edi\r
+    cli\r
+    movl    %cr0, %eax\r
+    btrl    $31,%eax\r
+    movl    16(%esp),%esp\r
+    movl    %eax, %cr0\r
+    pushl   %edi\r
+    popfl\r
+    pushl   %edx\r
+    pushl   %ecx\r
+    call    *%ebx\r
+    jmp     .\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/DivS64x64Remainder.c b/MdePkg/Library/BaseLib/Ia32/DivS64x64Remainder.c
new file mode 100644 (file)
index 0000000..219f48f
--- /dev/null
@@ -0,0 +1,38 @@
+/** @file\r
+  Integer division worker functions for Ia32.\r
+\r
+  Copyright (c) 2006, Intel Corporation<BR>\r
+  All rights reserved. This program and the accompanying materials\r
+  are licensed and made available under the terms and conditions of the BSD License\r
+  which accompanies this distribution.  The full text of the license may be found at\r
+  http://opensource.org/licenses/bsd-license.php\r
+\r
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+  Module Name:  DivS64x64Remainder.c\r
+\r
+**/\r
+\r
+#include "../BaseLibInternals.h"\r
+\r
+INT64\r
+EFIAPI\r
+InternalMathDivRemS64x64 (\r
+  IN      INT64                     Dividend,\r
+  IN      INT64                     Divisor,\r
+  OUT     INT64                     *Remainder\r
+  )\r
+{\r
+  INT64                             Quot;\r
+\r
+  Quot = InternalMathDivRemU64x64 (\r
+           Dividend >= 0 ? Dividend : -Dividend,\r
+           Divisor >= 0 ? Divisor : -Divisor,\r
+           (UINT64 *) Remainder\r
+           );\r
+  if (Remainder != NULL && Dividend < 0) {\r
+    *Remainder = -*Remainder;\r
+  }\r
+  return (Dividend ^ Divisor) >= 0 ? Quot : -Quot;\r
+}\r
diff --git a/MdePkg/Library/BaseLib/Ia32/DivU64x32.asm b/MdePkg/Library/BaseLib/Ia32/DivU64x32.asm
new file mode 100644 (file)
index 0000000..1ad5474
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   DivU64x32.asm\r
+;\r
+; Abstract:\r
+;\r
+;   Calculate the quotient of a 64-bit integer by a 32-bit integer\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386\r
+    .model  flat,C\r
+    .code\r
+\r
+InternalMathDivU64x32   PROC\r
+    mov     eax, [esp + 8]\r
+    mov     ecx, [esp + 12]\r
+    xor     edx, edx\r
+    div     ecx\r
+    push    eax\r
+    mov     eax, [esp + 8]\r
+    div     ecx\r
+    pop     edx\r
+    ret\r
+InternalMathDivU64x32   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/DivU64x32.s b/MdePkg/Library/BaseLib/Ia32/DivU64x32.s
new file mode 100644 (file)
index 0000000..689c709
--- /dev/null
@@ -0,0 +1,39 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   DivU64x32.asm\r
+#\r
+# Abstract:\r
+#\r
+#   Calculate the quotient of a 64-bit integer by a 32-bit integer\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+.global _DivU64x32\r
+_DivU64x32: \r
+    movl    8(%esp),%eax\r
+    movl    12(%esp),%ecx\r
+    xorl    %edx,%edx\r
+    divl    %ecx\r
+    pushl   %eax\r
+    movl    8(%esp),%eax\r
+    divl    %ecx\r
+    popl    %edx\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/DivU64x32Remainder.asm b/MdePkg/Library/BaseLib/Ia32/DivU64x32Remainder.asm
new file mode 100644 (file)
index 0000000..f1c6c1f
--- /dev/null
@@ -0,0 +1,42 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   DivError.asm\r
+;\r
+; Abstract:\r
+;\r
+;   Set error flag for all division functions\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386\r
+    .model  flat,C\r
+    .code\r
+\r
+InternalMathDivRemU64x32    PROC\r
+    mov     ecx, [esp + 12]\r
+    mov     eax, [esp + 8]\r
+    xor     edx, edx\r
+    div     ecx\r
+    push    eax\r
+    mov     eax, [esp + 8]\r
+    div     ecx\r
+    mov     ecx, [esp + 20]\r
+    jecxz   @F\r
+    mov     [ecx], edx\r
+@@:\r
+    pop     edx\r
+    ret\r
+InternalMathDivRemU64x32    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/DivU64x32Remainder.s b/MdePkg/Library/BaseLib/Ia32/DivU64x32Remainder.s
new file mode 100644 (file)
index 0000000..1f34f18
--- /dev/null
@@ -0,0 +1,43 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   DivError.asm\r
+#\r
+# Abstract:\r
+#\r
+#   Set error flag for all division functions\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+.global _InternalMathDivRemU64x32\r
+_InternalMathDivRemU64x32: \r
+    movl    12(%esp),%ecx\r
+    movl    8(%esp),%eax\r
+    xorl    %edx,%edx\r
+    divl    %ecx\r
+    pushl   %eax\r
+    movl    8(%esp),%eax\r
+    divl    %ecx\r
+    movl    20(%esp),%ecx\r
+    jecxz   L1\r
+    movl    %edx,(%ecx)\r
+L1: \r
+    popl    %edx\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/DivU64x64Remainder.asm b/MdePkg/Library/BaseLib/Ia32/DivU64x64Remainder.asm
new file mode 100644 (file)
index 0000000..261211b
--- /dev/null
@@ -0,0 +1,83 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   DivU64x64Remainder.asm\r
+;\r
+; Abstract:\r
+;\r
+;   Calculate the quotient of a 64-bit integer by a 64-bit integer and returns\r
+;   both the quotient and the remainder\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386\r
+    .model  flat,C\r
+    .code\r
+\r
+EXTERN  InternalMathDivRemU64x32:PROC\r
+\r
+InternalMathDivRemU64x64    PROC\r
+    mov     ecx, [esp + 16]\r
+    test    ecx, ecx\r
+    jnz     _@DivRemU64x64\r
+    mov     ecx, [esp + 20]\r
+    jecxz   @F\r
+    and     dword ptr [ecx + 4], 0\r
+    mov     [esp + 16], ecx\r
+@@:\r
+    jmp     InternalMathDivRemU64x32\r
+InternalMathDivRemU64x64    ENDP\r
+\r
+_@DivRemU64x64  PROC    USES    ebx esi edi\r
+    mov     edx, dword ptr [esp + 20]\r
+    mov     eax, dword ptr [esp + 16]\r
+    mov     edi, edx\r
+    mov     esi, eax\r
+    mov     ebx, dword ptr [esp + 24]\r
+@@:\r
+    shr     edx, 1\r
+    rcr     eax, 1\r
+    shrd    ebx, ecx, 1\r
+    shr     ecx, 1\r
+    jnz     @B\r
+    div     ebx\r
+    mov     ebx, eax\r
+    mov     ecx, [esp + 28]\r
+    mul     dword ptr [esp + 24]\r
+    imul    ecx, ebx\r
+    add     edx, ecx\r
+    mov     ecx, dword ptr [esp + 32]\r
+    jc      @TooLarge\r
+    cmp     edi, edx\r
+    ja      @Correct\r
+    jb      @TooLarge\r
+    cmp     esi, eax\r
+    jae     @Correct\r
+@TooLarge:\r
+    dec     ebx\r
+    jecxz   @Return\r
+    sub     eax, dword ptr [esp + 24]\r
+    sbb     edx, dword ptr [esp + 28]\r
+@Correct:\r
+    jecxz   @Return\r
+    sub     esi, eax\r
+    sbb     edi, edx\r
+    mov     [ecx], esi\r
+    mov     [ecx + 4], edi\r
+@Return:\r
+    mov     eax, ebx\r
+    xor     edx, edx\r
+    ret\r
+_@DivRemU64x64  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/DivU64x64Remainder.s b/MdePkg/Library/BaseLib/Ia32/DivU64x64Remainder.s
new file mode 100644 (file)
index 0000000..f604f7c
--- /dev/null
@@ -0,0 +1,89 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   DivU64x64Remainder.asm\r
+#\r
+# Abstract:\r
+#\r
+#   Calculate the quotient of a 64-bit integer by a 64-bit integer and returns\r
+#   both the quotient and the remainder\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+.extern _InternalMathDivRemU64x32\r
+\r
+.global _InternalMathDivRemU64x64\r
+_InternalMathDivRemU64x64: \r
+    movl    16(%esp),%ecx\r
+    testl   %ecx,%ecx\r
+    jnz     _DivRemU64x64\r
+    movl    20(%esp),%ecx\r
+    jecxz   L1\r
+    and     $0,4(%ecx)\r
+    movl    %ecx,16(%esp)\r
+L1: \r
+    jmp     _InternalMathDivRemU64x32\r
+\r
+\r
+.global DivRemU64x64\r
+DivRemU64x64:\r
+# MISMATCH: "DivRemU64x64:    USES    ebx esi edi"\r
+    push   %ebx                                                                             \r
+    push   %esi                                                                             \r
+    push   %edi                                        \r
+    mov     20(%esp), %edx\r
+    mov     16(%esp), %eax\r
+    movl    %edx,%edi\r
+    movl    %eax,%esi\r
+    mov     24(%esp), %ebx\r
+L2: \r
+    shrl    %edx\r
+    rcrl    $1,%eax\r
+    shrdl   $1,%ecx,%ebx\r
+    shrl    %ecx\r
+    jnz     L2\r
+    divl    %ebx\r
+    movl    %eax,%ebx\r
+    movl    28(%esp),%ecx\r
+    mull    24(%esp)\r
+    imull   %ebx,%ecx\r
+    addl    %ecx,%edx\r
+    mov     32(%esp), %ecx\r
+    jc      TooLarge\r
+    cmpl    %edx,%edi\r
+    ja      Correct\r
+    jb      TooLarge\r
+    cmpl    %eax,%esi\r
+    jae     Correct\r
+TooLarge: \r
+    decl    %ebx\r
+    jecxz   Return\r
+    sub     24(%esp), %eax\r
+    sbb     28(%esp), %edx\r
+Correct: \r
+    jecxz   Return\r
+    subl    %eax,%esi\r
+    sbbl    %edx,%edi\r
+    movl    %esi,(%ecx)\r
+    movl    %edi,4(%ecx)\r
+Return: \r
+    movl    %ebx,%eax\r
+    xorl    %edx,%edx\r
+    push   %edi                                        \r
+    push   %esi                                                                             \r
+    push   %ebx                                                                             \r
+    ret\r
diff --git a/MdePkg/Library/BaseLib/Ia32/EnableDisableInterrupts.asm b/MdePkg/Library/BaseLib/Ia32/EnableDisableInterrupts.asm
new file mode 100644 (file)
index 0000000..fe2016d
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   EnableDisableInterrupts.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   EnableDisableInterrupts function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; EnableDisableInterrupts (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_EnableDisableInterrupts    PROC\r
+    sti\r
+    cli\r
+    ret\r
+_EnableDisableInterrupts    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/EnableDisableInterrupts.s b/MdePkg/Library/BaseLib/Ia32/EnableDisableInterrupts.s
new file mode 100644 (file)
index 0000000..80362a9
--- /dev/null
@@ -0,0 +1,42 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   EnableDisableInterrupts.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   EnableDisableInterrupts function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# VOID\r
+# EFIAPI\r
+# EnableDisableInterrupts (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _EnableDisableInterrupts\r
+_EnableDisableInterrupts: \r
+    sti\r
+    cli\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/EnableInterrupts.asm b/MdePkg/Library/BaseLib/Ia32/EnableInterrupts.asm
new file mode 100644 (file)
index 0000000..194dd8f
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   EnableInterrupts.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   EnableInterrupts function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; EnableInterrupts (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_EnableInterrupts   PROC\r
+    sti\r
+    ret\r
+_EnableInterrupts   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/EnableInterrupts.s b/MdePkg/Library/BaseLib/Ia32/EnableInterrupts.s
new file mode 100644 (file)
index 0000000..74413d8
--- /dev/null
@@ -0,0 +1,41 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   EnableInterrupts.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   EnableInterrupts function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# VOID\r
+# EFIAPI\r
+# EnableInterrupts (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _EnableInterrupts\r
+_EnableInterrupts: \r
+    sti\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/EnablePaging32.asm b/MdePkg/Library/BaseLib/Ia32/EnablePaging32.asm
new file mode 100644 (file)
index 0000000..cf6f2fe
--- /dev/null
@@ -0,0 +1,57 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   EnablePaging32.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmEnablePaging32 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386\r
+    .model  flat,C\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; InternalX86EnablePaging32 (\r
+;   IN      SWITCH_STACK_ENTRY_POINT  EntryPoint,\r
+;   IN      VOID                      *Context1,    OPTIONAL\r
+;   IN      VOID                      *Context2,    OPTIONAL\r
+;   IN      VOID                      *NewStack\r
+;   );\r
+;------------------------------------------------------------------------------\r
+InternalX86EnablePaging32 PROC\r
+    mov     ebx, [esp + 4]\r
+    mov     ecx, [esp + 8]\r
+    mov     edx, [esp + 12]\r
+    pushfd\r
+    pop     edi\r
+    cli\r
+    mov     eax, cr0\r
+    bts     eax, 31\r
+    mov     esp, [esp + 16]\r
+    mov     cr0, eax\r
+    push    edi\r
+    popfd\r
+    push    edx\r
+    push    ecx\r
+    call    ebx\r
+    jmp     $\r
+InternalX86EnablePaging32 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/EnablePaging32.s b/MdePkg/Library/BaseLib/Ia32/EnablePaging32.s
new file mode 100644 (file)
index 0000000..6f9befc
--- /dev/null
@@ -0,0 +1,58 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   EnablePaging32.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmEnablePaging32 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# VOID\r
+# EFIAPI\r
+# AsmEnablePaging32 (\r
+#   IN      SWITCH_STACK_ENTRY_POINT  EntryPoint,\r
+#   IN      VOID                      *Context1,    OPTIONAL\r
+#   IN      VOID                      *Context2,    OPTIONAL\r
+#   IN      VOID                      *NewStack\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmEnablePaging32\r
+_AsmEnablePaging32: \r
+    movl    4(%esp),%ebx\r
+    movl    8(%esp),%ecx\r
+    movl    12(%esp),%edx\r
+    pushfl\r
+    popl    %edi\r
+    cli\r
+    movl    %cr0, %eax\r
+    btsl    $31,%eax\r
+    movl    16(%esp),%esp\r
+    movl    %eax, %cr0\r
+    pushl   %edi\r
+    popfl\r
+    pushl   %edx\r
+    pushl   %ecx\r
+    call    *%ebx\r
+    jmp     .\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/EnablePaging64.asm b/MdePkg/Library/BaseLib/Ia32/EnablePaging64.asm
new file mode 100644 (file)
index 0000000..6c9b0ea
--- /dev/null
@@ -0,0 +1,57 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   EnablePaging64.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmEnablePaging64 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .686p\r
+    .model  flat,C\r
+    .code\r
+\r
+InternalX86EnablePaging64 PROC\r
+    cli\r
+    mov     [esp], @F                   ; offset for far retf\r
+    mov     eax, cr4\r
+    or      al, (1 SHL 5)\r
+    mov     cr4, eax                    ; enable PAE\r
+    mov     ecx, 0c0000080h\r
+    rdmsr\r
+    or      ah, 1                       ; set LME\r
+    wrmsr\r
+    mov     eax, cr0\r
+    bts     eax, 31\r
+    mov     cr0, eax                    ; enable paging\r
+    retf\r
+@@:                                     ; long mode starts here\r
+    DB      67h, 48h\r
+    mov     ebx, [esp]                  ; mov rbx, [esp]\r
+    DB      67h, 48h\r
+    mov     ecx, [esp + 8]              ; mov rcx, [esp + 8]\r
+    DB      67h, 48h\r
+    mov     edx, [esp + 10h]            ; mov rdx, [esp + 10h]\r
+    DB      67h, 48h\r
+    mov     esp, [esp + 18h]            ; mov rsp, [esp + 18h]\r
+    DB      48h\r
+    add     esp, -20h                   ; add rsp, -20h\r
+    call    ebx                         ; call rbx\r
+    jmp     $\r
+InternalX86EnablePaging64 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/EnablePaging64.s b/MdePkg/Library/BaseLib/Ia32/EnablePaging64.s
new file mode 100644 (file)
index 0000000..b365ea7
--- /dev/null
@@ -0,0 +1,66 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   EnablePaging64.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmEnablePaging64 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+     \r
+    #.MODEL flat\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# VOID\r
+# EFIAPI\r
+# AsmEnablePaging64 (\r
+#   IN      UINT16                    CodeSelector,\r
+#   IN      UINT64                    EntryPoint,\r
+#   IN      UINT64                    Context1,    OPTIONAL\r
+#   IN      UINT64                    Context2,    OPTIONAL\r
+#   IN      UINT64                    NewStack\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmEnablePaging64\r
+_AsmEnablePaging64:\r
+    cli\r
+    movl    $$LongStart, (%esp)\r
+    movl    %cr4, %eax\r
+    orb     $0x20, %al\r
+    movl    %eax, %cr4                  # enable PAE\r
+    movl    $0xc0000080, %ecx\r
+    rdmsr\r
+    orb     $1, %ah                     # set LME\r
+    wrmsr\r
+    movl    %cr0, %eax\r
+    btsl    $31, %eax\r
+    movl    %eax, %cr0                  # enable paging\r
+    lret\r
+LongStart:                              # long mode starts here\r
+    .byte   0x67,0x48\r
+    movl    (%esp), %ebx                # mov rbx, [esp]\r
+    .byte   0x67,0x48\r
+    movl    8(%esp), %ecx               # mov rcx, [esp + 8]\r
+    .byte   0x67,0x48\r
+    movl    0x10(%esp), %edx            # mov rdx, [esp + 10h]\r
+    .byte   0x67,0x48\r
+    movl    0x18(%esp), %esp            # mov rsp, [esp + 18h]\r
+    .byte   0x48\r
+    addl    $0x-20, %esp                # add rsp, -20h\r
+    call    *%ebx                       # call rbx\r
+    jmp     .\r
diff --git a/MdePkg/Library/BaseLib/Ia32/FlushCacheLine.asm b/MdePkg/Library/BaseLib/Ia32/FlushCacheLine.asm
new file mode 100644 (file)
index 0000000..d79f217
--- /dev/null
@@ -0,0 +1,42 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   FlushCacheLine.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmFlushCacheLine function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586P\r
+    .model  flat\r
+    .xmm\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; AsmFlushCacheLine (\r
+;   IN      VOID                      *LinearAddress\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmFlushCacheLine  PROC\r
+    mov     eax, [esp + 4]\r
+    clflush [eax]\r
+    ret\r
+_AsmFlushCacheLine  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/FlushCacheLine.s b/MdePkg/Library/BaseLib/Ia32/FlushCacheLine.s
new file mode 100644 (file)
index 0000000..c14bd11
--- /dev/null
@@ -0,0 +1,43 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   FlushCacheLine.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmFlushCacheLine function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# VOID\r
+# EFIAPI\r
+# AsmFlushCacheLine (\r
+#   IN      VOID                      *LinearAddress\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmFlushCacheLine\r
+_AsmFlushCacheLine: \r
+    movl    4(%esp),%eax\r
+    clflush (%eax)\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/FxRestore.asm b/MdePkg/Library/BaseLib/Ia32/FxRestore.asm
new file mode 100644 (file)
index 0000000..e9e37d1
--- /dev/null
@@ -0,0 +1,42 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   FxRestore.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmFxRestore function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586P\r
+    .model  flat,C\r
+    .xmm\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; InternalX86FxRestore (\r
+;   IN CONST IA32_FX_BUFFER *Buffer\r
+;   );\r
+;------------------------------------------------------------------------------\r
+InternalX86FxRestore  PROC\r
+    mov     eax, [esp + 4]\r
+    fxrstor [eax]\r
+    ret\r
+InternalX86FxRestore  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/FxRestore.s b/MdePkg/Library/BaseLib/Ia32/FxRestore.s
new file mode 100644 (file)
index 0000000..631a3ef
--- /dev/null
@@ -0,0 +1,43 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   FxRestore.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmFxRestore function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# VOID\r
+# EFIAPI\r
+# AsmFxRestore (\r
+#   IN CONST IA32_FX_BUFFER *Buffer\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmFxRestore\r
+_AsmFxRestore: \r
+    movl    4(%esp),%eax\r
+    fxrstor (%eax)\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/FxSave.asm b/MdePkg/Library/BaseLib/Ia32/FxSave.asm
new file mode 100644 (file)
index 0000000..22496c5
--- /dev/null
@@ -0,0 +1,42 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   FxSave.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmFxSave function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586P\r
+    .model  flat,C\r
+    .xmm\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; InternalX86FxSave (\r
+;   OUT IA32_FX_BUFFER *Buffer\r
+;   );\r
+;------------------------------------------------------------------------------\r
+InternalX86FxSave PROC\r
+    mov     eax, [esp + 4]\r
+    fxsave  [eax]\r
+    ret\r
+InternalX86FxSave ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/FxSave.s b/MdePkg/Library/BaseLib/Ia32/FxSave.s
new file mode 100644 (file)
index 0000000..44a5512
--- /dev/null
@@ -0,0 +1,43 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   FxSave.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmFxSave function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# VOID\r
+# EFIAPI\r
+# AsmFxSave (\r
+#   OUT IA32_FX_BUFFER *Buffer\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmFxSave\r
+_AsmFxSave: \r
+    movl    4(%esp),%eax\r
+    fxsave  (%eax)\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/InterlockedCompareExchange32.asm b/MdePkg/Library/BaseLib/Ia32/InterlockedCompareExchange32.asm
new file mode 100644 (file)
index 0000000..c8c20fb
--- /dev/null
@@ -0,0 +1,45 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   InterlockedCompareExchange32.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   InterlockedCompareExchange32 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .486\r
+    .model  flat,C\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT32\r
+; EFIAPI\r
+; InterlockedCompareExchange32 (\r
+;   IN      UINT32                    *Value,\r
+;   IN      UINT32                    CompareValue,\r
+;   IN      UINT32                    ExchangeValue\r
+;   );\r
+;------------------------------------------------------------------------------\r
+InternalSyncCompareExchange32   PROC\r
+    mov     ecx, [esp + 4]\r
+    mov     eax, [esp + 8]\r
+    mov     edx, [esp + 12]\r
+    lock    cmpxchg [ecx], edx\r
+    ret\r
+InternalSyncCompareExchange32   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/InterlockedCompareExchange32.s b/MdePkg/Library/BaseLib/Ia32/InterlockedCompareExchange32.s
new file mode 100644 (file)
index 0000000..43bb925
--- /dev/null
@@ -0,0 +1,64 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   InterlockedCompareExchange32.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   InterlockedCompareExchange32 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# VOID *\r
+# EFIAPI\r
+# InterlockedCompareExchangePointer (\r
+#   IN      VOID                      **Value,\r
+#   IN      VOID                      *CompareValue,\r
+#   IN      VOID                      *ExchangeValue\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _InterlockedCompareExchangePointer\r
+_InterlockedCompareExchangePointer: \r
+    #\r
+    # InterlockedCompareExchangePointer() shares the same code as\r
+    # InterlockedCompareExchange32() on IA32 and thus no code inside this\r
+    # function\r
+    #\r
+\r
+\r
+#------------------------------------------------------------------------------\r
+# UINT32\r
+# EFIAPI\r
+# InterlockedCompareExchange32 (\r
+#   IN      UINT32                    *Value,\r
+#   IN      UINT32                    CompareValue,\r
+#   IN      UINT32                    ExchangeValue\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _InterlockedCompareExchange32\r
+_InterlockedCompareExchange32: \r
+    movl    4(%esp),%ecx\r
+    movl    8(%esp),%eax\r
+    movl    12(%esp),%edx\r
+    lock    cmpxchgl %edx,(%ecx)\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/InterlockedCompareExchange64.asm b/MdePkg/Library/BaseLib/Ia32/InterlockedCompareExchange64.asm
new file mode 100644 (file)
index 0000000..cded920
--- /dev/null
@@ -0,0 +1,47 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   InterlockedCompareExchange64.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   InterlockedCompareExchange64 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586P\r
+    .model  flat,C\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT64\r
+; EFIAPI\r
+; InterlockedCompareExchange64 (\r
+;   IN      UINT64                    *Value,\r
+;   IN      UINT64                    CompareValue,\r
+;   IN      UINT64                    ExchangeValue\r
+;   );\r
+;------------------------------------------------------------------------------\r
+InternalSyncCompareExchange64   PROC    USES    esi ebx\r
+    mov     esi, [esp + 12]\r
+    mov     eax, [esp + 16]\r
+    mov     edx, [esp + 20]\r
+    mov     ebx, [esp + 24]\r
+    mov     ecx, [esp + 28]\r
+    lock    cmpxchg8b   qword ptr [esi]\r
+    ret\r
+InternalSyncCompareExchange64   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/InterlockedCompareExchange64.s b/MdePkg/Library/BaseLib/Ia32/InterlockedCompareExchange64.s
new file mode 100644 (file)
index 0000000..abc51e9
--- /dev/null
@@ -0,0 +1,52 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   InterlockedCompareExchange64.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   InterlockedCompareExchange64 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINT64\r
+# EFIAPI\r
+# InterlockedCompareExchange64 (\r
+#   IN      UINT64                    *Value,\r
+#   IN      UINT64                    CompareValue,\r
+#   IN      UINT64                    ExchangeValue\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _InterlockedCompareExchange64\r
+    push    %esi\r
+    push    %ebx\r
+    movl    12(%esp),%esi\r
+    movl    16(%esp),%eax\r
+    movl    20(%esp),%edx\r
+    movl    24(%esp),%ebx\r
+    movl    28(%esp),%ecx\r
+    lock    \r
+    cmpxchg8b   (%esi)\r
+    pop     %ebx\r
+    pop     %esi\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/InterlockedDecrement.asm b/MdePkg/Library/BaseLib/Ia32/InterlockedDecrement.asm
new file mode 100644 (file)
index 0000000..d849540
--- /dev/null
@@ -0,0 +1,42 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   InterlockedDecrement.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   InterlockedDecrement function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386\r
+    .model  flat,C\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT32\r
+; EFIAPI\r
+; InterlockedDecrement (\r
+;   IN      UINT32                    *Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
+InternalSyncDecrement   PROC\r
+    mov     eax, [esp + 4]\r
+    lock    dec     dword ptr [eax]\r
+    mov     eax, [eax]\r
+    ret\r
+InternalSyncDecrement   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/InterlockedDecrement.s b/MdePkg/Library/BaseLib/Ia32/InterlockedDecrement.s
new file mode 100644 (file)
index 0000000..a7b653a
--- /dev/null
@@ -0,0 +1,44 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   InterlockedDecrement.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   InterlockedDecrement function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINT32\r
+# EFIAPI\r
+# InterlockedDecrement (\r
+#   IN      UINT32                    *Value\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _InterlockedDecrement\r
+_InterlockedDecrement: \r
+    movl    4(%esp),%eax\r
+    lock    \r
+    decl     (%eax)\r
+    movl    (%eax),%eax\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/InterlockedIncrement.asm b/MdePkg/Library/BaseLib/Ia32/InterlockedIncrement.asm
new file mode 100644 (file)
index 0000000..a7bfb6f
--- /dev/null
@@ -0,0 +1,42 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   InterlockedIncrement.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   InterlockedIncrement function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386\r
+    .model  flat,C\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT32\r
+; EFIAPI\r
+; InterlockedIncrement (\r
+;   IN      UINT32                    *Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
+InternalSyncIncrement   PROC\r
+    mov     eax, [esp + 4]\r
+    lock    inc     dword ptr [eax]\r
+    mov     eax, [eax]\r
+    ret\r
+InternalSyncIncrement   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/InterlockedIncrement.s b/MdePkg/Library/BaseLib/Ia32/InterlockedIncrement.s
new file mode 100644 (file)
index 0000000..3f9beec
--- /dev/null
@@ -0,0 +1,44 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   InterlockedIncrement.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   InterlockedIncrement function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINT32\r
+# EFIAPI\r
+# InterlockedIncrement (\r
+#   IN      UINT32                    *Value\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _InterlockedIncrement\r
+_InterlockedIncrement: \r
+    movl    4(%esp),%eax\r
+    lock    \r
+    incl     (%eax)\r
+    movl    (%eax),%eax\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/Invd.asm b/MdePkg/Library/BaseLib/Ia32/Invd.asm
new file mode 100644 (file)
index 0000000..5767f54
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   Invd.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmInvd function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .486p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; AsmInvd (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmInvd    PROC\r
+    invd\r
+    ret\r
+_AsmInvd    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/Invd.s b/MdePkg/Library/BaseLib/Ia32/Invd.s
new file mode 100644 (file)
index 0000000..6d6c8d4
--- /dev/null
@@ -0,0 +1,41 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   Invd.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmInvd function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# VOID\r
+# EFIAPI\r
+# AsmInvd (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmInvd\r
+_AsmInvd: \r
+    invd\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/LRotU64.asm b/MdePkg/Library/BaseLib/Ia32/LRotU64.asm
new file mode 100644 (file)
index 0000000..1d5562a
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   LRotU64.asm\r
+;\r
+; Abstract:\r
+;\r
+;   64-bit left rotation for Ia32\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .686\r
+    .model  flat,C\r
+    .code\r
+\r
+InternalMathLRotU64 PROC    USES    ebx\r
+    mov     cl, [esp + 16]\r
+    mov     edx, [esp + 12]\r
+    mov     eax, [esp + 8]\r
+    shld    ebx, edx, cl\r
+    shld    edx, eax, cl\r
+    ror     ebx, cl\r
+    shld    eax, ebx, cl\r
+    test    cl, 32\r
+    cmovnz  ecx, eax\r
+    cmovnz  eax, edx\r
+    cmovnz  edx, ecx\r
+    ret\r
+InternalMathLRotU64 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/LRotU64.s b/MdePkg/Library/BaseLib/Ia32/LRotU64.s
new file mode 100644 (file)
index 0000000..9c961ce
--- /dev/null
@@ -0,0 +1,43 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   LRotU64.asm\r
+#\r
+# Abstract:\r
+#\r
+#   64-bit left rotation for Ia32\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+.global _LRotU64\r
+    push    %ebx\r
+    movb    16(%esp),%cl\r
+    movl    12(%esp),%edx\r
+    movl    8(%esp),%eax\r
+    shldl   %cl,%edx,%ebx\r
+    shldl   %cl,%eax,%edx\r
+    rorl    %cl,%ebx\r
+    shldl   %cl,%ebx,%eax\r
+    testb   $32,%cl\r
+    cmovnz  %eax, %ecx\r
+    cmovnz  %edx, %eax \r
+    cmovnz  %ecx, %edx\r
+    pop     %ebx\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/LShiftU64.asm b/MdePkg/Library/BaseLib/Ia32/LShiftU64.asm
new file mode 100644 (file)
index 0000000..9ce946d
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   LShiftU64.asm\r
+;\r
+; Abstract:\r
+;\r
+;   64-bit left shift function for IA-32\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .686\r
+    .model  flat,C\r
+    .code\r
+\r
+InternalMathLShiftU64   PROC\r
+    mov     cl, [esp + 12]\r
+    xor     eax, eax\r
+    mov     edx, [esp + 4]\r
+    test    cl, 32\r
+    cmovz   eax, edx\r
+    cmovz   edx, [esp + 8]\r
+    shld    edx, eax, cl\r
+    shl     eax, cl\r
+    ret\r
+InternalMathLShiftU64   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/LShiftU64.s b/MdePkg/Library/BaseLib/Ia32/LShiftU64.s
new file mode 100644 (file)
index 0000000..94cbc12
--- /dev/null
@@ -0,0 +1,39 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   LShiftU64.asm\r
+#\r
+# Abstract:\r
+#\r
+#   64-bit left shift function for IA-32\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+.global _LShiftU64\r
+_LShiftU64: \r
+    movb    12(%esp),%cl\r
+    xorl    %eax,%eax\r
+    movl    4(%esp),%edx\r
+    testb   $32,%cl\r
+    cmovz   %edx, %eax\r
+    cmovz   8(%esp), %edx\r
+    shldl   %cl,%eax,%edx\r
+    shll    %cl,%eax\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/LongJump.asm b/MdePkg/Library/BaseLib/Ia32/LongJump.asm
new file mode 100644 (file)
index 0000000..ff0cef2
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   LongJump.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   Implementation of LongJump() on IA-32.\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386\r
+    .model  flat\r
+    .code\r
+\r
+_LongJump   PROC\r
+    pop     eax\r
+    pop     edx\r
+    pop     eax\r
+    mov     ebx, [edx]\r
+    mov     esi, [edx + 4]\r
+    mov     edi, [edx + 8]\r
+    mov     ebp, [edx + 12]\r
+    mov     esp, [edx + 16]\r
+    jmp     dword ptr [edx + 20]\r
+_LongJump   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/LongJump.s b/MdePkg/Library/BaseLib/Ia32/LongJump.s
new file mode 100644 (file)
index 0000000..3da0914
--- /dev/null
@@ -0,0 +1,39 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   LongJump.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   Implementation of LongJump() on IA-32.\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+.global _LongJump\r
+_LongJump: \r
+    popl    %eax\r
+    popl    %edx\r
+    popl    %eax\r
+    movl    (%edx),%ebx\r
+    movl    4(%edx),%esi\r
+    movl    8(%edx),%edi\r
+    movl    12(%edx),%ebp\r
+    movl    16(%edx),%esp\r
+    jmpl    *20(%edx)\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ModU64x32.asm b/MdePkg/Library/BaseLib/Ia32/ModU64x32.asm
new file mode 100644 (file)
index 0000000..62481ce
--- /dev/null
@@ -0,0 +1,37 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   DivU64x32.asm\r
+;\r
+; Abstract:\r
+;\r
+;   Calculate the remainder of a 64-bit integer by a 32-bit integer\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386\r
+    .model  flat,C\r
+    .code\r
+\r
+InternalMathModU64x32   PROC\r
+    mov     eax, [esp + 8]\r
+    mov     ecx, [esp + 12]\r
+    xor     edx, edx\r
+    div     ecx\r
+    mov     eax, [esp + 4]\r
+    div     ecx\r
+    mov     eax, edx\r
+    ret\r
+InternalMathModU64x32   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ModU64x32.s b/MdePkg/Library/BaseLib/Ia32/ModU64x32.s
new file mode 100644 (file)
index 0000000..ed9c2fe
--- /dev/null
@@ -0,0 +1,38 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   DivU64x32.asm\r
+#\r
+# Abstract:\r
+#\r
+#   Calculate the remainder of a 64-bit integer by a 32-bit integer\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+.global _ModU64x32\r
+_ModU64x32: \r
+    movl    8(%esp),%eax\r
+    movl    12(%esp),%ecx\r
+    xorl    %edx,%edx\r
+    divl    %ecx\r
+    movl    4(%esp),%eax\r
+    divl    %ecx\r
+    movl    %edx,%eax\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/Monitor.asm b/MdePkg/Library/BaseLib/Ia32/Monitor.asm
new file mode 100644 (file)
index 0000000..5d92d26
--- /dev/null
@@ -0,0 +1,45 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   Monitor.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmMonitor function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .686\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT64\r
+; EFIAPI\r
+; AsmMonitor (\r
+;   IN      UINTN                     Eax,\r
+;   IN      UINTN                     Ecx,\r
+;   IN      UINTN                     Edx\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmMonitor PROC\r
+    mov     eax, [esp + 4]\r
+    mov     ecx, [esp + 8]\r
+    mov     edx, [esp + 12]\r
+    DB      0fh, 1, 0c8h\r
+    ret\r
+_AsmMonitor ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/Monitor.s b/MdePkg/Library/BaseLib/Ia32/Monitor.s
new file mode 100644 (file)
index 0000000..8da0e34
--- /dev/null
@@ -0,0 +1,46 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   Monitor.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmMonitor function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINT64\r
+# EFIAPI\r
+# AsmMonitor (\r
+#   IN      UINTN                     Eax,\r
+#   IN      UINTN                     Ecx,\r
+#   IN      UINTN                     Edx\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmMonitor\r
+_AsmMonitor: \r
+    movl    4(%esp),%eax\r
+    movl    8(%esp),%ecx\r
+    movl    12(%esp),%edx\r
+    monitor %eax,%ecx,%edx\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/MultU64x32.asm b/MdePkg/Library/BaseLib/Ia32/MultU64x32.asm
new file mode 100644 (file)
index 0000000..e2806e3
--- /dev/null
@@ -0,0 +1,35 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   MultU64x32.asm\r
+;\r
+; Abstract:\r
+;\r
+;   Calculate the product of a 64-bit integer and a 32-bit integer\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386\r
+    .model  flat,C\r
+    .code\r
+\r
+InternalMathMultU64x32  PROC\r
+    mov     ecx, [esp + 12]\r
+    mov     eax, ecx\r
+    imul    ecx, [esp + 8]\r
+    mul     dword ptr [esp + 4]\r
+    add     edx, ecx\r
+    ret\r
+InternalMathMultU64x32  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/MultU64x32.s b/MdePkg/Library/BaseLib/Ia32/MultU64x32.s
new file mode 100644 (file)
index 0000000..03c520b
--- /dev/null
@@ -0,0 +1,36 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   MultU64x32.asm\r
+#\r
+# Abstract:\r
+#\r
+#   Calculate the product of a 64-bit integer and a 32-bit integer\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+.global _MultU64x32\r
+_MultU64x32: \r
+    movl    12(%esp),%ecx\r
+    movl    %ecx,%eax\r
+    imull   8(%esp),%ecx\r
+    mull    4(%esp)\r
+    addl    %ecx,%edx\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/MultU64x64.asm b/MdePkg/Library/BaseLib/Ia32/MultU64x64.asm
new file mode 100644 (file)
index 0000000..24c6a7d
--- /dev/null
@@ -0,0 +1,39 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   MultU64x64.asm\r
+;\r
+; Abstract:\r
+;\r
+;   Calculate the product of a 64-bit integer and another 64-bit integer\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386\r
+    .model  flat,C\r
+    .code\r
+\r
+InternalMathMultU64x64  PROC    USES    ebx\r
+    mov     ebx, [esp + 8]\r
+    mov     edx, [esp + 16]\r
+    mov     ecx, ebx\r
+    mov     eax, edx\r
+    imul    ebx, [esp + 20]\r
+    imul    edx, [esp + 12]\r
+    add     ebx, edx\r
+    mul     ecx\r
+    add     edx, ebx\r
+    ret\r
+InternalMathMultU64x64  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/MultU64x64.s b/MdePkg/Library/BaseLib/Ia32/MultU64x64.s
new file mode 100644 (file)
index 0000000..8841fc4
--- /dev/null
@@ -0,0 +1,49 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   MultU64x64.asm\r
+#\r
+# Abstract:\r
+#\r
+#   Calculate the product of a 64-bit integer and another 64-bit integer\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+.global _MultS64x64\r
+_MultS64x64: \r
+    #\r
+    # MultS64x32 shares the same implementation with _MultU64x32, and thus no\r
+    # code inside this function.\r
+    #\r
+\r
+\r
+.global _MultU64x64\r
+    push    %ebx\r
+    movl    8(%esp),%ebx\r
+    movl    16(%esp),%edx\r
+    movl    %ebx,%ecx\r
+    movl    %edx,%eax\r
+    imull   20(%esp),%ebx\r
+    imull   12(%esp),%edx\r
+    addl    %edx,%ebx\r
+    mull    %ecx\r
+    addl    %ebx,%edx\r
+    pop     %ebx\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/Mwait.asm b/MdePkg/Library/BaseLib/Ia32/Mwait.asm
new file mode 100644 (file)
index 0000000..91d505b
--- /dev/null
@@ -0,0 +1,43 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   Mwait.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmMwait function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .686\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT64\r
+; EFIAPI\r
+; AsmMwait (\r
+;   IN      UINTN                     Eax,\r
+;   IN      UINTN                     Ecx\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmMwait   PROC\r
+    mov     eax, [esp + 4]\r
+    mov     ecx, [esp + 8]\r
+    DB      0fh, 1, 0c9h\r
+    ret\r
+_AsmMwait   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/Mwait.s b/MdePkg/Library/BaseLib/Ia32/Mwait.s
new file mode 100644 (file)
index 0000000..7e04453
--- /dev/null
@@ -0,0 +1,44 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   Mwait.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmMwait function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINT64\r
+# EFIAPI\r
+# AsmMwait (\r
+#   IN      UINTN                     Eax,\r
+#   IN      UINTN                     Ecx\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmMwait\r
+_AsmMwait: \r
+    movl    4(%esp),%eax\r
+    movl    8(%esp),%ecx\r
+    mwait   %eax,%ecx\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/Non-existing.c b/MdePkg/Library/BaseLib/Ia32/Non-existing.c
new file mode 100644 (file)
index 0000000..4132d30
--- /dev/null
@@ -0,0 +1,30 @@
+/** @file\r
+       Non-existing BaseLib functions on Ia32\r
+\r
+       Copyright (c) 2006, Intel Corporation\r
+       All rights reserved. This program and the accompanying materials\r
+       are licensed and made available under the terms and conditions of the BSD License\r
+       which accompanies this distribution.  The full text of the license may be found at\r
+       http://opensource.org/licenses/bsd-license.php\r
+\r
+       THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+       WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+       Module Name:    Non-existing.c\r
+\r
+**/\r
+\r
+#include "../BaseLibInternals.h"\r
+\r
+VOID\r
+EFIAPI\r
+InternalX86DisablePaging64 (\r
+  IN      UINT16                    CodeSelector,\r
+  IN      UINT32                    EntryPoint,\r
+  IN      UINT32                    Context1,  OPTIONAL\r
+  IN      UINT32                    Context2,  OPTIONAL\r
+  IN      UINT32                    NewStack\r
+  )\r
+{\r
+  ASSERT (FALSE);\r
+}\r
diff --git a/MdePkg/Library/BaseLib/Ia32/RRotU64.asm b/MdePkg/Library/BaseLib/Ia32/RRotU64.asm
new file mode 100644 (file)
index 0000000..062e201
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   RRotU64.asm\r
+;\r
+; Abstract:\r
+;\r
+;   64-bit right rotation for Ia32\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .686\r
+    .model  flat,C\r
+    .code\r
+\r
+InternalMathRRotU64 PROC    USES    ebx\r
+    mov     cl, [esp + 16]\r
+    mov     eax, [esp + 8]\r
+    mov     edx, [esp + 12]\r
+    shrd    ebx, eax, cl\r
+    shrd    eax, edx, cl\r
+    rol     ebx, cl\r
+    shrd    edx, ebx, cl\r
+    test    cl, 32\r
+    cmovnz  ecx, eax\r
+    cmovnz  eax, edx\r
+    cmovnz  edx, ecx\r
+    ret\r
+InternalMathRRotU64 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/RRotU64.s b/MdePkg/Library/BaseLib/Ia32/RRotU64.s
new file mode 100644 (file)
index 0000000..541e420
--- /dev/null
@@ -0,0 +1,43 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   RRotU64.asm\r
+#\r
+# Abstract:\r
+#\r
+#   64-bit right rotation for Ia32\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+.global _RRotU64\r
+    push    %ebx\r
+    movb    16(%esp),%cl\r
+    movl    8(%esp),%eax\r
+    movl    12(%esp),%edx\r
+    shrdl   %cl,%eax,%ebx\r
+    shrdl   %cl,%edx,%eax\r
+    roll    %cl,%ebx\r
+    shrdl   %cl,%ebx,%edx\r
+    testb   $32,%cl\r
+    cmovnz  %eax, %ecx\r
+    cmovnz  %edx, %eax\r
+    cmovnz  %ecx, %edx\r
+    pop     %ebx\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/RShiftU64.asm b/MdePkg/Library/BaseLib/Ia32/RShiftU64.asm
new file mode 100644 (file)
index 0000000..effbc55
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   RShiftU64.asm\r
+;\r
+; Abstract:\r
+;\r
+;   64-bit logical right shift function for IA-32\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .686\r
+    .model  flat,C\r
+    .code\r
+\r
+InternalMathRShiftU64   PROC\r
+    mov     cl, [esp + 12]\r
+    xor     edx, edx\r
+    mov     eax, [esp + 8]\r
+    test    cl, 32\r
+    cmovz   edx, eax\r
+    cmovz   eax, [esp + 4]\r
+    shrd    eax, edx, cl\r
+    shr     edx, cl\r
+    ret\r
+InternalMathRShiftU64   ENDP\r
+\r
+    END
\ No newline at end of file
diff --git a/MdePkg/Library/BaseLib/Ia32/RShiftU64.s b/MdePkg/Library/BaseLib/Ia32/RShiftU64.s
new file mode 100644 (file)
index 0000000..5b681e3
--- /dev/null
@@ -0,0 +1,39 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   RShiftU64.asm\r
+#\r
+# Abstract:\r
+#\r
+#   64-bit logical right shift function for IA-32\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+.global _RShiftU64\r
+_RShiftU64: \r
+    movb    12(%esp),%cl\r
+    xorl    %edx,%edx\r
+    movl    8(%esp),%eax\r
+    testb   $32,%cl\r
+    cmovz   %eax, %edx\r
+    cmovz   4(%esp), %eax\r
+    shrdl   %cl,%edx,%eax\r
+    shrl    %cl,%edx\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadCr0.asm b/MdePkg/Library/BaseLib/Ia32/ReadCr0.asm
new file mode 100644 (file)
index 0000000..579cee2
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadCr0.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadCr0 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadCr0 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadCr0 PROC\r
+    mov     eax, cr0\r
+    ret\r
+_AsmReadCr0 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadCr0.s b/MdePkg/Library/BaseLib/Ia32/ReadCr0.s
new file mode 100644 (file)
index 0000000..3108b71
--- /dev/null
@@ -0,0 +1,41 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadCr0.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadCr0 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINTN\r
+# EFIAPI\r
+# AsmReadCr0 (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadCr0\r
+_AsmReadCr0: \r
+    movl    %cr0, %eax\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadCr2.asm b/MdePkg/Library/BaseLib/Ia32/ReadCr2.asm
new file mode 100644 (file)
index 0000000..3e4a926
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadCr2.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadCr2 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadCr2 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadCr2 PROC\r
+    mov     eax, cr2\r
+    ret\r
+_AsmReadCr2 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadCr2.s b/MdePkg/Library/BaseLib/Ia32/ReadCr2.s
new file mode 100644 (file)
index 0000000..3ce287a
--- /dev/null
@@ -0,0 +1,41 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadCr2.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadCr2 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINTN\r
+# EFIAPI\r
+# AsmReadCr2 (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadCr2\r
+_AsmReadCr2: \r
+    movl    %cr2, %eax\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadCr3.asm b/MdePkg/Library/BaseLib/Ia32/ReadCr3.asm
new file mode 100644 (file)
index 0000000..c24ded8
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadCr3.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadCr3 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadCr3 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadCr3 PROC\r
+    mov     eax, cr3\r
+    ret\r
+_AsmReadCr3 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadCr3.s b/MdePkg/Library/BaseLib/Ia32/ReadCr3.s
new file mode 100644 (file)
index 0000000..2bd63c7
--- /dev/null
@@ -0,0 +1,41 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadCr3.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadCr3 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINTN\r
+# EFIAPI\r
+# AsmReadCr3 (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadCr3\r
+_AsmReadCr3: \r
+    movl    %cr3, %eax\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadCr4.asm b/MdePkg/Library/BaseLib/Ia32/ReadCr4.asm
new file mode 100644 (file)
index 0000000..258f37a
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadCr4.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadCr4 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadCr4 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadCr4 PROC\r
+    mov     eax, cr4\r
+    ret\r
+_AsmReadCr4 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadCr4.s b/MdePkg/Library/BaseLib/Ia32/ReadCr4.s
new file mode 100644 (file)
index 0000000..4d746d8
--- /dev/null
@@ -0,0 +1,41 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadCr4.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadCr4 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINTN\r
+# EFIAPI\r
+# AsmReadCr4 (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadCr4\r
+_AsmReadCr4: \r
+    movl    %cr4, %eax\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadCs.asm b/MdePkg/Library/BaseLib/Ia32/ReadCs.asm
new file mode 100644 (file)
index 0000000..5972d66
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadCs.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadCs function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT16\r
+; EFIAPI\r
+; AsmReadCs (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadCs  PROC\r
+    mov     ax, cs\r
+    ret\r
+_AsmReadCs  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadCs.s b/MdePkg/Library/BaseLib/Ia32/ReadCs.s
new file mode 100644 (file)
index 0000000..66bf4b9
--- /dev/null
@@ -0,0 +1,41 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadCs.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadCs function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINT16\r
+# EFIAPI\r
+# AsmReadCs (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadCs\r
+_AsmReadCs: \r
+    movw    %cs,%ax\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadDr0.asm b/MdePkg/Library/BaseLib/Ia32/ReadDr0.asm
new file mode 100644 (file)
index 0000000..4da1dd8
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadDr0.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadDr0 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadDr0 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadDr0 PROC\r
+    mov     eax, dr0\r
+    ret\r
+_AsmReadDr0 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadDr0.s b/MdePkg/Library/BaseLib/Ia32/ReadDr0.s
new file mode 100644 (file)
index 0000000..00c521b
--- /dev/null
@@ -0,0 +1,40 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadDr0.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadDr0 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINTN\r
+# EFIAPI\r
+# AsmReadDr0 (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadDr0\r
+_AsmReadDr0: \r
+    movl    %dr0, %eax\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadDr1.asm b/MdePkg/Library/BaseLib/Ia32/ReadDr1.asm
new file mode 100644 (file)
index 0000000..8724dd2
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadDr1.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadDr1 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadDr1 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadDr1 PROC\r
+    mov     eax, dr1\r
+    ret\r
+_AsmReadDr1 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadDr1.s b/MdePkg/Library/BaseLib/Ia32/ReadDr1.s
new file mode 100644 (file)
index 0000000..81d0e54
--- /dev/null
@@ -0,0 +1,41 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadDr1.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadDr1 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINTN\r
+# EFIAPI\r
+# AsmReadDr1 (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadDr1\r
+_AsmReadDr1: \r
+    movl    %dr1, %eax\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadDr2.asm b/MdePkg/Library/BaseLib/Ia32/ReadDr2.asm
new file mode 100644 (file)
index 0000000..9122d42
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadDr2.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadDr2 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadDr2 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadDr2 PROC\r
+    mov     eax, dr2\r
+    ret\r
+_AsmReadDr2 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadDr2.s b/MdePkg/Library/BaseLib/Ia32/ReadDr2.s
new file mode 100644 (file)
index 0000000..296fff6
--- /dev/null
@@ -0,0 +1,41 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadDr2.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadDr2 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINTN\r
+# EFIAPI\r
+# AsmReadDr2 (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadDr2\r
+_AsmReadDr2: \r
+    movl    %dr2, %eax\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadDr3.asm b/MdePkg/Library/BaseLib/Ia32/ReadDr3.asm
new file mode 100644 (file)
index 0000000..7c1ee98
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadDr3.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadDr3 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadDr3 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadDr3 PROC\r
+    mov     eax, dr3\r
+    ret\r
+_AsmReadDr3 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadDr3.s b/MdePkg/Library/BaseLib/Ia32/ReadDr3.s
new file mode 100644 (file)
index 0000000..e99391d
--- /dev/null
@@ -0,0 +1,41 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadDr3.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadDr3 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINTN\r
+# EFIAPI\r
+# AsmReadDr3 (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadDr3\r
+_AsmReadDr3: \r
+    movl    %dr3, %eax\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadDr4.asm b/MdePkg/Library/BaseLib/Ia32/ReadDr4.asm
new file mode 100644 (file)
index 0000000..0172455
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadDr4.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadDr4 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadDr4 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadDr4 PROC\r
+    DB      0fh, 21h, 0e0h\r
+    ret\r
+_AsmReadDr4 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadDr5.asm b/MdePkg/Library/BaseLib/Ia32/ReadDr5.asm
new file mode 100644 (file)
index 0000000..a95527e
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadDr5.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadDr5 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadDr5 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadDr5 PROC\r
+    DB      0fh, 21h, 0e8h\r
+    ret\r
+_AsmReadDr5 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadDr6.asm b/MdePkg/Library/BaseLib/Ia32/ReadDr6.asm
new file mode 100644 (file)
index 0000000..b2d9a3d
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadDr6.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadDr6 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadDr6 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadDr6 PROC\r
+    mov     eax, dr6\r
+    ret\r
+_AsmReadDr6 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadDr6.s b/MdePkg/Library/BaseLib/Ia32/ReadDr6.s
new file mode 100644 (file)
index 0000000..bdadd80
--- /dev/null
@@ -0,0 +1,41 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadDr6.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadDr6 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINTN\r
+# EFIAPI\r
+# AsmReadDr6 (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadDr6\r
+_AsmReadDr6: \r
+    movl    %dr6, %eax\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadDr7.asm b/MdePkg/Library/BaseLib/Ia32/ReadDr7.asm
new file mode 100644 (file)
index 0000000..23924b1
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadDr7.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadDr7 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadDr7 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadDr7 PROC\r
+    mov     eax, dr7\r
+    ret\r
+_AsmReadDr7 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadDr7.s b/MdePkg/Library/BaseLib/Ia32/ReadDr7.s
new file mode 100644 (file)
index 0000000..cf213ca
--- /dev/null
@@ -0,0 +1,41 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadDr7.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadDr7 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINTN\r
+# EFIAPI\r
+# AsmReadDr7 (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadDr7\r
+_AsmReadDr7: \r
+    movl    %dr7, %eax\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadDs.asm b/MdePkg/Library/BaseLib/Ia32/ReadDs.asm
new file mode 100644 (file)
index 0000000..6992766
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadDs.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadDs function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT16\r
+; EFIAPI\r
+; AsmReadDs (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadDs  PROC\r
+    mov     ax, ds\r
+    ret\r
+_AsmReadDs  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadDs.s b/MdePkg/Library/BaseLib/Ia32/ReadDs.s
new file mode 100644 (file)
index 0000000..ca1e379
--- /dev/null
@@ -0,0 +1,41 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadDs.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadDs function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINT16\r
+# EFIAPI\r
+# AsmReadDs (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadDs\r
+_AsmReadDs: \r
+    movw    %ds,%ax\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadEflags.asm b/MdePkg/Library/BaseLib/Ia32/ReadEflags.asm
new file mode 100644 (file)
index 0000000..365b1de
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadEflags.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadEflags function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadEflags (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadEflags  PROC\r
+    pushfd\r
+    pop     eax\r
+    ret\r
+_AsmReadEflags  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadEflags.s b/MdePkg/Library/BaseLib/Ia32/ReadEflags.s
new file mode 100644 (file)
index 0000000..a70a209
--- /dev/null
@@ -0,0 +1,42 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadEflags.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadEflags function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINTN\r
+# EFIAPI\r
+# AsmReadEflags (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadEflags\r
+_AsmReadEflags: \r
+    pushfl\r
+    popl    %eax\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadEs.asm b/MdePkg/Library/BaseLib/Ia32/ReadEs.asm
new file mode 100644 (file)
index 0000000..0ced46a
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadEs.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadEs function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT16\r
+; EFIAPI\r
+; AsmReadEs (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadEs  PROC\r
+    mov     ax, es\r
+    ret\r
+_AsmReadEs  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadEs.s b/MdePkg/Library/BaseLib/Ia32/ReadEs.s
new file mode 100644 (file)
index 0000000..69727b5
--- /dev/null
@@ -0,0 +1,41 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadEs.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadEs function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINT16\r
+# EFIAPI\r
+# AsmReadEs (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadEs\r
+_AsmReadEs: \r
+    movw    %es,%ax\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadFs.asm b/MdePkg/Library/BaseLib/Ia32/ReadFs.asm
new file mode 100644 (file)
index 0000000..f1790c6
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadFs.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadFs function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT16\r
+; EFIAPI\r
+; AsmReadFs (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadFs  PROC\r
+    mov     ax, fs\r
+    ret\r
+_AsmReadFs  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadFs.s b/MdePkg/Library/BaseLib/Ia32/ReadFs.s
new file mode 100644 (file)
index 0000000..7f4fdfa
--- /dev/null
@@ -0,0 +1,41 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadFs.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadFs function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINT16\r
+# EFIAPI\r
+# AsmReadFs (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadFs\r
+_AsmReadFs: \r
+    movw    %fs,%ax\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadGdtr.asm b/MdePkg/Library/BaseLib/Ia32/ReadGdtr.asm
new file mode 100644 (file)
index 0000000..beacb62
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadGdtr.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadGdtr function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386\r
+    .model  flat,C\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; InternalX86ReadGdtr (\r
+;   OUT IA32_DESCRIPTOR  *Gdtr\r
+;   );\r
+;------------------------------------------------------------------------------\r
+InternalX86ReadGdtr   PROC\r
+    mov     eax, [esp + 4]\r
+    sgdt    fword ptr [eax]\r
+    ret\r
+InternalX86ReadGdtr   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadGdtr.s b/MdePkg/Library/BaseLib/Ia32/ReadGdtr.s
new file mode 100644 (file)
index 0000000..f03a056
--- /dev/null
@@ -0,0 +1,42 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadGdtr.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadGdtr function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# VOID\r
+# EFIAPI\r
+# AsmReadGdtr (\r
+#   OUT IA32_DESCRIPTOR  *Gdtr\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadGdtr\r
+_AsmReadGdtr: \r
+    movl    4(%esp),%eax\r
+    sgdt    (%eax)\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadGs.asm b/MdePkg/Library/BaseLib/Ia32/ReadGs.asm
new file mode 100644 (file)
index 0000000..1de0ebf
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadGs.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadGs function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT16\r
+; EFIAPI\r
+; AsmReadGs (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadGs  PROC\r
+    mov     ax, gs\r
+    ret\r
+_AsmReadGs  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadGs.s b/MdePkg/Library/BaseLib/Ia32/ReadGs.s
new file mode 100644 (file)
index 0000000..0d88a60
--- /dev/null
@@ -0,0 +1,41 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadGs.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadGs function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINT16\r
+# EFIAPI\r
+# AsmReadGs (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadGs\r
+_AsmReadGs: \r
+    movw    %gs,%ax\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadIdtr.asm b/MdePkg/Library/BaseLib/Ia32/ReadIdtr.asm
new file mode 100644 (file)
index 0000000..95158be
--- /dev/null
@@ -0,0 +1,34 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadIdtr.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadIdtr function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386\r
+    .model  flat,C\r
+    .code\r
+\r
+InternalX86ReadIdtr   PROC\r
+    mov     eax, [esp + 4]\r
+    sidt    fword ptr [eax]\r
+    ret\r
+InternalX86ReadIdtr   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadIdtr.s b/MdePkg/Library/BaseLib/Ia32/ReadIdtr.s
new file mode 100644 (file)
index 0000000..fa72d3b
--- /dev/null
@@ -0,0 +1,42 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadIdtr.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadIdtr function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# VOID\r
+# EFIAPI\r
+# AsmReadIdtr (\r
+#   OUT IA32_DESCRIPTOR  *Idtr\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadIdtr\r
+_AsmReadIdtr: \r
+    movl    4(%esp),%eax\r
+    sidt    (%eax)\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadLdtr.asm b/MdePkg/Library/BaseLib/Ia32/ReadLdtr.asm
new file mode 100644 (file)
index 0000000..a859a0e
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadLdtr.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadLdtr function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT16\r
+; EFIAPI\r
+; AsmReadLdtr (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadLdtr    PROC\r
+    sldt    ax\r
+    ret\r
+_AsmReadLdtr    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadLdtr.s b/MdePkg/Library/BaseLib/Ia32/ReadLdtr.s
new file mode 100644 (file)
index 0000000..aea1d92
--- /dev/null
@@ -0,0 +1,41 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadLdtr.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadLdtr function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINT16\r
+# EFIAPI\r
+# AsmReadLdtr (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadLdtr\r
+_AsmReadLdtr: \r
+    sldt   %eax\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadMm0.asm b/MdePkg/Library/BaseLib/Ia32/ReadMm0.asm
new file mode 100644 (file)
index 0000000..c45895b
--- /dev/null
@@ -0,0 +1,45 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadMm0.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadMm0 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586P\r
+    .model  flat\r
+    .xmm\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadMm0 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadMm0 PROC\r
+    push    eax\r
+    push    eax\r
+    movq    [esp], mm0\r
+    pop     eax\r
+    pop     edx\r
+    ret\r
+_AsmReadMm0 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadMm0.s b/MdePkg/Library/BaseLib/Ia32/ReadMm0.s
new file mode 100644 (file)
index 0000000..dd6b846
--- /dev/null
@@ -0,0 +1,46 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadMm0.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadMm0 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINTN\r
+# EFIAPI\r
+# AsmReadMm0 (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadMm0\r
+_AsmReadMm0: \r
+    pushl   %eax\r
+    pushl   %eax\r
+    movq    %mm0,(%esp)\r
+    popl    %eax\r
+    popl    %edx\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadMm1.asm b/MdePkg/Library/BaseLib/Ia32/ReadMm1.asm
new file mode 100644 (file)
index 0000000..ea748cb
--- /dev/null
@@ -0,0 +1,45 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadMm1.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadMm1 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586P\r
+    .model  flat\r
+    .xmm\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadMm1 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadMm1 PROC\r
+    push    eax\r
+    push    eax\r
+    movq    [esp], mm1\r
+    pop     eax\r
+    pop     edx\r
+    ret\r
+_AsmReadMm1 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadMm1.s b/MdePkg/Library/BaseLib/Ia32/ReadMm1.s
new file mode 100644 (file)
index 0000000..cbaafff
--- /dev/null
@@ -0,0 +1,46 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadMm1.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadMm1 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINTN\r
+# EFIAPI\r
+# AsmReadMm1 (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadMm1\r
+_AsmReadMm1: \r
+    pushl   %eax\r
+    pushl   %eax\r
+    movq    %mm1,(%esp)\r
+    popl    %eax\r
+    popl    %edx\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadMm2.asm b/MdePkg/Library/BaseLib/Ia32/ReadMm2.asm
new file mode 100644 (file)
index 0000000..ab16c51
--- /dev/null
@@ -0,0 +1,45 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadMm2.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadMm2 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586P\r
+    .model  flat\r
+    .xmm\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadMm2 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadMm2 PROC\r
+    push    eax\r
+    push    eax\r
+    movq    [esp], mm2\r
+    pop     eax\r
+    pop     edx\r
+    ret\r
+_AsmReadMm2 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadMm2.s b/MdePkg/Library/BaseLib/Ia32/ReadMm2.s
new file mode 100644 (file)
index 0000000..22a5d71
--- /dev/null
@@ -0,0 +1,46 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadMm2.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadMm2 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINTN\r
+# EFIAPI\r
+# AsmReadMm2 (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadMm2\r
+_AsmReadMm2: \r
+    pushl   %eax\r
+    pushl   %eax\r
+    movq    %mm2,(%esp)\r
+    popl    %eax\r
+    popl    %edx\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadMm3.asm b/MdePkg/Library/BaseLib/Ia32/ReadMm3.asm
new file mode 100644 (file)
index 0000000..3c4bf34
--- /dev/null
@@ -0,0 +1,45 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadMm3.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadMm3 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586P\r
+    .model  flat\r
+    .xmm\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadMm3 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadMm3 PROC\r
+    push    eax\r
+    push    eax\r
+    movq    [esp], mm3\r
+    pop     eax\r
+    pop     edx\r
+    ret\r
+_AsmReadMm3 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadMm3.s b/MdePkg/Library/BaseLib/Ia32/ReadMm3.s
new file mode 100644 (file)
index 0000000..dae267a
--- /dev/null
@@ -0,0 +1,46 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadMm3.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadMm3 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINTN\r
+# EFIAPI\r
+# AsmReadMm3 (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadMm3\r
+_AsmReadMm3: \r
+    pushl   %eax\r
+    pushl   %eax\r
+    movq    %mm3,(%esp)\r
+    popl    %eax\r
+    popl    %edx\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadMm4.asm b/MdePkg/Library/BaseLib/Ia32/ReadMm4.asm
new file mode 100644 (file)
index 0000000..4c2beb8
--- /dev/null
@@ -0,0 +1,45 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadMm4.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadMm4 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586P\r
+    .model  flat\r
+    .xmm\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadMm4 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadMm4 PROC\r
+    push    eax\r
+    push    eax\r
+    movq    [esp], mm4\r
+    pop     eax\r
+    pop     edx\r
+    ret\r
+_AsmReadMm4 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadMm4.s b/MdePkg/Library/BaseLib/Ia32/ReadMm4.s
new file mode 100644 (file)
index 0000000..0ae1afc
--- /dev/null
@@ -0,0 +1,46 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadMm4.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadMm4 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINTN\r
+# EFIAPI\r
+# AsmReadMm4 (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadMm4\r
+_AsmReadMm4: \r
+    pushl   %eax\r
+    pushl   %eax\r
+    movq    %mm4,(%esp)\r
+    popl    %eax\r
+    popl    %edx\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadMm5.asm b/MdePkg/Library/BaseLib/Ia32/ReadMm5.asm
new file mode 100644 (file)
index 0000000..66e3826
--- /dev/null
@@ -0,0 +1,45 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadMm5.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadMm5 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586P\r
+    .model  flat\r
+    .xmm\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadMm5 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadMm5 PROC\r
+    push    eax\r
+    push    eax\r
+    movq    [esp], mm5\r
+    pop     eax\r
+    pop     edx\r
+    ret\r
+_AsmReadMm5 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadMm5.s b/MdePkg/Library/BaseLib/Ia32/ReadMm5.s
new file mode 100644 (file)
index 0000000..2fad14a
--- /dev/null
@@ -0,0 +1,46 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadMm5.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadMm5 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINTN\r
+# EFIAPI\r
+# AsmReadMm5 (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadMm5\r
+_AsmReadMm5: \r
+    pushl   %eax\r
+    pushl   %eax\r
+    movq    %mm5,(%esp)\r
+    popl    %eax\r
+    popl    %edx\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadMm6.asm b/MdePkg/Library/BaseLib/Ia32/ReadMm6.asm
new file mode 100644 (file)
index 0000000..69d9e13
--- /dev/null
@@ -0,0 +1,45 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadMm6.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadMm6 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586P\r
+    .model  flat\r
+    .xmm\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadMm6 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadMm6 PROC\r
+    push    eax\r
+    push    eax\r
+    movq    [esp], mm6\r
+    pop     eax\r
+    pop     edx\r
+    ret\r
+_AsmReadMm6 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadMm6.s b/MdePkg/Library/BaseLib/Ia32/ReadMm6.s
new file mode 100644 (file)
index 0000000..22cddfa
--- /dev/null
@@ -0,0 +1,46 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadMm6.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadMm6 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINTN\r
+# EFIAPI\r
+# AsmReadMm6 (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadMm6\r
+_AsmReadMm6: \r
+    pushl   %eax\r
+    pushl   %eax\r
+    movq    %mm6,(%esp)\r
+    popl    %eax\r
+    popl    %edx\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadMm7.asm b/MdePkg/Library/BaseLib/Ia32/ReadMm7.asm
new file mode 100644 (file)
index 0000000..a8788cb
--- /dev/null
@@ -0,0 +1,45 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadMm7.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadMm7 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586P\r
+    .model  flat\r
+    .xmm\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadMm7 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadMm7 PROC\r
+    push    eax\r
+    push    eax\r
+    movq    [esp], mm7\r
+    pop     eax\r
+    pop     edx\r
+    ret\r
+_AsmReadMm7 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadMm7.s b/MdePkg/Library/BaseLib/Ia32/ReadMm7.s
new file mode 100644 (file)
index 0000000..fb485a0
--- /dev/null
@@ -0,0 +1,46 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadMm7.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadMm7 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINTN\r
+# EFIAPI\r
+# AsmReadMm7 (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadMm7\r
+_AsmReadMm7: \r
+    pushl   %eax\r
+    pushl   %eax\r
+    movq    %mm7,(%esp)\r
+    popl    %eax\r
+    popl    %edx\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadMsr64.asm b/MdePkg/Library/BaseLib/Ia32/ReadMsr64.asm
new file mode 100644 (file)
index 0000000..6c9fe00
--- /dev/null
@@ -0,0 +1,55 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadMsr64.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadMsr64 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586P\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT32\r
+; EFIAPI\r
+; AsmReadMsr32 (\r
+;   IN UINT32  Index\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadMsr32   PROC\r
+    ;\r
+    ; AsmReadMsr32 shares the same implementation with AsmReadMsr64 and thus no\r
+    ; code inside this function\r
+    ;\r
+_AsmReadMsr32   ENDP\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT64\r
+; EFIAPI\r
+; AsmReadMsr64 (\r
+;   IN UINT64  Index\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadMsr64   PROC\r
+    mov     ecx, [esp + 4]\r
+    rdmsr\r
+    ret\r
+_AsmReadMsr64   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadMsr64.s b/MdePkg/Library/BaseLib/Ia32/ReadMsr64.s
new file mode 100644 (file)
index 0000000..6a2c9c6
--- /dev/null
@@ -0,0 +1,57 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadMsr64.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadMsr64 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINT32\r
+# EFIAPI\r
+# AsmReadMsr32 (\r
+#   IN UINT32  Index\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadMsr32\r
+_AsmReadMsr32: \r
+    #\r
+    # AsmReadMsr32 shares the same implementation with AsmReadMsr64 and thus no\r
+    # code inside this function\r
+    #\r
+\r
+\r
+#------------------------------------------------------------------------------\r
+# UINT64\r
+# EFIAPI\r
+# AsmReadMsr64 (\r
+#   IN UINT64  Index\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadMsr64\r
+_AsmReadMsr64: \r
+    movl    4(%esp),%ecx\r
+    rdmsr\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadPmc.asm b/MdePkg/Library/BaseLib/Ia32/ReadPmc.asm
new file mode 100644 (file)
index 0000000..1fe5981
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadPmc.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadPmc function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586P\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT64\r
+; EFIAPI\r
+; AsmReadPmc (\r
+;   IN UINT32   PmcIndex\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadPmc PROC\r
+    mov     ecx, [esp + 4]\r
+    rdpmc\r
+    ret\r
+_AsmReadPmc ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadPmc.s b/MdePkg/Library/BaseLib/Ia32/ReadPmc.s
new file mode 100644 (file)
index 0000000..868e85c
--- /dev/null
@@ -0,0 +1,42 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadPmc.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadPmc function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINT64\r
+# EFIAPI\r
+# AsmReadPmc (\r
+#   IN UINT32   PmcIndex\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadPmc\r
+_AsmReadPmc: \r
+    movl    4(%esp),%ecx\r
+    rdpmc\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadSs.asm b/MdePkg/Library/BaseLib/Ia32/ReadSs.asm
new file mode 100644 (file)
index 0000000..6d0cd9f
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadSs.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadSs function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT16\r
+; EFIAPI\r
+; AsmReadSs (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadSs  PROC\r
+    mov     ax, ss\r
+    ret\r
+_AsmReadSs  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadSs.s b/MdePkg/Library/BaseLib/Ia32/ReadSs.s
new file mode 100644 (file)
index 0000000..7db65c1
--- /dev/null
@@ -0,0 +1,41 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadSs.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadSs function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINT16\r
+# EFIAPI\r
+# AsmReadSs (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadSs\r
+_AsmReadSs: \r
+    movw    %ss,%ax\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadTr.asm b/MdePkg/Library/BaseLib/Ia32/ReadTr.asm
new file mode 100644 (file)
index 0000000..d77ee89
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadTr.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadTr function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT16\r
+; EFIAPI\r
+; AsmReadTr (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadTr  PROC\r
+    str     ax\r
+    ret\r
+_AsmReadTr  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadTr.s b/MdePkg/Library/BaseLib/Ia32/ReadTr.s
new file mode 100644 (file)
index 0000000..8c31e9d
--- /dev/null
@@ -0,0 +1,41 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadTr.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadTr function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINT16\r
+# EFIAPI\r
+# AsmReadTr (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadTr\r
+_AsmReadTr: \r
+    str     %eax\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadTsc.asm b/MdePkg/Library/BaseLib/Ia32/ReadTsc.asm
new file mode 100644 (file)
index 0000000..ea3c164
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadTsc.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadTsc function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586P\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT64\r
+; EFIAPI\r
+; AsmReadTsc (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmReadTsc PROC\r
+    rdtsc\r
+    ret\r
+_AsmReadTsc ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadTsc.s b/MdePkg/Library/BaseLib/Ia32/ReadTsc.s
new file mode 100644 (file)
index 0000000..e7981c0
--- /dev/null
@@ -0,0 +1,41 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   ReadTsc.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmReadTsc function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINT64\r
+# EFIAPI\r
+# AsmReadTsc (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmReadTsc\r
+_AsmReadTsc: \r
+    rdtsc\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/SetJump.asm b/MdePkg/Library/BaseLib/Ia32/SetJump.asm
new file mode 100644 (file)
index 0000000..41277cd
--- /dev/null
@@ -0,0 +1,39 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   SetJump.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   Implementation of SetJump() on IA-32.\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386\r
+    .model  flat\r
+    .code\r
+\r
+_SetJump    PROC\r
+    pop     ecx\r
+    mov     edx, [esp]\r
+    mov     [edx], ebx\r
+    mov     [edx + 4], esi\r
+    mov     [edx + 8], edi\r
+    mov     [edx + 12], ebp\r
+    mov     [edx + 16], esp\r
+    mov     [edx + 20], ecx\r
+    xor     eax, eax\r
+    jmp     ecx\r
+_SetJump    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/SetJump.s b/MdePkg/Library/BaseLib/Ia32/SetJump.s
new file mode 100644 (file)
index 0000000..b1b6a84
--- /dev/null
@@ -0,0 +1,40 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   SetJump.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   Implementation of SetJump() on IA-32.\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+.global _SetJump\r
+_SetJump: \r
+    popl    %ecx\r
+    movl    (%esp),%edx\r
+    movl    %ebx,(%edx)\r
+    movl    %esi,4(%edx)\r
+    movl    %edi,8(%edx)\r
+    movl    %ebp,12(%edx)\r
+    movl    %esp,16(%edx)\r
+    movl    %ecx,20(%edx)\r
+    xorl    %eax,%eax\r
+    jmp     *%ecx\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/SwapBytes64.asm b/MdePkg/Library/BaseLib/Ia32/SwapBytes64.asm
new file mode 100644 (file)
index 0000000..72e366b
--- /dev/null
@@ -0,0 +1,36 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   CpuId.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmCpuid function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586P\r
+    .model  flat,C\r
+    .code\r
+\r
+InternalMathSwapBytes64 PROC\r
+    mov     eax, [esp + 8]\r
+    mov     edx, [esp + 4]\r
+    bswap   eax\r
+    bswap   edx\r
+    ret\r
+InternalMathSwapBytes64 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/SwitchStack.c b/MdePkg/Library/BaseLib/Ia32/SwitchStack.c
new file mode 100644 (file)
index 0000000..77800e3
--- /dev/null
@@ -0,0 +1,57 @@
+/** @file\r
+  SwitchStack() function for IA-32.\r
+\r
+  Copyright (c) 2006, Intel Corporation<BR>\r
+  All rights reserved. This program and the accompanying materials\r
+  are licensed and made available under the terms and conditions of the BSD License\r
+  which accompanies this distribution.  The full text of the license may be found at\r
+  http://opensource.org/licenses/bsd-license.php\r
+\r
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+  Module Name:  SwitchStack.c\r
+\r
+**/\r
+\r
+/**\r
+  Transfers control to a function starting with a new stack.\r
+\r
+  Transfers control to the function specified by EntryPoint using the new stack\r
+  specified by NewStack and passing in the parameters specified by Context1 and\r
+  Context2. Context1 and Context2 are optional and may be NULL. The function\r
+  EntryPoint must never return.\r
+\r
+  If EntryPoint is NULL, then ASSERT().\r
+  If NewStack is NULL, then ASSERT().\r
+\r
+  @param  EntryPoint  A pointer to function to call with the new stack.\r
+  @param  Context1    A pointer to the context to pass into the EntryPoint\r
+                      function.\r
+  @param  Context2    A pointer to the context to pass into the EntryPoint\r
+                      function.\r
+  @param  NewStack    A pointer to the new stack to use for the EntryPoint\r
+                      function.\r
+\r
+**/\r
+VOID\r
+EFIAPI\r
+SwitchStack (\r
+  IN      SWITCH_STACK_ENTRY_POINT  EntryPoint,\r
+  IN      VOID                      *Context1,\r
+  IN      VOID                      *Context2,\r
+  IN      VOID                      *NewStack\r
+  )\r
+{\r
+  BASE_LIBRARY_JUMP_BUFFER  JumpBuffer;\r
+\r
+  ASSERT (EntryPoint != NULL && NewStack != NULL);\r
+\r
+  JumpBuffer.Eip = (UINTN)EntryPoint;\r
+  JumpBuffer.Esp = (UINTN)NewStack - sizeof (VOID*);\r
+  JumpBuffer.Esp -= sizeof (Context1) + sizeof (Context2);\r
+  ((VOID**)JumpBuffer.Esp)[1] = Context1;\r
+  ((VOID**)JumpBuffer.Esp)[2] = Context2;\r
+\r
+  LongJump (&JumpBuffer, (UINTN)-1);\r
+}\r
diff --git a/MdePkg/Library/BaseLib/Ia32/Thunk16.asm b/MdePkg/Library/BaseLib/Ia32/Thunk16.asm
new file mode 100644 (file)
index 0000000..2d62d72
--- /dev/null
@@ -0,0 +1,163 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   Thunk.asm\r
+;\r
+; Abstract:\r
+;\r
+;   Real mode thunk\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .686p\r
+    .model  flat,C\r
+\r
+    .data\r
+\r
+NullSegSel      DQ      0\r
+_16BitCsSel     LABEL   QWORD\r
+                DW      -1\r
+                DW      0\r
+                DB      0\r
+                DB      9bh\r
+                DB      8fh             ; 16-bit segment\r
+                DB      0\r
+_16BitDsSel     LABEL   QWORD\r
+                DW      -1\r
+                DW      0\r
+                DB      0\r
+                DB      93h\r
+                DB      8fh             ; 16-bit segment\r
+                DB      0\r
+GdtEnd          LABEL   QWORD\r
+\r
+    .const\r
+\r
+_16Gdtr         LABEL   FWORD\r
+                DW      offset GdtEnd - offset NullSegSel - 1\r
+                DD      offset NullSegSel\r
+\r
+_16Idtr         FWORD   (1 SHL 10) - 1\r
+\r
+    .code\r
+\r
+IA32_REGS   STRUC   4t\r
+_EDI        DD      ?\r
+_ESI        DD      ?\r
+_EBP        DD      ?\r
+_ESP        DD      ?\r
+_EBX        DD      ?\r
+_EDX        DD      ?\r
+_ECX        DD      ?\r
+_EAX        DD      ?\r
+_DS         DW      ?\r
+_ES         DW      ?\r
+_FS         DW      ?\r
+_GS         DW      ?\r
+_EFLAGS     DD      ?\r
+_EIP        DD      ?\r
+_CS         DW      ?\r
+_SS         DW      ?\r
+IA32_REGS   ENDS\r
+\r
+InternalAsmThunk16  PROC    USES    ebp ebx esi edi ds  es  fs  gs\r
+    mov     esi, [esp + 36]             ; esi <- RegSet\r
+    push    sizeof (IA32_REGS)\r
+    pop     ecx\r
+    movzx   edx, (IA32_REGS ptr [esi])._SS\r
+    mov     edi, (IA32_REGS ptr [esi])._ESP\r
+    sub     edi, ecx                    ; reserve space on realmode stack\r
+    push    edi                         ; save stack offset\r
+    imul    eax, edx, 16                ; eax <- edx * 16\r
+    add     edi, eax                    ; edi <- linear address of 16-bit stack\r
+    rep     movsb                       ; copy RegSet\r
+    mov     esi, edx                    ; esi <- 16-bit stack segment\r
+    pop     ebx                         ; ebx <- 16-bit stack offset\r
+    mov     edi, [esp + 40]             ; edi <- realmode patch\r
+    push    cs                          ; save CS segment selector\r
+    push    offset @BackToThunk         ; offset to back from real mode\r
+    mov     eax, offset @16Return\r
+    stosd\r
+    xor     eax, eax\r
+    stosw                               ; set CS base to 0\r
+    mov     eax, esp\r
+    stosd\r
+    mov     eax, ss\r
+    stosd\r
+    mov     eax, cr0\r
+    mov     ecx, eax                    ; ecx <- CR0\r
+    and     ecx, 7ffffffeh              ; clear PE, PG bits\r
+    stosd\r
+    mov     eax, cr4\r
+    mov     ebp, eax\r
+    and     ebp, 300h                   ; clear all but PCE and OSFXSR bits\r
+    stosd\r
+    sidt    fword ptr [esp + 44]        ; use parameter space to save IDTR\r
+    sgdt    fword ptr [edi]\r
+    lidt    _16Idtr\r
+    push    10h\r
+    pop     eax\r
+    push    8\r
+    push    offset @16Start\r
+    lgdt    _16Gdtr\r
+    retf\r
+@16Start:                               ; 16-bit starts here\r
+    mov     ss, eax                     ; set SS to be a 16-bit segment\r
+    mov     cr0, ecx\r
+    mov     cr4, ebp\r
+    mov     ss, esi                     ; set up 16-bit stack\r
+    mov     sp, bx                      ; mov esp, ebx actually\r
+    popaw                               ; popad actually\r
+    pop     ds\r
+    pop     es\r
+    pop     fs\r
+    pop     gs\r
+    add     sp, 4                       ; skip _EFLAGS\r
+    DB      66h\r
+    retf                                ; transfer control to 16-bit code\r
+@16Return:\r
+    pushf                               ; pushfd actually\r
+    push    gs\r
+    push    fs\r
+    push    es\r
+    push    ds\r
+    pushaw                              ; pushad actually\r
+    DB      67h, 66h\r
+    lds     esi, fword ptr (IA32_REGS ptr [esp])._EIP\r
+    DB      67h, 66h\r
+    mov     eax, [esi + 12]\r
+    mov     cr4, eax                    ; restore CR4\r
+    DB      67h, 66h\r
+    lgdt    fword ptr [esi + 16]\r
+    DB      67h, 66h\r
+    mov     eax, [esi + 8]\r
+    mov     cr0, eax                    ; restore CR0\r
+    xor     ax, ax                      ; xor eax, eax actually\r
+    mov     eax, ss\r
+    DB      67h\r
+    mov     dword ptr (IA32_REGS ptr [esp])._SS, eax\r
+    shl     ax, 4                       ; shl eax, 4 actually\r
+    add     ax, sp                      ; add eax, esp actually\r
+    add     sp, sizeof (IA32_REGS)      ; add esp, sizeof (IA32_REGS)\r
+    DB      67h, 66h\r
+    mov     dword ptr (IA32_REGS ptr [esp - sizeof (IA32_REGS)])._ESP, esp\r
+    DB      67h, 66h\r
+    lss     esp, fword ptr [esi]        ; restore protected mode stack\r
+    DB      66h\r
+    retf                                ; go back to protected mode\r
+@BackToThunk:\r
+    lidt    fword ptr [esp + 36]        ; restore protected mode IDTR\r
+    ret\r
+InternalAsmThunk16  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/Thunk16.s b/MdePkg/Library/BaseLib/Ia32/Thunk16.s
new file mode 100644 (file)
index 0000000..4236996
--- /dev/null
@@ -0,0 +1,191 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   Thunk.asm\r
+#\r
+# Abstract:\r
+#\r
+#   Real mode thunk\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+MISMATCH: "EXTERNDEF   C   mCode16Size:DWORD"\r
+\r
+MISMATCH: "CONST   SEGMENT FLAT    "DATA"  READONLY"\r
+\r
+MISMATCH: "mCode16Size     DD      _TEXT16SIZE"\r
+\r
+MISMATCH: "CONSTS"\r
+\r
+MISMATCH: "_DATA   SEGMENT FLAT    "DATA""\r
+\r
+MISMATCH: "NullSegSel      DQ      0"\r
+MISMATCH: "_16BitCsSel     LABEL   QWORD"\r
+                .word -1\r
+                .word 0\r
+                .byte 0\r
+                .byte 0x9b\r
+                .byte 0x8f              # 16-bit segment\r
+                .byte 0\r
+\r
+MISMATCH: "_16Gdtr         LABEL   FWORD"\r
+MISMATCH: "                DW      $ - offset NullSegSel - 1"\r
+MISMATCH: "                DD      offset NullSegSel"\r
+\r
+MISMATCH: "_DATAS"\r
+\r
+MISMATCH: "_TEXT   SEGMENT FLAT    "CODE"  PARA"\r
+\r
+MISMATCH: "IA32_REGS   STRUC   4t"\r
+MISMATCH: "_EDI        DD      ?"\r
+MISMATCH: "_ESI        DD      ?"\r
+MISMATCH: "_EBP        DD      ?"\r
+MISMATCH: "_ESP        DD      ?"\r
+MISMATCH: "_EBX        DD      ?"\r
+MISMATCH: "_EDX        DD      ?"\r
+MISMATCH: "_ECX        DD      ?"\r
+MISMATCH: "_EAX        DD      ?"\r
+MISMATCH: "_DS         DW      ?"\r
+MISMATCH: "_ES         DW      ?"\r
+MISMATCH: "_FS         DW      ?"\r
+MISMATCH: "_GS         DW      ?"\r
+MISMATCH: "_EFLAGS     DD      ?"\r
+MISMATCH: "_EIP        DD      ?"\r
+MISMATCH: "_CS         DW      ?"\r
+MISMATCH: "_SS         DW      ?"\r
+MISMATCH: "IA32_REGSS"\r
+\r
+MISMATCH: "_STK16      STRUC   1t"\r
+MISMATCH: "RetEip      DD      ?"\r
+MISMATCH: "RetCs       DW      ?"\r
+MISMATCH: "ThunkFlags  DW      ?"\r
+MISMATCH: "SavedEsp    DD      ?"\r
+MISMATCH: "SavedSs     DW      ?"\r
+MISMATCH: "SavedGdtr   FWORD   ?"\r
+MISMATCH: "SavedCr0    DD      ?"\r
+MISMATCH: "SavedCr4    DD      ?"\r
+MISMATCH: "_STK16S"\r
+\r
+.global _InternalAsmThunk16\r
+MISMATCH: "_InternalAsmThunk16:    USES    ebp ebx esi edi ds  es  fs  gs"\r
+MISMATCH: "    ASSUME  esi:PTR IA32_REGS"\r
+    movl    36(%esp),%esi\r
+MISMATCH: "    movzx   edx, [esi]._SS"\r
+    movl    $[esi]._ESP, %edi\r
+MISMATCH: "    add     edi, - sizeof (_STK16) - sizeof (IA32_REGS)"\r
+    pushl   %edi                        # save stack offset\r
+    imull   $16,%edx,%eax               # eax <- edx*16\r
+    addl    %eax,%edi                   # edi <- linear address of 16-bit stack\r
+MISMATCH: "    push    sizeof (IA32_REGS) / 4"\r
+    popl    %ecx\r
+    rep\r
+    movsl                               # copy context to 16-bit stack\r
+    popl    %ebx                        # ebx <- 16-bit stack offset\r
+MISMATCH: "    mov     eax, offset @F              "\r
+    stosl\r
+    movl    %cs,%eax                    # return segment\r
+    stosw\r
+    movl    40(%esp),%eax               # THUNK flags\r
+    stosw\r
+    movl    %esp,%eax\r
+    stosl                               # save esp\r
+    movl    %ss,%eax                    # save ss\r
+    stosw\r
+MISMATCH: "    sgdt    fword ptr [edi]             "\r
+MISMATCH: "    sidt    fword ptr [esp + 36]        "\r
+    movl    %cr0, %esi\r
+    movl    %esi,6(%edi)                # save CR0\r
+MISMATCH: "    and     esi, NOT 80000001h          "\r
+    movl    %cr4, %eax\r
+    movl    %eax,10(%edi)               # save CR4\r
+MISMATCH: "    and     al, NOT 30h                 "\r
+    movl    %edx,%edi                   # edi <- 16-bit stack segment\r
+    movl    44(%esp),%edx\r
+    shll    $16,%edx\r
+    pushl   %edx\r
+MISMATCH: "    lgdt    _16Gdtr                     "\r
+    .byte 0xea\r
+MISMATCH: "    DD      offset @16Bit"\r
+    .word 8                             # jmp far 8:@16Bit\r
+@16Bit: \r
+    movl    %esi, %cr0                  # disable protected mode\r
+    movl    %eax, %cr4                  # disable PAE & PSE\r
+    lret\r
+@@: \r
+    movl    %ss,%eax\r
+    shll    $4,%eax\r
+    addl    %esp,%eax                   # eax <- address of 16-bit stack\r
+MISMATCH: "    lss     esp, fword ptr (_STK16 ptr [esp + sizeof (IA32_REGS)]).SavedEsp"\r
+MISMATCH: "    lidt    fword ptr [esp + 36]        "\r
+    ret\r
+\r
+\r
+MISMATCH: "_TEXTS"\r
+\r
+MISMATCH: "_TEXT16 SEGMENT USE16   "CODE"  PARA"\r
+\r
+.global _Code16Addr\r
+MISMATCH: "_Code16Addr:    C"\r
+\r
+\r
+.global RealMode\r
+RealMode: \r
+MISMATCH: "    ASSUME  bp:PTR _STK16"\r
+    movw    %di,%ss                     # set up stack\r
+    movl    %ebx,%esp\r
+MISMATCH: "    lidt    fword ptr cs:[_16Idtr - _Code16Addr]"\r
+    popal\r
+    popl    %ds\r
+    popl    %es\r
+    popl    %fs\r
+    popl    %gs\r
+    addw    $4,%sp                      # skip EFlags\r
+MISMATCH: "    test    (_STK16 ptr [esp + 8]).ThunkFlags, 1"\r
+    jz      @F\r
+    pushf\r
+@@: \r
+    pushw   %cs\r
+MISMATCH: "    push    @FarCallRet - _Code16Addr"\r
+    jz      @F\r
+MISMATCH: "    jmp     fword ptr [esp + 6]"\r
+@@: \r
+MISMATCH: "    jmp     fword ptr [esp + 4]"\r
+@FarCallRet: \r
+    pushfl\r
+    pushw   %gs\r
+    pushw   %fs\r
+    pushw   %es\r
+    pushw   %ds\r
+    pushal\r
+    cli\r
+MISMATCH: "    lea     bp, [esp + sizeof (IA32_REGS)]"\r
+    .byte 0x66\r
+MISMATCH: "    lgdt    [bp].SavedGdtr"\r
+    movl    $[bp].SavedCr4, %eax\r
+    movl    %eax, %cr4\r
+    movl    $[bp].SavedCr0, %eax\r
+    movl    %eax, %cr0                  # restore CR0\r
+MISMATCH: "    jmp     fword ptr [bp].RetEip"\r
+\r
+\r
+MISMATCH: "_16Idtr     FWORD   (1 SHL 10) - 1"\r
+\r
+_TEXT16: \r
+\r
+MISMATCH: "_TEXT16SIZE = _TEXT16- _Code16Addr"\r
+\r
+MISMATCH: "_TEXT16S"\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/Wbinvd.asm b/MdePkg/Library/BaseLib/Ia32/Wbinvd.asm
new file mode 100644 (file)
index 0000000..07258fb
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   Wbinvd.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWbinvd function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .486p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; AsmWbinvd (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmWbinvd  PROC\r
+    wbinvd\r
+    ret\r
+_AsmWbinvd  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/Wbinvd.s b/MdePkg/Library/BaseLib/Ia32/Wbinvd.s
new file mode 100644 (file)
index 0000000..e9f6c0c
--- /dev/null
@@ -0,0 +1,41 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   Wbinvd.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmWbinvd function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# VOID\r
+# EFIAPI\r
+# AsmWbinvd (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmWbinvd\r
+_AsmWbinvd: \r
+    wbinvd\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteCr0.asm b/MdePkg/Library/BaseLib/Ia32/WriteCr0.asm
new file mode 100644 (file)
index 0000000..d64d621
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteCr0.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteCr0 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmWriteCr0 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmWriteCr0    PROC\r
+    mov     eax, [esp + 4]\r
+    mov     cr0, eax\r
+    ret\r
+_AsmWriteCr0    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteCr0.s b/MdePkg/Library/BaseLib/Ia32/WriteCr0.s
new file mode 100644 (file)
index 0000000..6e3ad50
--- /dev/null
@@ -0,0 +1,42 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   WriteCr0.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmWriteCr0 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINTN\r
+# EFIAPI\r
+# AsmWriteCr0 (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmWriteCr0\r
+_AsmWriteCr0: \r
+    movl    4(%esp),%eax\r
+    movl    %eax, %cr0\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteCr2.asm b/MdePkg/Library/BaseLib/Ia32/WriteCr2.asm
new file mode 100644 (file)
index 0000000..7ab5b0f
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteCr2.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteCr2 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmWriteCr2 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmWriteCr2    PROC\r
+    mov     eax, [esp + 4]\r
+    mov     cr2, eax\r
+    ret\r
+_AsmWriteCr2    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteCr2.s b/MdePkg/Library/BaseLib/Ia32/WriteCr2.s
new file mode 100644 (file)
index 0000000..cf45e01
--- /dev/null
@@ -0,0 +1,42 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   WriteCr2.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmWriteCr2 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINTN\r
+# EFIAPI\r
+# AsmWriteCr2 (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmWriteCr2\r
+_AsmWriteCr2: \r
+    movl    4(%esp),%eax\r
+    movl    %eax, %cr2\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteCr3.asm b/MdePkg/Library/BaseLib/Ia32/WriteCr3.asm
new file mode 100644 (file)
index 0000000..9753de1
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteCr3.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteCr3 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmWriteCr3 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmWriteCr3    PROC\r
+    mov     eax, [esp + 4]\r
+    mov     cr3, eax\r
+    ret\r
+_AsmWriteCr3    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteCr3.s b/MdePkg/Library/BaseLib/Ia32/WriteCr3.s
new file mode 100644 (file)
index 0000000..1c55581
--- /dev/null
@@ -0,0 +1,42 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   WriteCr3.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmWriteCr3 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINTN\r
+# EFIAPI\r
+# AsmWriteCr3 (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmWriteCr3\r
+_AsmWriteCr3: \r
+    movl    4(%esp),%eax\r
+    movl    %eax, %cr3\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteCr4.asm b/MdePkg/Library/BaseLib/Ia32/WriteCr4.asm
new file mode 100644 (file)
index 0000000..60bfe78
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteCr4.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteCr4 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmWriteCr4 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmWriteCr4    PROC\r
+    mov     eax, [esp + 4]\r
+    mov     cr4, eax\r
+    ret\r
+_AsmWriteCr4    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteCr4.s b/MdePkg/Library/BaseLib/Ia32/WriteCr4.s
new file mode 100644 (file)
index 0000000..fbe48c1
--- /dev/null
@@ -0,0 +1,42 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   WriteCr4.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmWriteCr4 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINTN\r
+# EFIAPI\r
+# AsmWriteCr4 (\r
+#   VOID\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmWriteCr4\r
+_AsmWriteCr4: \r
+    movl    4(%esp),%eax\r
+    movl    %eax, %cr4\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteDr0.asm b/MdePkg/Library/BaseLib/Ia32/WriteDr0.asm
new file mode 100644 (file)
index 0000000..3dab544
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteDr0.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteDr0 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; AsmWriteDr0 (\r
+;   IN UINTN Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmWriteDr0    PROC\r
+    mov     eax, [esp + 4]\r
+    mov     dr0, eax\r
+    ret\r
+_AsmWriteDr0    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteDr0.s b/MdePkg/Library/BaseLib/Ia32/WriteDr0.s
new file mode 100644 (file)
index 0000000..a5a84de
--- /dev/null
@@ -0,0 +1,42 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   WriteDr0.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmWriteDr0 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# VOID\r
+# EFIAPI\r
+# AsmWriteDr0 (\r
+#   IN UINTN Value\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmWriteDr0\r
+_AsmWriteDr0: \r
+    movl    4(%esp),%eax\r
+    movl    %eax, %dr0\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteDr1.asm b/MdePkg/Library/BaseLib/Ia32/WriteDr1.asm
new file mode 100644 (file)
index 0000000..5898206
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteDr1.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteDr1 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; AsmWriteDr1 (\r
+;   IN UINTN Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmWriteDr1    PROC\r
+    mov     eax, [esp + 4]\r
+    mov     dr1, eax\r
+    ret\r
+_AsmWriteDr1    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteDr1.s b/MdePkg/Library/BaseLib/Ia32/WriteDr1.s
new file mode 100644 (file)
index 0000000..66fc2c7
--- /dev/null
@@ -0,0 +1,42 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   WriteDr1.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmWriteDr1 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# VOID\r
+# EFIAPI\r
+# AsmWriteDr1 (\r
+#   IN UINTN Value\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmWriteDr1\r
+_AsmWriteDr1: \r
+    movl    4(%esp),%eax\r
+    movl    %eax, %dr1\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteDr2.asm b/MdePkg/Library/BaseLib/Ia32/WriteDr2.asm
new file mode 100644 (file)
index 0000000..3ed25fc
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteDr2.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteDr2 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; AsmWriteDr2 (\r
+;   IN UINTN Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmWriteDr2    PROC\r
+    mov     eax, [esp + 4]\r
+    mov     dr2, eax\r
+    ret\r
+_AsmWriteDr2    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteDr2.s b/MdePkg/Library/BaseLib/Ia32/WriteDr2.s
new file mode 100644 (file)
index 0000000..7b3f780
--- /dev/null
@@ -0,0 +1,42 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   WriteDr2.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmWriteDr2 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# VOID\r
+# EFIAPI\r
+# AsmWriteDr2 (\r
+#   IN UINTN Value\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmWriteDr2\r
+_AsmWriteDr2: \r
+    movl    4(%esp),%eax\r
+    movl    %eax, %dr2\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteDr3.asm b/MdePkg/Library/BaseLib/Ia32/WriteDr3.asm
new file mode 100644 (file)
index 0000000..c1dbc82
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteDr3.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteDr3 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; AsmWriteDr3 (\r
+;   IN UINTN Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmWriteDr3    PROC\r
+    mov     eax, [esp + 4]\r
+    mov     dr3, eax\r
+    ret\r
+_AsmWriteDr3    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteDr3.s b/MdePkg/Library/BaseLib/Ia32/WriteDr3.s
new file mode 100644 (file)
index 0000000..34d3e4f
--- /dev/null
@@ -0,0 +1,42 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   WriteDr3.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmWriteDr3 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# VOID\r
+# EFIAPI\r
+# AsmWriteDr3 (\r
+#   IN UINTN Value\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmWriteDr3\r
+_AsmWriteDr3: \r
+    movl    4(%esp),%eax\r
+    movl    %eax, %dr3\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteDr4.asm b/MdePkg/Library/BaseLib/Ia32/WriteDr4.asm
new file mode 100644 (file)
index 0000000..2c82512
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteDr4.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteDr4 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; AsmWriteDr4 (\r
+;   IN UINTN Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmWriteDr4    PROC\r
+    mov     eax, [esp + 4]\r
+    DB      0fh, 23h, 0e0h\r
+    ret\r
+_AsmWriteDr4    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteDr5.asm b/MdePkg/Library/BaseLib/Ia32/WriteDr5.asm
new file mode 100644 (file)
index 0000000..dc07424
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteDr5.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteDr5 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; AsmWriteDr5 (\r
+;   IN UINTN Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmWriteDr5    PROC\r
+    mov     eax, [esp + 4]\r
+    DB      0fh, 23h, 0e8h\r
+    ret\r
+_AsmWriteDr5    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteDr6.asm b/MdePkg/Library/BaseLib/Ia32/WriteDr6.asm
new file mode 100644 (file)
index 0000000..e307e82
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteDr6.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteDr6 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; AsmWriteDr6 (\r
+;   IN UINTN Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmWriteDr6    PROC\r
+    mov     eax, [esp + 4]\r
+    mov     dr6, eax\r
+    ret\r
+_AsmWriteDr6    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteDr6.s b/MdePkg/Library/BaseLib/Ia32/WriteDr6.s
new file mode 100644 (file)
index 0000000..7d7726b
--- /dev/null
@@ -0,0 +1,42 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   WriteDr6.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmWriteDr6 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# VOID\r
+# EFIAPI\r
+# AsmWriteDr6 (\r
+#   IN UINTN Value\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmWriteDr6\r
+_AsmWriteDr6: \r
+    movl    4(%esp),%eax\r
+    movl    %eax, %dr6\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteDr7.asm b/MdePkg/Library/BaseLib/Ia32/WriteDr7.asm
new file mode 100644 (file)
index 0000000..55dbdc9
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteDr7.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteDr7 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; AsmWriteDr7 (\r
+;   IN UINTN Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmWriteDr7    PROC\r
+    mov     eax, [esp + 4]\r
+    mov     dr7, eax\r
+    ret\r
+_AsmWriteDr7    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteDr7.s b/MdePkg/Library/BaseLib/Ia32/WriteDr7.s
new file mode 100644 (file)
index 0000000..a96f445
--- /dev/null
@@ -0,0 +1,42 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   WriteDr7.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmWriteDr7 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# VOID\r
+# EFIAPI\r
+# AsmWriteDr7 (\r
+#   IN UINTN Value\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmWriteDr7\r
+_AsmWriteDr7: \r
+    movl    4(%esp),%eax\r
+    movl    %eax, %dr7\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteGdtr.asm b/MdePkg/Library/BaseLib/Ia32/WriteGdtr.asm
new file mode 100644 (file)
index 0000000..a317e75
--- /dev/null
@@ -0,0 +1,34 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteGdtr.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteGdtr function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .686P\r
+    .model  flat,C\r
+    .code\r
+\r
+InternalX86WriteGdtr  PROC\r
+    mov     eax, [esp + 4]\r
+    lgdt    fword ptr [eax]\r
+    ret\r
+InternalX86WriteGdtr  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteGdtr.s b/MdePkg/Library/BaseLib/Ia32/WriteGdtr.s
new file mode 100644 (file)
index 0000000..c3eb63d
--- /dev/null
@@ -0,0 +1,42 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   WriteGdtr.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmWriteGdtr function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# VOID\r
+# EFIAPI\r
+# AsmWriteGdtr (\r
+#   OUT IA32_DESCRIPTOR  *Gdtr\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmWriteGdtr\r
+_AsmWriteGdtr: \r
+    movl    4(%esp),%eax\r
+    lgdt    (%eax)\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteIdtr.asm b/MdePkg/Library/BaseLib/Ia32/WriteIdtr.asm
new file mode 100644 (file)
index 0000000..d4b3b51
--- /dev/null
@@ -0,0 +1,34 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteIdtr.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteIdtr function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .686P\r
+    .model  flat,C\r
+    .code\r
+\r
+InternalX86WriteIdtr  PROC\r
+    mov     eax, [esp + 4]\r
+    lidt    fword ptr [eax]\r
+    ret\r
+InternalX86WriteIdtr  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteIdtr.s b/MdePkg/Library/BaseLib/Ia32/WriteIdtr.s
new file mode 100644 (file)
index 0000000..f71b696
--- /dev/null
@@ -0,0 +1,42 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   WriteIdtr.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmWriteIdtr function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# VOID\r
+# EFIAPI\r
+# AsmWriteIdtr (\r
+#   OUT IA32_DESCRIPTOR  *Idtr\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmWriteIdtr\r
+_AsmWriteIdtr: \r
+    movl    4(%esp),%eax\r
+    lidt    (%eax)\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteLdtr.asm b/MdePkg/Library/BaseLib/Ia32/WriteLdtr.asm
new file mode 100644 (file)
index 0000000..39f8b2e
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteLdtr.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteLdtr function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .386p\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; AsmWriteLdtr (\r
+;   IN UINT16 Ldtr\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmWriteLdtr   PROC\r
+    mov     eax, [esp + 4]\r
+    lldt    ax\r
+    ret\r
+_AsmWriteLdtr   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteLdtr.s b/MdePkg/Library/BaseLib/Ia32/WriteLdtr.s
new file mode 100644 (file)
index 0000000..3797bd5
--- /dev/null
@@ -0,0 +1,42 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   WriteLdtr.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmWriteLdtr function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# VOID\r
+# EFIAPI\r
+# AsmWriteLdtr (\r
+#   IN UINT16 Ldtr\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmWriteLdtr\r
+_AsmWriteLdtr: \r
+    movl    4(%esp),%eax\r
+    lldtw   %ax\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMm0.asm b/MdePkg/Library/BaseLib/Ia32/WriteMm0.asm
new file mode 100644 (file)
index 0000000..e924dbd
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteMm0.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteMm0 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586P\r
+    .model  flat\r
+    .xmm\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT64\r
+; EFIAPI\r
+; AsmWriteMm0 (\r
+;   IN UINT64   Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmWriteMm0    PROC\r
+    movq    mm0, [esp + 4]\r
+    ret\r
+_AsmWriteMm0    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMm0.s b/MdePkg/Library/BaseLib/Ia32/WriteMm0.s
new file mode 100644 (file)
index 0000000..c444421
--- /dev/null
@@ -0,0 +1,42 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   WriteMm0.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmWriteMm0 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINT64\r
+# EFIAPI\r
+# AsmWriteMm0 (\r
+#   IN UINT64   Value\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmWriteMm0\r
+_AsmWriteMm0: \r
+    movq    4(%esp),%mm0\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMm1.asm b/MdePkg/Library/BaseLib/Ia32/WriteMm1.asm
new file mode 100644 (file)
index 0000000..1f1d8ce
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteMm1.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteMm1 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586P\r
+    .model  flat\r
+    .xmm\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT64\r
+; EFIAPI\r
+; AsmWriteMm1 (\r
+;   IN UINT64   Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmWriteMm1    PROC\r
+    movq    mm1, [esp + 4]\r
+    ret\r
+_AsmWriteMm1    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMm1.s b/MdePkg/Library/BaseLib/Ia32/WriteMm1.s
new file mode 100644 (file)
index 0000000..e3a492f
--- /dev/null
@@ -0,0 +1,42 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   WriteMm1.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmWriteMm1 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINT64\r
+# EFIAPI\r
+# AsmWriteMm1 (\r
+#   IN UINT64   Value\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmWriteMm1\r
+_AsmWriteMm1: \r
+    movq    4(%esp),%mm1\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMm2.asm b/MdePkg/Library/BaseLib/Ia32/WriteMm2.asm
new file mode 100644 (file)
index 0000000..a18417a
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteMm2.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteMm2 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586P\r
+    .model  flat\r
+    .xmm\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT64\r
+; EFIAPI\r
+; AsmWriteMm2 (\r
+;   IN UINT64   Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmWriteMm2    PROC\r
+    movq    mm2, [esp + 4]\r
+    ret\r
+_AsmWriteMm2    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMm2.s b/MdePkg/Library/BaseLib/Ia32/WriteMm2.s
new file mode 100644 (file)
index 0000000..eaebb37
--- /dev/null
@@ -0,0 +1,42 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   WriteMm2.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmWriteMm2 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINT64\r
+# EFIAPI\r
+# AsmWriteMm2 (\r
+#   IN UINT64   Value\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmWriteMm2\r
+_AsmWriteMm2: \r
+    movq    4(%esp),%mm2\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMm3.asm b/MdePkg/Library/BaseLib/Ia32/WriteMm3.asm
new file mode 100644 (file)
index 0000000..7aad49f
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteMm3.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteMm3 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586P\r
+    .model  flat\r
+    .xmm\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT64\r
+; EFIAPI\r
+; AsmWriteMm3 (\r
+;   IN UINT64   Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmWriteMm3    PROC\r
+    movq    mm3, [esp + 4]\r
+    ret\r
+_AsmWriteMm3    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMm3.s b/MdePkg/Library/BaseLib/Ia32/WriteMm3.s
new file mode 100644 (file)
index 0000000..a514091
--- /dev/null
@@ -0,0 +1,42 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   WriteMm3.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmWriteMm3 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINT64\r
+# EFIAPI\r
+# AsmWriteMm3 (\r
+#   IN UINT64   Value\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmWriteMm3\r
+_AsmWriteMm3: \r
+    movq    4(%esp),%mm3\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMm4.asm b/MdePkg/Library/BaseLib/Ia32/WriteMm4.asm
new file mode 100644 (file)
index 0000000..8be9c4b
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteMm4.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteMm4 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586P\r
+    .model  flat\r
+    .xmm\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT64\r
+; EFIAPI\r
+; AsmWriteMm4 (\r
+;   IN UINT64   Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmWriteMm4    PROC\r
+    movq    mm4, [esp + 4]\r
+    ret\r
+_AsmWriteMm4    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMm4.s b/MdePkg/Library/BaseLib/Ia32/WriteMm4.s
new file mode 100644 (file)
index 0000000..6d4a6cd
--- /dev/null
@@ -0,0 +1,42 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   WriteMm4.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmWriteMm4 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINT64\r
+# EFIAPI\r
+# AsmWriteMm4 (\r
+#   IN UINT64   Value\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmWriteMm4\r
+_AsmWriteMm4: \r
+    movq    4(%esp),%mm4\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMm5.asm b/MdePkg/Library/BaseLib/Ia32/WriteMm5.asm
new file mode 100644 (file)
index 0000000..bc501b3
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteMm5.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteMm5 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586P\r
+    .model  flat\r
+    .xmm\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT64\r
+; EFIAPI\r
+; AsmWriteMm5 (\r
+;   IN UINT64   Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmWriteMm5    PROC\r
+    movq    mm5, [esp + 4]\r
+    ret\r
+_AsmWriteMm5    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMm5.s b/MdePkg/Library/BaseLib/Ia32/WriteMm5.s
new file mode 100644 (file)
index 0000000..15d4332
--- /dev/null
@@ -0,0 +1,42 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   WriteMm5.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmWriteMm5 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINT64\r
+# EFIAPI\r
+# AsmWriteMm5 (\r
+#   IN UINT64   Value\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmWriteMm5\r
+_AsmWriteMm5: \r
+    movq    4(%esp),%mm5\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMm6.asm b/MdePkg/Library/BaseLib/Ia32/WriteMm6.asm
new file mode 100644 (file)
index 0000000..4a6445c
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteMm6.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteMm6 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586P\r
+    .model  flat\r
+    .xmm\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT64\r
+; EFIAPI\r
+; AsmWriteMm6 (\r
+;   IN UINT64   Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmWriteMm6    PROC\r
+    movq    mm6, [esp + 4]\r
+    ret\r
+_AsmWriteMm6    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMm6.s b/MdePkg/Library/BaseLib/Ia32/WriteMm6.s
new file mode 100644 (file)
index 0000000..6b1361e
--- /dev/null
@@ -0,0 +1,42 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   WriteMm6.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmWriteMm6 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINT64\r
+# EFIAPI\r
+# AsmWriteMm6 (\r
+#   IN UINT64   Value\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmWriteMm6\r
+_AsmWriteMm6: \r
+    movq    4(%esp),%mm6\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMm7.asm b/MdePkg/Library/BaseLib/Ia32/WriteMm7.asm
new file mode 100644 (file)
index 0000000..3bc73fe
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteMm7.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteMm7 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586P\r
+    .model  flat\r
+    .xmm\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT64\r
+; EFIAPI\r
+; AsmWriteMm7 (\r
+;   IN UINT64   Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmWriteMm7    PROC\r
+    movq    mm7, [esp + 4]\r
+    ret\r
+_AsmWriteMm7    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMm7.s b/MdePkg/Library/BaseLib/Ia32/WriteMm7.s
new file mode 100644 (file)
index 0000000..d702fbb
--- /dev/null
@@ -0,0 +1,42 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   WriteMm7.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmWriteMm7 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINT64\r
+# EFIAPI\r
+# AsmWriteMm7 (\r
+#   IN UINT64   Value\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmWriteMm7\r
+_AsmWriteMm7: \r
+    movq    4(%esp),%mm7\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMsr32.asm b/MdePkg/Library/BaseLib/Ia32/WriteMsr32.asm
new file mode 100644 (file)
index 0000000..ba14514
--- /dev/null
@@ -0,0 +1,44 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteMsr32.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteMsr32 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586P\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT32\r
+; EFIAPI\r
+; AsmWriteMsr32 (\r
+;   IN UINT32  Index,\r
+;   IN UINT32  Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmWriteMsr32  PROC\r
+    mov     eax, [esp + 8]\r
+    xor     edx, edx\r
+    mov     ecx, [esp + 4]\r
+    wrmsr\r
+    ret\r
+_AsmWriteMsr32  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMsr32.s b/MdePkg/Library/BaseLib/Ia32/WriteMsr32.s
new file mode 100644 (file)
index 0000000..450b3b7
--- /dev/null
@@ -0,0 +1,45 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   WriteMsr32.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmWriteMsr32 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINT32\r
+# EFIAPI\r
+# AsmWriteMsr32 (\r
+#   IN UINT32  Index,\r
+#   IN UINT32  Value\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmWriteMsr32\r
+_AsmWriteMsr32: \r
+    movl    8(%esp),%eax\r
+    xorl    %edx,%edx\r
+    movl    4(%esp),%ecx\r
+    wrmsr\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMsr64.asm b/MdePkg/Library/BaseLib/Ia32/WriteMsr64.asm
new file mode 100644 (file)
index 0000000..5afc074
--- /dev/null
@@ -0,0 +1,44 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteMsr64.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteMsr64 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .586P\r
+    .model  flat\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT64\r
+; EFIAPI\r
+; AsmWriteMsr64 (\r
+;   IN UINT32  Index,\r
+;   IN UINT64  Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
+_AsmWriteMsr64  PROC\r
+    mov     edx, [esp + 12]\r
+    mov     eax, [esp + 8]\r
+    mov     ecx, [esp + 4]\r
+    wrmsr\r
+    ret\r
+_AsmWriteMsr64  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMsr64.s b/MdePkg/Library/BaseLib/Ia32/WriteMsr64.s
new file mode 100644 (file)
index 0000000..802aad7
--- /dev/null
@@ -0,0 +1,45 @@
+#------------------------------------------------------------------------------\r
+#\r
+# Copyright (c) 2006, Intel Corporation\r
+# All rights reserved. This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution.  The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+# Module Name:\r
+#\r
+#   WriteMsr64.Asm\r
+#\r
+# Abstract:\r
+#\r
+#   AsmWriteMsr64 function\r
+#\r
+# Notes:\r
+#\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
+     \r
+\r
+#------------------------------------------------------------------------------\r
+# UINT64\r
+# EFIAPI\r
+# AsmWriteMsr64 (\r
+#   IN UINT32  Index,\r
+#   IN UINT64  Value\r
+#   );\r
+#------------------------------------------------------------------------------\r
+.global _AsmWriteMsr64\r
+_AsmWriteMsr64: \r
+    movl    12(%esp),%edx\r
+    movl    8(%esp),%eax\r
+    movl    4(%esp),%ecx\r
+    wrmsr\r
+    ret\r
+\r
+\r
+\r
diff --git a/MdePkg/Library/BaseLib/X64/CpuBreakpoint.asm b/MdePkg/Library/BaseLib/X64/CpuBreakpoint.asm
new file mode 100644 (file)
index 0000000..f1ebe47
--- /dev/null
@@ -0,0 +1,37 @@
+;------------------------------------------------------------------------------ ;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   CpuBreakpoint.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   CpuBreakpoint function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; CpuBreakpoint (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+CpuBreakpoint   PROC\r
+    int  3\r
+    ret\r
+CpuBreakpoint   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/CpuFlushTlb.asm b/MdePkg/Library/BaseLib/X64/CpuFlushTlb.asm
new file mode 100644 (file)
index 0000000..c2c4490
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------ ;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   CpuFlushTlb.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   CpuFlushTlb function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; CpuFlushTlb (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+CpuFlushTlb PROC\r
+    mov     rax, cr3\r
+    mov     cr3, rax\r
+    ret\r
+CpuFlushTlb ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/CpuId.asm b/MdePkg/Library/BaseLib/X64/CpuId.asm
new file mode 100644 (file)
index 0000000..867e92a
--- /dev/null
@@ -0,0 +1,62 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   CpuId.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmCpuid function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+;  VOID\r
+;  EFIAPI\r
+;  AsmCpuid (\r
+;    IN   UINT32  RegisterInEax,\r
+;    OUT  UINT32  *RegisterOutEax  OPTIONAL,\r
+;    OUT  UINT32  *RegisterOutEbx  OPTIONAL,\r
+;    OUT  UINT32  *RegisterOutEcx  OPTIONAL,\r
+;    OUT  UINT32  *RegisterOutEdx  OPTIONAL\r
+;    )\r
+;------------------------------------------------------------------------------\r
+AsmCpuid    PROC    USES    rbx\r
+    mov     eax, ecx\r
+    push    rdx\r
+    push    rax                         ; save Index on stack\r
+    cpuid\r
+    test    r9, r9\r
+    jz      @F\r
+    mov     [r9], ecx\r
+@@:\r
+    pop     rcx\r
+    jrcxz   @F\r
+    mov     [rcx], eax\r
+@@:\r
+    mov     rcx, r8\r
+    jrcxz   @F\r
+    mov     [rcx], ebx\r
+@@:\r
+    mov     rcx, [rsp + 30h]\r
+    jrcxz   @F\r
+    mov     [rcx], edx\r
+@@:\r
+    pop     rax                         ; restore Index to rax as return value\r
+    ret\r
+AsmCpuid    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/CpuPause.asm b/MdePkg/Library/BaseLib/X64/CpuPause.asm
new file mode 100644 (file)
index 0000000..d16da37
--- /dev/null
@@ -0,0 +1,37 @@
+;------------------------------------------------------------------------------ ;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   CpuPause.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   CpuPause function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; CpuPause (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+CpuPause    PROC\r
+    pause\r
+    ret\r
+CpuPause    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/CpuSleep.asm b/MdePkg/Library/BaseLib/X64/CpuSleep.asm
new file mode 100644 (file)
index 0000000..b2c4907
--- /dev/null
@@ -0,0 +1,37 @@
+;------------------------------------------------------------------------------ ;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   CpuSleep.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   CpuSleep function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; CpuSleep (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+CpuSleep    PROC\r
+    hlt\r
+    ret\r
+CpuSleep    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/DisableInterrupts.asm b/MdePkg/Library/BaseLib/X64/DisableInterrupts.asm
new file mode 100644 (file)
index 0000000..586832c
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   DisableInterrupts.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   DisableInterrupts function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; DisableInterrupts (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+DisableInterrupts   PROC\r
+    cli\r
+    ret\r
+DisableInterrupts   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/DisablePaging64.asm b/MdePkg/Library/BaseLib/X64/DisablePaging64.asm
new file mode 100644 (file)
index 0000000..3134e42
--- /dev/null
@@ -0,0 +1,54 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   DisablePaging64.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmDisablePaging64 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+InternalX86DisablePaging64    PROC\r
+    cli\r
+    shl     rcx, 32\r
+    lea     ecx, @F\r
+    push    rcx\r
+    mov     ebx, edx\r
+    mov     esi, r8d\r
+    mov     edi, r9d\r
+    mov     eax, [rsp + 28h]\r
+    retf\r
+@@:\r
+    mov     esp, eax                    ; set up new stack\r
+    mov     rax, cr0\r
+    btr     eax, 31\r
+    mov     cr0, rax                    ; disable paging\r
+    mov     ecx, 0c0000080h\r
+    rdmsr\r
+    and     ah, NOT 1                   ; clear LME\r
+    wrmsr\r
+    mov     rax, cr4\r
+    and     al, NOT (1 SHL 5)           ; clear PAE\r
+    mov     cr4, rax\r
+    push    rdi\r
+    push    rsi\r
+    call    rbx\r
+    jmp     $\r
+InternalX86DisablePaging64    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/EnableDisableInterrupts.asm b/MdePkg/Library/BaseLib/X64/EnableDisableInterrupts.asm
new file mode 100644 (file)
index 0000000..0d0400f
--- /dev/null
@@ -0,0 +1,39 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   EnableDisableInterrupts.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   EnableDisableInterrupts function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; EnableDisableInterrupts (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+EnableDisableInterrupts PROC\r
+    sti\r
+    cli\r
+    ret\r
+EnableDisableInterrupts ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/EnableInterrupts.asm b/MdePkg/Library/BaseLib/X64/EnableInterrupts.asm
new file mode 100644 (file)
index 0000000..8fb4adf
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   EnableInterrupts.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   EnableInterrupts function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; EnableInterrupts (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+EnableInterrupts    PROC\r
+    sti\r
+    ret\r
+EnableInterrupts    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/FlushCacheLine.asm b/MdePkg/Library/BaseLib/X64/FlushCacheLine.asm
new file mode 100644 (file)
index 0000000..1d470e8
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   FlushCacheLine.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmFlushCacheLine function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; AsmFlushCacheLine (\r
+;   IN      VOID                      *LinearAddress\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmFlushCacheLine   PROC\r
+    clflush [rcx]\r
+    ret\r
+AsmFlushCacheLine   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/FxRestore.asm b/MdePkg/Library/BaseLib/X64/FxRestore.asm
new file mode 100644 (file)
index 0000000..8acfc2f
--- /dev/null
@@ -0,0 +1,31 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   FxRestore.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmFxRestore function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+InternalX86FxRestore  PROC\r
+    fxrstor [rcx]\r
+    ret\r
+InternalX86FxRestore  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/FxSave.asm b/MdePkg/Library/BaseLib/X64/FxSave.asm
new file mode 100644 (file)
index 0000000..cacb1f5
--- /dev/null
@@ -0,0 +1,31 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   FxSave.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmFxSave function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+InternalX86FxSave PROC\r
+    fxsave  [rcx]\r
+    ret\r
+InternalX86FxSave ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/InterlockedCompareExchange32.asm b/MdePkg/Library/BaseLib/X64/InterlockedCompareExchange32.asm
new file mode 100644 (file)
index 0000000..55b0554
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   InterlockedCompareExchange32.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   InterlockedCompareExchange32 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT32\r
+; EFIAPI\r
+; InterlockedCompareExchange32 (\r
+;   IN      UINT32                    *Value,\r
+;   IN      UINT32                    CompareValue,\r
+;   IN      UINT32                    ExchangeValue\r
+;   );\r
+;------------------------------------------------------------------------------\r
+InternalSyncCompareExchange32   PROC\r
+    mov     eax, edx\r
+    lock    cmpxchg [rcx], r8d\r
+    ret\r
+InternalSyncCompareExchange32   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/InterlockedCompareExchange64.asm b/MdePkg/Library/BaseLib/X64/InterlockedCompareExchange64.asm
new file mode 100644 (file)
index 0000000..88c25a5
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   InterlockedCompareExchange64.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   InterlockedCompareExchange64 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT64\r
+; EFIAPI\r
+; InterlockedCompareExchange64 (\r
+;   IN      UINT64                    *Value,\r
+;   IN      UINT64                    CompareValue,\r
+;   IN      UINT64                    ExchangeValue\r
+;   );\r
+;------------------------------------------------------------------------------\r
+InternalSyncCompareExchange64   PROC\r
+    mov     rax, rdx\r
+    lock    cmpxchg [rcx], r8\r
+    ret\r
+InternalSyncCompareExchange64   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/InterlockedDecrement.asm b/MdePkg/Library/BaseLib/X64/InterlockedDecrement.asm
new file mode 100644 (file)
index 0000000..f907fed
--- /dev/null
@@ -0,0 +1,39 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   InterlockedDecrement.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   InterlockedDecrement function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT32\r
+; EFIAPI\r
+; InterlockedDecrement (\r
+;   IN      UINT32                    *Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
+InternalSyncDecrement   PROC\r
+    lock    dec     dword ptr [rcx]\r
+    mov     eax, [rcx]\r
+    ret\r
+InternalSyncDecrement   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/InterlockedIncrement.asm b/MdePkg/Library/BaseLib/X64/InterlockedIncrement.asm
new file mode 100644 (file)
index 0000000..f5a4130
--- /dev/null
@@ -0,0 +1,39 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   InterlockedIncrement.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   InterlockedIncrement function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT32\r
+; EFIAPI\r
+; InterlockedIncrement (\r
+;   IN      UINT32                    *Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
+InternalSyncIncrement   PROC\r
+    lock    inc     dword ptr [rcx]\r
+    mov     eax, [rcx]\r
+    ret\r
+InternalSyncIncrement   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/Invd.asm b/MdePkg/Library/BaseLib/X64/Invd.asm
new file mode 100644 (file)
index 0000000..4465879
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   Invd.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmInvd function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; AsmInvd (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmInvd PROC\r
+    invd\r
+    ret\r
+AsmInvd ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/LongJump.asm b/MdePkg/Library/BaseLib/X64/LongJump.asm
new file mode 100644 (file)
index 0000000..6634778
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   LongJump.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   Implementation of LongJump() on x64.\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+LongJump    PROC\r
+    mov     rbx, [rcx]\r
+    mov     rsp, [rcx + 8]\r
+    mov     rbp, [rcx + 10h]\r
+    mov     rdi, [rcx + 18h]\r
+    mov     rsi, [rcx + 20h]\r
+    mov     r12, [rcx + 28h]\r
+    mov     r13, [rcx + 30h]\r
+    mov     r14, [rcx + 38h]\r
+    mov     r15, [rcx + 40h]\r
+    mov     rax, rdx\r
+    jmp     qword ptr [rcx + 48h]\r
+LongJump    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/Monitor.asm b/MdePkg/Library/BaseLib/X64/Monitor.asm
new file mode 100644 (file)
index 0000000..0140494
--- /dev/null
@@ -0,0 +1,43 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   Monitor.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmMonitor function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT64\r
+; EFIAPI\r
+; AsmMonitor (\r
+;   IN      UINTN                     Eax,\r
+;   IN      UINTN                     Ecx,\r
+;   IN      UINTN                     Edx\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmMonitor  PROC\r
+    mov     eax, ecx\r
+    mov     ecx, edx\r
+    mov     edx, r8d\r
+    DB      0fh, 1, 0c8h\r
+    ret\r
+AsmMonitor  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/Mwait.asm b/MdePkg/Library/BaseLib/X64/Mwait.asm
new file mode 100644 (file)
index 0000000..8f76d94
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   Mwait.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmMwait function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT64\r
+; EFIAPI\r
+; AsmMwait (\r
+;   IN      UINTN                     Eax,\r
+;   IN      UINTN                     Ecx\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmMwait    PROC\r
+    mov     eax, ecx\r
+    mov     ecx, edx\r
+    DB      0fh, 1, 0c9h\r
+    ret\r
+AsmMwait    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/Non-existing.c b/MdePkg/Library/BaseLib/X64/Non-existing.c
new file mode 100644 (file)
index 0000000..b2c7378
--- /dev/null
@@ -0,0 +1,54 @@
+/** @file\r
+       Non-existing BaseLib functions on x64\r
+\r
+       Copyright (c) 2006, Intel Corporation\r
+       All rights reserved. This program and the accompanying materials\r
+       are licensed and made available under the terms and conditions of the BSD License\r
+       which accompanies this distribution.  The full text of the license may be found at\r
+       http://opensource.org/licenses/bsd-license.php\r
+\r
+       THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+       WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+       Module Name:    Non-existing.c\r
+\r
+**/\r
+\r
+#include "../BaseLibInternals.h"\r
+\r
+VOID\r
+EFIAPI\r
+InternalX86EnablePaging32 (\r
+  IN      SWITCH_STACK_ENTRY_POINT  EntryPoint,\r
+  IN      VOID                      *Context1,  OPTIONAL\r
+  IN      VOID                      *Context2,  OPTIONAL\r
+  IN      VOID                      *NewStack\r
+  )\r
+{\r
+  ASSERT (FALSE);\r
+}\r
+\r
+VOID\r
+EFIAPI\r
+InternalX86DisablePaging32 (\r
+  IN      SWITCH_STACK_ENTRY_POINT  EntryPoint,\r
+  IN      VOID                      *Context1,  OPTIONAL\r
+  IN      VOID                      *Context2,  OPTIONAL\r
+  IN      VOID                      *NewStack\r
+  )\r
+{\r
+  ASSERT (FALSE);\r
+}\r
+\r
+VOID\r
+EFIAPI\r
+InternalX86EnablePaging64 (\r
+  IN      UINT16                    Cs,\r
+  IN      UINT64                    EntryPoint,\r
+  IN      UINT64                    Context1,  OPTIONAL\r
+  IN      UINT64                    Context2,  OPTIONAL\r
+  IN      UINT64                    NewStack\r
+  )\r
+{\r
+  ASSERT (FALSE);\r
+}\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadCr0.asm b/MdePkg/Library/BaseLib/X64/ReadCr0.asm
new file mode 100644 (file)
index 0000000..3e369c3
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadCr0.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadCr0 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadCr0 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadCr0  PROC\r
+    mov     rax, cr0\r
+    ret\r
+AsmReadCr0  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadCr2.asm b/MdePkg/Library/BaseLib/X64/ReadCr2.asm
new file mode 100644 (file)
index 0000000..8476f5a
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadCr2.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadCr2 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadCr2 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadCr2  PROC\r
+    mov     rax, cr2\r
+    ret\r
+AsmReadCr2  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadCr3.asm b/MdePkg/Library/BaseLib/X64/ReadCr3.asm
new file mode 100644 (file)
index 0000000..af54d46
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadCr3.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadCr3 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadCr3 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadCr3  PROC\r
+    mov     rax, cr3\r
+    ret\r
+AsmReadCr3  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadCr4.asm b/MdePkg/Library/BaseLib/X64/ReadCr4.asm
new file mode 100644 (file)
index 0000000..c8a881d
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadCr4.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadCr4 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadCr4 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadCr4  PROC\r
+    mov     rax, cr4\r
+    ret\r
+AsmReadCr4  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadCs.asm b/MdePkg/Library/BaseLib/X64/ReadCs.asm
new file mode 100644 (file)
index 0000000..126149a
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadCs.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadCs function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT16\r
+; EFIAPI\r
+; AsmReadCs (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadCs   PROC\r
+    mov     ax, cs\r
+    ret\r
+AsmReadCs   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadDr0.asm b/MdePkg/Library/BaseLib/X64/ReadDr0.asm
new file mode 100644 (file)
index 0000000..7e0d6b7
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadDr0.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadDr0 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadDr0 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadDr0  PROC\r
+    mov     rax, dr0\r
+    ret\r
+AsmReadDr0  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadDr1.asm b/MdePkg/Library/BaseLib/X64/ReadDr1.asm
new file mode 100644 (file)
index 0000000..22f11c4
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadDr1.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadDr1 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadDr1 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadDr1  PROC\r
+    mov     rax, dr1\r
+    ret\r
+AsmReadDr1  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadDr2.asm b/MdePkg/Library/BaseLib/X64/ReadDr2.asm
new file mode 100644 (file)
index 0000000..3b81605
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadDr2.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadDr2 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadDr2 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadDr2  PROC\r
+    mov     rax, dr2\r
+    ret\r
+AsmReadDr2  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadDr3.asm b/MdePkg/Library/BaseLib/X64/ReadDr3.asm
new file mode 100644 (file)
index 0000000..1968fd0
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadDr3.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadDr3 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadDr3 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadDr3  PROC\r
+    mov     rax, dr3\r
+    ret\r
+AsmReadDr3  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadDr4.asm b/MdePkg/Library/BaseLib/X64/ReadDr4.asm
new file mode 100644 (file)
index 0000000..9774001
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadDr4.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadDr4 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadDr4 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadDr4  PROC\r
+    DB      0fh, 21h, 0e0h\r
+    ret\r
+AsmReadDr4  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadDr5.asm b/MdePkg/Library/BaseLib/X64/ReadDr5.asm
new file mode 100644 (file)
index 0000000..0582502
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadDr5.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadDr5 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadDr5 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadDr5  PROC\r
+    DB      0fh, 21h, 0e8h\r
+    ret\r
+AsmReadDr5  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadDr6.asm b/MdePkg/Library/BaseLib/X64/ReadDr6.asm
new file mode 100644 (file)
index 0000000..a3dafb9
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadDr6.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadDr6 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadDr6 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadDr6  PROC\r
+    mov     rax, dr6\r
+    ret\r
+AsmReadDr6  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadDr7.asm b/MdePkg/Library/BaseLib/X64/ReadDr7.asm
new file mode 100644 (file)
index 0000000..0cff14b
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadDr7.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadDr7 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadDr7 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadDr7  PROC\r
+    mov     rax, dr7\r
+    ret\r
+AsmReadDr7  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadDs.asm b/MdePkg/Library/BaseLib/X64/ReadDs.asm
new file mode 100644 (file)
index 0000000..bdcddb6
--- /dev/null
@@ -0,0 +1,39 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadDs.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadDs function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT16\r
+; EFIAPI\r
+; AsmReadDs (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadDs   PROC\r
+    mov     ax, ds\r
+    ret\r
+AsmReadDs   ENDP\r
+\r
+    END\r
+\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadEflags.asm b/MdePkg/Library/BaseLib/X64/ReadEflags.asm
new file mode 100644 (file)
index 0000000..174ae95
--- /dev/null
@@ -0,0 +1,39 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadEflags.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadEflags function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadEflags (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadEflags   PROC\r
+    pushfq\r
+    pop     rax\r
+    ret\r
+AsmReadEflags   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadEs.asm b/MdePkg/Library/BaseLib/X64/ReadEs.asm
new file mode 100644 (file)
index 0000000..40384bc
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadEs.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadEs function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT16\r
+; EFIAPI\r
+; AsmReadEs (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadEs   PROC\r
+    mov     ax, es\r
+    ret\r
+AsmReadEs   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadFs.asm b/MdePkg/Library/BaseLib/X64/ReadFs.asm
new file mode 100644 (file)
index 0000000..b63e474
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadFs.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadFs function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT16\r
+; EFIAPI\r
+; AsmReadFs (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadFs   PROC\r
+    mov     ax, fs\r
+    ret\r
+AsmReadFs   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadGdtr.asm b/MdePkg/Library/BaseLib/X64/ReadGdtr.asm
new file mode 100644 (file)
index 0000000..2d40599
--- /dev/null
@@ -0,0 +1,31 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadGdtr.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadGdtr function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+InternalX86ReadGdtr   PROC\r
+    sgdt    fword ptr [rcx]\r
+    ret\r
+InternalX86ReadGdtr   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadGs.asm b/MdePkg/Library/BaseLib/X64/ReadGs.asm
new file mode 100644 (file)
index 0000000..02d140e
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadGs.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadGs function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT16\r
+; EFIAPI\r
+; AsmReadGs (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadGs   PROC\r
+    mov     ax, gs\r
+    ret\r
+AsmReadGs   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadIdtr.asm b/MdePkg/Library/BaseLib/X64/ReadIdtr.asm
new file mode 100644 (file)
index 0000000..260f697
--- /dev/null
@@ -0,0 +1,31 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadIdtr.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadIdtr function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+InternalX86ReadIdtr   PROC\r
+    sidt    fword ptr [rcx]\r
+    ret\r
+InternalX86ReadIdtr   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadLdtr.asm b/MdePkg/Library/BaseLib/X64/ReadLdtr.asm
new file mode 100644 (file)
index 0000000..3d6a2f8
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadLdtr.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadLdtr function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT16\r
+; EFIAPI\r
+; AsmReadLdtr (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadLdtr PROC\r
+    sldt    eax\r
+    ret\r
+AsmReadLdtr ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadMm0.asm b/MdePkg/Library/BaseLib/X64/ReadMm0.asm
new file mode 100644 (file)
index 0000000..1239bca
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadMm0.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadMm0 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadMm0 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadMm0  PROC\r
+    DB      48h, 0fh, 7eh, 0c0h\r
+    ret\r
+AsmReadMm0  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadMm1.asm b/MdePkg/Library/BaseLib/X64/ReadMm1.asm
new file mode 100644 (file)
index 0000000..b42bd7f
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadMm1.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadMm1 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadMm1 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadMm1  PROC\r
+    DB      48h, 0fh, 7eh, 0c8h\r
+    ret\r
+AsmReadMm1  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadMm2.asm b/MdePkg/Library/BaseLib/X64/ReadMm2.asm
new file mode 100644 (file)
index 0000000..b10782e
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadMm2.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadMm2 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadMm2 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadMm2  PROC\r
+    DB      48h, 0fh, 7eh, 0d0h\r
+    ret\r
+AsmReadMm2  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadMm3.asm b/MdePkg/Library/BaseLib/X64/ReadMm3.asm
new file mode 100644 (file)
index 0000000..15a9647
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadMm3.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadMm3 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadMm3 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadMm3  PROC\r
+    DB      48h, 0fh, 7eh, 0d8h\r
+    ret\r
+AsmReadMm3  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadMm4.asm b/MdePkg/Library/BaseLib/X64/ReadMm4.asm
new file mode 100644 (file)
index 0000000..73f5283
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadMm4.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadMm4 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadMm4 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadMm4  PROC\r
+    DB      48h, 0fh, 7eh, 0e0h\r
+    ret\r
+AsmReadMm4  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadMm5.asm b/MdePkg/Library/BaseLib/X64/ReadMm5.asm
new file mode 100644 (file)
index 0000000..a487889
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadMm5.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadMm5 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadMm5 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadMm5  PROC\r
+    DB      48h, 0fh, 7eh, 0e8h\r
+    ret\r
+AsmReadMm5  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadMm6.asm b/MdePkg/Library/BaseLib/X64/ReadMm6.asm
new file mode 100644 (file)
index 0000000..56f81bf
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadMm6.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadMm6 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadMm6 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadMm6  PROC\r
+    DB      48h, 0fh, 7eh, 0f0h\r
+    ret\r
+AsmReadMm6  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadMm7.asm b/MdePkg/Library/BaseLib/X64/ReadMm7.asm
new file mode 100644 (file)
index 0000000..e3ad6bb
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadMm7.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadMm7 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmReadMm7 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadMm7  PROC\r
+    DB      48h, 0fh, 7eh, 0f8h\r
+    ret\r
+AsmReadMm7  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadMsr32.asm b/MdePkg/Library/BaseLib/X64/ReadMsr32.asm
new file mode 100644 (file)
index 0000000..271eabb
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadMsr32.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadMsr32 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT32\r
+; EFIAPI\r
+; AsmReadMsr32 (\r
+;   IN UINT32  Index\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadMsr32    PROC\r
+    rdmsr\r
+    ret\r
+AsmReadMsr32    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadMsr64.asm b/MdePkg/Library/BaseLib/X64/ReadMsr64.asm
new file mode 100644 (file)
index 0000000..4444c18
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadMsr64.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadMsr64 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT64\r
+; EFIAPI\r
+; AsmReadMsr64 (\r
+;   IN UINT32  Index\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadMsr64    PROC\r
+    rdmsr\r
+    shl     rax, 20h\r
+    shrd    rax, rdx, 20h\r
+    ret\r
+AsmReadMsr64    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadPmc.asm b/MdePkg/Library/BaseLib/X64/ReadPmc.asm
new file mode 100644 (file)
index 0000000..b5004d6
--- /dev/null
@@ -0,0 +1,43 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadPmc.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadPmc function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT64\r
+; EFIAPI\r
+; AsmReadPmc (\r
+;   IN UINT32   PmcIndex\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadPmc  PROC\r
+    rdpmc\r
+    shl     ecx, 1\r
+    jnc     @F\r
+    shl     rax, 20h\r
+    shrd    rax, rdx, 20h\r
+@@:\r
+    ret\r
+AsmReadPmc  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadSs.asm b/MdePkg/Library/BaseLib/X64/ReadSs.asm
new file mode 100644 (file)
index 0000000..4aa480d
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadSs.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadSs function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT16\r
+; EFIAPI\r
+; AsmReadSs (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadSs   PROC\r
+    mov     ax, ss\r
+    ret\r
+AsmReadSs   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadTr.asm b/MdePkg/Library/BaseLib/X64/ReadTr.asm
new file mode 100644 (file)
index 0000000..7cf8cdf
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadTr.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadTr function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT16\r
+; EFIAPI\r
+; AsmReadTr (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadTr   PROC\r
+    str     eax\r
+    ret\r
+AsmReadTr   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/ReadTsc.asm b/MdePkg/Library/BaseLib/X64/ReadTsc.asm
new file mode 100644 (file)
index 0000000..25fa2cc
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   ReadTsc.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmReadTsc function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT64\r
+; EFIAPI\r
+; AsmReadTsc (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmReadTsc  PROC\r
+    rdtsc\r
+    shl     rax, 20h\r
+    shrd    rax, rdx, 20h\r
+    ret\r
+AsmReadTsc  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/SetJump.asm b/MdePkg/Library/BaseLib/X64/SetJump.asm
new file mode 100644 (file)
index 0000000..305e721
--- /dev/null
@@ -0,0 +1,40 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   SetJump.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   Implementation of SetJump() on x64.\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+SetJump     PROC\r
+    pop     rdx\r
+    mov     [rcx], rbx\r
+    mov     [rcx + 8], rsp\r
+    mov     [rcx + 10h], rbp\r
+    mov     [rcx + 18h], rdi\r
+    mov     [rcx + 20h], rsi\r
+    mov     [rcx + 28h], r12\r
+    mov     [rcx + 30h], r13\r
+    mov     [rcx + 38h], r14\r
+    mov     [rcx + 40h], r15\r
+    mov     [rcx + 48h], rdx\r
+    xor     rax, rax\r
+    jmp     rdx\r
+SetJump     ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/SwitchStack.asm b/MdePkg/Library/BaseLib/X64/SwitchStack.asm
new file mode 100644 (file)
index 0000000..0dfddc0
--- /dev/null
@@ -0,0 +1,47 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   SwitchStack.Asm\r
+;\r
+; Abstract:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; Routine Description:\r
+;\r
+;   Routine for switching stacks with 1 parameter\r
+;\r
+; Arguments:\r
+;\r
+;   (rcx) EntryPoint    - Entry point with new stack.\r
+;   (rdx) Context       - Parameter for entry point.\r
+;   (r8)  Context2      - Parameter2 for entry point.\r
+;   (r9)  NewStack      - Pointer to new stack.\r
+;\r
+; Returns:\r
+;\r
+;   None\r
+;\r
+;------------------------------------------------------------------------------\r
+SwitchStack PROC\r
+    mov     rax, rcx\r
+    mov     rcx, rdx\r
+    mov     rdx, r8\r
+    lea     rsp, [r9 - 20h]\r
+    call    rax\r
+SwitchStack ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/Thunk16.asm b/MdePkg/Library/BaseLib/X64/Thunk16.asm
new file mode 100644 (file)
index 0000000..f3e8084
--- /dev/null
@@ -0,0 +1,189 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   Thunk.asm\r
+;\r
+; Abstract:\r
+;\r
+;   Real mode thunk\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .data\r
+\r
+NullSegSel      DQ      0\r
+_16CsSegSel     LABEL   QWORD\r
+                DW      -1\r
+                DW      0\r
+                DB      0\r
+                DB      9bh\r
+                DB      8fh             ; 16-bit segment\r
+                DB      0\r
+_16BitDsSel     LABEL   QWORD\r
+                DW      -1\r
+                DW      0\r
+                DB      0\r
+                DB      93h\r
+                DB      8fh             ; 16-bit segment\r
+                DB      0\r
+GdtEnd          LABEL   QWORD\r
+\r
+    .const\r
+\r
+_16Gdtr         LABEL   FWORD\r
+                DW      offset GdtEnd - offset NullSegSel - 1\r
+                DQ      offset NullSegSel\r
+\r
+_16Idtr         FWORD   (1 SHL 10) - 1\r
+\r
+    .code\r
+\r
+IA32_REGS   STRUC   4t\r
+_EDI        DD      ?\r
+_ESI        DD      ?\r
+_EBP        DD      ?\r
+_ESP        DD      ?\r
+_EBX        DD      ?\r
+_EDX        DD      ?\r
+_ECX        DD      ?\r
+_EAX        DD      ?\r
+_DS         DW      ?\r
+_ES         DW      ?\r
+_FS         DW      ?\r
+_GS         DW      ?\r
+_RFLAGS     DQ      ?\r
+_EIP        DD      ?\r
+_CS         DW      ?\r
+_SS         DW      ?\r
+IA32_REGS   ENDS\r
+\r
+InternalAsmThunk16  PROC    USES    rbp rbx rsi rdi r12 r13 r14 r15\r
+    mov     eax, ds\r
+    push    rax\r
+    mov     eax, es\r
+    push    rax\r
+    push    fs\r
+    push    gs\r
+    mov     rsi, rcx                    ; rsi <- RegSet\r
+    push    sizeof (IA32_REGS)\r
+    pop     rcx\r
+    movzx   r8, (IA32_REGS ptr [rsi])._SS\r
+    xor     rdi, rdi\r
+    mov     edi, (IA32_REGS ptr [rsi])._ESP\r
+    sub     rdi, rcx                    ; reserve space on realmode stack\r
+    push    rdi                         ; save stack offset\r
+    imul    rax, r8, 16\r
+    add     rdi, rax                    ; rdi <- linear address of 16-bit stack\r
+    rep     movsb                       ; copy RegSet\r
+    mov     rsi, r8                     ; si <- 16-bit stack segment\r
+    pop     rbx                         ; rbx <- 16-bit stack offset\r
+    mov     rdi, rdx                    ; rdi <- realmode patch\r
+    lea     eax, @BackToThunk           ; rax <- address to back from real mode\r
+    push    rax                         ; use in a far return\r
+    mov     eax, cs\r
+    mov     [rsp + 4], eax              ; save CS\r
+    lea     eax, @16Return              ; thus @Return must < 4GB\r
+    stosd                               ; set ret address offset\r
+    xor     eax, eax\r
+    stosw                               ; set ret CS base to 0\r
+    mov     eax, esp\r
+    stosd                               ; rsp must < 4GB\r
+    mov     eax, ss\r
+    stosd\r
+    mov     rax, cr0\r
+    mov     ecx, eax                    ; ecx <- CR0\r
+    and     ecx, 7ffffffeh              ; clear PE, PG bits\r
+    stosd\r
+    mov     rax, cr4\r
+    mov     ebp, eax\r
+    and     ebp, 300h                   ; clear all but PCE and OSFXSR bits\r
+    stosd\r
+    sidt    fword ptr [rsp + 70h]       ; use parameter space to save IDTR\r
+    sgdt    fword ptr [rdi]\r
+    lea     edi, _16Idtr\r
+    lea     eax, @16Start               ; rax <- seg:offset of @16Start\r
+    push    rax\r
+    mov     dword ptr [rsp + 4], 8\r
+    push    10h\r
+    pop     rax                         ; rax <- 10h as dataseg selector\r
+    lgdt    _16Gdtr\r
+    retf\r
+@16Start:                               ; 16-bit starts here\r
+    mov     ss, eax                     ; set SS to be a 16-bit segment\r
+    mov     cr0, rcx                    ; disable protected mode\r
+    mov     cr4, rbp\r
+    DB      66h\r
+    mov     ecx, 0c0000080h\r
+    rdmsr\r
+    and     ah, NOT 1                   ; clear LME\r
+    wrmsr\r
+    mov     ss, esi                     ; set up 16-bit stack\r
+    mov     sp, bx                      ; mov esp, ebx actually\r
+    lidt    fword ptr [edi]\r
+    DB      66h, 61h                    ; popad\r
+    DB      1fh                         ; pop ds\r
+    DB      7                           ; pop es\r
+    pop     fs\r
+    pop     gs\r
+    add     sp, 8                       ; skip _RFLAGS\r
+    DB      66h\r
+    retf                                ; transfer control to 16-bit code\r
+@16Return:\r
+    DB      66h\r
+    push    0                           ; high order 32 bits of rflags\r
+    pushf                               ; pushfd actually\r
+    push    gs\r
+    push    fs\r
+    DB      6                           ; push es\r
+    DB      1eh                         ; push ds\r
+    DB      66h, 60h                    ; pushad\r
+    DB      67h, 66h, 0c5h, 74h, 24h, 30h   ; lds esi, [esp + 12*4]\r
+    DB      66h\r
+    mov     eax, [esi + 12]\r
+    mov     cr4, rax                    ; restore CR4\r
+    DB      66h\r
+    lgdt    fword ptr [esi + 16]\r
+    DB      66h\r
+    mov     ecx, 0c0000080h\r
+    rdmsr\r
+    or      ah, 1                       ; set LME\r
+    wrmsr\r
+    DB      66h\r
+    mov     eax, [esi + 8]\r
+    mov     cr0, rax                    ; restore CR0\r
+    xor     ax, ax                      ; xor eax, eax actually\r
+    mov     eax, ss\r
+    mov     dword ptr (IA32_REGS ptr [esp])._SS, eax\r
+    shl     ax, 4                       ; shl eax, 4 actually\r
+    add     ax, sp                      ; add eax, esp actually\r
+    add     sp, sizeof (IA32_REGS)      ; add esp, sizeof (IA32_REGS)\r
+    DB      66h\r
+    mov     dword ptr (IA32_REGS ptr [esp - sizeof (IA32_REGS)])._ESP, esp\r
+    DB      66h\r
+    lss     esp, fword ptr [esi]        ; restore protected mode stack\r
+    DB      66h\r
+    retf                                ; go back to protected mode\r
+@BackToThunk:\r
+    lidt    fword ptr [rsp + 68h]       ; restore protected mode IDTR\r
+    shl     rax, 32\r
+    shr     rax, 32                     ; clear high order 32 bits of RAX\r
+    pop     gs\r
+    pop     fs\r
+    pop     rcx\r
+    mov     es, ecx\r
+    pop     rcx\r
+    mov     ds, ecx\r
+    ret\r
+InternalAsmThunk16  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/Wbinvd.asm b/MdePkg/Library/BaseLib/X64/Wbinvd.asm
new file mode 100644 (file)
index 0000000..ca0cb25
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   Wbinvd.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWbinvd function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; AsmWbinvd (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmWbinvd   PROC\r
+    wbinvd\r
+    ret\r
+AsmWbinvd   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/WriteCr0.asm b/MdePkg/Library/BaseLib/X64/WriteCr0.asm
new file mode 100644 (file)
index 0000000..defc7e7
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteCr0.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteCr0 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmWriteCr0 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmWriteCr0 PROC\r
+    mov     cr0, rcx\r
+    ret\r
+AsmWriteCr0 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/WriteCr2.asm b/MdePkg/Library/BaseLib/X64/WriteCr2.asm
new file mode 100644 (file)
index 0000000..ebe6f89
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteCr2.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteCr2 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmWriteCr2 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmWriteCr2 PROC\r
+    mov     cr2, rcx\r
+    ret\r
+AsmWriteCr2 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/WriteCr3.asm b/MdePkg/Library/BaseLib/X64/WriteCr3.asm
new file mode 100644 (file)
index 0000000..5715dea
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteCr3.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteCr3 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmWriteCr3 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmWriteCr3 PROC\r
+    mov     cr3, rcx\r
+    ret\r
+AsmWriteCr3 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/WriteCr4.asm b/MdePkg/Library/BaseLib/X64/WriteCr4.asm
new file mode 100644 (file)
index 0000000..210744e
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteCr4.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteCr4 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmWriteCr4 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmWriteCr4 PROC\r
+    mov     cr4, rcx\r
+    ret\r
+AsmWriteCr4 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/WriteDr0.asm b/MdePkg/Library/BaseLib/X64/WriteDr0.asm
new file mode 100644 (file)
index 0000000..2515a20
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteDr0.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteDr0 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmWriteDr0 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmWriteDr0 PROC\r
+    mov     dr0, rcx\r
+    ret\r
+AsmWriteDr0 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/WriteDr1.asm b/MdePkg/Library/BaseLib/X64/WriteDr1.asm
new file mode 100644 (file)
index 0000000..89f36ac
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteDr1.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteDr1 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmWriteDr1 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmWriteDr1 PROC\r
+    mov     dr1, rcx\r
+    ret\r
+AsmWriteDr1 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/WriteDr2.asm b/MdePkg/Library/BaseLib/X64/WriteDr2.asm
new file mode 100644 (file)
index 0000000..820977c
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteDr2.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteDr2 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmWriteDr2 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmWriteDr2 PROC\r
+    mov     dr2, rcx\r
+    ret\r
+AsmWriteDr2 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/WriteDr3.asm b/MdePkg/Library/BaseLib/X64/WriteDr3.asm
new file mode 100644 (file)
index 0000000..51c1407
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteDr3.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteDr3 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmWriteDr3 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmWriteDr3 PROC\r
+    mov     dr3, rcx\r
+    ret\r
+AsmWriteDr3 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/WriteDr4.asm b/MdePkg/Library/BaseLib/X64/WriteDr4.asm
new file mode 100644 (file)
index 0000000..12b6438
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteDr4.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteDr4 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmWriteDr4 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmWriteDr4 PROC\r
+    DB      0fh, 23h, 0e1h\r
+    ret\r
+AsmWriteDr4 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/WriteDr5.asm b/MdePkg/Library/BaseLib/X64/WriteDr5.asm
new file mode 100644 (file)
index 0000000..6d454d5
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteDr5.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteDr5 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmWriteDr5 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmWriteDr5 PROC\r
+    DB      0fh, 23h, 0e9h\r
+    ret\r
+AsmWriteDr5 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/WriteDr6.asm b/MdePkg/Library/BaseLib/X64/WriteDr6.asm
new file mode 100644 (file)
index 0000000..b7b9f25
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteDr6.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteDr6 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmWriteDr6 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmWriteDr6 PROC\r
+    mov     dr6, rcx\r
+    ret\r
+AsmWriteDr6 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/WriteDr7.asm b/MdePkg/Library/BaseLib/X64/WriteDr7.asm
new file mode 100644 (file)
index 0000000..de2237b
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteDr7.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteDr7 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmWriteDr7 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmWriteDr7 PROC\r
+    mov     dr7, rcx\r
+    ret\r
+AsmWriteDr7 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/WriteGdtr.asm b/MdePkg/Library/BaseLib/X64/WriteGdtr.asm
new file mode 100644 (file)
index 0000000..1757e3d
--- /dev/null
@@ -0,0 +1,31 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteGdtr.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteGdtr function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+InternalX86WriteGdtr  PROC\r
+    lgdt    fword ptr [rcx]\r
+    ret\r
+InternalX86WriteGdtr  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/WriteIdtr.asm b/MdePkg/Library/BaseLib/X64/WriteIdtr.asm
new file mode 100644 (file)
index 0000000..09fcb9e
--- /dev/null
@@ -0,0 +1,31 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteIdtr.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteIdtr function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+InternalX86WriteIdtr  PROC\r
+    lidt    fword ptr [rcx]\r
+    ret\r
+InternalX86WriteIdtr  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/WriteLdtr.asm b/MdePkg/Library/BaseLib/X64/WriteLdtr.asm
new file mode 100644 (file)
index 0000000..d85ae38
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteLdtr.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteLdtr function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; VOID\r
+; EFIAPI\r
+; AsmWriteLdtr (\r
+;   IN UINT16 Ldtr\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmWriteLdtr    PROC\r
+    lldt    cx\r
+    ret\r
+AsmWriteLdtr    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/WriteMm0.asm b/MdePkg/Library/BaseLib/X64/WriteMm0.asm
new file mode 100644 (file)
index 0000000..bb9a576
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteMm0.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteMm0 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmWriteMm0 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmWriteMm0 PROC\r
+    DB      48h, 0fh, 6eh, 0c1h\r
+    ret\r
+AsmWriteMm0 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/WriteMm1.asm b/MdePkg/Library/BaseLib/X64/WriteMm1.asm
new file mode 100644 (file)
index 0000000..1bab3bc
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteMm1.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteMm1 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmWriteMm1 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmWriteMm1 PROC\r
+    DB      48h, 0fh, 6eh, 0c9h\r
+    ret\r
+AsmWriteMm1 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/WriteMm2.asm b/MdePkg/Library/BaseLib/X64/WriteMm2.asm
new file mode 100644 (file)
index 0000000..97e8a6a
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteMm2.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteMm2 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmWriteMm2 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmWriteMm2 PROC\r
+    DB      48h, 0fh, 6eh, 0d1h\r
+    ret\r
+AsmWriteMm2 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/WriteMm3.asm b/MdePkg/Library/BaseLib/X64/WriteMm3.asm
new file mode 100644 (file)
index 0000000..d55e19a
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteMm3.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteMm3 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmWriteMm3 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmWriteMm3 PROC\r
+    DB      48h, 0fh, 6eh, 0d9h\r
+    ret\r
+AsmWriteMm3 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/WriteMm4.asm b/MdePkg/Library/BaseLib/X64/WriteMm4.asm
new file mode 100644 (file)
index 0000000..2a69b93
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteMm4.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteMm4 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmWriteMm4 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmWriteMm4 PROC\r
+    DB      48h, 0fh, 6eh, 0e1h\r
+    ret\r
+AsmWriteMm4 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/WriteMm5.asm b/MdePkg/Library/BaseLib/X64/WriteMm5.asm
new file mode 100644 (file)
index 0000000..c4d798b
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteMm5.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteMm5 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmWriteMm5 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmWriteMm5 PROC\r
+    DB      48h, 0fh, 6eh, 0e9h\r
+    ret\r
+AsmWriteMm5 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/WriteMm6.asm b/MdePkg/Library/BaseLib/X64/WriteMm6.asm
new file mode 100644 (file)
index 0000000..c0164f6
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteMm6.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteMm6 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmWriteMm6 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmWriteMm6 PROC\r
+    DB      48h, 0fh, 6eh, 0f1h\r
+    ret\r
+AsmWriteMm6 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/WriteMm7.asm b/MdePkg/Library/BaseLib/X64/WriteMm7.asm
new file mode 100644 (file)
index 0000000..20768e2
--- /dev/null
@@ -0,0 +1,38 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteMm7.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteMm7 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINTN\r
+; EFIAPI\r
+; AsmWriteMm7 (\r
+;   VOID\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmWriteMm7 PROC\r
+    DB      48h, 0fh, 6eh, 0f9h\r
+    ret\r
+AsmWriteMm7 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/WriteMsr32.asm b/MdePkg/Library/BaseLib/X64/WriteMsr32.asm
new file mode 100644 (file)
index 0000000..0a74403
--- /dev/null
@@ -0,0 +1,41 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteMsr32.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteMsr32 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT32\r
+; EFIAPI\r
+; AsmWriteMsr32 (\r
+;   IN UINT32  Index,\r
+;   IN UINT32  Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmWriteMsr32   PROC\r
+    mov     eax, edx\r
+    xor     edx, edx\r
+    wrmsr\r
+    ret\r
+AsmWriteMsr32   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/X64/WriteMsr64.asm b/MdePkg/Library/BaseLib/X64/WriteMsr64.asm
new file mode 100644 (file)
index 0000000..3337f45
--- /dev/null
@@ -0,0 +1,43 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution.  The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+;   WriteMsr64.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   AsmWriteMsr64 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT64\r
+; EFIAPI\r
+; AsmWriteMsr64 (\r
+;   IN UINT32  Index,\r
+;   IN UINT64  Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
+AsmWriteMsr64   PROC\r
+    push    rdx\r
+    mov     eax, edx\r
+    shr     rdx, 20h\r
+    wrmsr\r
+    pop     rax\r
+    ret\r
+AsmWriteMsr64   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ARShiftU64.asm b/MdePkg/Library/BaseLib/ia32/ARShiftU64.asm
deleted file mode 100644 (file)
index 6b9cfa1..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ARShiftU64.asm\r
-;\r
-; Abstract:\r
-;\r
-;   64-bit arithmetic right shift function for IA-32\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .686\r
-    .model  flat,C\r
-    .code\r
-\r
-InternalMathARShiftU64  PROC\r
-    mov     cl, [esp + 12]\r
-    mov     eax, [esp + 8]\r
-    cdq\r
-    test    cl, 32\r
-    cmovz   edx, eax\r
-    cmovz   eax, [esp + 4]\r
-    shrd    eax, edx, cl\r
-    sar     edx, cl\r
-    ret\r
-InternalMathARShiftU64  ENDP\r
-\r
-    END
\ No newline at end of file
diff --git a/MdePkg/Library/BaseLib/ia32/ARShiftU64.s b/MdePkg/Library/BaseLib/ia32/ARShiftU64.s
deleted file mode 100644 (file)
index d6af974..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ARShiftU64.asm\r
-#\r
-# Abstract:\r
-#\r
-#   64-bit arithmetic right shift function for IA-32\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-.global _ARShiftU64\r
-_ARShiftU64: \r
-    movb    12(%esp),%cl\r
-    movl    8(%esp),%eax\r
-    cltd\r
-    testb   $32,%cl\r
-# MISMATCH: "    cmovz   edx, eax"\r
-    cmovz   %eax, %edx\r
-# MISMATCH: "    cmovz   eax, [esp + 4]"\r
-    cmovz   4(%esp), %eax\r
-    shrdl   %cl,%edx,%eax\r
-    sar     %cl,%edx\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/CpuBreakpoint.asm b/MdePkg/Library/BaseLib/ia32/CpuBreakpoint.asm
deleted file mode 100644 (file)
index a4d3978..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------ ;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   CpuBreakpoint.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   CpuBreakpoint function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .686\r
-    .model  flat\r
-    .xmm\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; CpuBreakpoint (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_CpuBreakpoint   PROC\r
-    int  3\r
-    ret\r
-_CpuBreakpoint   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/CpuBreakpoint.s b/MdePkg/Library/BaseLib/ia32/CpuBreakpoint.s
deleted file mode 100644 (file)
index e5d18c3..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#------------------------------------------------------------------------------ ;\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   CpuBreakpoint.s\r
-#\r
-# Abstract:\r
-#\r
-#   CpuBreakpoint function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# VOID\r
-# EFIAPI\r
-# CpuBreakpoint (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _CpuBreakpoint\r
-_CpuBreakpoint: \r
-    int  3\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/CpuFlushTlb.asm b/MdePkg/Library/BaseLib/ia32/CpuFlushTlb.asm
deleted file mode 100644 (file)
index de87ad7..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------ ;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   CpuFlushTlb.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   CpuFlushTlb function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; CpuFlushTlb (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_CpuFlushTlb    PROC\r
-    mov     eax, cr3\r
-    mov     cr3, eax\r
-    ret\r
-_CpuFlushTlb    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/CpuFlushTlb.s b/MdePkg/Library/BaseLib/ia32/CpuFlushTlb.s
deleted file mode 100644 (file)
index 1d85fa7..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#------------------------------------------------------------------------------ ;\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   CpuFlushTlb.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   CpuFlushTlb function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# VOID\r
-# EFIAPI\r
-# CpuFlushTlb (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _CpuFlushTlb\r
-_CpuFlushTlb: \r
-    movl    %cr3, %eax\r
-    movl    %eax, %cr3\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/CpuId.asm b/MdePkg/Library/BaseLib/ia32/CpuId.asm
deleted file mode 100644 (file)
index 2c94e3a..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   CpuId.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmCpuid function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586P\r
-    .model  flat,C\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-;  VOID\r
-;  EFIAPI\r
-;  AsmCpuid (\r
-;    IN   UINT32  RegisterInEax,\r
-;    OUT  UINT32  *RegisterOutEax  OPTIONAL,\r
-;    OUT  UINT32  *RegisterOutEbx  OPTIONAL,\r
-;    OUT  UINT32  *RegisterOutEcx  OPTIONAL,\r
-;    OUT  UINT32  *RegisterOutEdx  OPTIONAL\r
-;    )\r
-;------------------------------------------------------------------------------\r
-AsmCpuid    PROC    USES    ebx\r
-    push    ebp\r
-    mov     ebp, esp\r
-    mov     eax, [ebp + 12]\r
-    cpuid\r
-    push    ecx\r
-    mov     ecx, [ebp + 16]\r
-    jecxz   @F\r
-    mov     [ecx], eax\r
-@@:\r
-    mov     ecx, [ebp + 20]\r
-    jecxz   @F\r
-    mov     [ecx], ebx\r
-@@:\r
-    mov     ecx, [ebp + 24]\r
-    jecxz   @F\r
-    pop     [ecx]\r
-@@:\r
-    mov     ecx, [ebp + 28]\r
-    jecxz   @F\r
-    mov     [ecx], edx\r
-@@:\r
-    mov     eax, [ebp + 12]\r
-    leave\r
-    ret\r
-AsmCpuid    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/CpuId.s b/MdePkg/Library/BaseLib/ia32/CpuId.s
deleted file mode 100644 (file)
index 989daba..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   CpuId.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmCpuid function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-\r
-#------------------------------------------------------------------------------\r
-#  VOID\r
-#  EFIAPI\r
-#  AsmCpuid (\r
-#    IN   UINT32  RegisterInEax,\r
-#    OUT  UINT32  *RegisterOutEax  OPTIONAL,\r
-#    OUT  UINT32  *RegisterOutEbx  OPTIONAL,\r
-#    OUT  UINT32  *RegisterOutEcx  OPTIONAL,\r
-#    OUT  UINT32  *RegisterOutEdx  OPTIONAL\r
-#    )\r
-#------------------------------------------------------------------------------\r
-.globl _AsmCpuid\r
-_AsmCpuid:\r
-    push   %ebx\r
-    push   %edi\r
-    movl    12(%esp),%eax\r
-    cpuid\r
-    movl    %ecx,%edi\r
-    movl    16(%esp),%ecx\r
-    jecxz   L1\r
-    movl    %eax,(%ecx)\r
-L1:\r
-    movl    20(%esp),%ecx\r
-    jecxz   L2\r
-    movl    %ebx,(%ecx)\r
-L2:\r
-    movl    24(%esp),%ecx\r
-    jecxz   L3\r
-    movl    %edi,(%ecx)\r
-L3:\r
-    movl    28(%esp),%ecx\r
-    jecxz   L4\r
-    movl    %edx,(%ecx)\r
-L4:\r
-    pop    %edi\r
-    pop    %ebx\r
-    ret\r
diff --git a/MdePkg/Library/BaseLib/ia32/CpuPause.asm b/MdePkg/Library/BaseLib/ia32/CpuPause.asm
deleted file mode 100644 (file)
index 79a4f2f..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------ ;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   CpuPause.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   CpuPause function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .686\r
-    .model  flat\r
-    .xmm\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; CpuPause (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_CpuPause   PROC\r
-    pause\r
-    ret\r
-_CpuPause   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/CpuPause.s b/MdePkg/Library/BaseLib/ia32/CpuPause.s
deleted file mode 100644 (file)
index ace2c67..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#------------------------------------------------------------------------------ ;\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   CpuPause.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   CpuPause function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# VOID\r
-# EFIAPI\r
-# CpuPause (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _CpuPause\r
-_CpuPause: \r
-    pause\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/CpuSleep.asm b/MdePkg/Library/BaseLib/ia32/CpuSleep.asm
deleted file mode 100644 (file)
index 66fb90e..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-;------------------------------------------------------------------------------ ;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   CpuSleep.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   CpuSleep function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; CpuSleep (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_CpuSleep   PROC\r
-    hlt\r
-    ret\r
-_CpuSleep   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/CpuSleep.s b/MdePkg/Library/BaseLib/ia32/CpuSleep.s
deleted file mode 100644 (file)
index 9b77131..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#------------------------------------------------------------------------------ ;\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   CpuSleep.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   CpuSleep function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# VOID\r
-# EFIAPI\r
-# CpuSleep (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _CpuSleep\r
-_CpuSleep: \r
-    hlt\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/DisableInterrupts.asm b/MdePkg/Library/BaseLib/ia32/DisableInterrupts.asm
deleted file mode 100644 (file)
index 74bdd0b..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   DisableInterrupts.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   DisableInterrupts function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; DisableInterrupts (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_DisableInterrupts  PROC\r
-    cli\r
-    ret\r
-_DisableInterrupts  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/DisableInterrupts.s b/MdePkg/Library/BaseLib/ia32/DisableInterrupts.s
deleted file mode 100644 (file)
index cc9c95c..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   DisableInterrupts.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   DisableInterrupts function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# VOID\r
-# EFIAPI\r
-# DisableInterrupts (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _DisableInterrupts\r
-_DisableInterrupts: \r
-    cli\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/DisablePaging32.asm b/MdePkg/Library/BaseLib/ia32/DisablePaging32.asm
deleted file mode 100644 (file)
index 04ae8cf..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   DisablePaging32.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmDisablePaging32 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386\r
-    .model  flat,C\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; InternalX86DisablePaging32 (\r
-;   IN      SWITCH_STACK_ENTRY_POINT  EntryPoint,\r
-;   IN      VOID                      *Context1,    OPTIONAL\r
-;   IN      VOID                      *Context2,    OPTIONAL\r
-;   IN      VOID                      *NewStack\r
-;   );\r
-;------------------------------------------------------------------------------\r
-InternalX86DisablePaging32    PROC\r
-    mov     ebx, [esp + 4]\r
-    mov     ecx, [esp + 8]\r
-    mov     edx, [esp + 12]\r
-    pushfd\r
-    pop     edi\r
-    cli\r
-    mov     eax, cr0\r
-    btr     eax, 31\r
-    mov     esp, [esp + 16]\r
-    mov     cr0, eax\r
-    push    edi\r
-    popfd\r
-    push    edx\r
-    push    ecx\r
-    call    ebx\r
-    jmp     $\r
-InternalX86DisablePaging32    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/DisablePaging32.s b/MdePkg/Library/BaseLib/ia32/DisablePaging32.s
deleted file mode 100644 (file)
index 21e8a82..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   DisablePaging32.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmDisablePaging32 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# VOID\r
-# EFIAPI\r
-# AsmDisablePaging32 (\r
-#   IN      SWITCH_STACK_ENTRY_POINT  EntryPoint,\r
-#   IN      VOID                      *Context1,    OPTIONAL\r
-#   IN      VOID                      *Context2,    OPTIONAL\r
-#   IN      VOID                      *NewStack\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmDisablePaging32\r
-_AsmDisablePaging32: \r
-    movl    4(%esp),%ebx\r
-    movl    8(%esp),%ecx\r
-    movl    12(%esp),%edx\r
-    pushfl\r
-    popl    %edi\r
-    cli\r
-    movl    %cr0, %eax\r
-    btrl    $31,%eax\r
-    movl    16(%esp),%esp\r
-    movl    %eax, %cr0\r
-    pushl   %edi\r
-    popfl\r
-    pushl   %edx\r
-    pushl   %ecx\r
-    call    *%ebx\r
-    jmp     .\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/DivS64x64Remainder.c b/MdePkg/Library/BaseLib/ia32/DivS64x64Remainder.c
deleted file mode 100644 (file)
index 219f48f..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-/** @file\r
-  Integer division worker functions for Ia32.\r
-\r
-  Copyright (c) 2006, Intel Corporation<BR>\r
-  All rights reserved. This program and the accompanying materials\r
-  are licensed and made available under the terms and conditions of the BSD License\r
-  which accompanies this distribution.  The full text of the license may be found at\r
-  http://opensource.org/licenses/bsd-license.php\r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-  Module Name:  DivS64x64Remainder.c\r
-\r
-**/\r
-\r
-#include "../BaseLibInternals.h"\r
-\r
-INT64\r
-EFIAPI\r
-InternalMathDivRemS64x64 (\r
-  IN      INT64                     Dividend,\r
-  IN      INT64                     Divisor,\r
-  OUT     INT64                     *Remainder\r
-  )\r
-{\r
-  INT64                             Quot;\r
-\r
-  Quot = InternalMathDivRemU64x64 (\r
-           Dividend >= 0 ? Dividend : -Dividend,\r
-           Divisor >= 0 ? Divisor : -Divisor,\r
-           (UINT64 *) Remainder\r
-           );\r
-  if (Remainder != NULL && Dividend < 0) {\r
-    *Remainder = -*Remainder;\r
-  }\r
-  return (Dividend ^ Divisor) >= 0 ? Quot : -Quot;\r
-}\r
diff --git a/MdePkg/Library/BaseLib/ia32/DivU64x32.asm b/MdePkg/Library/BaseLib/ia32/DivU64x32.asm
deleted file mode 100644 (file)
index 1ad5474..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   DivU64x32.asm\r
-;\r
-; Abstract:\r
-;\r
-;   Calculate the quotient of a 64-bit integer by a 32-bit integer\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386\r
-    .model  flat,C\r
-    .code\r
-\r
-InternalMathDivU64x32   PROC\r
-    mov     eax, [esp + 8]\r
-    mov     ecx, [esp + 12]\r
-    xor     edx, edx\r
-    div     ecx\r
-    push    eax\r
-    mov     eax, [esp + 8]\r
-    div     ecx\r
-    pop     edx\r
-    ret\r
-InternalMathDivU64x32   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/DivU64x32.s b/MdePkg/Library/BaseLib/ia32/DivU64x32.s
deleted file mode 100644 (file)
index 689c709..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   DivU64x32.asm\r
-#\r
-# Abstract:\r
-#\r
-#   Calculate the quotient of a 64-bit integer by a 32-bit integer\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-.global _DivU64x32\r
-_DivU64x32: \r
-    movl    8(%esp),%eax\r
-    movl    12(%esp),%ecx\r
-    xorl    %edx,%edx\r
-    divl    %ecx\r
-    pushl   %eax\r
-    movl    8(%esp),%eax\r
-    divl    %ecx\r
-    popl    %edx\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/DivU64x32Remainder.asm b/MdePkg/Library/BaseLib/ia32/DivU64x32Remainder.asm
deleted file mode 100644 (file)
index f1c6c1f..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   DivError.asm\r
-;\r
-; Abstract:\r
-;\r
-;   Set error flag for all division functions\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386\r
-    .model  flat,C\r
-    .code\r
-\r
-InternalMathDivRemU64x32    PROC\r
-    mov     ecx, [esp + 12]\r
-    mov     eax, [esp + 8]\r
-    xor     edx, edx\r
-    div     ecx\r
-    push    eax\r
-    mov     eax, [esp + 8]\r
-    div     ecx\r
-    mov     ecx, [esp + 20]\r
-    jecxz   @F\r
-    mov     [ecx], edx\r
-@@:\r
-    pop     edx\r
-    ret\r
-InternalMathDivRemU64x32    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/DivU64x32Remainder.s b/MdePkg/Library/BaseLib/ia32/DivU64x32Remainder.s
deleted file mode 100644 (file)
index 1f34f18..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   DivError.asm\r
-#\r
-# Abstract:\r
-#\r
-#   Set error flag for all division functions\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-.global _InternalMathDivRemU64x32\r
-_InternalMathDivRemU64x32: \r
-    movl    12(%esp),%ecx\r
-    movl    8(%esp),%eax\r
-    xorl    %edx,%edx\r
-    divl    %ecx\r
-    pushl   %eax\r
-    movl    8(%esp),%eax\r
-    divl    %ecx\r
-    movl    20(%esp),%ecx\r
-    jecxz   L1\r
-    movl    %edx,(%ecx)\r
-L1: \r
-    popl    %edx\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/DivU64x64Remainder.asm b/MdePkg/Library/BaseLib/ia32/DivU64x64Remainder.asm
deleted file mode 100644 (file)
index 261211b..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   DivU64x64Remainder.asm\r
-;\r
-; Abstract:\r
-;\r
-;   Calculate the quotient of a 64-bit integer by a 64-bit integer and returns\r
-;   both the quotient and the remainder\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386\r
-    .model  flat,C\r
-    .code\r
-\r
-EXTERN  InternalMathDivRemU64x32:PROC\r
-\r
-InternalMathDivRemU64x64    PROC\r
-    mov     ecx, [esp + 16]\r
-    test    ecx, ecx\r
-    jnz     _@DivRemU64x64\r
-    mov     ecx, [esp + 20]\r
-    jecxz   @F\r
-    and     dword ptr [ecx + 4], 0\r
-    mov     [esp + 16], ecx\r
-@@:\r
-    jmp     InternalMathDivRemU64x32\r
-InternalMathDivRemU64x64    ENDP\r
-\r
-_@DivRemU64x64  PROC    USES    ebx esi edi\r
-    mov     edx, dword ptr [esp + 20]\r
-    mov     eax, dword ptr [esp + 16]\r
-    mov     edi, edx\r
-    mov     esi, eax\r
-    mov     ebx, dword ptr [esp + 24]\r
-@@:\r
-    shr     edx, 1\r
-    rcr     eax, 1\r
-    shrd    ebx, ecx, 1\r
-    shr     ecx, 1\r
-    jnz     @B\r
-    div     ebx\r
-    mov     ebx, eax\r
-    mov     ecx, [esp + 28]\r
-    mul     dword ptr [esp + 24]\r
-    imul    ecx, ebx\r
-    add     edx, ecx\r
-    mov     ecx, dword ptr [esp + 32]\r
-    jc      @TooLarge\r
-    cmp     edi, edx\r
-    ja      @Correct\r
-    jb      @TooLarge\r
-    cmp     esi, eax\r
-    jae     @Correct\r
-@TooLarge:\r
-    dec     ebx\r
-    jecxz   @Return\r
-    sub     eax, dword ptr [esp + 24]\r
-    sbb     edx, dword ptr [esp + 28]\r
-@Correct:\r
-    jecxz   @Return\r
-    sub     esi, eax\r
-    sbb     edi, edx\r
-    mov     [ecx], esi\r
-    mov     [ecx + 4], edi\r
-@Return:\r
-    mov     eax, ebx\r
-    xor     edx, edx\r
-    ret\r
-_@DivRemU64x64  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/DivU64x64Remainder.s b/MdePkg/Library/BaseLib/ia32/DivU64x64Remainder.s
deleted file mode 100644 (file)
index f604f7c..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   DivU64x64Remainder.asm\r
-#\r
-# Abstract:\r
-#\r
-#   Calculate the quotient of a 64-bit integer by a 64-bit integer and returns\r
-#   both the quotient and the remainder\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-.extern _InternalMathDivRemU64x32\r
-\r
-.global _InternalMathDivRemU64x64\r
-_InternalMathDivRemU64x64: \r
-    movl    16(%esp),%ecx\r
-    testl   %ecx,%ecx\r
-    jnz     _DivRemU64x64\r
-    movl    20(%esp),%ecx\r
-    jecxz   L1\r
-    and     $0,4(%ecx)\r
-    movl    %ecx,16(%esp)\r
-L1: \r
-    jmp     _InternalMathDivRemU64x32\r
-\r
-\r
-.global DivRemU64x64\r
-DivRemU64x64:\r
-# MISMATCH: "DivRemU64x64:    USES    ebx esi edi"\r
-    push   %ebx                                                                             \r
-    push   %esi                                                                             \r
-    push   %edi                                        \r
-    mov     20(%esp), %edx\r
-    mov     16(%esp), %eax\r
-    movl    %edx,%edi\r
-    movl    %eax,%esi\r
-    mov     24(%esp), %ebx\r
-L2: \r
-    shrl    %edx\r
-    rcrl    $1,%eax\r
-    shrdl   $1,%ecx,%ebx\r
-    shrl    %ecx\r
-    jnz     L2\r
-    divl    %ebx\r
-    movl    %eax,%ebx\r
-    movl    28(%esp),%ecx\r
-    mull    24(%esp)\r
-    imull   %ebx,%ecx\r
-    addl    %ecx,%edx\r
-    mov     32(%esp), %ecx\r
-    jc      TooLarge\r
-    cmpl    %edx,%edi\r
-    ja      Correct\r
-    jb      TooLarge\r
-    cmpl    %eax,%esi\r
-    jae     Correct\r
-TooLarge: \r
-    decl    %ebx\r
-    jecxz   Return\r
-    sub     24(%esp), %eax\r
-    sbb     28(%esp), %edx\r
-Correct: \r
-    jecxz   Return\r
-    subl    %eax,%esi\r
-    sbbl    %edx,%edi\r
-    movl    %esi,(%ecx)\r
-    movl    %edi,4(%ecx)\r
-Return: \r
-    movl    %ebx,%eax\r
-    xorl    %edx,%edx\r
-    push   %edi                                        \r
-    push   %esi                                                                             \r
-    push   %ebx                                                                             \r
-    ret\r
diff --git a/MdePkg/Library/BaseLib/ia32/EnableDisableInterrupts.asm b/MdePkg/Library/BaseLib/ia32/EnableDisableInterrupts.asm
deleted file mode 100644 (file)
index fe2016d..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   EnableDisableInterrupts.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   EnableDisableInterrupts function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; EnableDisableInterrupts (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_EnableDisableInterrupts    PROC\r
-    sti\r
-    cli\r
-    ret\r
-_EnableDisableInterrupts    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/EnableDisableInterrupts.s b/MdePkg/Library/BaseLib/ia32/EnableDisableInterrupts.s
deleted file mode 100644 (file)
index 80362a9..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   EnableDisableInterrupts.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   EnableDisableInterrupts function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# VOID\r
-# EFIAPI\r
-# EnableDisableInterrupts (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _EnableDisableInterrupts\r
-_EnableDisableInterrupts: \r
-    sti\r
-    cli\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/EnableInterrupts.asm b/MdePkg/Library/BaseLib/ia32/EnableInterrupts.asm
deleted file mode 100644 (file)
index 194dd8f..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   EnableInterrupts.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   EnableInterrupts function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; EnableInterrupts (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_EnableInterrupts   PROC\r
-    sti\r
-    ret\r
-_EnableInterrupts   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/EnableInterrupts.s b/MdePkg/Library/BaseLib/ia32/EnableInterrupts.s
deleted file mode 100644 (file)
index 74413d8..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   EnableInterrupts.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   EnableInterrupts function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# VOID\r
-# EFIAPI\r
-# EnableInterrupts (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _EnableInterrupts\r
-_EnableInterrupts: \r
-    sti\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/EnablePaging32.asm b/MdePkg/Library/BaseLib/ia32/EnablePaging32.asm
deleted file mode 100644 (file)
index cf6f2fe..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   EnablePaging32.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmEnablePaging32 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386\r
-    .model  flat,C\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; InternalX86EnablePaging32 (\r
-;   IN      SWITCH_STACK_ENTRY_POINT  EntryPoint,\r
-;   IN      VOID                      *Context1,    OPTIONAL\r
-;   IN      VOID                      *Context2,    OPTIONAL\r
-;   IN      VOID                      *NewStack\r
-;   );\r
-;------------------------------------------------------------------------------\r
-InternalX86EnablePaging32 PROC\r
-    mov     ebx, [esp + 4]\r
-    mov     ecx, [esp + 8]\r
-    mov     edx, [esp + 12]\r
-    pushfd\r
-    pop     edi\r
-    cli\r
-    mov     eax, cr0\r
-    bts     eax, 31\r
-    mov     esp, [esp + 16]\r
-    mov     cr0, eax\r
-    push    edi\r
-    popfd\r
-    push    edx\r
-    push    ecx\r
-    call    ebx\r
-    jmp     $\r
-InternalX86EnablePaging32 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/EnablePaging32.s b/MdePkg/Library/BaseLib/ia32/EnablePaging32.s
deleted file mode 100644 (file)
index 6f9befc..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   EnablePaging32.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmEnablePaging32 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# VOID\r
-# EFIAPI\r
-# AsmEnablePaging32 (\r
-#   IN      SWITCH_STACK_ENTRY_POINT  EntryPoint,\r
-#   IN      VOID                      *Context1,    OPTIONAL\r
-#   IN      VOID                      *Context2,    OPTIONAL\r
-#   IN      VOID                      *NewStack\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmEnablePaging32\r
-_AsmEnablePaging32: \r
-    movl    4(%esp),%ebx\r
-    movl    8(%esp),%ecx\r
-    movl    12(%esp),%edx\r
-    pushfl\r
-    popl    %edi\r
-    cli\r
-    movl    %cr0, %eax\r
-    btsl    $31,%eax\r
-    movl    16(%esp),%esp\r
-    movl    %eax, %cr0\r
-    pushl   %edi\r
-    popfl\r
-    pushl   %edx\r
-    pushl   %ecx\r
-    call    *%ebx\r
-    jmp     .\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/EnablePaging64.asm b/MdePkg/Library/BaseLib/ia32/EnablePaging64.asm
deleted file mode 100644 (file)
index 6c9b0ea..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   EnablePaging64.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmEnablePaging64 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .686p\r
-    .model  flat,C\r
-    .code\r
-\r
-InternalX86EnablePaging64 PROC\r
-    cli\r
-    mov     [esp], @F                   ; offset for far retf\r
-    mov     eax, cr4\r
-    or      al, (1 SHL 5)\r
-    mov     cr4, eax                    ; enable PAE\r
-    mov     ecx, 0c0000080h\r
-    rdmsr\r
-    or      ah, 1                       ; set LME\r
-    wrmsr\r
-    mov     eax, cr0\r
-    bts     eax, 31\r
-    mov     cr0, eax                    ; enable paging\r
-    retf\r
-@@:                                     ; long mode starts here\r
-    DB      67h, 48h\r
-    mov     ebx, [esp]                  ; mov rbx, [esp]\r
-    DB      67h, 48h\r
-    mov     ecx, [esp + 8]              ; mov rcx, [esp + 8]\r
-    DB      67h, 48h\r
-    mov     edx, [esp + 10h]            ; mov rdx, [esp + 10h]\r
-    DB      67h, 48h\r
-    mov     esp, [esp + 18h]            ; mov rsp, [esp + 18h]\r
-    DB      48h\r
-    add     esp, -20h                   ; add rsp, -20h\r
-    call    ebx                         ; call rbx\r
-    jmp     $\r
-InternalX86EnablePaging64 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/EnablePaging64.s b/MdePkg/Library/BaseLib/ia32/EnablePaging64.s
deleted file mode 100644 (file)
index b365ea7..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   EnablePaging64.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmEnablePaging64 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-     \r
-    #.MODEL flat\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# VOID\r
-# EFIAPI\r
-# AsmEnablePaging64 (\r
-#   IN      UINT16                    CodeSelector,\r
-#   IN      UINT64                    EntryPoint,\r
-#   IN      UINT64                    Context1,    OPTIONAL\r
-#   IN      UINT64                    Context2,    OPTIONAL\r
-#   IN      UINT64                    NewStack\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmEnablePaging64\r
-_AsmEnablePaging64:\r
-    cli\r
-    movl    $$LongStart, (%esp)\r
-    movl    %cr4, %eax\r
-    orb     $0x20, %al\r
-    movl    %eax, %cr4                  # enable PAE\r
-    movl    $0xc0000080, %ecx\r
-    rdmsr\r
-    orb     $1, %ah                     # set LME\r
-    wrmsr\r
-    movl    %cr0, %eax\r
-    btsl    $31, %eax\r
-    movl    %eax, %cr0                  # enable paging\r
-    lret\r
-LongStart:                              # long mode starts here\r
-    .byte   0x67,0x48\r
-    movl    (%esp), %ebx                # mov rbx, [esp]\r
-    .byte   0x67,0x48\r
-    movl    8(%esp), %ecx               # mov rcx, [esp + 8]\r
-    .byte   0x67,0x48\r
-    movl    0x10(%esp), %edx            # mov rdx, [esp + 10h]\r
-    .byte   0x67,0x48\r
-    movl    0x18(%esp), %esp            # mov rsp, [esp + 18h]\r
-    .byte   0x48\r
-    addl    $0x-20, %esp                # add rsp, -20h\r
-    call    *%ebx                       # call rbx\r
-    jmp     .\r
diff --git a/MdePkg/Library/BaseLib/ia32/FlushCacheLine.asm b/MdePkg/Library/BaseLib/ia32/FlushCacheLine.asm
deleted file mode 100644 (file)
index d79f217..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   FlushCacheLine.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmFlushCacheLine function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586P\r
-    .model  flat\r
-    .xmm\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; AsmFlushCacheLine (\r
-;   IN      VOID                      *LinearAddress\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmFlushCacheLine  PROC\r
-    mov     eax, [esp + 4]\r
-    clflush [eax]\r
-    ret\r
-_AsmFlushCacheLine  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/FlushCacheLine.s b/MdePkg/Library/BaseLib/ia32/FlushCacheLine.s
deleted file mode 100644 (file)
index c14bd11..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   FlushCacheLine.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmFlushCacheLine function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# VOID\r
-# EFIAPI\r
-# AsmFlushCacheLine (\r
-#   IN      VOID                      *LinearAddress\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmFlushCacheLine\r
-_AsmFlushCacheLine: \r
-    movl    4(%esp),%eax\r
-    clflush (%eax)\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/FxRestore.asm b/MdePkg/Library/BaseLib/ia32/FxRestore.asm
deleted file mode 100644 (file)
index e9e37d1..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   FxRestore.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmFxRestore function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586P\r
-    .model  flat,C\r
-    .xmm\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; InternalX86FxRestore (\r
-;   IN CONST IA32_FX_BUFFER *Buffer\r
-;   );\r
-;------------------------------------------------------------------------------\r
-InternalX86FxRestore  PROC\r
-    mov     eax, [esp + 4]\r
-    fxrstor [eax]\r
-    ret\r
-InternalX86FxRestore  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/FxRestore.s b/MdePkg/Library/BaseLib/ia32/FxRestore.s
deleted file mode 100644 (file)
index 631a3ef..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   FxRestore.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmFxRestore function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# VOID\r
-# EFIAPI\r
-# AsmFxRestore (\r
-#   IN CONST IA32_FX_BUFFER *Buffer\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmFxRestore\r
-_AsmFxRestore: \r
-    movl    4(%esp),%eax\r
-    fxrstor (%eax)\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/FxSave.asm b/MdePkg/Library/BaseLib/ia32/FxSave.asm
deleted file mode 100644 (file)
index 22496c5..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   FxSave.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmFxSave function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586P\r
-    .model  flat,C\r
-    .xmm\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; InternalX86FxSave (\r
-;   OUT IA32_FX_BUFFER *Buffer\r
-;   );\r
-;------------------------------------------------------------------------------\r
-InternalX86FxSave PROC\r
-    mov     eax, [esp + 4]\r
-    fxsave  [eax]\r
-    ret\r
-InternalX86FxSave ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/FxSave.s b/MdePkg/Library/BaseLib/ia32/FxSave.s
deleted file mode 100644 (file)
index 44a5512..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   FxSave.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmFxSave function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# VOID\r
-# EFIAPI\r
-# AsmFxSave (\r
-#   OUT IA32_FX_BUFFER *Buffer\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmFxSave\r
-_AsmFxSave: \r
-    movl    4(%esp),%eax\r
-    fxsave  (%eax)\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/InterlockedCompareExchange32.asm b/MdePkg/Library/BaseLib/ia32/InterlockedCompareExchange32.asm
deleted file mode 100644 (file)
index c8c20fb..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   InterlockedCompareExchange32.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   InterlockedCompareExchange32 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .486\r
-    .model  flat,C\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT32\r
-; EFIAPI\r
-; InterlockedCompareExchange32 (\r
-;   IN      UINT32                    *Value,\r
-;   IN      UINT32                    CompareValue,\r
-;   IN      UINT32                    ExchangeValue\r
-;   );\r
-;------------------------------------------------------------------------------\r
-InternalSyncCompareExchange32   PROC\r
-    mov     ecx, [esp + 4]\r
-    mov     eax, [esp + 8]\r
-    mov     edx, [esp + 12]\r
-    lock    cmpxchg [ecx], edx\r
-    ret\r
-InternalSyncCompareExchange32   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/InterlockedCompareExchange32.s b/MdePkg/Library/BaseLib/ia32/InterlockedCompareExchange32.s
deleted file mode 100644 (file)
index 43bb925..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   InterlockedCompareExchange32.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   InterlockedCompareExchange32 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# VOID *\r
-# EFIAPI\r
-# InterlockedCompareExchangePointer (\r
-#   IN      VOID                      **Value,\r
-#   IN      VOID                      *CompareValue,\r
-#   IN      VOID                      *ExchangeValue\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _InterlockedCompareExchangePointer\r
-_InterlockedCompareExchangePointer: \r
-    #\r
-    # InterlockedCompareExchangePointer() shares the same code as\r
-    # InterlockedCompareExchange32() on IA32 and thus no code inside this\r
-    # function\r
-    #\r
-\r
-\r
-#------------------------------------------------------------------------------\r
-# UINT32\r
-# EFIAPI\r
-# InterlockedCompareExchange32 (\r
-#   IN      UINT32                    *Value,\r
-#   IN      UINT32                    CompareValue,\r
-#   IN      UINT32                    ExchangeValue\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _InterlockedCompareExchange32\r
-_InterlockedCompareExchange32: \r
-    movl    4(%esp),%ecx\r
-    movl    8(%esp),%eax\r
-    movl    12(%esp),%edx\r
-    lock    cmpxchgl %edx,(%ecx)\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/InterlockedCompareExchange64.asm b/MdePkg/Library/BaseLib/ia32/InterlockedCompareExchange64.asm
deleted file mode 100644 (file)
index cded920..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   InterlockedCompareExchange64.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   InterlockedCompareExchange64 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586P\r
-    .model  flat,C\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT64\r
-; EFIAPI\r
-; InterlockedCompareExchange64 (\r
-;   IN      UINT64                    *Value,\r
-;   IN      UINT64                    CompareValue,\r
-;   IN      UINT64                    ExchangeValue\r
-;   );\r
-;------------------------------------------------------------------------------\r
-InternalSyncCompareExchange64   PROC    USES    esi ebx\r
-    mov     esi, [esp + 12]\r
-    mov     eax, [esp + 16]\r
-    mov     edx, [esp + 20]\r
-    mov     ebx, [esp + 24]\r
-    mov     ecx, [esp + 28]\r
-    lock    cmpxchg8b   qword ptr [esi]\r
-    ret\r
-InternalSyncCompareExchange64   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/InterlockedCompareExchange64.s b/MdePkg/Library/BaseLib/ia32/InterlockedCompareExchange64.s
deleted file mode 100644 (file)
index abc51e9..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   InterlockedCompareExchange64.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   InterlockedCompareExchange64 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINT64\r
-# EFIAPI\r
-# InterlockedCompareExchange64 (\r
-#   IN      UINT64                    *Value,\r
-#   IN      UINT64                    CompareValue,\r
-#   IN      UINT64                    ExchangeValue\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _InterlockedCompareExchange64\r
-    push    %esi\r
-    push    %ebx\r
-    movl    12(%esp),%esi\r
-    movl    16(%esp),%eax\r
-    movl    20(%esp),%edx\r
-    movl    24(%esp),%ebx\r
-    movl    28(%esp),%ecx\r
-    lock    \r
-    cmpxchg8b   (%esi)\r
-    pop     %ebx\r
-    pop     %esi\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/InterlockedDecrement.asm b/MdePkg/Library/BaseLib/ia32/InterlockedDecrement.asm
deleted file mode 100644 (file)
index d849540..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   InterlockedDecrement.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   InterlockedDecrement function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386\r
-    .model  flat,C\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT32\r
-; EFIAPI\r
-; InterlockedDecrement (\r
-;   IN      UINT32                    *Value\r
-;   );\r
-;------------------------------------------------------------------------------\r
-InternalSyncDecrement   PROC\r
-    mov     eax, [esp + 4]\r
-    lock    dec     dword ptr [eax]\r
-    mov     eax, [eax]\r
-    ret\r
-InternalSyncDecrement   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/InterlockedDecrement.s b/MdePkg/Library/BaseLib/ia32/InterlockedDecrement.s
deleted file mode 100644 (file)
index a7b653a..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   InterlockedDecrement.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   InterlockedDecrement function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINT32\r
-# EFIAPI\r
-# InterlockedDecrement (\r
-#   IN      UINT32                    *Value\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _InterlockedDecrement\r
-_InterlockedDecrement: \r
-    movl    4(%esp),%eax\r
-    lock    \r
-    decl     (%eax)\r
-    movl    (%eax),%eax\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/InterlockedIncrement.asm b/MdePkg/Library/BaseLib/ia32/InterlockedIncrement.asm
deleted file mode 100644 (file)
index a7bfb6f..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   InterlockedIncrement.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   InterlockedIncrement function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386\r
-    .model  flat,C\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT32\r
-; EFIAPI\r
-; InterlockedIncrement (\r
-;   IN      UINT32                    *Value\r
-;   );\r
-;------------------------------------------------------------------------------\r
-InternalSyncIncrement   PROC\r
-    mov     eax, [esp + 4]\r
-    lock    inc     dword ptr [eax]\r
-    mov     eax, [eax]\r
-    ret\r
-InternalSyncIncrement   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/InterlockedIncrement.s b/MdePkg/Library/BaseLib/ia32/InterlockedIncrement.s
deleted file mode 100644 (file)
index 3f9beec..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   InterlockedIncrement.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   InterlockedIncrement function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINT32\r
-# EFIAPI\r
-# InterlockedIncrement (\r
-#   IN      UINT32                    *Value\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _InterlockedIncrement\r
-_InterlockedIncrement: \r
-    movl    4(%esp),%eax\r
-    lock    \r
-    incl     (%eax)\r
-    movl    (%eax),%eax\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/Invd.asm b/MdePkg/Library/BaseLib/ia32/Invd.asm
deleted file mode 100644 (file)
index 5767f54..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   Invd.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmInvd function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .486p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; AsmInvd (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmInvd    PROC\r
-    invd\r
-    ret\r
-_AsmInvd    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/Invd.s b/MdePkg/Library/BaseLib/ia32/Invd.s
deleted file mode 100644 (file)
index 6d6c8d4..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   Invd.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmInvd function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# VOID\r
-# EFIAPI\r
-# AsmInvd (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmInvd\r
-_AsmInvd: \r
-    invd\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/LRotU64.asm b/MdePkg/Library/BaseLib/ia32/LRotU64.asm
deleted file mode 100644 (file)
index 1d5562a..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   LRotU64.asm\r
-;\r
-; Abstract:\r
-;\r
-;   64-bit left rotation for Ia32\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .686\r
-    .model  flat,C\r
-    .code\r
-\r
-InternalMathLRotU64 PROC    USES    ebx\r
-    mov     cl, [esp + 16]\r
-    mov     edx, [esp + 12]\r
-    mov     eax, [esp + 8]\r
-    shld    ebx, edx, cl\r
-    shld    edx, eax, cl\r
-    ror     ebx, cl\r
-    shld    eax, ebx, cl\r
-    test    cl, 32\r
-    cmovnz  ecx, eax\r
-    cmovnz  eax, edx\r
-    cmovnz  edx, ecx\r
-    ret\r
-InternalMathLRotU64 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/LRotU64.s b/MdePkg/Library/BaseLib/ia32/LRotU64.s
deleted file mode 100644 (file)
index 9c961ce..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   LRotU64.asm\r
-#\r
-# Abstract:\r
-#\r
-#   64-bit left rotation for Ia32\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-.global _LRotU64\r
-    push    %ebx\r
-    movb    16(%esp),%cl\r
-    movl    12(%esp),%edx\r
-    movl    8(%esp),%eax\r
-    shldl   %cl,%edx,%ebx\r
-    shldl   %cl,%eax,%edx\r
-    rorl    %cl,%ebx\r
-    shldl   %cl,%ebx,%eax\r
-    testb   $32,%cl\r
-    cmovnz  %eax, %ecx\r
-    cmovnz  %edx, %eax \r
-    cmovnz  %ecx, %edx\r
-    pop     %ebx\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/LShiftU64.asm b/MdePkg/Library/BaseLib/ia32/LShiftU64.asm
deleted file mode 100644 (file)
index 9ce946d..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   LShiftU64.asm\r
-;\r
-; Abstract:\r
-;\r
-;   64-bit left shift function for IA-32\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .686\r
-    .model  flat,C\r
-    .code\r
-\r
-InternalMathLShiftU64   PROC\r
-    mov     cl, [esp + 12]\r
-    xor     eax, eax\r
-    mov     edx, [esp + 4]\r
-    test    cl, 32\r
-    cmovz   eax, edx\r
-    cmovz   edx, [esp + 8]\r
-    shld    edx, eax, cl\r
-    shl     eax, cl\r
-    ret\r
-InternalMathLShiftU64   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/LShiftU64.s b/MdePkg/Library/BaseLib/ia32/LShiftU64.s
deleted file mode 100644 (file)
index 94cbc12..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   LShiftU64.asm\r
-#\r
-# Abstract:\r
-#\r
-#   64-bit left shift function for IA-32\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-.global _LShiftU64\r
-_LShiftU64: \r
-    movb    12(%esp),%cl\r
-    xorl    %eax,%eax\r
-    movl    4(%esp),%edx\r
-    testb   $32,%cl\r
-    cmovz   %edx, %eax\r
-    cmovz   8(%esp), %edx\r
-    shldl   %cl,%eax,%edx\r
-    shll    %cl,%eax\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/LongJump.asm b/MdePkg/Library/BaseLib/ia32/LongJump.asm
deleted file mode 100644 (file)
index ff0cef2..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   LongJump.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   Implementation of LongJump() on IA-32.\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386\r
-    .model  flat\r
-    .code\r
-\r
-_LongJump   PROC\r
-    pop     eax\r
-    pop     edx\r
-    pop     eax\r
-    mov     ebx, [edx]\r
-    mov     esi, [edx + 4]\r
-    mov     edi, [edx + 8]\r
-    mov     ebp, [edx + 12]\r
-    mov     esp, [edx + 16]\r
-    jmp     dword ptr [edx + 20]\r
-_LongJump   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/LongJump.s b/MdePkg/Library/BaseLib/ia32/LongJump.s
deleted file mode 100644 (file)
index 3da0914..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   LongJump.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   Implementation of LongJump() on IA-32.\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-.global _LongJump\r
-_LongJump: \r
-    popl    %eax\r
-    popl    %edx\r
-    popl    %eax\r
-    movl    (%edx),%ebx\r
-    movl    4(%edx),%esi\r
-    movl    8(%edx),%edi\r
-    movl    12(%edx),%ebp\r
-    movl    16(%edx),%esp\r
-    jmpl    *20(%edx)\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ModU64x32.asm b/MdePkg/Library/BaseLib/ia32/ModU64x32.asm
deleted file mode 100644 (file)
index 62481ce..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   DivU64x32.asm\r
-;\r
-; Abstract:\r
-;\r
-;   Calculate the remainder of a 64-bit integer by a 32-bit integer\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386\r
-    .model  flat,C\r
-    .code\r
-\r
-InternalMathModU64x32   PROC\r
-    mov     eax, [esp + 8]\r
-    mov     ecx, [esp + 12]\r
-    xor     edx, edx\r
-    div     ecx\r
-    mov     eax, [esp + 4]\r
-    div     ecx\r
-    mov     eax, edx\r
-    ret\r
-InternalMathModU64x32   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ModU64x32.s b/MdePkg/Library/BaseLib/ia32/ModU64x32.s
deleted file mode 100644 (file)
index ed9c2fe..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   DivU64x32.asm\r
-#\r
-# Abstract:\r
-#\r
-#   Calculate the remainder of a 64-bit integer by a 32-bit integer\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-.global _ModU64x32\r
-_ModU64x32: \r
-    movl    8(%esp),%eax\r
-    movl    12(%esp),%ecx\r
-    xorl    %edx,%edx\r
-    divl    %ecx\r
-    movl    4(%esp),%eax\r
-    divl    %ecx\r
-    movl    %edx,%eax\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/Monitor.asm b/MdePkg/Library/BaseLib/ia32/Monitor.asm
deleted file mode 100644 (file)
index 5d92d26..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   Monitor.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmMonitor function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .686\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT64\r
-; EFIAPI\r
-; AsmMonitor (\r
-;   IN      UINTN                     Eax,\r
-;   IN      UINTN                     Ecx,\r
-;   IN      UINTN                     Edx\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmMonitor PROC\r
-    mov     eax, [esp + 4]\r
-    mov     ecx, [esp + 8]\r
-    mov     edx, [esp + 12]\r
-    DB      0fh, 1, 0c8h\r
-    ret\r
-_AsmMonitor ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/Monitor.s b/MdePkg/Library/BaseLib/ia32/Monitor.s
deleted file mode 100644 (file)
index 8da0e34..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   Monitor.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmMonitor function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINT64\r
-# EFIAPI\r
-# AsmMonitor (\r
-#   IN      UINTN                     Eax,\r
-#   IN      UINTN                     Ecx,\r
-#   IN      UINTN                     Edx\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmMonitor\r
-_AsmMonitor: \r
-    movl    4(%esp),%eax\r
-    movl    8(%esp),%ecx\r
-    movl    12(%esp),%edx\r
-    monitor %eax,%ecx,%edx\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/MultU64x32.asm b/MdePkg/Library/BaseLib/ia32/MultU64x32.asm
deleted file mode 100644 (file)
index e2806e3..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   MultU64x32.asm\r
-;\r
-; Abstract:\r
-;\r
-;   Calculate the product of a 64-bit integer and a 32-bit integer\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386\r
-    .model  flat,C\r
-    .code\r
-\r
-InternalMathMultU64x32  PROC\r
-    mov     ecx, [esp + 12]\r
-    mov     eax, ecx\r
-    imul    ecx, [esp + 8]\r
-    mul     dword ptr [esp + 4]\r
-    add     edx, ecx\r
-    ret\r
-InternalMathMultU64x32  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/MultU64x32.s b/MdePkg/Library/BaseLib/ia32/MultU64x32.s
deleted file mode 100644 (file)
index 03c520b..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   MultU64x32.asm\r
-#\r
-# Abstract:\r
-#\r
-#   Calculate the product of a 64-bit integer and a 32-bit integer\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-.global _MultU64x32\r
-_MultU64x32: \r
-    movl    12(%esp),%ecx\r
-    movl    %ecx,%eax\r
-    imull   8(%esp),%ecx\r
-    mull    4(%esp)\r
-    addl    %ecx,%edx\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/MultU64x64.asm b/MdePkg/Library/BaseLib/ia32/MultU64x64.asm
deleted file mode 100644 (file)
index 24c6a7d..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   MultU64x64.asm\r
-;\r
-; Abstract:\r
-;\r
-;   Calculate the product of a 64-bit integer and another 64-bit integer\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386\r
-    .model  flat,C\r
-    .code\r
-\r
-InternalMathMultU64x64  PROC    USES    ebx\r
-    mov     ebx, [esp + 8]\r
-    mov     edx, [esp + 16]\r
-    mov     ecx, ebx\r
-    mov     eax, edx\r
-    imul    ebx, [esp + 20]\r
-    imul    edx, [esp + 12]\r
-    add     ebx, edx\r
-    mul     ecx\r
-    add     edx, ebx\r
-    ret\r
-InternalMathMultU64x64  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/MultU64x64.s b/MdePkg/Library/BaseLib/ia32/MultU64x64.s
deleted file mode 100644 (file)
index 8841fc4..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   MultU64x64.asm\r
-#\r
-# Abstract:\r
-#\r
-#   Calculate the product of a 64-bit integer and another 64-bit integer\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-.global _MultS64x64\r
-_MultS64x64: \r
-    #\r
-    # MultS64x32 shares the same implementation with _MultU64x32, and thus no\r
-    # code inside this function.\r
-    #\r
-\r
-\r
-.global _MultU64x64\r
-    push    %ebx\r
-    movl    8(%esp),%ebx\r
-    movl    16(%esp),%edx\r
-    movl    %ebx,%ecx\r
-    movl    %edx,%eax\r
-    imull   20(%esp),%ebx\r
-    imull   12(%esp),%edx\r
-    addl    %edx,%ebx\r
-    mull    %ecx\r
-    addl    %ebx,%edx\r
-    pop     %ebx\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/Mwait.asm b/MdePkg/Library/BaseLib/ia32/Mwait.asm
deleted file mode 100644 (file)
index 91d505b..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   Mwait.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmMwait function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .686\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT64\r
-; EFIAPI\r
-; AsmMwait (\r
-;   IN      UINTN                     Eax,\r
-;   IN      UINTN                     Ecx\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmMwait   PROC\r
-    mov     eax, [esp + 4]\r
-    mov     ecx, [esp + 8]\r
-    DB      0fh, 1, 0c9h\r
-    ret\r
-_AsmMwait   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/Mwait.s b/MdePkg/Library/BaseLib/ia32/Mwait.s
deleted file mode 100644 (file)
index 7e04453..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   Mwait.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmMwait function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINT64\r
-# EFIAPI\r
-# AsmMwait (\r
-#   IN      UINTN                     Eax,\r
-#   IN      UINTN                     Ecx\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmMwait\r
-_AsmMwait: \r
-    movl    4(%esp),%eax\r
-    movl    8(%esp),%ecx\r
-    mwait   %eax,%ecx\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/Non-existing.c b/MdePkg/Library/BaseLib/ia32/Non-existing.c
deleted file mode 100644 (file)
index 4132d30..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/** @file\r
-       Non-existing BaseLib functions on Ia32\r
-\r
-       Copyright (c) 2006, Intel Corporation\r
-       All rights reserved. This program and the accompanying materials\r
-       are licensed and made available under the terms and conditions of the BSD License\r
-       which accompanies this distribution.  The full text of the license may be found at\r
-       http://opensource.org/licenses/bsd-license.php\r
-\r
-       THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-       WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-       Module Name:    Non-existing.c\r
-\r
-**/\r
-\r
-#include "../BaseLibInternals.h"\r
-\r
-VOID\r
-EFIAPI\r
-InternalX86DisablePaging64 (\r
-  IN      UINT16                    CodeSelector,\r
-  IN      UINT32                    EntryPoint,\r
-  IN      UINT32                    Context1,  OPTIONAL\r
-  IN      UINT32                    Context2,  OPTIONAL\r
-  IN      UINT32                    NewStack\r
-  )\r
-{\r
-  ASSERT (FALSE);\r
-}\r
diff --git a/MdePkg/Library/BaseLib/ia32/RRotU64.asm b/MdePkg/Library/BaseLib/ia32/RRotU64.asm
deleted file mode 100644 (file)
index 062e201..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   RRotU64.asm\r
-;\r
-; Abstract:\r
-;\r
-;   64-bit right rotation for Ia32\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .686\r
-    .model  flat,C\r
-    .code\r
-\r
-InternalMathRRotU64 PROC    USES    ebx\r
-    mov     cl, [esp + 16]\r
-    mov     eax, [esp + 8]\r
-    mov     edx, [esp + 12]\r
-    shrd    ebx, eax, cl\r
-    shrd    eax, edx, cl\r
-    rol     ebx, cl\r
-    shrd    edx, ebx, cl\r
-    test    cl, 32\r
-    cmovnz  ecx, eax\r
-    cmovnz  eax, edx\r
-    cmovnz  edx, ecx\r
-    ret\r
-InternalMathRRotU64 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/RRotU64.s b/MdePkg/Library/BaseLib/ia32/RRotU64.s
deleted file mode 100644 (file)
index 541e420..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   RRotU64.asm\r
-#\r
-# Abstract:\r
-#\r
-#   64-bit right rotation for Ia32\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-.global _RRotU64\r
-    push    %ebx\r
-    movb    16(%esp),%cl\r
-    movl    8(%esp),%eax\r
-    movl    12(%esp),%edx\r
-    shrdl   %cl,%eax,%ebx\r
-    shrdl   %cl,%edx,%eax\r
-    roll    %cl,%ebx\r
-    shrdl   %cl,%ebx,%edx\r
-    testb   $32,%cl\r
-    cmovnz  %eax, %ecx\r
-    cmovnz  %edx, %eax\r
-    cmovnz  %ecx, %edx\r
-    pop     %ebx\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/RShiftU64.asm b/MdePkg/Library/BaseLib/ia32/RShiftU64.asm
deleted file mode 100644 (file)
index effbc55..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   RShiftU64.asm\r
-;\r
-; Abstract:\r
-;\r
-;   64-bit logical right shift function for IA-32\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .686\r
-    .model  flat,C\r
-    .code\r
-\r
-InternalMathRShiftU64   PROC\r
-    mov     cl, [esp + 12]\r
-    xor     edx, edx\r
-    mov     eax, [esp + 8]\r
-    test    cl, 32\r
-    cmovz   edx, eax\r
-    cmovz   eax, [esp + 4]\r
-    shrd    eax, edx, cl\r
-    shr     edx, cl\r
-    ret\r
-InternalMathRShiftU64   ENDP\r
-\r
-    END
\ No newline at end of file
diff --git a/MdePkg/Library/BaseLib/ia32/RShiftU64.s b/MdePkg/Library/BaseLib/ia32/RShiftU64.s
deleted file mode 100644 (file)
index 5b681e3..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   RShiftU64.asm\r
-#\r
-# Abstract:\r
-#\r
-#   64-bit logical right shift function for IA-32\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-.global _RShiftU64\r
-_RShiftU64: \r
-    movb    12(%esp),%cl\r
-    xorl    %edx,%edx\r
-    movl    8(%esp),%eax\r
-    testb   $32,%cl\r
-    cmovz   %eax, %edx\r
-    cmovz   4(%esp), %eax\r
-    shrdl   %cl,%edx,%eax\r
-    shrl    %cl,%edx\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadCr0.asm b/MdePkg/Library/BaseLib/ia32/ReadCr0.asm
deleted file mode 100644 (file)
index 579cee2..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadCr0.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadCr0 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadCr0 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadCr0 PROC\r
-    mov     eax, cr0\r
-    ret\r
-_AsmReadCr0 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadCr0.s b/MdePkg/Library/BaseLib/ia32/ReadCr0.s
deleted file mode 100644 (file)
index 3108b71..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadCr0.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadCr0 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINTN\r
-# EFIAPI\r
-# AsmReadCr0 (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadCr0\r
-_AsmReadCr0: \r
-    movl    %cr0, %eax\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadCr2.asm b/MdePkg/Library/BaseLib/ia32/ReadCr2.asm
deleted file mode 100644 (file)
index 3e4a926..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadCr2.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadCr2 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadCr2 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadCr2 PROC\r
-    mov     eax, cr2\r
-    ret\r
-_AsmReadCr2 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadCr2.s b/MdePkg/Library/BaseLib/ia32/ReadCr2.s
deleted file mode 100644 (file)
index 3ce287a..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadCr2.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadCr2 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINTN\r
-# EFIAPI\r
-# AsmReadCr2 (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadCr2\r
-_AsmReadCr2: \r
-    movl    %cr2, %eax\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadCr3.asm b/MdePkg/Library/BaseLib/ia32/ReadCr3.asm
deleted file mode 100644 (file)
index c24ded8..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadCr3.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadCr3 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadCr3 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadCr3 PROC\r
-    mov     eax, cr3\r
-    ret\r
-_AsmReadCr3 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadCr3.s b/MdePkg/Library/BaseLib/ia32/ReadCr3.s
deleted file mode 100644 (file)
index 2bd63c7..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadCr3.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadCr3 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINTN\r
-# EFIAPI\r
-# AsmReadCr3 (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadCr3\r
-_AsmReadCr3: \r
-    movl    %cr3, %eax\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadCr4.asm b/MdePkg/Library/BaseLib/ia32/ReadCr4.asm
deleted file mode 100644 (file)
index 258f37a..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadCr4.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadCr4 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadCr4 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadCr4 PROC\r
-    mov     eax, cr4\r
-    ret\r
-_AsmReadCr4 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadCr4.s b/MdePkg/Library/BaseLib/ia32/ReadCr4.s
deleted file mode 100644 (file)
index 4d746d8..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadCr4.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadCr4 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINTN\r
-# EFIAPI\r
-# AsmReadCr4 (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadCr4\r
-_AsmReadCr4: \r
-    movl    %cr4, %eax\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadCs.asm b/MdePkg/Library/BaseLib/ia32/ReadCs.asm
deleted file mode 100644 (file)
index 5972d66..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadCs.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadCs function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT16\r
-; EFIAPI\r
-; AsmReadCs (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadCs  PROC\r
-    mov     ax, cs\r
-    ret\r
-_AsmReadCs  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadCs.s b/MdePkg/Library/BaseLib/ia32/ReadCs.s
deleted file mode 100644 (file)
index 66bf4b9..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadCs.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadCs function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINT16\r
-# EFIAPI\r
-# AsmReadCs (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadCs\r
-_AsmReadCs: \r
-    movw    %cs,%ax\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadDr0.asm b/MdePkg/Library/BaseLib/ia32/ReadDr0.asm
deleted file mode 100644 (file)
index 4da1dd8..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadDr0.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadDr0 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadDr0 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadDr0 PROC\r
-    mov     eax, dr0\r
-    ret\r
-_AsmReadDr0 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadDr0.s b/MdePkg/Library/BaseLib/ia32/ReadDr0.s
deleted file mode 100644 (file)
index 00c521b..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadDr0.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadDr0 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINTN\r
-# EFIAPI\r
-# AsmReadDr0 (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadDr0\r
-_AsmReadDr0: \r
-    movl    %dr0, %eax\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadDr1.asm b/MdePkg/Library/BaseLib/ia32/ReadDr1.asm
deleted file mode 100644 (file)
index 8724dd2..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadDr1.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadDr1 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadDr1 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadDr1 PROC\r
-    mov     eax, dr1\r
-    ret\r
-_AsmReadDr1 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadDr1.s b/MdePkg/Library/BaseLib/ia32/ReadDr1.s
deleted file mode 100644 (file)
index 81d0e54..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadDr1.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadDr1 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINTN\r
-# EFIAPI\r
-# AsmReadDr1 (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadDr1\r
-_AsmReadDr1: \r
-    movl    %dr1, %eax\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadDr2.asm b/MdePkg/Library/BaseLib/ia32/ReadDr2.asm
deleted file mode 100644 (file)
index 9122d42..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadDr2.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadDr2 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadDr2 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadDr2 PROC\r
-    mov     eax, dr2\r
-    ret\r
-_AsmReadDr2 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadDr2.s b/MdePkg/Library/BaseLib/ia32/ReadDr2.s
deleted file mode 100644 (file)
index 296fff6..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadDr2.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadDr2 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINTN\r
-# EFIAPI\r
-# AsmReadDr2 (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadDr2\r
-_AsmReadDr2: \r
-    movl    %dr2, %eax\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadDr3.asm b/MdePkg/Library/BaseLib/ia32/ReadDr3.asm
deleted file mode 100644 (file)
index 7c1ee98..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadDr3.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadDr3 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadDr3 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadDr3 PROC\r
-    mov     eax, dr3\r
-    ret\r
-_AsmReadDr3 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadDr3.s b/MdePkg/Library/BaseLib/ia32/ReadDr3.s
deleted file mode 100644 (file)
index e99391d..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadDr3.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadDr3 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINTN\r
-# EFIAPI\r
-# AsmReadDr3 (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadDr3\r
-_AsmReadDr3: \r
-    movl    %dr3, %eax\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadDr4.asm b/MdePkg/Library/BaseLib/ia32/ReadDr4.asm
deleted file mode 100644 (file)
index 0172455..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadDr4.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadDr4 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadDr4 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadDr4 PROC\r
-    DB      0fh, 21h, 0e0h\r
-    ret\r
-_AsmReadDr4 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadDr5.asm b/MdePkg/Library/BaseLib/ia32/ReadDr5.asm
deleted file mode 100644 (file)
index a95527e..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadDr5.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadDr5 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadDr5 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadDr5 PROC\r
-    DB      0fh, 21h, 0e8h\r
-    ret\r
-_AsmReadDr5 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadDr6.asm b/MdePkg/Library/BaseLib/ia32/ReadDr6.asm
deleted file mode 100644 (file)
index b2d9a3d..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadDr6.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadDr6 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadDr6 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadDr6 PROC\r
-    mov     eax, dr6\r
-    ret\r
-_AsmReadDr6 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadDr6.s b/MdePkg/Library/BaseLib/ia32/ReadDr6.s
deleted file mode 100644 (file)
index bdadd80..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadDr6.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadDr6 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINTN\r
-# EFIAPI\r
-# AsmReadDr6 (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadDr6\r
-_AsmReadDr6: \r
-    movl    %dr6, %eax\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadDr7.asm b/MdePkg/Library/BaseLib/ia32/ReadDr7.asm
deleted file mode 100644 (file)
index 23924b1..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadDr7.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadDr7 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadDr7 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadDr7 PROC\r
-    mov     eax, dr7\r
-    ret\r
-_AsmReadDr7 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadDr7.s b/MdePkg/Library/BaseLib/ia32/ReadDr7.s
deleted file mode 100644 (file)
index cf213ca..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadDr7.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadDr7 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINTN\r
-# EFIAPI\r
-# AsmReadDr7 (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadDr7\r
-_AsmReadDr7: \r
-    movl    %dr7, %eax\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadDs.asm b/MdePkg/Library/BaseLib/ia32/ReadDs.asm
deleted file mode 100644 (file)
index 6992766..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadDs.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadDs function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT16\r
-; EFIAPI\r
-; AsmReadDs (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadDs  PROC\r
-    mov     ax, ds\r
-    ret\r
-_AsmReadDs  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadDs.s b/MdePkg/Library/BaseLib/ia32/ReadDs.s
deleted file mode 100644 (file)
index ca1e379..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadDs.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadDs function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINT16\r
-# EFIAPI\r
-# AsmReadDs (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadDs\r
-_AsmReadDs: \r
-    movw    %ds,%ax\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadEflags.asm b/MdePkg/Library/BaseLib/ia32/ReadEflags.asm
deleted file mode 100644 (file)
index 365b1de..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadEflags.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadEflags function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadEflags (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadEflags  PROC\r
-    pushfd\r
-    pop     eax\r
-    ret\r
-_AsmReadEflags  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadEflags.s b/MdePkg/Library/BaseLib/ia32/ReadEflags.s
deleted file mode 100644 (file)
index a70a209..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadEflags.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadEflags function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINTN\r
-# EFIAPI\r
-# AsmReadEflags (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadEflags\r
-_AsmReadEflags: \r
-    pushfl\r
-    popl    %eax\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadEs.asm b/MdePkg/Library/BaseLib/ia32/ReadEs.asm
deleted file mode 100644 (file)
index 0ced46a..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadEs.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadEs function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT16\r
-; EFIAPI\r
-; AsmReadEs (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadEs  PROC\r
-    mov     ax, es\r
-    ret\r
-_AsmReadEs  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadEs.s b/MdePkg/Library/BaseLib/ia32/ReadEs.s
deleted file mode 100644 (file)
index 69727b5..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadEs.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadEs function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINT16\r
-# EFIAPI\r
-# AsmReadEs (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadEs\r
-_AsmReadEs: \r
-    movw    %es,%ax\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadFs.asm b/MdePkg/Library/BaseLib/ia32/ReadFs.asm
deleted file mode 100644 (file)
index f1790c6..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadFs.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadFs function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT16\r
-; EFIAPI\r
-; AsmReadFs (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadFs  PROC\r
-    mov     ax, fs\r
-    ret\r
-_AsmReadFs  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadFs.s b/MdePkg/Library/BaseLib/ia32/ReadFs.s
deleted file mode 100644 (file)
index 7f4fdfa..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadFs.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadFs function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINT16\r
-# EFIAPI\r
-# AsmReadFs (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadFs\r
-_AsmReadFs: \r
-    movw    %fs,%ax\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadGdtr.asm b/MdePkg/Library/BaseLib/ia32/ReadGdtr.asm
deleted file mode 100644 (file)
index beacb62..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadGdtr.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadGdtr function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386\r
-    .model  flat,C\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; InternalX86ReadGdtr (\r
-;   OUT IA32_DESCRIPTOR  *Gdtr\r
-;   );\r
-;------------------------------------------------------------------------------\r
-InternalX86ReadGdtr   PROC\r
-    mov     eax, [esp + 4]\r
-    sgdt    fword ptr [eax]\r
-    ret\r
-InternalX86ReadGdtr   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadGdtr.s b/MdePkg/Library/BaseLib/ia32/ReadGdtr.s
deleted file mode 100644 (file)
index f03a056..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadGdtr.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadGdtr function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# VOID\r
-# EFIAPI\r
-# AsmReadGdtr (\r
-#   OUT IA32_DESCRIPTOR  *Gdtr\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadGdtr\r
-_AsmReadGdtr: \r
-    movl    4(%esp),%eax\r
-    sgdt    (%eax)\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadGs.asm b/MdePkg/Library/BaseLib/ia32/ReadGs.asm
deleted file mode 100644 (file)
index 1de0ebf..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadGs.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadGs function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT16\r
-; EFIAPI\r
-; AsmReadGs (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadGs  PROC\r
-    mov     ax, gs\r
-    ret\r
-_AsmReadGs  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadGs.s b/MdePkg/Library/BaseLib/ia32/ReadGs.s
deleted file mode 100644 (file)
index 0d88a60..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadGs.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadGs function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINT16\r
-# EFIAPI\r
-# AsmReadGs (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadGs\r
-_AsmReadGs: \r
-    movw    %gs,%ax\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadIdtr.asm b/MdePkg/Library/BaseLib/ia32/ReadIdtr.asm
deleted file mode 100644 (file)
index 95158be..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadIdtr.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadIdtr function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386\r
-    .model  flat,C\r
-    .code\r
-\r
-InternalX86ReadIdtr   PROC\r
-    mov     eax, [esp + 4]\r
-    sidt    fword ptr [eax]\r
-    ret\r
-InternalX86ReadIdtr   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadIdtr.s b/MdePkg/Library/BaseLib/ia32/ReadIdtr.s
deleted file mode 100644 (file)
index fa72d3b..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadIdtr.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadIdtr function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# VOID\r
-# EFIAPI\r
-# AsmReadIdtr (\r
-#   OUT IA32_DESCRIPTOR  *Idtr\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadIdtr\r
-_AsmReadIdtr: \r
-    movl    4(%esp),%eax\r
-    sidt    (%eax)\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadLdtr.asm b/MdePkg/Library/BaseLib/ia32/ReadLdtr.asm
deleted file mode 100644 (file)
index a859a0e..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadLdtr.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadLdtr function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT16\r
-; EFIAPI\r
-; AsmReadLdtr (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadLdtr    PROC\r
-    sldt    ax\r
-    ret\r
-_AsmReadLdtr    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadLdtr.s b/MdePkg/Library/BaseLib/ia32/ReadLdtr.s
deleted file mode 100644 (file)
index aea1d92..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadLdtr.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadLdtr function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINT16\r
-# EFIAPI\r
-# AsmReadLdtr (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadLdtr\r
-_AsmReadLdtr: \r
-    sldt   %eax\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadMm0.asm b/MdePkg/Library/BaseLib/ia32/ReadMm0.asm
deleted file mode 100644 (file)
index c45895b..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadMm0.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadMm0 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586P\r
-    .model  flat\r
-    .xmm\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadMm0 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadMm0 PROC\r
-    push    eax\r
-    push    eax\r
-    movq    [esp], mm0\r
-    pop     eax\r
-    pop     edx\r
-    ret\r
-_AsmReadMm0 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadMm0.s b/MdePkg/Library/BaseLib/ia32/ReadMm0.s
deleted file mode 100644 (file)
index dd6b846..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadMm0.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadMm0 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINTN\r
-# EFIAPI\r
-# AsmReadMm0 (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadMm0\r
-_AsmReadMm0: \r
-    pushl   %eax\r
-    pushl   %eax\r
-    movq    %mm0,(%esp)\r
-    popl    %eax\r
-    popl    %edx\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadMm1.asm b/MdePkg/Library/BaseLib/ia32/ReadMm1.asm
deleted file mode 100644 (file)
index ea748cb..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadMm1.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadMm1 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586P\r
-    .model  flat\r
-    .xmm\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadMm1 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadMm1 PROC\r
-    push    eax\r
-    push    eax\r
-    movq    [esp], mm1\r
-    pop     eax\r
-    pop     edx\r
-    ret\r
-_AsmReadMm1 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadMm1.s b/MdePkg/Library/BaseLib/ia32/ReadMm1.s
deleted file mode 100644 (file)
index cbaafff..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadMm1.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadMm1 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINTN\r
-# EFIAPI\r
-# AsmReadMm1 (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadMm1\r
-_AsmReadMm1: \r
-    pushl   %eax\r
-    pushl   %eax\r
-    movq    %mm1,(%esp)\r
-    popl    %eax\r
-    popl    %edx\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadMm2.asm b/MdePkg/Library/BaseLib/ia32/ReadMm2.asm
deleted file mode 100644 (file)
index ab16c51..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadMm2.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadMm2 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586P\r
-    .model  flat\r
-    .xmm\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadMm2 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadMm2 PROC\r
-    push    eax\r
-    push    eax\r
-    movq    [esp], mm2\r
-    pop     eax\r
-    pop     edx\r
-    ret\r
-_AsmReadMm2 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadMm2.s b/MdePkg/Library/BaseLib/ia32/ReadMm2.s
deleted file mode 100644 (file)
index 22a5d71..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadMm2.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadMm2 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINTN\r
-# EFIAPI\r
-# AsmReadMm2 (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadMm2\r
-_AsmReadMm2: \r
-    pushl   %eax\r
-    pushl   %eax\r
-    movq    %mm2,(%esp)\r
-    popl    %eax\r
-    popl    %edx\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadMm3.asm b/MdePkg/Library/BaseLib/ia32/ReadMm3.asm
deleted file mode 100644 (file)
index 3c4bf34..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadMm3.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadMm3 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586P\r
-    .model  flat\r
-    .xmm\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadMm3 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadMm3 PROC\r
-    push    eax\r
-    push    eax\r
-    movq    [esp], mm3\r
-    pop     eax\r
-    pop     edx\r
-    ret\r
-_AsmReadMm3 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadMm3.s b/MdePkg/Library/BaseLib/ia32/ReadMm3.s
deleted file mode 100644 (file)
index dae267a..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadMm3.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadMm3 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINTN\r
-# EFIAPI\r
-# AsmReadMm3 (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadMm3\r
-_AsmReadMm3: \r
-    pushl   %eax\r
-    pushl   %eax\r
-    movq    %mm3,(%esp)\r
-    popl    %eax\r
-    popl    %edx\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadMm4.asm b/MdePkg/Library/BaseLib/ia32/ReadMm4.asm
deleted file mode 100644 (file)
index 4c2beb8..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadMm4.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadMm4 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586P\r
-    .model  flat\r
-    .xmm\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadMm4 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadMm4 PROC\r
-    push    eax\r
-    push    eax\r
-    movq    [esp], mm4\r
-    pop     eax\r
-    pop     edx\r
-    ret\r
-_AsmReadMm4 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadMm4.s b/MdePkg/Library/BaseLib/ia32/ReadMm4.s
deleted file mode 100644 (file)
index 0ae1afc..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadMm4.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadMm4 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINTN\r
-# EFIAPI\r
-# AsmReadMm4 (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadMm4\r
-_AsmReadMm4: \r
-    pushl   %eax\r
-    pushl   %eax\r
-    movq    %mm4,(%esp)\r
-    popl    %eax\r
-    popl    %edx\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadMm5.asm b/MdePkg/Library/BaseLib/ia32/ReadMm5.asm
deleted file mode 100644 (file)
index 66e3826..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadMm5.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadMm5 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586P\r
-    .model  flat\r
-    .xmm\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadMm5 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadMm5 PROC\r
-    push    eax\r
-    push    eax\r
-    movq    [esp], mm5\r
-    pop     eax\r
-    pop     edx\r
-    ret\r
-_AsmReadMm5 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadMm5.s b/MdePkg/Library/BaseLib/ia32/ReadMm5.s
deleted file mode 100644 (file)
index 2fad14a..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadMm5.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadMm5 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINTN\r
-# EFIAPI\r
-# AsmReadMm5 (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadMm5\r
-_AsmReadMm5: \r
-    pushl   %eax\r
-    pushl   %eax\r
-    movq    %mm5,(%esp)\r
-    popl    %eax\r
-    popl    %edx\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadMm6.asm b/MdePkg/Library/BaseLib/ia32/ReadMm6.asm
deleted file mode 100644 (file)
index 69d9e13..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadMm6.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadMm6 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586P\r
-    .model  flat\r
-    .xmm\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadMm6 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadMm6 PROC\r
-    push    eax\r
-    push    eax\r
-    movq    [esp], mm6\r
-    pop     eax\r
-    pop     edx\r
-    ret\r
-_AsmReadMm6 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadMm6.s b/MdePkg/Library/BaseLib/ia32/ReadMm6.s
deleted file mode 100644 (file)
index 22cddfa..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadMm6.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadMm6 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINTN\r
-# EFIAPI\r
-# AsmReadMm6 (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadMm6\r
-_AsmReadMm6: \r
-    pushl   %eax\r
-    pushl   %eax\r
-    movq    %mm6,(%esp)\r
-    popl    %eax\r
-    popl    %edx\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadMm7.asm b/MdePkg/Library/BaseLib/ia32/ReadMm7.asm
deleted file mode 100644 (file)
index a8788cb..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadMm7.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadMm7 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586P\r
-    .model  flat\r
-    .xmm\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadMm7 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadMm7 PROC\r
-    push    eax\r
-    push    eax\r
-    movq    [esp], mm7\r
-    pop     eax\r
-    pop     edx\r
-    ret\r
-_AsmReadMm7 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadMm7.s b/MdePkg/Library/BaseLib/ia32/ReadMm7.s
deleted file mode 100644 (file)
index fb485a0..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadMm7.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadMm7 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINTN\r
-# EFIAPI\r
-# AsmReadMm7 (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadMm7\r
-_AsmReadMm7: \r
-    pushl   %eax\r
-    pushl   %eax\r
-    movq    %mm7,(%esp)\r
-    popl    %eax\r
-    popl    %edx\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadMsr64.asm b/MdePkg/Library/BaseLib/ia32/ReadMsr64.asm
deleted file mode 100644 (file)
index 6c9fe00..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadMsr64.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadMsr64 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586P\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT32\r
-; EFIAPI\r
-; AsmReadMsr32 (\r
-;   IN UINT32  Index\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadMsr32   PROC\r
-    ;\r
-    ; AsmReadMsr32 shares the same implementation with AsmReadMsr64 and thus no\r
-    ; code inside this function\r
-    ;\r
-_AsmReadMsr32   ENDP\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT64\r
-; EFIAPI\r
-; AsmReadMsr64 (\r
-;   IN UINT64  Index\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadMsr64   PROC\r
-    mov     ecx, [esp + 4]\r
-    rdmsr\r
-    ret\r
-_AsmReadMsr64   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadMsr64.s b/MdePkg/Library/BaseLib/ia32/ReadMsr64.s
deleted file mode 100644 (file)
index 6a2c9c6..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadMsr64.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadMsr64 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINT32\r
-# EFIAPI\r
-# AsmReadMsr32 (\r
-#   IN UINT32  Index\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadMsr32\r
-_AsmReadMsr32: \r
-    #\r
-    # AsmReadMsr32 shares the same implementation with AsmReadMsr64 and thus no\r
-    # code inside this function\r
-    #\r
-\r
-\r
-#------------------------------------------------------------------------------\r
-# UINT64\r
-# EFIAPI\r
-# AsmReadMsr64 (\r
-#   IN UINT64  Index\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadMsr64\r
-_AsmReadMsr64: \r
-    movl    4(%esp),%ecx\r
-    rdmsr\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadPmc.asm b/MdePkg/Library/BaseLib/ia32/ReadPmc.asm
deleted file mode 100644 (file)
index 1fe5981..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadPmc.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadPmc function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586P\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT64\r
-; EFIAPI\r
-; AsmReadPmc (\r
-;   IN UINT32   PmcIndex\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadPmc PROC\r
-    mov     ecx, [esp + 4]\r
-    rdpmc\r
-    ret\r
-_AsmReadPmc ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadPmc.s b/MdePkg/Library/BaseLib/ia32/ReadPmc.s
deleted file mode 100644 (file)
index 868e85c..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadPmc.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadPmc function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINT64\r
-# EFIAPI\r
-# AsmReadPmc (\r
-#   IN UINT32   PmcIndex\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadPmc\r
-_AsmReadPmc: \r
-    movl    4(%esp),%ecx\r
-    rdpmc\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadSs.asm b/MdePkg/Library/BaseLib/ia32/ReadSs.asm
deleted file mode 100644 (file)
index 6d0cd9f..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadSs.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadSs function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT16\r
-; EFIAPI\r
-; AsmReadSs (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadSs  PROC\r
-    mov     ax, ss\r
-    ret\r
-_AsmReadSs  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadSs.s b/MdePkg/Library/BaseLib/ia32/ReadSs.s
deleted file mode 100644 (file)
index 7db65c1..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadSs.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadSs function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINT16\r
-# EFIAPI\r
-# AsmReadSs (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadSs\r
-_AsmReadSs: \r
-    movw    %ss,%ax\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadTr.asm b/MdePkg/Library/BaseLib/ia32/ReadTr.asm
deleted file mode 100644 (file)
index d77ee89..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadTr.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadTr function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT16\r
-; EFIAPI\r
-; AsmReadTr (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadTr  PROC\r
-    str     ax\r
-    ret\r
-_AsmReadTr  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadTr.s b/MdePkg/Library/BaseLib/ia32/ReadTr.s
deleted file mode 100644 (file)
index 8c31e9d..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadTr.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadTr function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINT16\r
-# EFIAPI\r
-# AsmReadTr (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadTr\r
-_AsmReadTr: \r
-    str     %eax\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadTsc.asm b/MdePkg/Library/BaseLib/ia32/ReadTsc.asm
deleted file mode 100644 (file)
index ea3c164..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadTsc.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadTsc function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586P\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT64\r
-; EFIAPI\r
-; AsmReadTsc (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmReadTsc PROC\r
-    rdtsc\r
-    ret\r
-_AsmReadTsc ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/ReadTsc.s b/MdePkg/Library/BaseLib/ia32/ReadTsc.s
deleted file mode 100644 (file)
index e7981c0..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   ReadTsc.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmReadTsc function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINT64\r
-# EFIAPI\r
-# AsmReadTsc (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmReadTsc\r
-_AsmReadTsc: \r
-    rdtsc\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/SetJump.asm b/MdePkg/Library/BaseLib/ia32/SetJump.asm
deleted file mode 100644 (file)
index 41277cd..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   SetJump.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   Implementation of SetJump() on IA-32.\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386\r
-    .model  flat\r
-    .code\r
-\r
-_SetJump    PROC\r
-    pop     ecx\r
-    mov     edx, [esp]\r
-    mov     [edx], ebx\r
-    mov     [edx + 4], esi\r
-    mov     [edx + 8], edi\r
-    mov     [edx + 12], ebp\r
-    mov     [edx + 16], esp\r
-    mov     [edx + 20], ecx\r
-    xor     eax, eax\r
-    jmp     ecx\r
-_SetJump    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/SetJump.s b/MdePkg/Library/BaseLib/ia32/SetJump.s
deleted file mode 100644 (file)
index b1b6a84..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   SetJump.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   Implementation of SetJump() on IA-32.\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-.global _SetJump\r
-_SetJump: \r
-    popl    %ecx\r
-    movl    (%esp),%edx\r
-    movl    %ebx,(%edx)\r
-    movl    %esi,4(%edx)\r
-    movl    %edi,8(%edx)\r
-    movl    %ebp,12(%edx)\r
-    movl    %esp,16(%edx)\r
-    movl    %ecx,20(%edx)\r
-    xorl    %eax,%eax\r
-    jmp     *%ecx\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/SwapBytes64.asm b/MdePkg/Library/BaseLib/ia32/SwapBytes64.asm
deleted file mode 100644 (file)
index 72e366b..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   CpuId.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmCpuid function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586P\r
-    .model  flat,C\r
-    .code\r
-\r
-InternalMathSwapBytes64 PROC\r
-    mov     eax, [esp + 8]\r
-    mov     edx, [esp + 4]\r
-    bswap   eax\r
-    bswap   edx\r
-    ret\r
-InternalMathSwapBytes64 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/SwitchStack.c b/MdePkg/Library/BaseLib/ia32/SwitchStack.c
deleted file mode 100644 (file)
index 77800e3..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/** @file\r
-  SwitchStack() function for IA-32.\r
-\r
-  Copyright (c) 2006, Intel Corporation<BR>\r
-  All rights reserved. This program and the accompanying materials\r
-  are licensed and made available under the terms and conditions of the BSD License\r
-  which accompanies this distribution.  The full text of the license may be found at\r
-  http://opensource.org/licenses/bsd-license.php\r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-  Module Name:  SwitchStack.c\r
-\r
-**/\r
-\r
-/**\r
-  Transfers control to a function starting with a new stack.\r
-\r
-  Transfers control to the function specified by EntryPoint using the new stack\r
-  specified by NewStack and passing in the parameters specified by Context1 and\r
-  Context2. Context1 and Context2 are optional and may be NULL. The function\r
-  EntryPoint must never return.\r
-\r
-  If EntryPoint is NULL, then ASSERT().\r
-  If NewStack is NULL, then ASSERT().\r
-\r
-  @param  EntryPoint  A pointer to function to call with the new stack.\r
-  @param  Context1    A pointer to the context to pass into the EntryPoint\r
-                      function.\r
-  @param  Context2    A pointer to the context to pass into the EntryPoint\r
-                      function.\r
-  @param  NewStack    A pointer to the new stack to use for the EntryPoint\r
-                      function.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-SwitchStack (\r
-  IN      SWITCH_STACK_ENTRY_POINT  EntryPoint,\r
-  IN      VOID                      *Context1,\r
-  IN      VOID                      *Context2,\r
-  IN      VOID                      *NewStack\r
-  )\r
-{\r
-  BASE_LIBRARY_JUMP_BUFFER  JumpBuffer;\r
-\r
-  ASSERT (EntryPoint != NULL && NewStack != NULL);\r
-\r
-  JumpBuffer.Eip = (UINTN)EntryPoint;\r
-  JumpBuffer.Esp = (UINTN)NewStack - sizeof (VOID*);\r
-  JumpBuffer.Esp -= sizeof (Context1) + sizeof (Context2);\r
-  ((VOID**)JumpBuffer.Esp)[1] = Context1;\r
-  ((VOID**)JumpBuffer.Esp)[2] = Context2;\r
-\r
-  LongJump (&JumpBuffer, (UINTN)-1);\r
-}\r
diff --git a/MdePkg/Library/BaseLib/ia32/Thunk16.asm b/MdePkg/Library/BaseLib/ia32/Thunk16.asm
deleted file mode 100644 (file)
index 2d62d72..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   Thunk.asm\r
-;\r
-; Abstract:\r
-;\r
-;   Real mode thunk\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .686p\r
-    .model  flat,C\r
-\r
-    .data\r
-\r
-NullSegSel      DQ      0\r
-_16BitCsSel     LABEL   QWORD\r
-                DW      -1\r
-                DW      0\r
-                DB      0\r
-                DB      9bh\r
-                DB      8fh             ; 16-bit segment\r
-                DB      0\r
-_16BitDsSel     LABEL   QWORD\r
-                DW      -1\r
-                DW      0\r
-                DB      0\r
-                DB      93h\r
-                DB      8fh             ; 16-bit segment\r
-                DB      0\r
-GdtEnd          LABEL   QWORD\r
-\r
-    .const\r
-\r
-_16Gdtr         LABEL   FWORD\r
-                DW      offset GdtEnd - offset NullSegSel - 1\r
-                DD      offset NullSegSel\r
-\r
-_16Idtr         FWORD   (1 SHL 10) - 1\r
-\r
-    .code\r
-\r
-IA32_REGS   STRUC   4t\r
-_EDI        DD      ?\r
-_ESI        DD      ?\r
-_EBP        DD      ?\r
-_ESP        DD      ?\r
-_EBX        DD      ?\r
-_EDX        DD      ?\r
-_ECX        DD      ?\r
-_EAX        DD      ?\r
-_DS         DW      ?\r
-_ES         DW      ?\r
-_FS         DW      ?\r
-_GS         DW      ?\r
-_EFLAGS     DD      ?\r
-_EIP        DD      ?\r
-_CS         DW      ?\r
-_SS         DW      ?\r
-IA32_REGS   ENDS\r
-\r
-InternalAsmThunk16  PROC    USES    ebp ebx esi edi ds  es  fs  gs\r
-    mov     esi, [esp + 36]             ; esi <- RegSet\r
-    push    sizeof (IA32_REGS)\r
-    pop     ecx\r
-    movzx   edx, (IA32_REGS ptr [esi])._SS\r
-    mov     edi, (IA32_REGS ptr [esi])._ESP\r
-    sub     edi, ecx                    ; reserve space on realmode stack\r
-    push    edi                         ; save stack offset\r
-    imul    eax, edx, 16                ; eax <- edx * 16\r
-    add     edi, eax                    ; edi <- linear address of 16-bit stack\r
-    rep     movsb                       ; copy RegSet\r
-    mov     esi, edx                    ; esi <- 16-bit stack segment\r
-    pop     ebx                         ; ebx <- 16-bit stack offset\r
-    mov     edi, [esp + 40]             ; edi <- realmode patch\r
-    push    cs                          ; save CS segment selector\r
-    push    offset @BackToThunk         ; offset to back from real mode\r
-    mov     eax, offset @16Return\r
-    stosd\r
-    xor     eax, eax\r
-    stosw                               ; set CS base to 0\r
-    mov     eax, esp\r
-    stosd\r
-    mov     eax, ss\r
-    stosd\r
-    mov     eax, cr0\r
-    mov     ecx, eax                    ; ecx <- CR0\r
-    and     ecx, 7ffffffeh              ; clear PE, PG bits\r
-    stosd\r
-    mov     eax, cr4\r
-    mov     ebp, eax\r
-    and     ebp, 300h                   ; clear all but PCE and OSFXSR bits\r
-    stosd\r
-    sidt    fword ptr [esp + 44]        ; use parameter space to save IDTR\r
-    sgdt    fword ptr [edi]\r
-    lidt    _16Idtr\r
-    push    10h\r
-    pop     eax\r
-    push    8\r
-    push    offset @16Start\r
-    lgdt    _16Gdtr\r
-    retf\r
-@16Start:                               ; 16-bit starts here\r
-    mov     ss, eax                     ; set SS to be a 16-bit segment\r
-    mov     cr0, ecx\r
-    mov     cr4, ebp\r
-    mov     ss, esi                     ; set up 16-bit stack\r
-    mov     sp, bx                      ; mov esp, ebx actually\r
-    popaw                               ; popad actually\r
-    pop     ds\r
-    pop     es\r
-    pop     fs\r
-    pop     gs\r
-    add     sp, 4                       ; skip _EFLAGS\r
-    DB      66h\r
-    retf                                ; transfer control to 16-bit code\r
-@16Return:\r
-    pushf                               ; pushfd actually\r
-    push    gs\r
-    push    fs\r
-    push    es\r
-    push    ds\r
-    pushaw                              ; pushad actually\r
-    DB      67h, 66h\r
-    lds     esi, fword ptr (IA32_REGS ptr [esp])._EIP\r
-    DB      67h, 66h\r
-    mov     eax, [esi + 12]\r
-    mov     cr4, eax                    ; restore CR4\r
-    DB      67h, 66h\r
-    lgdt    fword ptr [esi + 16]\r
-    DB      67h, 66h\r
-    mov     eax, [esi + 8]\r
-    mov     cr0, eax                    ; restore CR0\r
-    xor     ax, ax                      ; xor eax, eax actually\r
-    mov     eax, ss\r
-    DB      67h\r
-    mov     dword ptr (IA32_REGS ptr [esp])._SS, eax\r
-    shl     ax, 4                       ; shl eax, 4 actually\r
-    add     ax, sp                      ; add eax, esp actually\r
-    add     sp, sizeof (IA32_REGS)      ; add esp, sizeof (IA32_REGS)\r
-    DB      67h, 66h\r
-    mov     dword ptr (IA32_REGS ptr [esp - sizeof (IA32_REGS)])._ESP, esp\r
-    DB      67h, 66h\r
-    lss     esp, fword ptr [esi]        ; restore protected mode stack\r
-    DB      66h\r
-    retf                                ; go back to protected mode\r
-@BackToThunk:\r
-    lidt    fword ptr [esp + 36]        ; restore protected mode IDTR\r
-    ret\r
-InternalAsmThunk16  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/Thunk16.s b/MdePkg/Library/BaseLib/ia32/Thunk16.s
deleted file mode 100644 (file)
index 4236996..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   Thunk.asm\r
-#\r
-# Abstract:\r
-#\r
-#   Real mode thunk\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-MISMATCH: "EXTERNDEF   C   mCode16Size:DWORD"\r
-\r
-MISMATCH: "CONST   SEGMENT FLAT    "DATA"  READONLY"\r
-\r
-MISMATCH: "mCode16Size     DD      _TEXT16SIZE"\r
-\r
-MISMATCH: "CONSTS"\r
-\r
-MISMATCH: "_DATA   SEGMENT FLAT    "DATA""\r
-\r
-MISMATCH: "NullSegSel      DQ      0"\r
-MISMATCH: "_16BitCsSel     LABEL   QWORD"\r
-                .word -1\r
-                .word 0\r
-                .byte 0\r
-                .byte 0x9b\r
-                .byte 0x8f              # 16-bit segment\r
-                .byte 0\r
-\r
-MISMATCH: "_16Gdtr         LABEL   FWORD"\r
-MISMATCH: "                DW      $ - offset NullSegSel - 1"\r
-MISMATCH: "                DD      offset NullSegSel"\r
-\r
-MISMATCH: "_DATAS"\r
-\r
-MISMATCH: "_TEXT   SEGMENT FLAT    "CODE"  PARA"\r
-\r
-MISMATCH: "IA32_REGS   STRUC   4t"\r
-MISMATCH: "_EDI        DD      ?"\r
-MISMATCH: "_ESI        DD      ?"\r
-MISMATCH: "_EBP        DD      ?"\r
-MISMATCH: "_ESP        DD      ?"\r
-MISMATCH: "_EBX        DD      ?"\r
-MISMATCH: "_EDX        DD      ?"\r
-MISMATCH: "_ECX        DD      ?"\r
-MISMATCH: "_EAX        DD      ?"\r
-MISMATCH: "_DS         DW      ?"\r
-MISMATCH: "_ES         DW      ?"\r
-MISMATCH: "_FS         DW      ?"\r
-MISMATCH: "_GS         DW      ?"\r
-MISMATCH: "_EFLAGS     DD      ?"\r
-MISMATCH: "_EIP        DD      ?"\r
-MISMATCH: "_CS         DW      ?"\r
-MISMATCH: "_SS         DW      ?"\r
-MISMATCH: "IA32_REGSS"\r
-\r
-MISMATCH: "_STK16      STRUC   1t"\r
-MISMATCH: "RetEip      DD      ?"\r
-MISMATCH: "RetCs       DW      ?"\r
-MISMATCH: "ThunkFlags  DW      ?"\r
-MISMATCH: "SavedEsp    DD      ?"\r
-MISMATCH: "SavedSs     DW      ?"\r
-MISMATCH: "SavedGdtr   FWORD   ?"\r
-MISMATCH: "SavedCr0    DD      ?"\r
-MISMATCH: "SavedCr4    DD      ?"\r
-MISMATCH: "_STK16S"\r
-\r
-.global _InternalAsmThunk16\r
-MISMATCH: "_InternalAsmThunk16:    USES    ebp ebx esi edi ds  es  fs  gs"\r
-MISMATCH: "    ASSUME  esi:PTR IA32_REGS"\r
-    movl    36(%esp),%esi\r
-MISMATCH: "    movzx   edx, [esi]._SS"\r
-    movl    $[esi]._ESP, %edi\r
-MISMATCH: "    add     edi, - sizeof (_STK16) - sizeof (IA32_REGS)"\r
-    pushl   %edi                        # save stack offset\r
-    imull   $16,%edx,%eax               # eax <- edx*16\r
-    addl    %eax,%edi                   # edi <- linear address of 16-bit stack\r
-MISMATCH: "    push    sizeof (IA32_REGS) / 4"\r
-    popl    %ecx\r
-    rep\r
-    movsl                               # copy context to 16-bit stack\r
-    popl    %ebx                        # ebx <- 16-bit stack offset\r
-MISMATCH: "    mov     eax, offset @F              "\r
-    stosl\r
-    movl    %cs,%eax                    # return segment\r
-    stosw\r
-    movl    40(%esp),%eax               # THUNK flags\r
-    stosw\r
-    movl    %esp,%eax\r
-    stosl                               # save esp\r
-    movl    %ss,%eax                    # save ss\r
-    stosw\r
-MISMATCH: "    sgdt    fword ptr [edi]             "\r
-MISMATCH: "    sidt    fword ptr [esp + 36]        "\r
-    movl    %cr0, %esi\r
-    movl    %esi,6(%edi)                # save CR0\r
-MISMATCH: "    and     esi, NOT 80000001h          "\r
-    movl    %cr4, %eax\r
-    movl    %eax,10(%edi)               # save CR4\r
-MISMATCH: "    and     al, NOT 30h                 "\r
-    movl    %edx,%edi                   # edi <- 16-bit stack segment\r
-    movl    44(%esp),%edx\r
-    shll    $16,%edx\r
-    pushl   %edx\r
-MISMATCH: "    lgdt    _16Gdtr                     "\r
-    .byte 0xea\r
-MISMATCH: "    DD      offset @16Bit"\r
-    .word 8                             # jmp far 8:@16Bit\r
-@16Bit: \r
-    movl    %esi, %cr0                  # disable protected mode\r
-    movl    %eax, %cr4                  # disable PAE & PSE\r
-    lret\r
-@@: \r
-    movl    %ss,%eax\r
-    shll    $4,%eax\r
-    addl    %esp,%eax                   # eax <- address of 16-bit stack\r
-MISMATCH: "    lss     esp, fword ptr (_STK16 ptr [esp + sizeof (IA32_REGS)]).SavedEsp"\r
-MISMATCH: "    lidt    fword ptr [esp + 36]        "\r
-    ret\r
-\r
-\r
-MISMATCH: "_TEXTS"\r
-\r
-MISMATCH: "_TEXT16 SEGMENT USE16   "CODE"  PARA"\r
-\r
-.global _Code16Addr\r
-MISMATCH: "_Code16Addr:    C"\r
-\r
-\r
-.global RealMode\r
-RealMode: \r
-MISMATCH: "    ASSUME  bp:PTR _STK16"\r
-    movw    %di,%ss                     # set up stack\r
-    movl    %ebx,%esp\r
-MISMATCH: "    lidt    fword ptr cs:[_16Idtr - _Code16Addr]"\r
-    popal\r
-    popl    %ds\r
-    popl    %es\r
-    popl    %fs\r
-    popl    %gs\r
-    addw    $4,%sp                      # skip EFlags\r
-MISMATCH: "    test    (_STK16 ptr [esp + 8]).ThunkFlags, 1"\r
-    jz      @F\r
-    pushf\r
-@@: \r
-    pushw   %cs\r
-MISMATCH: "    push    @FarCallRet - _Code16Addr"\r
-    jz      @F\r
-MISMATCH: "    jmp     fword ptr [esp + 6]"\r
-@@: \r
-MISMATCH: "    jmp     fword ptr [esp + 4]"\r
-@FarCallRet: \r
-    pushfl\r
-    pushw   %gs\r
-    pushw   %fs\r
-    pushw   %es\r
-    pushw   %ds\r
-    pushal\r
-    cli\r
-MISMATCH: "    lea     bp, [esp + sizeof (IA32_REGS)]"\r
-    .byte 0x66\r
-MISMATCH: "    lgdt    [bp].SavedGdtr"\r
-    movl    $[bp].SavedCr4, %eax\r
-    movl    %eax, %cr4\r
-    movl    $[bp].SavedCr0, %eax\r
-    movl    %eax, %cr0                  # restore CR0\r
-MISMATCH: "    jmp     fword ptr [bp].RetEip"\r
-\r
-\r
-MISMATCH: "_16Idtr     FWORD   (1 SHL 10) - 1"\r
-\r
-_TEXT16: \r
-\r
-MISMATCH: "_TEXT16SIZE = _TEXT16- _Code16Addr"\r
-\r
-MISMATCH: "_TEXT16S"\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/Wbinvd.asm b/MdePkg/Library/BaseLib/ia32/Wbinvd.asm
deleted file mode 100644 (file)
index 07258fb..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   Wbinvd.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWbinvd function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .486p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; AsmWbinvd (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmWbinvd  PROC\r
-    wbinvd\r
-    ret\r
-_AsmWbinvd  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/Wbinvd.s b/MdePkg/Library/BaseLib/ia32/Wbinvd.s
deleted file mode 100644 (file)
index e9f6c0c..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   Wbinvd.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmWbinvd function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# VOID\r
-# EFIAPI\r
-# AsmWbinvd (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmWbinvd\r
-_AsmWbinvd: \r
-    wbinvd\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteCr0.asm b/MdePkg/Library/BaseLib/ia32/WriteCr0.asm
deleted file mode 100644 (file)
index d64d621..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteCr0.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteCr0 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmWriteCr0 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmWriteCr0    PROC\r
-    mov     eax, [esp + 4]\r
-    mov     cr0, eax\r
-    ret\r
-_AsmWriteCr0    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteCr0.s b/MdePkg/Library/BaseLib/ia32/WriteCr0.s
deleted file mode 100644 (file)
index 6e3ad50..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   WriteCr0.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmWriteCr0 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINTN\r
-# EFIAPI\r
-# AsmWriteCr0 (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmWriteCr0\r
-_AsmWriteCr0: \r
-    movl    4(%esp),%eax\r
-    movl    %eax, %cr0\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteCr2.asm b/MdePkg/Library/BaseLib/ia32/WriteCr2.asm
deleted file mode 100644 (file)
index 7ab5b0f..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteCr2.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteCr2 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmWriteCr2 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmWriteCr2    PROC\r
-    mov     eax, [esp + 4]\r
-    mov     cr2, eax\r
-    ret\r
-_AsmWriteCr2    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteCr2.s b/MdePkg/Library/BaseLib/ia32/WriteCr2.s
deleted file mode 100644 (file)
index cf45e01..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   WriteCr2.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmWriteCr2 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINTN\r
-# EFIAPI\r
-# AsmWriteCr2 (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmWriteCr2\r
-_AsmWriteCr2: \r
-    movl    4(%esp),%eax\r
-    movl    %eax, %cr2\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteCr3.asm b/MdePkg/Library/BaseLib/ia32/WriteCr3.asm
deleted file mode 100644 (file)
index 9753de1..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteCr3.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteCr3 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmWriteCr3 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmWriteCr3    PROC\r
-    mov     eax, [esp + 4]\r
-    mov     cr3, eax\r
-    ret\r
-_AsmWriteCr3    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteCr3.s b/MdePkg/Library/BaseLib/ia32/WriteCr3.s
deleted file mode 100644 (file)
index 1c55581..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   WriteCr3.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmWriteCr3 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINTN\r
-# EFIAPI\r
-# AsmWriteCr3 (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmWriteCr3\r
-_AsmWriteCr3: \r
-    movl    4(%esp),%eax\r
-    movl    %eax, %cr3\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteCr4.asm b/MdePkg/Library/BaseLib/ia32/WriteCr4.asm
deleted file mode 100644 (file)
index 60bfe78..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteCr4.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteCr4 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmWriteCr4 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmWriteCr4    PROC\r
-    mov     eax, [esp + 4]\r
-    mov     cr4, eax\r
-    ret\r
-_AsmWriteCr4    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteCr4.s b/MdePkg/Library/BaseLib/ia32/WriteCr4.s
deleted file mode 100644 (file)
index fbe48c1..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   WriteCr4.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmWriteCr4 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINTN\r
-# EFIAPI\r
-# AsmWriteCr4 (\r
-#   VOID\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmWriteCr4\r
-_AsmWriteCr4: \r
-    movl    4(%esp),%eax\r
-    movl    %eax, %cr4\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteDr0.asm b/MdePkg/Library/BaseLib/ia32/WriteDr0.asm
deleted file mode 100644 (file)
index 3dab544..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteDr0.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteDr0 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; AsmWriteDr0 (\r
-;   IN UINTN Value\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmWriteDr0    PROC\r
-    mov     eax, [esp + 4]\r
-    mov     dr0, eax\r
-    ret\r
-_AsmWriteDr0    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteDr0.s b/MdePkg/Library/BaseLib/ia32/WriteDr0.s
deleted file mode 100644 (file)
index a5a84de..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   WriteDr0.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmWriteDr0 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# VOID\r
-# EFIAPI\r
-# AsmWriteDr0 (\r
-#   IN UINTN Value\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmWriteDr0\r
-_AsmWriteDr0: \r
-    movl    4(%esp),%eax\r
-    movl    %eax, %dr0\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteDr1.asm b/MdePkg/Library/BaseLib/ia32/WriteDr1.asm
deleted file mode 100644 (file)
index 5898206..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteDr1.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteDr1 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; AsmWriteDr1 (\r
-;   IN UINTN Value\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmWriteDr1    PROC\r
-    mov     eax, [esp + 4]\r
-    mov     dr1, eax\r
-    ret\r
-_AsmWriteDr1    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteDr1.s b/MdePkg/Library/BaseLib/ia32/WriteDr1.s
deleted file mode 100644 (file)
index 66fc2c7..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   WriteDr1.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmWriteDr1 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# VOID\r
-# EFIAPI\r
-# AsmWriteDr1 (\r
-#   IN UINTN Value\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmWriteDr1\r
-_AsmWriteDr1: \r
-    movl    4(%esp),%eax\r
-    movl    %eax, %dr1\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteDr2.asm b/MdePkg/Library/BaseLib/ia32/WriteDr2.asm
deleted file mode 100644 (file)
index 3ed25fc..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteDr2.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteDr2 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; AsmWriteDr2 (\r
-;   IN UINTN Value\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmWriteDr2    PROC\r
-    mov     eax, [esp + 4]\r
-    mov     dr2, eax\r
-    ret\r
-_AsmWriteDr2    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteDr2.s b/MdePkg/Library/BaseLib/ia32/WriteDr2.s
deleted file mode 100644 (file)
index 7b3f780..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   WriteDr2.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmWriteDr2 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# VOID\r
-# EFIAPI\r
-# AsmWriteDr2 (\r
-#   IN UINTN Value\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmWriteDr2\r
-_AsmWriteDr2: \r
-    movl    4(%esp),%eax\r
-    movl    %eax, %dr2\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteDr3.asm b/MdePkg/Library/BaseLib/ia32/WriteDr3.asm
deleted file mode 100644 (file)
index c1dbc82..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteDr3.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteDr3 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; AsmWriteDr3 (\r
-;   IN UINTN Value\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmWriteDr3    PROC\r
-    mov     eax, [esp + 4]\r
-    mov     dr3, eax\r
-    ret\r
-_AsmWriteDr3    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteDr3.s b/MdePkg/Library/BaseLib/ia32/WriteDr3.s
deleted file mode 100644 (file)
index 34d3e4f..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   WriteDr3.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmWriteDr3 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# VOID\r
-# EFIAPI\r
-# AsmWriteDr3 (\r
-#   IN UINTN Value\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmWriteDr3\r
-_AsmWriteDr3: \r
-    movl    4(%esp),%eax\r
-    movl    %eax, %dr3\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteDr4.asm b/MdePkg/Library/BaseLib/ia32/WriteDr4.asm
deleted file mode 100644 (file)
index 2c82512..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteDr4.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteDr4 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; AsmWriteDr4 (\r
-;   IN UINTN Value\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmWriteDr4    PROC\r
-    mov     eax, [esp + 4]\r
-    DB      0fh, 23h, 0e0h\r
-    ret\r
-_AsmWriteDr4    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteDr5.asm b/MdePkg/Library/BaseLib/ia32/WriteDr5.asm
deleted file mode 100644 (file)
index dc07424..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteDr5.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteDr5 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; AsmWriteDr5 (\r
-;   IN UINTN Value\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmWriteDr5    PROC\r
-    mov     eax, [esp + 4]\r
-    DB      0fh, 23h, 0e8h\r
-    ret\r
-_AsmWriteDr5    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteDr6.asm b/MdePkg/Library/BaseLib/ia32/WriteDr6.asm
deleted file mode 100644 (file)
index e307e82..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteDr6.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteDr6 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; AsmWriteDr6 (\r
-;   IN UINTN Value\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmWriteDr6    PROC\r
-    mov     eax, [esp + 4]\r
-    mov     dr6, eax\r
-    ret\r
-_AsmWriteDr6    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteDr6.s b/MdePkg/Library/BaseLib/ia32/WriteDr6.s
deleted file mode 100644 (file)
index 7d7726b..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   WriteDr6.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmWriteDr6 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# VOID\r
-# EFIAPI\r
-# AsmWriteDr6 (\r
-#   IN UINTN Value\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmWriteDr6\r
-_AsmWriteDr6: \r
-    movl    4(%esp),%eax\r
-    movl    %eax, %dr6\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteDr7.asm b/MdePkg/Library/BaseLib/ia32/WriteDr7.asm
deleted file mode 100644 (file)
index 55dbdc9..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteDr7.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteDr7 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; AsmWriteDr7 (\r
-;   IN UINTN Value\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmWriteDr7    PROC\r
-    mov     eax, [esp + 4]\r
-    mov     dr7, eax\r
-    ret\r
-_AsmWriteDr7    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteDr7.s b/MdePkg/Library/BaseLib/ia32/WriteDr7.s
deleted file mode 100644 (file)
index a96f445..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   WriteDr7.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmWriteDr7 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# VOID\r
-# EFIAPI\r
-# AsmWriteDr7 (\r
-#   IN UINTN Value\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmWriteDr7\r
-_AsmWriteDr7: \r
-    movl    4(%esp),%eax\r
-    movl    %eax, %dr7\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteGdtr.asm b/MdePkg/Library/BaseLib/ia32/WriteGdtr.asm
deleted file mode 100644 (file)
index a317e75..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteGdtr.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteGdtr function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .686P\r
-    .model  flat,C\r
-    .code\r
-\r
-InternalX86WriteGdtr  PROC\r
-    mov     eax, [esp + 4]\r
-    lgdt    fword ptr [eax]\r
-    ret\r
-InternalX86WriteGdtr  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteGdtr.s b/MdePkg/Library/BaseLib/ia32/WriteGdtr.s
deleted file mode 100644 (file)
index c3eb63d..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   WriteGdtr.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmWriteGdtr function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# VOID\r
-# EFIAPI\r
-# AsmWriteGdtr (\r
-#   OUT IA32_DESCRIPTOR  *Gdtr\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmWriteGdtr\r
-_AsmWriteGdtr: \r
-    movl    4(%esp),%eax\r
-    lgdt    (%eax)\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteIdtr.asm b/MdePkg/Library/BaseLib/ia32/WriteIdtr.asm
deleted file mode 100644 (file)
index d4b3b51..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteIdtr.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteIdtr function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .686P\r
-    .model  flat,C\r
-    .code\r
-\r
-InternalX86WriteIdtr  PROC\r
-    mov     eax, [esp + 4]\r
-    lidt    fword ptr [eax]\r
-    ret\r
-InternalX86WriteIdtr  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteIdtr.s b/MdePkg/Library/BaseLib/ia32/WriteIdtr.s
deleted file mode 100644 (file)
index f71b696..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   WriteIdtr.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmWriteIdtr function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# VOID\r
-# EFIAPI\r
-# AsmWriteIdtr (\r
-#   OUT IA32_DESCRIPTOR  *Idtr\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmWriteIdtr\r
-_AsmWriteIdtr: \r
-    movl    4(%esp),%eax\r
-    lidt    (%eax)\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteLdtr.asm b/MdePkg/Library/BaseLib/ia32/WriteLdtr.asm
deleted file mode 100644 (file)
index 39f8b2e..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteLdtr.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteLdtr function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .386p\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; AsmWriteLdtr (\r
-;   IN UINT16 Ldtr\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmWriteLdtr   PROC\r
-    mov     eax, [esp + 4]\r
-    lldt    ax\r
-    ret\r
-_AsmWriteLdtr   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteLdtr.s b/MdePkg/Library/BaseLib/ia32/WriteLdtr.s
deleted file mode 100644 (file)
index 3797bd5..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   WriteLdtr.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmWriteLdtr function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# VOID\r
-# EFIAPI\r
-# AsmWriteLdtr (\r
-#   IN UINT16 Ldtr\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmWriteLdtr\r
-_AsmWriteLdtr: \r
-    movl    4(%esp),%eax\r
-    lldtw   %ax\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteMm0.asm b/MdePkg/Library/BaseLib/ia32/WriteMm0.asm
deleted file mode 100644 (file)
index e924dbd..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteMm0.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteMm0 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586P\r
-    .model  flat\r
-    .xmm\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT64\r
-; EFIAPI\r
-; AsmWriteMm0 (\r
-;   IN UINT64   Value\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmWriteMm0    PROC\r
-    movq    mm0, [esp + 4]\r
-    ret\r
-_AsmWriteMm0    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteMm0.s b/MdePkg/Library/BaseLib/ia32/WriteMm0.s
deleted file mode 100644 (file)
index c444421..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   WriteMm0.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmWriteMm0 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINT64\r
-# EFIAPI\r
-# AsmWriteMm0 (\r
-#   IN UINT64   Value\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmWriteMm0\r
-_AsmWriteMm0: \r
-    movq    4(%esp),%mm0\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteMm1.asm b/MdePkg/Library/BaseLib/ia32/WriteMm1.asm
deleted file mode 100644 (file)
index 1f1d8ce..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteMm1.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteMm1 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586P\r
-    .model  flat\r
-    .xmm\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT64\r
-; EFIAPI\r
-; AsmWriteMm1 (\r
-;   IN UINT64   Value\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmWriteMm1    PROC\r
-    movq    mm1, [esp + 4]\r
-    ret\r
-_AsmWriteMm1    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteMm1.s b/MdePkg/Library/BaseLib/ia32/WriteMm1.s
deleted file mode 100644 (file)
index e3a492f..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   WriteMm1.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmWriteMm1 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINT64\r
-# EFIAPI\r
-# AsmWriteMm1 (\r
-#   IN UINT64   Value\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmWriteMm1\r
-_AsmWriteMm1: \r
-    movq    4(%esp),%mm1\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteMm2.asm b/MdePkg/Library/BaseLib/ia32/WriteMm2.asm
deleted file mode 100644 (file)
index a18417a..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteMm2.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteMm2 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586P\r
-    .model  flat\r
-    .xmm\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT64\r
-; EFIAPI\r
-; AsmWriteMm2 (\r
-;   IN UINT64   Value\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmWriteMm2    PROC\r
-    movq    mm2, [esp + 4]\r
-    ret\r
-_AsmWriteMm2    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteMm2.s b/MdePkg/Library/BaseLib/ia32/WriteMm2.s
deleted file mode 100644 (file)
index eaebb37..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   WriteMm2.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmWriteMm2 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINT64\r
-# EFIAPI\r
-# AsmWriteMm2 (\r
-#   IN UINT64   Value\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmWriteMm2\r
-_AsmWriteMm2: \r
-    movq    4(%esp),%mm2\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteMm3.asm b/MdePkg/Library/BaseLib/ia32/WriteMm3.asm
deleted file mode 100644 (file)
index 7aad49f..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteMm3.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteMm3 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586P\r
-    .model  flat\r
-    .xmm\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT64\r
-; EFIAPI\r
-; AsmWriteMm3 (\r
-;   IN UINT64   Value\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmWriteMm3    PROC\r
-    movq    mm3, [esp + 4]\r
-    ret\r
-_AsmWriteMm3    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteMm3.s b/MdePkg/Library/BaseLib/ia32/WriteMm3.s
deleted file mode 100644 (file)
index a514091..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   WriteMm3.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmWriteMm3 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINT64\r
-# EFIAPI\r
-# AsmWriteMm3 (\r
-#   IN UINT64   Value\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmWriteMm3\r
-_AsmWriteMm3: \r
-    movq    4(%esp),%mm3\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteMm4.asm b/MdePkg/Library/BaseLib/ia32/WriteMm4.asm
deleted file mode 100644 (file)
index 8be9c4b..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteMm4.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteMm4 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586P\r
-    .model  flat\r
-    .xmm\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT64\r
-; EFIAPI\r
-; AsmWriteMm4 (\r
-;   IN UINT64   Value\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmWriteMm4    PROC\r
-    movq    mm4, [esp + 4]\r
-    ret\r
-_AsmWriteMm4    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteMm4.s b/MdePkg/Library/BaseLib/ia32/WriteMm4.s
deleted file mode 100644 (file)
index 6d4a6cd..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   WriteMm4.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmWriteMm4 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINT64\r
-# EFIAPI\r
-# AsmWriteMm4 (\r
-#   IN UINT64   Value\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmWriteMm4\r
-_AsmWriteMm4: \r
-    movq    4(%esp),%mm4\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteMm5.asm b/MdePkg/Library/BaseLib/ia32/WriteMm5.asm
deleted file mode 100644 (file)
index bc501b3..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteMm5.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteMm5 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586P\r
-    .model  flat\r
-    .xmm\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT64\r
-; EFIAPI\r
-; AsmWriteMm5 (\r
-;   IN UINT64   Value\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmWriteMm5    PROC\r
-    movq    mm5, [esp + 4]\r
-    ret\r
-_AsmWriteMm5    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteMm5.s b/MdePkg/Library/BaseLib/ia32/WriteMm5.s
deleted file mode 100644 (file)
index 15d4332..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   WriteMm5.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmWriteMm5 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINT64\r
-# EFIAPI\r
-# AsmWriteMm5 (\r
-#   IN UINT64   Value\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmWriteMm5\r
-_AsmWriteMm5: \r
-    movq    4(%esp),%mm5\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteMm6.asm b/MdePkg/Library/BaseLib/ia32/WriteMm6.asm
deleted file mode 100644 (file)
index 4a6445c..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteMm6.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteMm6 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586P\r
-    .model  flat\r
-    .xmm\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT64\r
-; EFIAPI\r
-; AsmWriteMm6 (\r
-;   IN UINT64   Value\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmWriteMm6    PROC\r
-    movq    mm6, [esp + 4]\r
-    ret\r
-_AsmWriteMm6    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteMm6.s b/MdePkg/Library/BaseLib/ia32/WriteMm6.s
deleted file mode 100644 (file)
index 6b1361e..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   WriteMm6.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmWriteMm6 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINT64\r
-# EFIAPI\r
-# AsmWriteMm6 (\r
-#   IN UINT64   Value\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmWriteMm6\r
-_AsmWriteMm6: \r
-    movq    4(%esp),%mm6\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteMm7.asm b/MdePkg/Library/BaseLib/ia32/WriteMm7.asm
deleted file mode 100644 (file)
index 3bc73fe..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteMm7.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteMm7 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586P\r
-    .model  flat\r
-    .xmm\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT64\r
-; EFIAPI\r
-; AsmWriteMm7 (\r
-;   IN UINT64   Value\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmWriteMm7    PROC\r
-    movq    mm7, [esp + 4]\r
-    ret\r
-_AsmWriteMm7    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteMm7.s b/MdePkg/Library/BaseLib/ia32/WriteMm7.s
deleted file mode 100644 (file)
index d702fbb..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   WriteMm7.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmWriteMm7 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINT64\r
-# EFIAPI\r
-# AsmWriteMm7 (\r
-#   IN UINT64   Value\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmWriteMm7\r
-_AsmWriteMm7: \r
-    movq    4(%esp),%mm7\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteMsr32.asm b/MdePkg/Library/BaseLib/ia32/WriteMsr32.asm
deleted file mode 100644 (file)
index ba14514..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteMsr32.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteMsr32 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586P\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT32\r
-; EFIAPI\r
-; AsmWriteMsr32 (\r
-;   IN UINT32  Index,\r
-;   IN UINT32  Value\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmWriteMsr32  PROC\r
-    mov     eax, [esp + 8]\r
-    xor     edx, edx\r
-    mov     ecx, [esp + 4]\r
-    wrmsr\r
-    ret\r
-_AsmWriteMsr32  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteMsr32.s b/MdePkg/Library/BaseLib/ia32/WriteMsr32.s
deleted file mode 100644 (file)
index 450b3b7..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   WriteMsr32.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmWriteMsr32 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINT32\r
-# EFIAPI\r
-# AsmWriteMsr32 (\r
-#   IN UINT32  Index,\r
-#   IN UINT32  Value\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmWriteMsr32\r
-_AsmWriteMsr32: \r
-    movl    8(%esp),%eax\r
-    xorl    %edx,%edx\r
-    movl    4(%esp),%ecx\r
-    wrmsr\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteMsr64.asm b/MdePkg/Library/BaseLib/ia32/WriteMsr64.asm
deleted file mode 100644 (file)
index 5afc074..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteMsr64.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteMsr64 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .586P\r
-    .model  flat\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT64\r
-; EFIAPI\r
-; AsmWriteMsr64 (\r
-;   IN UINT32  Index,\r
-;   IN UINT64  Value\r
-;   );\r
-;------------------------------------------------------------------------------\r
-_AsmWriteMsr64  PROC\r
-    mov     edx, [esp + 12]\r
-    mov     eax, [esp + 8]\r
-    mov     ecx, [esp + 4]\r
-    wrmsr\r
-    ret\r
-_AsmWriteMsr64  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/ia32/WriteMsr64.s b/MdePkg/Library/BaseLib/ia32/WriteMsr64.s
deleted file mode 100644 (file)
index 802aad7..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   WriteMsr64.Asm\r
-#\r
-# Abstract:\r
-#\r
-#   AsmWriteMsr64 function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-\r
-     \r
-\r
-#------------------------------------------------------------------------------\r
-# UINT64\r
-# EFIAPI\r
-# AsmWriteMsr64 (\r
-#   IN UINT32  Index,\r
-#   IN UINT64  Value\r
-#   );\r
-#------------------------------------------------------------------------------\r
-.global _AsmWriteMsr64\r
-_AsmWriteMsr64: \r
-    movl    12(%esp),%edx\r
-    movl    8(%esp),%eax\r
-    movl    4(%esp),%ecx\r
-    wrmsr\r
-    ret\r
-\r
-\r
-\r
diff --git a/MdePkg/Library/BaseLib/x64/CpuBreakpoint.asm b/MdePkg/Library/BaseLib/x64/CpuBreakpoint.asm
deleted file mode 100644 (file)
index f1ebe47..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-;------------------------------------------------------------------------------ ;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   CpuBreakpoint.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   CpuBreakpoint function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; CpuBreakpoint (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-CpuBreakpoint   PROC\r
-    int  3\r
-    ret\r
-CpuBreakpoint   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/CpuFlushTlb.asm b/MdePkg/Library/BaseLib/x64/CpuFlushTlb.asm
deleted file mode 100644 (file)
index c2c4490..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------ ;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   CpuFlushTlb.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   CpuFlushTlb function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; CpuFlushTlb (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-CpuFlushTlb PROC\r
-    mov     rax, cr3\r
-    mov     cr3, rax\r
-    ret\r
-CpuFlushTlb ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/CpuId.asm b/MdePkg/Library/BaseLib/x64/CpuId.asm
deleted file mode 100644 (file)
index 867e92a..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   CpuId.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmCpuid function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-;  VOID\r
-;  EFIAPI\r
-;  AsmCpuid (\r
-;    IN   UINT32  RegisterInEax,\r
-;    OUT  UINT32  *RegisterOutEax  OPTIONAL,\r
-;    OUT  UINT32  *RegisterOutEbx  OPTIONAL,\r
-;    OUT  UINT32  *RegisterOutEcx  OPTIONAL,\r
-;    OUT  UINT32  *RegisterOutEdx  OPTIONAL\r
-;    )\r
-;------------------------------------------------------------------------------\r
-AsmCpuid    PROC    USES    rbx\r
-    mov     eax, ecx\r
-    push    rdx\r
-    push    rax                         ; save Index on stack\r
-    cpuid\r
-    test    r9, r9\r
-    jz      @F\r
-    mov     [r9], ecx\r
-@@:\r
-    pop     rcx\r
-    jrcxz   @F\r
-    mov     [rcx], eax\r
-@@:\r
-    mov     rcx, r8\r
-    jrcxz   @F\r
-    mov     [rcx], ebx\r
-@@:\r
-    mov     rcx, [rsp + 30h]\r
-    jrcxz   @F\r
-    mov     [rcx], edx\r
-@@:\r
-    pop     rax                         ; restore Index to rax as return value\r
-    ret\r
-AsmCpuid    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/CpuPause.asm b/MdePkg/Library/BaseLib/x64/CpuPause.asm
deleted file mode 100644 (file)
index d16da37..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-;------------------------------------------------------------------------------ ;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   CpuPause.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   CpuPause function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; CpuPause (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-CpuPause    PROC\r
-    pause\r
-    ret\r
-CpuPause    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/CpuSleep.asm b/MdePkg/Library/BaseLib/x64/CpuSleep.asm
deleted file mode 100644 (file)
index b2c4907..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-;------------------------------------------------------------------------------ ;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   CpuSleep.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   CpuSleep function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; CpuSleep (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-CpuSleep    PROC\r
-    hlt\r
-    ret\r
-CpuSleep    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/DisableInterrupts.asm b/MdePkg/Library/BaseLib/x64/DisableInterrupts.asm
deleted file mode 100644 (file)
index 586832c..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   DisableInterrupts.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   DisableInterrupts function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; DisableInterrupts (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-DisableInterrupts   PROC\r
-    cli\r
-    ret\r
-DisableInterrupts   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/DisablePaging64.asm b/MdePkg/Library/BaseLib/x64/DisablePaging64.asm
deleted file mode 100644 (file)
index 3134e42..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   DisablePaging64.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmDisablePaging64 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-InternalX86DisablePaging64    PROC\r
-    cli\r
-    shl     rcx, 32\r
-    lea     ecx, @F\r
-    push    rcx\r
-    mov     ebx, edx\r
-    mov     esi, r8d\r
-    mov     edi, r9d\r
-    mov     eax, [rsp + 28h]\r
-    retf\r
-@@:\r
-    mov     esp, eax                    ; set up new stack\r
-    mov     rax, cr0\r
-    btr     eax, 31\r
-    mov     cr0, rax                    ; disable paging\r
-    mov     ecx, 0c0000080h\r
-    rdmsr\r
-    and     ah, NOT 1                   ; clear LME\r
-    wrmsr\r
-    mov     rax, cr4\r
-    and     al, NOT (1 SHL 5)           ; clear PAE\r
-    mov     cr4, rax\r
-    push    rdi\r
-    push    rsi\r
-    call    rbx\r
-    jmp     $\r
-InternalX86DisablePaging64    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/EnableDisableInterrupts.asm b/MdePkg/Library/BaseLib/x64/EnableDisableInterrupts.asm
deleted file mode 100644 (file)
index 0d0400f..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   EnableDisableInterrupts.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   EnableDisableInterrupts function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; EnableDisableInterrupts (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-EnableDisableInterrupts PROC\r
-    sti\r
-    cli\r
-    ret\r
-EnableDisableInterrupts ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/EnableInterrupts.asm b/MdePkg/Library/BaseLib/x64/EnableInterrupts.asm
deleted file mode 100644 (file)
index 8fb4adf..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   EnableInterrupts.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   EnableInterrupts function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; EnableInterrupts (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-EnableInterrupts    PROC\r
-    sti\r
-    ret\r
-EnableInterrupts    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/FlushCacheLine.asm b/MdePkg/Library/BaseLib/x64/FlushCacheLine.asm
deleted file mode 100644 (file)
index 1d470e8..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   FlushCacheLine.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmFlushCacheLine function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; AsmFlushCacheLine (\r
-;   IN      VOID                      *LinearAddress\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmFlushCacheLine   PROC\r
-    clflush [rcx]\r
-    ret\r
-AsmFlushCacheLine   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/FxRestore.asm b/MdePkg/Library/BaseLib/x64/FxRestore.asm
deleted file mode 100644 (file)
index 8acfc2f..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   FxRestore.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmFxRestore function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-InternalX86FxRestore  PROC\r
-    fxrstor [rcx]\r
-    ret\r
-InternalX86FxRestore  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/FxSave.asm b/MdePkg/Library/BaseLib/x64/FxSave.asm
deleted file mode 100644 (file)
index cacb1f5..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   FxSave.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmFxSave function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-InternalX86FxSave PROC\r
-    fxsave  [rcx]\r
-    ret\r
-InternalX86FxSave ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/InterlockedCompareExchange32.asm b/MdePkg/Library/BaseLib/x64/InterlockedCompareExchange32.asm
deleted file mode 100644 (file)
index 55b0554..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   InterlockedCompareExchange32.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   InterlockedCompareExchange32 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT32\r
-; EFIAPI\r
-; InterlockedCompareExchange32 (\r
-;   IN      UINT32                    *Value,\r
-;   IN      UINT32                    CompareValue,\r
-;   IN      UINT32                    ExchangeValue\r
-;   );\r
-;------------------------------------------------------------------------------\r
-InternalSyncCompareExchange32   PROC\r
-    mov     eax, edx\r
-    lock    cmpxchg [rcx], r8d\r
-    ret\r
-InternalSyncCompareExchange32   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/InterlockedCompareExchange64.asm b/MdePkg/Library/BaseLib/x64/InterlockedCompareExchange64.asm
deleted file mode 100644 (file)
index 88c25a5..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   InterlockedCompareExchange64.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   InterlockedCompareExchange64 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT64\r
-; EFIAPI\r
-; InterlockedCompareExchange64 (\r
-;   IN      UINT64                    *Value,\r
-;   IN      UINT64                    CompareValue,\r
-;   IN      UINT64                    ExchangeValue\r
-;   );\r
-;------------------------------------------------------------------------------\r
-InternalSyncCompareExchange64   PROC\r
-    mov     rax, rdx\r
-    lock    cmpxchg [rcx], r8\r
-    ret\r
-InternalSyncCompareExchange64   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/InterlockedDecrement.asm b/MdePkg/Library/BaseLib/x64/InterlockedDecrement.asm
deleted file mode 100644 (file)
index f907fed..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   InterlockedDecrement.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   InterlockedDecrement function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT32\r
-; EFIAPI\r
-; InterlockedDecrement (\r
-;   IN      UINT32                    *Value\r
-;   );\r
-;------------------------------------------------------------------------------\r
-InternalSyncDecrement   PROC\r
-    lock    dec     dword ptr [rcx]\r
-    mov     eax, [rcx]\r
-    ret\r
-InternalSyncDecrement   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/InterlockedIncrement.asm b/MdePkg/Library/BaseLib/x64/InterlockedIncrement.asm
deleted file mode 100644 (file)
index f5a4130..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   InterlockedIncrement.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   InterlockedIncrement function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT32\r
-; EFIAPI\r
-; InterlockedIncrement (\r
-;   IN      UINT32                    *Value\r
-;   );\r
-;------------------------------------------------------------------------------\r
-InternalSyncIncrement   PROC\r
-    lock    inc     dword ptr [rcx]\r
-    mov     eax, [rcx]\r
-    ret\r
-InternalSyncIncrement   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/Invd.asm b/MdePkg/Library/BaseLib/x64/Invd.asm
deleted file mode 100644 (file)
index 4465879..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   Invd.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmInvd function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; AsmInvd (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmInvd PROC\r
-    invd\r
-    ret\r
-AsmInvd ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/LongJump.asm b/MdePkg/Library/BaseLib/x64/LongJump.asm
deleted file mode 100644 (file)
index 6634778..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   LongJump.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   Implementation of LongJump() on x64.\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-LongJump    PROC\r
-    mov     rbx, [rcx]\r
-    mov     rsp, [rcx + 8]\r
-    mov     rbp, [rcx + 10h]\r
-    mov     rdi, [rcx + 18h]\r
-    mov     rsi, [rcx + 20h]\r
-    mov     r12, [rcx + 28h]\r
-    mov     r13, [rcx + 30h]\r
-    mov     r14, [rcx + 38h]\r
-    mov     r15, [rcx + 40h]\r
-    mov     rax, rdx\r
-    jmp     qword ptr [rcx + 48h]\r
-LongJump    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/Monitor.asm b/MdePkg/Library/BaseLib/x64/Monitor.asm
deleted file mode 100644 (file)
index 0140494..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   Monitor.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmMonitor function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT64\r
-; EFIAPI\r
-; AsmMonitor (\r
-;   IN      UINTN                     Eax,\r
-;   IN      UINTN                     Ecx,\r
-;   IN      UINTN                     Edx\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmMonitor  PROC\r
-    mov     eax, ecx\r
-    mov     ecx, edx\r
-    mov     edx, r8d\r
-    DB      0fh, 1, 0c8h\r
-    ret\r
-AsmMonitor  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/Mwait.asm b/MdePkg/Library/BaseLib/x64/Mwait.asm
deleted file mode 100644 (file)
index 8f76d94..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   Mwait.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmMwait function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT64\r
-; EFIAPI\r
-; AsmMwait (\r
-;   IN      UINTN                     Eax,\r
-;   IN      UINTN                     Ecx\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmMwait    PROC\r
-    mov     eax, ecx\r
-    mov     ecx, edx\r
-    DB      0fh, 1, 0c9h\r
-    ret\r
-AsmMwait    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/Non-existing.c b/MdePkg/Library/BaseLib/x64/Non-existing.c
deleted file mode 100644 (file)
index b2c7378..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-/** @file\r
-       Non-existing BaseLib functions on x64\r
-\r
-       Copyright (c) 2006, Intel Corporation\r
-       All rights reserved. This program and the accompanying materials\r
-       are licensed and made available under the terms and conditions of the BSD License\r
-       which accompanies this distribution.  The full text of the license may be found at\r
-       http://opensource.org/licenses/bsd-license.php\r
-\r
-       THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-       WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-       Module Name:    Non-existing.c\r
-\r
-**/\r
-\r
-#include "../BaseLibInternals.h"\r
-\r
-VOID\r
-EFIAPI\r
-InternalX86EnablePaging32 (\r
-  IN      SWITCH_STACK_ENTRY_POINT  EntryPoint,\r
-  IN      VOID                      *Context1,  OPTIONAL\r
-  IN      VOID                      *Context2,  OPTIONAL\r
-  IN      VOID                      *NewStack\r
-  )\r
-{\r
-  ASSERT (FALSE);\r
-}\r
-\r
-VOID\r
-EFIAPI\r
-InternalX86DisablePaging32 (\r
-  IN      SWITCH_STACK_ENTRY_POINT  EntryPoint,\r
-  IN      VOID                      *Context1,  OPTIONAL\r
-  IN      VOID                      *Context2,  OPTIONAL\r
-  IN      VOID                      *NewStack\r
-  )\r
-{\r
-  ASSERT (FALSE);\r
-}\r
-\r
-VOID\r
-EFIAPI\r
-InternalX86EnablePaging64 (\r
-  IN      UINT16                    Cs,\r
-  IN      UINT64                    EntryPoint,\r
-  IN      UINT64                    Context1,  OPTIONAL\r
-  IN      UINT64                    Context2,  OPTIONAL\r
-  IN      UINT64                    NewStack\r
-  )\r
-{\r
-  ASSERT (FALSE);\r
-}\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadCr0.asm b/MdePkg/Library/BaseLib/x64/ReadCr0.asm
deleted file mode 100644 (file)
index 3e369c3..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadCr0.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadCr0 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadCr0 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadCr0  PROC\r
-    mov     rax, cr0\r
-    ret\r
-AsmReadCr0  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadCr2.asm b/MdePkg/Library/BaseLib/x64/ReadCr2.asm
deleted file mode 100644 (file)
index 8476f5a..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadCr2.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadCr2 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadCr2 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadCr2  PROC\r
-    mov     rax, cr2\r
-    ret\r
-AsmReadCr2  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadCr3.asm b/MdePkg/Library/BaseLib/x64/ReadCr3.asm
deleted file mode 100644 (file)
index af54d46..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadCr3.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadCr3 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadCr3 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadCr3  PROC\r
-    mov     rax, cr3\r
-    ret\r
-AsmReadCr3  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadCr4.asm b/MdePkg/Library/BaseLib/x64/ReadCr4.asm
deleted file mode 100644 (file)
index c8a881d..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadCr4.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadCr4 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadCr4 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadCr4  PROC\r
-    mov     rax, cr4\r
-    ret\r
-AsmReadCr4  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadCs.asm b/MdePkg/Library/BaseLib/x64/ReadCs.asm
deleted file mode 100644 (file)
index 126149a..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadCs.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadCs function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT16\r
-; EFIAPI\r
-; AsmReadCs (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadCs   PROC\r
-    mov     ax, cs\r
-    ret\r
-AsmReadCs   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadDr0.asm b/MdePkg/Library/BaseLib/x64/ReadDr0.asm
deleted file mode 100644 (file)
index 7e0d6b7..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadDr0.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadDr0 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadDr0 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadDr0  PROC\r
-    mov     rax, dr0\r
-    ret\r
-AsmReadDr0  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadDr1.asm b/MdePkg/Library/BaseLib/x64/ReadDr1.asm
deleted file mode 100644 (file)
index 22f11c4..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadDr1.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadDr1 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadDr1 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadDr1  PROC\r
-    mov     rax, dr1\r
-    ret\r
-AsmReadDr1  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadDr2.asm b/MdePkg/Library/BaseLib/x64/ReadDr2.asm
deleted file mode 100644 (file)
index 3b81605..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadDr2.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadDr2 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadDr2 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadDr2  PROC\r
-    mov     rax, dr2\r
-    ret\r
-AsmReadDr2  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadDr3.asm b/MdePkg/Library/BaseLib/x64/ReadDr3.asm
deleted file mode 100644 (file)
index 1968fd0..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadDr3.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadDr3 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadDr3 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadDr3  PROC\r
-    mov     rax, dr3\r
-    ret\r
-AsmReadDr3  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadDr4.asm b/MdePkg/Library/BaseLib/x64/ReadDr4.asm
deleted file mode 100644 (file)
index 9774001..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadDr4.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadDr4 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadDr4 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadDr4  PROC\r
-    DB      0fh, 21h, 0e0h\r
-    ret\r
-AsmReadDr4  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadDr5.asm b/MdePkg/Library/BaseLib/x64/ReadDr5.asm
deleted file mode 100644 (file)
index 0582502..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadDr5.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadDr5 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadDr5 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadDr5  PROC\r
-    DB      0fh, 21h, 0e8h\r
-    ret\r
-AsmReadDr5  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadDr6.asm b/MdePkg/Library/BaseLib/x64/ReadDr6.asm
deleted file mode 100644 (file)
index a3dafb9..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadDr6.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadDr6 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadDr6 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadDr6  PROC\r
-    mov     rax, dr6\r
-    ret\r
-AsmReadDr6  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadDr7.asm b/MdePkg/Library/BaseLib/x64/ReadDr7.asm
deleted file mode 100644 (file)
index 0cff14b..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadDr7.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadDr7 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadDr7 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadDr7  PROC\r
-    mov     rax, dr7\r
-    ret\r
-AsmReadDr7  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadDs.asm b/MdePkg/Library/BaseLib/x64/ReadDs.asm
deleted file mode 100644 (file)
index bdcddb6..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadDs.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadDs function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT16\r
-; EFIAPI\r
-; AsmReadDs (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadDs   PROC\r
-    mov     ax, ds\r
-    ret\r
-AsmReadDs   ENDP\r
-\r
-    END\r
-\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadEflags.asm b/MdePkg/Library/BaseLib/x64/ReadEflags.asm
deleted file mode 100644 (file)
index 174ae95..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadEflags.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadEflags function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadEflags (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadEflags   PROC\r
-    pushfq\r
-    pop     rax\r
-    ret\r
-AsmReadEflags   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadEs.asm b/MdePkg/Library/BaseLib/x64/ReadEs.asm
deleted file mode 100644 (file)
index 40384bc..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadEs.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadEs function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT16\r
-; EFIAPI\r
-; AsmReadEs (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadEs   PROC\r
-    mov     ax, es\r
-    ret\r
-AsmReadEs   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadFs.asm b/MdePkg/Library/BaseLib/x64/ReadFs.asm
deleted file mode 100644 (file)
index b63e474..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadFs.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadFs function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT16\r
-; EFIAPI\r
-; AsmReadFs (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadFs   PROC\r
-    mov     ax, fs\r
-    ret\r
-AsmReadFs   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadGdtr.asm b/MdePkg/Library/BaseLib/x64/ReadGdtr.asm
deleted file mode 100644 (file)
index 2d40599..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadGdtr.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadGdtr function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-InternalX86ReadGdtr   PROC\r
-    sgdt    fword ptr [rcx]\r
-    ret\r
-InternalX86ReadGdtr   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadGs.asm b/MdePkg/Library/BaseLib/x64/ReadGs.asm
deleted file mode 100644 (file)
index 02d140e..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadGs.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadGs function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT16\r
-; EFIAPI\r
-; AsmReadGs (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadGs   PROC\r
-    mov     ax, gs\r
-    ret\r
-AsmReadGs   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadIdtr.asm b/MdePkg/Library/BaseLib/x64/ReadIdtr.asm
deleted file mode 100644 (file)
index 260f697..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadIdtr.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadIdtr function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-InternalX86ReadIdtr   PROC\r
-    sidt    fword ptr [rcx]\r
-    ret\r
-InternalX86ReadIdtr   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadLdtr.asm b/MdePkg/Library/BaseLib/x64/ReadLdtr.asm
deleted file mode 100644 (file)
index 3d6a2f8..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadLdtr.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadLdtr function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT16\r
-; EFIAPI\r
-; AsmReadLdtr (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadLdtr PROC\r
-    sldt    eax\r
-    ret\r
-AsmReadLdtr ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadMm0.asm b/MdePkg/Library/BaseLib/x64/ReadMm0.asm
deleted file mode 100644 (file)
index 1239bca..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadMm0.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadMm0 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadMm0 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadMm0  PROC\r
-    DB      48h, 0fh, 7eh, 0c0h\r
-    ret\r
-AsmReadMm0  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadMm1.asm b/MdePkg/Library/BaseLib/x64/ReadMm1.asm
deleted file mode 100644 (file)
index b42bd7f..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadMm1.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadMm1 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadMm1 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadMm1  PROC\r
-    DB      48h, 0fh, 7eh, 0c8h\r
-    ret\r
-AsmReadMm1  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadMm2.asm b/MdePkg/Library/BaseLib/x64/ReadMm2.asm
deleted file mode 100644 (file)
index b10782e..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadMm2.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadMm2 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadMm2 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadMm2  PROC\r
-    DB      48h, 0fh, 7eh, 0d0h\r
-    ret\r
-AsmReadMm2  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadMm3.asm b/MdePkg/Library/BaseLib/x64/ReadMm3.asm
deleted file mode 100644 (file)
index 15a9647..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadMm3.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadMm3 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadMm3 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadMm3  PROC\r
-    DB      48h, 0fh, 7eh, 0d8h\r
-    ret\r
-AsmReadMm3  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadMm4.asm b/MdePkg/Library/BaseLib/x64/ReadMm4.asm
deleted file mode 100644 (file)
index 73f5283..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadMm4.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadMm4 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadMm4 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadMm4  PROC\r
-    DB      48h, 0fh, 7eh, 0e0h\r
-    ret\r
-AsmReadMm4  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadMm5.asm b/MdePkg/Library/BaseLib/x64/ReadMm5.asm
deleted file mode 100644 (file)
index a487889..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadMm5.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadMm5 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadMm5 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadMm5  PROC\r
-    DB      48h, 0fh, 7eh, 0e8h\r
-    ret\r
-AsmReadMm5  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadMm6.asm b/MdePkg/Library/BaseLib/x64/ReadMm6.asm
deleted file mode 100644 (file)
index 56f81bf..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadMm6.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadMm6 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadMm6 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadMm6  PROC\r
-    DB      48h, 0fh, 7eh, 0f0h\r
-    ret\r
-AsmReadMm6  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadMm7.asm b/MdePkg/Library/BaseLib/x64/ReadMm7.asm
deleted file mode 100644 (file)
index e3ad6bb..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadMm7.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadMm7 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmReadMm7 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadMm7  PROC\r
-    DB      48h, 0fh, 7eh, 0f8h\r
-    ret\r
-AsmReadMm7  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadMsr32.asm b/MdePkg/Library/BaseLib/x64/ReadMsr32.asm
deleted file mode 100644 (file)
index 271eabb..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadMsr32.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadMsr32 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT32\r
-; EFIAPI\r
-; AsmReadMsr32 (\r
-;   IN UINT32  Index\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadMsr32    PROC\r
-    rdmsr\r
-    ret\r
-AsmReadMsr32    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadMsr64.asm b/MdePkg/Library/BaseLib/x64/ReadMsr64.asm
deleted file mode 100644 (file)
index 4444c18..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadMsr64.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadMsr64 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT64\r
-; EFIAPI\r
-; AsmReadMsr64 (\r
-;   IN UINT32  Index\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadMsr64    PROC\r
-    rdmsr\r
-    shl     rax, 20h\r
-    shrd    rax, rdx, 20h\r
-    ret\r
-AsmReadMsr64    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadPmc.asm b/MdePkg/Library/BaseLib/x64/ReadPmc.asm
deleted file mode 100644 (file)
index b5004d6..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadPmc.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadPmc function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT64\r
-; EFIAPI\r
-; AsmReadPmc (\r
-;   IN UINT32   PmcIndex\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadPmc  PROC\r
-    rdpmc\r
-    shl     ecx, 1\r
-    jnc     @F\r
-    shl     rax, 20h\r
-    shrd    rax, rdx, 20h\r
-@@:\r
-    ret\r
-AsmReadPmc  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadSs.asm b/MdePkg/Library/BaseLib/x64/ReadSs.asm
deleted file mode 100644 (file)
index 4aa480d..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadSs.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadSs function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT16\r
-; EFIAPI\r
-; AsmReadSs (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadSs   PROC\r
-    mov     ax, ss\r
-    ret\r
-AsmReadSs   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadTr.asm b/MdePkg/Library/BaseLib/x64/ReadTr.asm
deleted file mode 100644 (file)
index 7cf8cdf..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadTr.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadTr function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT16\r
-; EFIAPI\r
-; AsmReadTr (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadTr   PROC\r
-    str     eax\r
-    ret\r
-AsmReadTr   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/ReadTsc.asm b/MdePkg/Library/BaseLib/x64/ReadTsc.asm
deleted file mode 100644 (file)
index 25fa2cc..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   ReadTsc.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmReadTsc function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT64\r
-; EFIAPI\r
-; AsmReadTsc (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmReadTsc  PROC\r
-    rdtsc\r
-    shl     rax, 20h\r
-    shrd    rax, rdx, 20h\r
-    ret\r
-AsmReadTsc  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/SetJump.asm b/MdePkg/Library/BaseLib/x64/SetJump.asm
deleted file mode 100644 (file)
index 305e721..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   SetJump.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   Implementation of SetJump() on x64.\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-SetJump     PROC\r
-    pop     rdx\r
-    mov     [rcx], rbx\r
-    mov     [rcx + 8], rsp\r
-    mov     [rcx + 10h], rbp\r
-    mov     [rcx + 18h], rdi\r
-    mov     [rcx + 20h], rsi\r
-    mov     [rcx + 28h], r12\r
-    mov     [rcx + 30h], r13\r
-    mov     [rcx + 38h], r14\r
-    mov     [rcx + 40h], r15\r
-    mov     [rcx + 48h], rdx\r
-    xor     rax, rax\r
-    jmp     rdx\r
-SetJump     ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/SwitchStack.asm b/MdePkg/Library/BaseLib/x64/SwitchStack.asm
deleted file mode 100644 (file)
index 0dfddc0..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   SwitchStack.Asm\r
-;\r
-; Abstract:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; Routine Description:\r
-;\r
-;   Routine for switching stacks with 1 parameter\r
-;\r
-; Arguments:\r
-;\r
-;   (rcx) EntryPoint    - Entry point with new stack.\r
-;   (rdx) Context       - Parameter for entry point.\r
-;   (r8)  Context2      - Parameter2 for entry point.\r
-;   (r9)  NewStack      - Pointer to new stack.\r
-;\r
-; Returns:\r
-;\r
-;   None\r
-;\r
-;------------------------------------------------------------------------------\r
-SwitchStack PROC\r
-    mov     rax, rcx\r
-    mov     rcx, rdx\r
-    mov     rdx, r8\r
-    lea     rsp, [r9 - 20h]\r
-    call    rax\r
-SwitchStack ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/Thunk16.asm b/MdePkg/Library/BaseLib/x64/Thunk16.asm
deleted file mode 100644 (file)
index f3e8084..0000000
+++ /dev/null
@@ -1,189 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   Thunk.asm\r
-;\r
-; Abstract:\r
-;\r
-;   Real mode thunk\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .data\r
-\r
-NullSegSel      DQ      0\r
-_16CsSegSel     LABEL   QWORD\r
-                DW      -1\r
-                DW      0\r
-                DB      0\r
-                DB      9bh\r
-                DB      8fh             ; 16-bit segment\r
-                DB      0\r
-_16BitDsSel     LABEL   QWORD\r
-                DW      -1\r
-                DW      0\r
-                DB      0\r
-                DB      93h\r
-                DB      8fh             ; 16-bit segment\r
-                DB      0\r
-GdtEnd          LABEL   QWORD\r
-\r
-    .const\r
-\r
-_16Gdtr         LABEL   FWORD\r
-                DW      offset GdtEnd - offset NullSegSel - 1\r
-                DQ      offset NullSegSel\r
-\r
-_16Idtr         FWORD   (1 SHL 10) - 1\r
-\r
-    .code\r
-\r
-IA32_REGS   STRUC   4t\r
-_EDI        DD      ?\r
-_ESI        DD      ?\r
-_EBP        DD      ?\r
-_ESP        DD      ?\r
-_EBX        DD      ?\r
-_EDX        DD      ?\r
-_ECX        DD      ?\r
-_EAX        DD      ?\r
-_DS         DW      ?\r
-_ES         DW      ?\r
-_FS         DW      ?\r
-_GS         DW      ?\r
-_RFLAGS     DQ      ?\r
-_EIP        DD      ?\r
-_CS         DW      ?\r
-_SS         DW      ?\r
-IA32_REGS   ENDS\r
-\r
-InternalAsmThunk16  PROC    USES    rbp rbx rsi rdi r12 r13 r14 r15\r
-    mov     eax, ds\r
-    push    rax\r
-    mov     eax, es\r
-    push    rax\r
-    push    fs\r
-    push    gs\r
-    mov     rsi, rcx                    ; rsi <- RegSet\r
-    push    sizeof (IA32_REGS)\r
-    pop     rcx\r
-    movzx   r8, (IA32_REGS ptr [rsi])._SS\r
-    xor     rdi, rdi\r
-    mov     edi, (IA32_REGS ptr [rsi])._ESP\r
-    sub     rdi, rcx                    ; reserve space on realmode stack\r
-    push    rdi                         ; save stack offset\r
-    imul    rax, r8, 16\r
-    add     rdi, rax                    ; rdi <- linear address of 16-bit stack\r
-    rep     movsb                       ; copy RegSet\r
-    mov     rsi, r8                     ; si <- 16-bit stack segment\r
-    pop     rbx                         ; rbx <- 16-bit stack offset\r
-    mov     rdi, rdx                    ; rdi <- realmode patch\r
-    lea     eax, @BackToThunk           ; rax <- address to back from real mode\r
-    push    rax                         ; use in a far return\r
-    mov     eax, cs\r
-    mov     [rsp + 4], eax              ; save CS\r
-    lea     eax, @16Return              ; thus @Return must < 4GB\r
-    stosd                               ; set ret address offset\r
-    xor     eax, eax\r
-    stosw                               ; set ret CS base to 0\r
-    mov     eax, esp\r
-    stosd                               ; rsp must < 4GB\r
-    mov     eax, ss\r
-    stosd\r
-    mov     rax, cr0\r
-    mov     ecx, eax                    ; ecx <- CR0\r
-    and     ecx, 7ffffffeh              ; clear PE, PG bits\r
-    stosd\r
-    mov     rax, cr4\r
-    mov     ebp, eax\r
-    and     ebp, 300h                   ; clear all but PCE and OSFXSR bits\r
-    stosd\r
-    sidt    fword ptr [rsp + 70h]       ; use parameter space to save IDTR\r
-    sgdt    fword ptr [rdi]\r
-    lea     edi, _16Idtr\r
-    lea     eax, @16Start               ; rax <- seg:offset of @16Start\r
-    push    rax\r
-    mov     dword ptr [rsp + 4], 8\r
-    push    10h\r
-    pop     rax                         ; rax <- 10h as dataseg selector\r
-    lgdt    _16Gdtr\r
-    retf\r
-@16Start:                               ; 16-bit starts here\r
-    mov     ss, eax                     ; set SS to be a 16-bit segment\r
-    mov     cr0, rcx                    ; disable protected mode\r
-    mov     cr4, rbp\r
-    DB      66h\r
-    mov     ecx, 0c0000080h\r
-    rdmsr\r
-    and     ah, NOT 1                   ; clear LME\r
-    wrmsr\r
-    mov     ss, esi                     ; set up 16-bit stack\r
-    mov     sp, bx                      ; mov esp, ebx actually\r
-    lidt    fword ptr [edi]\r
-    DB      66h, 61h                    ; popad\r
-    DB      1fh                         ; pop ds\r
-    DB      7                           ; pop es\r
-    pop     fs\r
-    pop     gs\r
-    add     sp, 8                       ; skip _RFLAGS\r
-    DB      66h\r
-    retf                                ; transfer control to 16-bit code\r
-@16Return:\r
-    DB      66h\r
-    push    0                           ; high order 32 bits of rflags\r
-    pushf                               ; pushfd actually\r
-    push    gs\r
-    push    fs\r
-    DB      6                           ; push es\r
-    DB      1eh                         ; push ds\r
-    DB      66h, 60h                    ; pushad\r
-    DB      67h, 66h, 0c5h, 74h, 24h, 30h   ; lds esi, [esp + 12*4]\r
-    DB      66h\r
-    mov     eax, [esi + 12]\r
-    mov     cr4, rax                    ; restore CR4\r
-    DB      66h\r
-    lgdt    fword ptr [esi + 16]\r
-    DB      66h\r
-    mov     ecx, 0c0000080h\r
-    rdmsr\r
-    or      ah, 1                       ; set LME\r
-    wrmsr\r
-    DB      66h\r
-    mov     eax, [esi + 8]\r
-    mov     cr0, rax                    ; restore CR0\r
-    xor     ax, ax                      ; xor eax, eax actually\r
-    mov     eax, ss\r
-    mov     dword ptr (IA32_REGS ptr [esp])._SS, eax\r
-    shl     ax, 4                       ; shl eax, 4 actually\r
-    add     ax, sp                      ; add eax, esp actually\r
-    add     sp, sizeof (IA32_REGS)      ; add esp, sizeof (IA32_REGS)\r
-    DB      66h\r
-    mov     dword ptr (IA32_REGS ptr [esp - sizeof (IA32_REGS)])._ESP, esp\r
-    DB      66h\r
-    lss     esp, fword ptr [esi]        ; restore protected mode stack\r
-    DB      66h\r
-    retf                                ; go back to protected mode\r
-@BackToThunk:\r
-    lidt    fword ptr [rsp + 68h]       ; restore protected mode IDTR\r
-    shl     rax, 32\r
-    shr     rax, 32                     ; clear high order 32 bits of RAX\r
-    pop     gs\r
-    pop     fs\r
-    pop     rcx\r
-    mov     es, ecx\r
-    pop     rcx\r
-    mov     ds, ecx\r
-    ret\r
-InternalAsmThunk16  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/Wbinvd.asm b/MdePkg/Library/BaseLib/x64/Wbinvd.asm
deleted file mode 100644 (file)
index ca0cb25..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   Wbinvd.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWbinvd function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; AsmWbinvd (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmWbinvd   PROC\r
-    wbinvd\r
-    ret\r
-AsmWbinvd   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/WriteCr0.asm b/MdePkg/Library/BaseLib/x64/WriteCr0.asm
deleted file mode 100644 (file)
index defc7e7..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteCr0.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteCr0 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmWriteCr0 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmWriteCr0 PROC\r
-    mov     cr0, rcx\r
-    ret\r
-AsmWriteCr0 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/WriteCr2.asm b/MdePkg/Library/BaseLib/x64/WriteCr2.asm
deleted file mode 100644 (file)
index ebe6f89..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteCr2.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteCr2 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmWriteCr2 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmWriteCr2 PROC\r
-    mov     cr2, rcx\r
-    ret\r
-AsmWriteCr2 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/WriteCr3.asm b/MdePkg/Library/BaseLib/x64/WriteCr3.asm
deleted file mode 100644 (file)
index 5715dea..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteCr3.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteCr3 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmWriteCr3 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmWriteCr3 PROC\r
-    mov     cr3, rcx\r
-    ret\r
-AsmWriteCr3 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/WriteCr4.asm b/MdePkg/Library/BaseLib/x64/WriteCr4.asm
deleted file mode 100644 (file)
index 210744e..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteCr4.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteCr4 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmWriteCr4 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmWriteCr4 PROC\r
-    mov     cr4, rcx\r
-    ret\r
-AsmWriteCr4 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/WriteDr0.asm b/MdePkg/Library/BaseLib/x64/WriteDr0.asm
deleted file mode 100644 (file)
index 2515a20..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteDr0.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteDr0 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmWriteDr0 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmWriteDr0 PROC\r
-    mov     dr0, rcx\r
-    ret\r
-AsmWriteDr0 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/WriteDr1.asm b/MdePkg/Library/BaseLib/x64/WriteDr1.asm
deleted file mode 100644 (file)
index 89f36ac..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteDr1.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteDr1 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmWriteDr1 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmWriteDr1 PROC\r
-    mov     dr1, rcx\r
-    ret\r
-AsmWriteDr1 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/WriteDr2.asm b/MdePkg/Library/BaseLib/x64/WriteDr2.asm
deleted file mode 100644 (file)
index 820977c..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteDr2.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteDr2 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmWriteDr2 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmWriteDr2 PROC\r
-    mov     dr2, rcx\r
-    ret\r
-AsmWriteDr2 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/WriteDr3.asm b/MdePkg/Library/BaseLib/x64/WriteDr3.asm
deleted file mode 100644 (file)
index 51c1407..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteDr3.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteDr3 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmWriteDr3 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmWriteDr3 PROC\r
-    mov     dr3, rcx\r
-    ret\r
-AsmWriteDr3 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/WriteDr4.asm b/MdePkg/Library/BaseLib/x64/WriteDr4.asm
deleted file mode 100644 (file)
index 12b6438..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteDr4.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteDr4 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmWriteDr4 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmWriteDr4 PROC\r
-    DB      0fh, 23h, 0e1h\r
-    ret\r
-AsmWriteDr4 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/WriteDr5.asm b/MdePkg/Library/BaseLib/x64/WriteDr5.asm
deleted file mode 100644 (file)
index 6d454d5..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteDr5.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteDr5 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmWriteDr5 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmWriteDr5 PROC\r
-    DB      0fh, 23h, 0e9h\r
-    ret\r
-AsmWriteDr5 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/WriteDr6.asm b/MdePkg/Library/BaseLib/x64/WriteDr6.asm
deleted file mode 100644 (file)
index b7b9f25..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteDr6.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteDr6 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmWriteDr6 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmWriteDr6 PROC\r
-    mov     dr6, rcx\r
-    ret\r
-AsmWriteDr6 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/WriteDr7.asm b/MdePkg/Library/BaseLib/x64/WriteDr7.asm
deleted file mode 100644 (file)
index de2237b..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteDr7.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteDr7 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmWriteDr7 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmWriteDr7 PROC\r
-    mov     dr7, rcx\r
-    ret\r
-AsmWriteDr7 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/WriteGdtr.asm b/MdePkg/Library/BaseLib/x64/WriteGdtr.asm
deleted file mode 100644 (file)
index 1757e3d..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteGdtr.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteGdtr function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-InternalX86WriteGdtr  PROC\r
-    lgdt    fword ptr [rcx]\r
-    ret\r
-InternalX86WriteGdtr  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/WriteIdtr.asm b/MdePkg/Library/BaseLib/x64/WriteIdtr.asm
deleted file mode 100644 (file)
index 09fcb9e..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteIdtr.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteIdtr function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-InternalX86WriteIdtr  PROC\r
-    lidt    fword ptr [rcx]\r
-    ret\r
-InternalX86WriteIdtr  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/WriteLdtr.asm b/MdePkg/Library/BaseLib/x64/WriteLdtr.asm
deleted file mode 100644 (file)
index d85ae38..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteLdtr.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteLdtr function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; VOID\r
-; EFIAPI\r
-; AsmWriteLdtr (\r
-;   IN UINT16 Ldtr\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmWriteLdtr    PROC\r
-    lldt    cx\r
-    ret\r
-AsmWriteLdtr    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/WriteMm0.asm b/MdePkg/Library/BaseLib/x64/WriteMm0.asm
deleted file mode 100644 (file)
index bb9a576..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteMm0.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteMm0 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmWriteMm0 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmWriteMm0 PROC\r
-    DB      48h, 0fh, 6eh, 0c1h\r
-    ret\r
-AsmWriteMm0 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/WriteMm1.asm b/MdePkg/Library/BaseLib/x64/WriteMm1.asm
deleted file mode 100644 (file)
index 1bab3bc..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteMm1.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteMm1 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmWriteMm1 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmWriteMm1 PROC\r
-    DB      48h, 0fh, 6eh, 0c9h\r
-    ret\r
-AsmWriteMm1 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/WriteMm2.asm b/MdePkg/Library/BaseLib/x64/WriteMm2.asm
deleted file mode 100644 (file)
index 97e8a6a..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteMm2.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteMm2 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmWriteMm2 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmWriteMm2 PROC\r
-    DB      48h, 0fh, 6eh, 0d1h\r
-    ret\r
-AsmWriteMm2 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/WriteMm3.asm b/MdePkg/Library/BaseLib/x64/WriteMm3.asm
deleted file mode 100644 (file)
index d55e19a..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteMm3.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteMm3 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmWriteMm3 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmWriteMm3 PROC\r
-    DB      48h, 0fh, 6eh, 0d9h\r
-    ret\r
-AsmWriteMm3 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/WriteMm4.asm b/MdePkg/Library/BaseLib/x64/WriteMm4.asm
deleted file mode 100644 (file)
index 2a69b93..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteMm4.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteMm4 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmWriteMm4 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmWriteMm4 PROC\r
-    DB      48h, 0fh, 6eh, 0e1h\r
-    ret\r
-AsmWriteMm4 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/WriteMm5.asm b/MdePkg/Library/BaseLib/x64/WriteMm5.asm
deleted file mode 100644 (file)
index c4d798b..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteMm5.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteMm5 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmWriteMm5 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmWriteMm5 PROC\r
-    DB      48h, 0fh, 6eh, 0e9h\r
-    ret\r
-AsmWriteMm5 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/WriteMm6.asm b/MdePkg/Library/BaseLib/x64/WriteMm6.asm
deleted file mode 100644 (file)
index c0164f6..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteMm6.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteMm6 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmWriteMm6 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmWriteMm6 PROC\r
-    DB      48h, 0fh, 6eh, 0f1h\r
-    ret\r
-AsmWriteMm6 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/WriteMm7.asm b/MdePkg/Library/BaseLib/x64/WriteMm7.asm
deleted file mode 100644 (file)
index 20768e2..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteMm7.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteMm7 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINTN\r
-; EFIAPI\r
-; AsmWriteMm7 (\r
-;   VOID\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmWriteMm7 PROC\r
-    DB      48h, 0fh, 6eh, 0f9h\r
-    ret\r
-AsmWriteMm7 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/WriteMsr32.asm b/MdePkg/Library/BaseLib/x64/WriteMsr32.asm
deleted file mode 100644 (file)
index 0a74403..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteMsr32.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteMsr32 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT32\r
-; EFIAPI\r
-; AsmWriteMsr32 (\r
-;   IN UINT32  Index,\r
-;   IN UINT32  Value\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmWriteMsr32   PROC\r
-    mov     eax, edx\r
-    xor     edx, edx\r
-    wrmsr\r
-    ret\r
-AsmWriteMsr32   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseLib/x64/WriteMsr64.asm b/MdePkg/Library/BaseLib/x64/WriteMsr64.asm
deleted file mode 100644 (file)
index 3337f45..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-;   WriteMsr64.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   AsmWriteMsr64 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT64\r
-; EFIAPI\r
-; AsmWriteMsr64 (\r
-;   IN UINT32  Index,\r
-;   IN UINT64  Value\r
-;   );\r
-;------------------------------------------------------------------------------\r
-AsmWriteMsr64   PROC\r
-    push    rdx\r
-    mov     eax, edx\r
-    shr     rdx, 20h\r
-    wrmsr\r
-    pop     rax\r
-    ret\r
-AsmWriteMsr64   ENDP\r
-\r
-    END\r