public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Laszlo Ersek <lersek@redhat.com>
To: edk2-devel-01 <edk2-devel@ml01.01.org>
Cc: David Wei <david.wei@intel.com>, Feng Tian <feng.tian@intel.com>,
	Liming Gao <liming.gao@intel.com>, Mang Guo <mang.guo@intel.com>,
	Michael D Kinney <michael.d.kinney@intel.com>,
	Star Zeng <star.zeng@intel.com>
Subject: [PATCH 0/3] MdePkg, MdeModulePkg, Vlv2TbltDevicePkg: 64-bit LoopTimes in S3 MEM_POLL
Date: Thu,  1 Dec 2016 18:55:53 +0100	[thread overview]
Message-ID: <20161201175556.2479-1-lersek@redhat.com> (raw)

While working on S3 boot script related stuff in OVMF, I wanted to see
if infinite blocking was possible in the various POLL opcodes. While
edk2's implementation of IO_POLL, PCI_CONFIG_POLL and PCI_CONFIG2_POLL
follows the PI spec vol5 closely, even internally (using 100ns delay
units), the MEM_POLL internals differ -- they are microseconds based.

That's not a problem per se (it's just a different internal opcode
representation, which is fine); the problem is that the current
internals don't conform to the spec: in 32-bit builds, the UINT64 number
of 100ns units that the caller intends to wait for is silently
truncated, for no good reason. This issue is not hard to fix (we can
even keep the microseconds-based internals), so let's fix it.

Repo:   https://github.com/lersek/edk2/
Branch: mempoll_looptimes_64bit

Cc: David Wei <david.wei@intel.com>
Cc: Feng Tian <feng.tian@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Mang Guo <mang.guo@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Star Zeng <star.zeng@intel.com>

Thanks
Laszlo

Laszlo Ersek (3):
  MdePkg, MdeModulePkg: S3BootScriptSaveMemPoll(): accept 64-bit
    LoopTimes
  MdeModulePkg: S3SaveStateDxe, SmmS3SaveState: save 64-bit LoopTimes
  Vlv2TbltDevicePkg/BootScriptSaveDxe: save 64-bit LoopTimes

 MdeModulePkg/Library/PiDxeS3BootScriptLib/BootScriptSave.c  | 2 +-
 MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveState.c    | 8 ++++----
 MdeModulePkg/Universal/Acpi/SmmS3SaveState/SmmS3SaveState.c | 8 ++++----
 MdePkg/Include/Library/S3BootScriptLib.h                    | 2 +-
 MdePkg/Library/BaseS3BootScriptLibNull/BootScriptLib.c      | 2 +-
 Vlv2TbltDevicePkg/BootScriptSaveDxe/ScriptSave.c            | 4 ++--
 6 files changed, 13 insertions(+), 13 deletions(-)

-- 
2.9.2



             reply	other threads:[~2016-12-01 17:56 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-01 17:55 Laszlo Ersek [this message]
2016-12-01 17:55 ` [PATCH 1/3] MdePkg, MdeModulePkg: S3BootScriptSaveMemPoll(): accept 64-bit LoopTimes Laszlo Ersek
2016-12-01 17:55 ` [PATCH 2/3] MdeModulePkg: S3SaveStateDxe, SmmS3SaveState: save " Laszlo Ersek
2016-12-01 17:55 ` [PATCH 3/3] Vlv2TbltDevicePkg/BootScriptSaveDxe: " Laszlo Ersek
2016-12-02  1:53 ` [PATCH 0/3] MdePkg, MdeModulePkg, Vlv2TbltDevicePkg: 64-bit LoopTimes in S3 MEM_POLL Yao, Jiewen
2016-12-02  4:54   ` Zeng, Star
2016-12-02  9:46     ` Laszlo Ersek
2016-12-02 23:56       ` Yao, Jiewen
2016-12-03 18:33         ` Laszlo Ersek
2016-12-09 22:58           ` Yao, Jiewen
2016-12-16  1:00             ` Kinney, Michael D
2017-01-03 11:35               ` Laszlo Ersek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20161201175556.2479-1-lersek@redhat.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox