Hi Neeraj,
Some server have multi PCI segment. These PCI segment are put above
4GB to save more memory space below
4GB for legacy device(some device only use 32-bit Memory Mapped IO space).My
SMI want to access these PCI segment.
But I can’t find a method to touch it in X64.
Best wishes,
Stanley
发件人: Neeraj Ladkani [mailto:[email protected]]
发送时间: 2014年9月7日 0:58
收件人: [email protected]
主题: Re: [edk2] run SMM in 64-bit
Hi,
as par SDM section 34.5.1. not sure if its a hardware limitation.
be
"After saving the current context of the processor, the processor initializes
its core registers to the values shown in Table 34-4. Upon entering SMM, the PE
and PG flags in control register CR0 are cleared, which places the processor
in an environment similar to real-address mode. The differences between the SMM
execution environment and the
real-address mode execution environment are as follows:
• The addressable address space ranges from 0 to FFFFFFFFH (4 GBytes).
• The normal 64-KByte segment limit for real-address mode is increased to 4
GBytes.
• The default operand and address sizes are set to 16 bits, which restricts the
addressable SMRAM address space
to the 1-MByte real-address mode limit for native real-address-mode code.
However, operand-size and
address-size override prefixes can be used to access the address space beyond
the 1-MByte.
I am just curious, what kind of limitations you are facing in 4 GB limit?
Neeraj
On Sat, Sep 6, 2014 at 10:08 PM, Andrew Fish <[email protected]> wrote:
On Sep 6, 2014, at 3:52 AM, stanley.ganyezu <[email protected]> wrote:
Hi Experts,
Currently, X86 cpu run SMM in 32-bit. There are a lot of limitation
about 32-bit. I want to run SMM in 64-bit to access whole cpu address space,but
I can’t figure it out.
UEFI/PI systems run SMM in 64-bit mode? See UEFI Platform Initialization
Specification Version 1.3. http://www.uefi.org/specifications
Can you give me some tips? Any suggestion will be appreciated.
Put the system in Long mode, this requires page tables. The DXE IPL and 64-bit
SEC in Ovmf both have code that transitions to 64-bit long mode.
https://svn.code.sf.net/p/edk2/code/trunk/edk2/MdeModulePkg/Core/DxeIplPeim/
https://svn.code.sf.net/p/edk2/code/trunk/edk2/OvmfPkg/ResetVector/
It is really dangerous to modify the SMM code if you do not fully understand
it, since SMM runs at a higher privilege than the OS it is an attack point that
the OS can not defend against.
Thanks,
Andrew Fish
Best wishes,
Stanley
------------------------------------------------------------------------------
Slashdot TV.
Video for Nerds. Stuff that matters.
<http://tv.slashdot.org/_______________________________________________>
http://tv.slashdot.org/_______________________________________________
edk2-devel mailing list
<mailto:[email protected]> [email protected]
<https://lists.sourceforge.net/lists/listinfo/edk2-devel>
https://lists.sourceforge.net/lists/listinfo/edk2-devel
------------------------------------------------------------------------------
Slashdot TV.
Video for Nerds. Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel
--
Thanks
Neeraj
------------------------------------------------------------------------------
Slashdot TV.
Video for Nerds. Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel