Hi folks,
We are still using PrePi on some of our platforms and the code is still
running on Flash at this stage. We found there is global data write in
ArmPlatformPkg/PrePi/AArch64/ModuleEntryPoint.S. The change was
introduced by this commit: 5dbacdb21b59748e885c2eccae370b81271ab795:
+*mSystemMemoryEnd: .8byte 0*^M
ASM_PFX(_ModuleEntryPoint):
// Do early platform specific actions
@@ -40,12 +42,23 @@ _SetSVCMode:
// Check if we can install the stack at the top of the System Memory
or if we need
// to install the stacks at the bottom of the Firmware Device (case
the FD is located
// at the top of the DRAM)
-_SetupStackPosition:
- // Compute Top of System Memory
- LoadConstantToReg (FixedPcdGet64 (PcdSystemMemoryBase), x1)
- LoadConstantToReg (FixedPcdGet64 (PcdSystemMemorySize), x2)
+_SystemMemoryEndInit:^M
+ ldr x1, mSystemMemoryEnd^M
+^M
+ // Is mSystemMemoryEnd initialized?^M
+ cmp x1, #0^M
+ bne _SetupStackPosition^M
+^M
+ LoadConstantToReg (FixedPcdGet32(PcdSystemMemoryBase), x1)^M
+ LoadConstantToReg (FixedPcdGet32(PcdSystemMemorySize), x2)^M
sub x2, x2, #1
- add x1, x1, x2 // x1 = SystemMemoryTop = PcdSystemMemoryBase +
PcdSystemMemorySize
+ add x1, x1, x2^M
+ // Update the global variable^M
+ *adr x2, mSystemMemoryEnd*^M
+ *str x1, [x2]*^M
I think direct write to flash should be forbidden. This change may work
well for platforms which use ATF and load PrePi into memory, but not for
other platforms.
Please let me know your comments about this.
Thanks and regards,
Heyi
From: Fu Wei <fu.wei(a)linaro.org>
This patchset add xen_boot support into grup-mkconfig for
generating xen boot entrances automatically
Also update the docs/grub.texi for new xen_boot commands.
This patchset has been tested on Foudation model with a bug fix:
http://lists.gnu.org/archive/html/grub-devel/2016-02/msg00205.html
ChangeLog:
v6: http://lists.gnu.org/archive/html/grub-devel/2016-07/
Fix Coding style of util/grub.d/20_linux_xen.in, use soft tab.
v5: http://lists.gnu.org/archive/html/grub-devel/2016-07/msg00008.html
Update the introduction of xen_module commands in docs/grub.texi,
according to the suggestion from Julien Grall
v4: http://lists.gnu.org/archive/html/grub-devel/2016-05/
according to the XSM loading mechanism of Xen(upstreamed),
update the introduction of xen_module commands in docs/grub.texi
v3: http://lists.gnu.org/archive/html/grub-devel/2016-02/msg00314.html
reorder the patches
update the introduction of xen_module commands in docs/grub.texi
v2: http://lists.gnu.org/archive/html/grub-devel/2016-02/msg00282.html
add "--nounzip" option support in xen_module
use "feature_xen_boot" instead of "grub_xen_boot"
update the introduction of xen boot commands in docs/grub.texi
v1 :first upstream patchset:
http://lists.gnu.org/archive/html/grub-devel/2016-02/msg00264.html
Fu Wei (4):
i386,xen: Add xen_hypervisor and xen_module aliases for i386
arm64: add "--nounzip" option support in xen_module command
* util/grub.d/20_linux_xen.in: Add xen_boot command support
arm64: update the introduction of xen boot commands in docs/grub.texi
docs/grub.texi | 32 +++++++++-----------------------
grub-core/loader/arm64/xen_boot.c | 17 +++++++++++++++++
grub-core/loader/i386/xen.c | 7 +++++++
grub-core/normal/main.c | 2 +-
util/grub.d/20_linux_xen.in | 13 ++++++++++---
5 files changed, 44 insertions(+), 27 deletions(-)
--
2.5.5
Hi,
I send a patchset adding support for PciEmulation driver, based on similar
solution for Omap35xx platform. It allows for enabling PCI drivers for
platform devices, such as XHCI, AHCI, SDHCI, of which first two
are enclosed. Although it's 7 patches, only first one comprise of
bigger amount of code and it's fairly not complicated.
The patches can be found in the github:
https://github.com/MarvellEmbeddedProcessors/edk2-open-platform/commits/opp…
I'm looking forward to your comments or remarks.
Best regards,
Marcin
Jan Dąbroś (7):
Platforms/Marvell: Add PciEmulation driver
Platforms/Marvell: Enable PciEmulation driver for Armada70x0 platform
Platforms/Marvell: Enable USB stack for Armada70x0 platform
Platforms/Marvell: Enable two xHCI ports for Armada70x0 board
Platforms/Marvell: Enable SATA stack for Armada70x0 platform
Platforms/Marvell: Add support for SATA devices in PciEmulation
Platforms/Marvell: Enable SATA port for Armada70x0 board
.../Marvell/PortingGuide/PciEmulation.txt | 53 ++
Documentation/Marvell/PortingGuide/Sata.txt | 16 +
Platforms/Marvell/Armada/Armada.dsc.inc | 17 +
Platforms/Marvell/Armada/Armada70x0.dsc | 18 +
Platforms/Marvell/Armada/Armada70x0.fdf | 17 +
Platforms/Marvell/Marvell.dec | 17 +-
Platforms/Marvell/PciEmulation/PciEmulation.c | 790 +++++++++++++++++++++
Platforms/Marvell/PciEmulation/PciEmulation.h | 277 ++++++++
Platforms/Marvell/PciEmulation/PciEmulation.inf | 67 ++
Platforms/Marvell/PciEmulation/PciRootBridgeIo.c | 314 ++++++++
10 files changed, 1583 insertions(+), 3 deletions(-)
create mode 100644 Documentation/Marvell/PortingGuide/PciEmulation.txt
create mode 100644 Documentation/Marvell/PortingGuide/Sata.txt
create mode 100644 Platforms/Marvell/PciEmulation/PciEmulation.c
create mode 100644 Platforms/Marvell/PciEmulation/PciEmulation.h
create mode 100644 Platforms/Marvell/PciEmulation/PciEmulation.inf
create mode 100644 Platforms/Marvell/PciEmulation/PciRootBridgeIo.c
--
1.8.3.1