Release Note
This is personal project (author: https://www.facebook.com/wu.max.39).
EfiPy_r0.1.4(24622) is released today for sync for UDK 2017 rev 24622.
What is the next of EfiPy:
1. Easy memory operation in UEFI shell with Python. (Status: in progress)
Example:
1.1. MSR operation:
print "msr[0x1B][8]: 0x%016X" % msr[0x1B][8]
print "msr[0xFE]: 0x%016X" % msr[0xFE]
print "msr[0xFE][7:0]: 0x%016X" % msr[0xFE][7:0]
print "msr[0xFE][0x08]: 0x%016X" % msr[0xFE][0x08]
print "msr[0xFE][0x0A]: 0x%016X" % msr[0xFE][0x0A]
1.2 Memory operation:
print " Mem8[0x3FF39018]: 0x%02X" % Mem8[0x3FF39018]
print "Mem16[0x3FF39018]: 0x%04X" % Mem16[0x3FF39018]
print "Mem32[0x3FF39018]: 0x%08X" % Mem32[0x3FF39018]
print "Mem64[0x3FF39018]: 0x%016X" % Mem64[0x3FF39018]
1.3 IO port
print "Io8[0x71][0:7] & 0x86: 0x%02X" % (Io8[0x71][0:7] & 0x86)
print "Io8[0x71] & 0x86: 0x%02X" % (Io8[0x71] & 0x86)
print "Io8[0x71][0:7] | 0x86: 0x%02X" % (Io8[0x71][0:7] | 0x86)
print "Io8[0x71][7:0] | 0x86: 0x%02X" % (Io8[0x71][7:0] | 0x86)
1.4 CPUID
print "CPUID(0x01).Regs.EAX.Uint32: 0x%08X" % CPUID(0x01).Regs.EAX.Uint32
print "CPUID(0x01).EAX (Hex): 0x%08X" % CPUID(0x01).EAX
print "CPUID(0x01).EAX (Bin): %s" % bin(CPUID(0x01).EAX)
print "===> EAX.SteppingId: [Bits 3:0] Stepping ID"
print "CPUID(0x01).EAX[3:0]: 0x%08X" % CPUID(0x01).EAX[3:0]
print "CPUID(0x01).EAX.SteppingId: 0x%03X" % CPUID(0x01).EAX.SteppingId
1.5 others...
2. Py2Efi (Status: in progress)
What is Py2Efi?
Capsule program running in EFI shell which packs python libraries into single .efi file.
This capsuled .efi file is a standalone EFI program which makes itself run in another platform without any other python programs.