summaryrefslogtreecommitdiff
path: root/OvmfPkg/Library/AcpiTimerLib
AgeCommit message (Collapse)Author
2012-10-04When SOURCE_DEBUG_ENABLE is set, a TimerLib is linked into the SEC Phase to ↵mdkinney
support the Debug Agent and the TimerLib is mapped into read-only ROM/FLASH. The TimerLib in the OvmfPkg uses a global variable called mPmba and depends on that global being updated. This works for modules loaded into memory, but not XIP modules in ROM/FLASH. This patch removes the mPmba global variable and instead reads the PIIX4 Power Management Base Address from PCI configuration space when it is needed. This patch also simplifies the initialization logic in the constructor and introduces #defines to eliminate hard coded values in the function implementations. According to the PIIX4 documentation, the IO Space enable bit in the PCI Command Register does not have to be set for the Power Management Base Address to be decoded, so that one op has been removed from the constructor. I have tested this patch with QEMU and verified that the UDK Debugger us functional when SOURCE_DEBUG_ENABLE is set. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Michael Kinney <michael.d.kinney@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> I also tested it with RHEL-6.3 guest boot/shutdown, Fedora 18 Alpha XFCE guest boot/shutdown, and Windows 8 Consumer Preview guest boot/reboot/shutdown. (RHEL-6.3 host.) I didn't notice any adverse effects. Tested-by: Laszlo Ersek <lersek@redhat.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13783 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-12OvmfPkg: use PCI_COMMAND_OFFSET/EFI_PCI_COMMAND_IO_SPACE in AcpiTimerLibjljusten
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13721 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-12OvmfPkg: fix the mask for accessing the PIIX4 PMBA [15:6] bitfieldjljusten
The Index Register Base Address bitfield is selected by the binary mask 00000000 00000000 11111111 11000000, 0xFFC0; fix the typo. Reported-by: Gleb Natapov <gleb@redhat.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13720 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-12OvmfPkg: extract the PBMA used in AcpiTimerLib into a PCDjljusten
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13719 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-12OvmfPkg: assorted whitespace removaljljusten
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13718 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-04OvmfPkg/AcpiTables: Change the ACPI PM Base Adress to 0xb000jljusten
0xb000 is the address normally used with QEMU. 0x400 also appears to conflict with some debug I/O ports used by QEMU. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com> Tested-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Tested-by: Bei Guan <gbtju85@gmail.com> Reviewed-by: Bei Guan <gbtju85@gmail.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13279 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-25Add new API GetTimeInNanoSecond() to TimerLib to convert elapsed ticks to ↵xdu2
time in unit of nanoseconds. Signed-off-by: xdu2 Reviewed-by: mdkinney git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12206 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-11OvmfPkg AcpiTimerLib: Fix issue with I/O address initializationjljusten
For the first instance of the library that runs, the base is initialized to 0x400, but we access it at 0x401. Signed-off-by: jljusten Reviewed-by: niruiyu git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12121 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-27OvmfPkg/Library/AcpiTimerLib: Modified to support Xen HVMjljusten
If PIIX4 Power Management Base Address (PMBA) is already programmed, then read and use it's current setting. Signed-off-by: Andrei Warkentin <andreiw@motorola.com> Reviewed-by: gavinguan Signed-off-by: jljusten git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12053 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-28Update the copyright notice formathhtian
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10439 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-06Update the modules with the different module GUID to avoid the different ↵lgao4
modules with the same module GUID. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10344 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-25Remove svn:executable on *.c, *.h, *.asm, *.S, *.inf and *.asl*jljusten
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10087 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-25remove svn:executable attribute for INF file.klu2
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10086 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-25Clean up EFI_SPECIFICATION_VERSION and PI_SPECIFICATION_VERSION.klu2
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10074 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-231. Correct File header to ## @filelgao4
2. Remove unnecessary .common] postfix on section. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10051 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-27Add initial version of Open Virtual Machine Firmware (OVMF) platform.jljusten
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8398 6f19259b-4bc3-4df7-8a09-765794883524