On 07/15/13 20:09, Jordan Justen wrote: > When the PM base address was moved from 0x400 to 0xb000, this > code was missed. This prevented shutdown's via the UEFI system > call from working. (For example, at the EFI shell prompt: reset -s) > > We now use gUefiOvmfPkgTokenSpaceGuid.PcdAcpiPmBaseAddress > which is currently set at 0xb000. > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Jordan Justen <jordan.l.jus...@intel.com> > --- > OvmfPkg/Library/ResetSystemLib/ResetSystemLib.c | 7 ++++--- > OvmfPkg/Library/ResetSystemLib/ResetSystemLib.inf | 6 +++++- > 2 files changed, 9 insertions(+), 4 deletions(-) > > diff --git a/OvmfPkg/Library/ResetSystemLib/ResetSystemLib.c > b/OvmfPkg/Library/ResetSystemLib/ResetSystemLib.c > index d075fbe..391d053 100644 > --- a/OvmfPkg/Library/ResetSystemLib/ResetSystemLib.c > +++ b/OvmfPkg/Library/ResetSystemLib/ResetSystemLib.c > @@ -1,7 +1,7 @@ > /** @file > Reset System Library functions for OVMF > > - Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR> > + Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR> > This program and the accompanying materials > are licensed and made available under the terms and conditions of the BSD > License > which accompanies this distribution. The full text of the license may be > found at > @@ -17,6 +17,7 @@ > #include <Library/BaseLib.h> > #include <Library/DebugLib.h> > #include <Library/IoLib.h> > +#include <Library/PcdLib.h> > #include <Library/TimerLib.h> > > VOID > @@ -26,8 +27,8 @@ AcpiPmControl ( > { > ASSERT (SuspendType < 6); > > - IoAndThenOr16 (0x404, (UINT16) ~0x3c00, (UINT16) (SuspendType << 10)); > - IoOr16 (0x404, BIT13); > + IoBitFieldWrite16 (PcdGet16 (PcdAcpiPmBaseAddress) + 4, 10, 13, > SuspendType); > + IoOr16 (PcdGet16 (PcdAcpiPmBaseAddress) + 4, BIT13); > CpuDeadLoop (); > } > > diff --git a/OvmfPkg/Library/ResetSystemLib/ResetSystemLib.inf > b/OvmfPkg/Library/ResetSystemLib/ResetSystemLib.inf > index c4d8ce5..b6a3ffe 100644 > --- a/OvmfPkg/Library/ResetSystemLib/ResetSystemLib.inf > +++ b/OvmfPkg/Library/ResetSystemLib/ResetSystemLib.inf > @@ -1,7 +1,7 @@ > ## @file > # Library instance for ResetSystem library class for OVMF > # > -# Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR> > +# Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR> > # This program and the accompanying materials > # are licensed and made available under the terms and conditions of the BSD > License > # which accompanies this distribution. The full text of the license may be > found at > @@ -31,8 +31,12 @@ > > [Packages] > MdePkg/MdePkg.dec > + OvmfPkg/OvmfPkg.dec > > [LibraryClasses] > DebugLib > IoLib > TimerLib > + > +[Pcd] > + gUefiOvmfPkgTokenSpaceGuid.PcdAcpiPmBaseAddress > \ No newline at end of file >
I made an effort to verify this against PMCNTRL in the PIIX4 spec. Reviewed-by: Laszlo Ersek <ler...@redhat.com> Thanks Laszlo ------------------------------------------------------------------------------ See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel