Hello,
The following compilation condition in OpenPlatformPkg\Platforms\ARM\Juno\AcpiTables\Fadt.aslc
#if ARM_JUNO_ACPI_5_0
causes the GCC error listed below
k:\edk2\OpenPlatformPkg\Platforms\ARM\Juno\AcpiTables\Fadt.aslc:76:22: error: #if with no expression
#if ARM_JUNO_ACPI_5_0
^
when ARM_JUNO_ACPI_5_0 macro is defined in edk2\ArmPlatformPkg\ArmJunoPkg\Include\ArmPltaform.h:
#define ARM_JUNO_ACPI_5_0
To fix the bug
#if ARM_JUNO_ACPI_5_0
should be replaced with
#ifdef ARM_JUNO_ACPI_5_0
(also see the previous usage on line #20 in the same file)
Alexei.
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
Hi All,
I am facing issue in installing FAT filesystem on my SATA HDD.
My HDD is getting detected in UEFI as block device BLK1 and BLK2(Logs pasted below):
UEFI Interactive Shell v2.1
EDK II
UEFI v2.50 (LS2080a RDB board EFI May 18 2016 11:38:35, 0x00000000)
Mapping table
FS0: Alias(s):F0:
MemoryMapped(0xB,0x837EF30000,0x837EFFFFFF)
FS1: Alias(s):F1:
MemoryMapped(0xB,0x83DF659000,0x83DFB11227)
FS2: Alias(s):HD11b:;BLK6:
VenHw(B6F44CC0-9E45-11DF-BE21-0002A5D5C51B)/HD(1,MBR,0x00000000,0x2000,0xEE5800)
BLK3: Alias(s):
VenHw(1F15DA3C-37FF-4070-B471-BB4AF12A724A)
BLK4: Alias(s):
VenHw(4D00EF14-C4E0-426B-81B7-30A00A14AAD6)
BLK5: Alias(s):
VenHw(B6F44CC0-9E45-11DF-BE21-0002A5D5C51B)
BLK0: Alias(s):
PciRoot(0x0)/Pci(0x0,0x0)/Sata(0x0,0x0,0x0)
BLK1: Alias(s):
PciRoot(0x0)/Pci(0x0,0x0)/Sata(0x0,0x0,0x0)/HD(1,MBR,0x88683A7D,0x800,0x8F0C981)
BLK2: Alias(s):
PciRoot(0x0)/Pci(0x0,0x0)/Sata(0x0,0x0,0x0)/HD(2,MBR,0x88683A7D,0x8F0D800,0x8F0CB01)
I have done following inclusion for FAT and partitioning:
FatPkg/FatPei/FatPei.inf
FatPkg/EnhancedFatDxe/Fat.inf
MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.in
But FAT filesystem is not getting installed on HDD partitions.
One issue I could see is:
that AtaBusDxe code install BlockIo, BlockIo2 and DiskInfo protocols as pasted:
(from file MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBus.c)
Status = gBS->InstallMultipleProtocolInterfaces (
&AtaDevice->Handle,
&gEfiDevicePathProtocolGuid,
AtaDevice->DevicePath,
&gEfiBlockIoProtocolGuid,
&AtaDevice->BlockIo,
&gEfiBlockIo2ProtocolGuid,
&AtaDevice->BlockIo2,
&gEfiDiskInfoProtocolGuid,
&AtaDevice->DiskInfo,
NULL
);
Whereas in FatPkg which I am using for FAT filesystem installation use DiskIo and DiskIo2 protocols:
Volume->DiskIo = DiskIo;
Volume->DiskIo2 = DiskIo2;
And use these to Open Fat formatted device.
Any clue, how to use FatPkg to install filesystem on SATA HDD?
Thanks and Regards,
Shaveta
Since the full image we build now contains the Trusted Firmware as well,
update the image names to better reflect that:
STYX_EFI.fd => STYX_ROM.fd
FVMAIN_COMPACT.Fv => STYX_EFI.Fv
Since the Trusted Firmware image is fairly static, and the varstore region
that follows the EFI image in the ROM image typically does not always need
to be updated when the EFI code is, it is possible to only flash STYX_EFI.Fv
at an offset of 2 MB into the SPI flash.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel(a)linaro.org>
---
There is one slight snag with reusing the varstore, and that is that the
UiApp or Shell entries will be recreated if the respective binaries
appear at different offsets in memory, and the stale ones are not removed.
However, this not only happens if you reuse the varstore with a new build,
but even if you run, e.g., the same QEMU build but change the memory size.
IOW, this is a generic issue that should be fixed on the BDS side (and not
only for the shell), so I guess that should not block this patch.
Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.fdf | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.fdf b/Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.fdf
index 30405551265f..dc1b6074778f 100644
--- a/Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.fdf
+++ b/Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.fdf
@@ -24,7 +24,7 @@
#
################################################################################
-[FD.STYX_EFI]
+[FD.STYX_ROM]
BaseAddress = 0x8000C80000|gArmTokenSpaceGuid.PcdFdBaseAddress # The base address of the Firmware in NOR Flash.
Size = 0x00500000|gArmTokenSpaceGuid.PcdFdSize # The size in bytes of the FLASH Device
ErasePolarity = 1
@@ -54,7 +54,7 @@ FILE = OpenPlatformPkg/Platforms/AMD/Styx/OverdriveBoard/Binary/TrustedFirmware.
0x00200000|0x00260000
gArmTokenSpaceGuid.PcdFvBaseAddress|gArmTokenSpaceGuid.PcdFvSize
-FV = FVMAIN_COMPACT
+FV = STYX_EFI
!include OpenPlatformPkg/Platforms/AMD/Styx/Common/Varstore.fdf.inc
@@ -241,7 +241,7 @@ READ_LOCK_STATUS = TRUE
#
INF OpenPlatformPkg/Platforms/AMD/Styx/Drivers/StyxRngDxe/StyxRngDxe.inf
-[FV.FVMAIN_COMPACT]
+[FV.STYX_EFI]
FvAlignment = 16
ERASE_POLARITY = 1
MEMORY_MAPPED = TRUE
--
2.7.4
The primary change is the BDS change, which i sent out separately, but
which i included for completeness. The whole series is pushed to my
dev-FDK-102-ard branch again.
Platforms/AMD/Styx/AmdStyxPciHostBridgeLib: set unused regions base to
MAX_UINT64
This prepares our code for upcoming changes in the core PCI root bridge
driver
Platforms/AMD/Styx/FdtDxe: remove explicit BEFORE xxx Depex
FdtDxe does not need to be dispatched after the PCI driver, since it does
not do anything before the ready-to-boot event is signalled
Platforms/AMD/Styx/AmdStyx.dec: remove cross-package includes
Platforms/AMD/Styx: remove references to gArmMpCoreInfoGuid
Code cleanup
Platforms/AMD/Styx/CelloBoard: remove BdsLib library class resolution
Platforms/AMD/Styx/OverdriveBoard: make BdsLib reference local to
FdtDxe
Get rid of deprecated ARM BDS BdsLib references as much as we can
Platforms/AMD/Styx: switch Cello and Overdrive to generic BDS
BDS switch
Platforms/AMD/Styx: remove StatusCode PEI module
Platforms/AMD/Styx: DSC spring cleaning
Cleanup
Platforms/AMD/SataControllerDxe: use different segment# from actual
PCI root
Small 'fix' but no real bug here
Platforms/AMD/Styx/OverdriveBoard: make MnpDxe less noisy
Debug patch
Platforms/AMD/Styx/AmdStyx.dec | 14 +--
Platforms/AMD/Styx/CelloBoard/CelloBoard.dsc | 104 ++++--------------
Platforms/AMD/Styx/CelloBoard/CelloBoard.fdf | 4 +-
Platforms/AMD/Styx/Drivers/SataControllerDxe/PciEmulation.c | 2 +-
Platforms/AMD/Styx/Library/AmdStyxHelperLib/AmdStyxHelperLib.inf | 1 -
Platforms/AMD/Styx/Library/AmdStyxPciHostBridgeLib/AmdStyxPciHostBridgeLib.c | 4 +-
Platforms/AMD/Styx/OverdriveBoard/FdtDxe/FdtDxe.inf | 5 +-
Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.dsc | 115 ++++++--------------
Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.fdf | 4 +-
9 files changed, 63 insertions(+), 190 deletions(-)
--
2.7.4