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:
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 | 33 ++++++++++-----------------------
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, 45 insertions(+), 27 deletions(-)
--
2.5.5
From: Sami Mujawar <sami.mujawar(a)arm.com>
Amend the Serial Port Console Redirection Table to enable (i.a.)
Microsoft Windows Emergency Management Services (EMS) over the
serial port.
This patch replaces the Spcr.asl file which described the SPCR table
in TDL format with Spcr.aslc which allows more flexibility by way of
permitting the use of PCDs. This means the serial port usage can be
modified at build.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Alexei Fedorov <alexei.fedorov(a)arm.com>
Signed-off-by: Girish Pathak <girish.pathak(a)arm.com>
Signed-off-by: Sami Mujawar <sami.mujawar(a)arm.com>
Signed-off-by: Evan Lloyd <evan.lloyd(a)arm.com>
---
Platforms/ARM/Juno/AcpiTables/AcpiTables.inf | 12 ++-
Platforms/ARM/Juno/AcpiTables/Spcr.asl | 73 ------------------
Platforms/ARM/Juno/AcpiTables/Spcr.aslc | 79 ++++++++++++++++++++
Platforms/ARM/Juno/ArmJuno.dsc | 1 +
4 files changed, 90 insertions(+), 75 deletions(-)
diff --git a/Platforms/ARM/Juno/AcpiTables/AcpiTables.inf b/Platforms/ARM/Juno/AcpiTables/AcpiTables.inf
index 3159d7d..412f43d 100644
--- a/Platforms/ARM/Juno/AcpiTables/AcpiTables.inf
+++ b/Platforms/ARM/Juno/AcpiTables/AcpiTables.inf
@@ -2,7 +2,7 @@
#
# ACPI table data and ASL sources required to boot the platform.
#
-# Copyright (c) 2014-2015, ARM Ltd. All rights reserved.
+# Copyright (c) 2014-2016, ARM Ltd. All rights reserved.
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@@ -24,7 +24,7 @@
[Sources]
Dsdt.asl
Dbg2.asl
- Spcr.asl
+ Spcr.aslc
Facs.aslc
Fadt.aslc
Gtdt.aslc
@@ -52,3 +52,11 @@
gArmTokenSpaceGuid.PcdGenericWatchdogControlBase
gArmTokenSpaceGuid.PcdGenericWatchdogRefreshBase
+
+ #
+ # PL011 UART Settings for Serial Port Console Redirection
+ #
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase
+ gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate
+ gArmPlatformTokenSpaceGuid.PL011UartClkInHz
+ gArmPlatformTokenSpaceGuid.PL011UartInterrupt
diff --git a/Platforms/ARM/Juno/AcpiTables/Spcr.asl b/Platforms/ARM/Juno/AcpiTables/Spcr.asl
deleted file mode 100644
index 2b65326..0000000
--- a/Platforms/ARM/Juno/AcpiTables/Spcr.asl
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 2015, Graeme Gregory <graeme.gregory(a)linaro.org>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
- * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- *
- * NB: This License is also known as the "BSD 2-Clause License".
- *
- *
- * [SPCR] ACPI Table
- *
- */
-
-[0004] Signature : "SPCR" [Serial Port Console Redirection table]
-[0004] Table Length : 00000050
-[0001] Revision : 02
-[0001] Checksum : 29
-[0006] Oem ID : "LINARO"
-[0008] Oem Table ID : "ARM-JUNO"
-[0004] Oem Revision : 00000000
-[0004] Asl Compiler ID : "INTL"
-[0004] Asl Compiler Revision : 20140926
-
-[0001] Interface Type : 03
-[0003] Reserved : 000000
-
-[000C] Serial Port Register : [Generic Address Structure]
-[0001] Space ID : 00 [SystemMemory]
-[0001] Bit Width : 20
-[0001] Bit Offset : 00
-[0001] Encoded Access Width : 03 [DWord Access:32]
-[0008] Address : 000000007FF80000
-
-[0001] Interrupt Type : 08
-[0001] PCAT-compatible IRQ : 00
-[0004] Interrupt : 00000073
-[0001] Baud Rate : 07
-[0001] Parity : 00
-[0001] Stop Bits : 01
-[0001] Flow Control : 00
-[0001] Terminal Type : 03
-[0001] Reserved : 00
-[0002] PCI Device ID : FFFF
-[0002] PCI Vendor ID : FFFF
-[0001] PCI Bus : 00
-[0001] PCI Device : 00
-[0001] PCI Function : 00
-[0004] PCI Flags : 00000000
-[04Bh] PCI Segment : 00
-[04Ch] Reserved : 00000000
-
diff --git a/Platforms/ARM/Juno/AcpiTables/Spcr.aslc b/Platforms/ARM/Juno/AcpiTables/Spcr.aslc
new file mode 100644
index 0000000..d76f48a
--- /dev/null
+++ b/Platforms/ARM/Juno/AcpiTables/Spcr.aslc
@@ -0,0 +1,79 @@
+/** @file
+* SPCR Table
+*
+* Copyright (c) 2014 - 2016, ARM Limited. All rights reserved.
+*
+* 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
+* http://opensource.org/licenses/bsd-license.php
+*
+* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+*
+**/
+
+#include "ArmPlatform.h"
+#include <Library/AcpiLib.h>
+#include <Library/ArmLib.h>
+#include <Library/PcdLib.h>
+#include <IndustryStandard/Acpi.h>
+#include <IndustryStandard/SerialPortConsoleRedirectionTable.h>
+
+/**
+ * References:
+ * Serial Port Console Redirection Table Specification Version 1.03 - August 10, 2015
+ **/
+
+
+///
+/// SPCR Flow Control
+///
+#define SPCR_FLOW_CONTROL_NONE 0
+
+
+STATIC EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE Spcr = {
+ ARM_ACPI_HEADER (EFI_ACPI_5_1_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE,
+ EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE,
+ EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_REVISION),
+ EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERFACE_TYPE_ARM_PL011_UART,
+ {
+ EFI_ACPI_RESERVED_BYTE,
+ EFI_ACPI_RESERVED_BYTE,
+ EFI_ACPI_RESERVED_BYTE
+ },
+ ARM_GAS32 (FixedPcdGet64 (PcdSerialRegisterBase)),
+ EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERRUPT_TYPE_GIC,
+ 0, // Not used on ARM
+ FixedPcdGet32 (PL011UartInterrupt),
+#if (FixedPcdGet64 (PcdUartDefaultBaudRate) == 9600)
+ EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_BAUD_RATE_9600,
+#elif (FixedPcdGet64 (PcdUartDefaultBaudRate) == 19200)
+ EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_BAUD_RATE_19200,
+#elif (FixedPcdGet64 (PcdUartDefaultBaudRate) == 57600)
+ EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_BAUD_RATE_57600,
+#elif (FixedPcdGet64 (PcdUartDefaultBaudRate) == 115200)
+ EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_BAUD_RATE_115200,
+#else
+#error Unsupported SPCR Baud Rate
+#endif
+ EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_PARITY_NO_PARITY,
+ EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_STOP_BITS_1,
+ SPCR_FLOW_CONTROL_NONE,
+ EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_TERMINAL_TYPE_ANSI,
+ EFI_ACPI_RESERVED_BYTE,
+ 0xFFFF,
+ 0xFFFF,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x00000000,
+ 0x00,
+ EFI_ACPI_RESERVED_DWORD
+};
+
+//
+// Reference the table being generated to prevent the optimizer from removing the
+// data structure from the executable
+//
+VOID* CONST ReferenceAcpiTable = &Spcr;
diff --git a/Platforms/ARM/Juno/ArmJuno.dsc b/Platforms/ARM/Juno/ArmJuno.dsc
index d099d86..b718794 100644
--- a/Platforms/ARM/Juno/ArmJuno.dsc
+++ b/Platforms/ARM/Juno/ArmJuno.dsc
@@ -128,6 +128,7 @@
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200
gArmPlatformTokenSpaceGuid.PL011UartInteger|4
gArmPlatformTokenSpaceGuid.PL011UartFractional|0
+ gArmPlatformTokenSpaceGuid.PL011UartInterrupt|115
## PL031 RealTimeClock
gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x1C170000
--
2.7.0
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