VirtualBox

Ignore:
Timestamp:
Sep 11, 2019 8:46:37 AM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
133262
Message:

Devices/EFI/FirmwareNew: Start upgrade process to edk2-stable201908 (compiles on Windows and works to some extent), bugref:4643

Location:
trunk/src/VBox/Devices/EFI/FirmwareNew
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/EFI/FirmwareNew

  • trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleService.c

    r77662 r80721  
    55  the capsule runtime services are ready.
    66
    7 Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
    8 This program and the accompanying materials
    9 are licensed and made available under the terms and conditions of the BSD License
    10 which accompanies this distribution.  The full text of the license may be found at
    11 http://opensource.org/licenses/bsd-license.php
    12 
    13 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    14 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     7Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
     8SPDX-License-Identifier: BSD-2-Clause-Patent
    159
    1610**/
    1711
    18 #include <Uefi.h>
    19 
    20 #include <Protocol/Capsule.h>
    21 #include <Guid/CapsuleVendor.h>
    22 #include <Guid/FmpCapsule.h>
    23 
    24 #include <Library/DebugLib.h>
    25 #include <Library/PcdLib.h>
    26 #include <Library/CapsuleLib.h>
    27 #include <Library/UefiDriverEntryPoint.h>
    28 #include <Library/UefiBootServicesTableLib.h>
    29 #include <Library/UefiRuntimeServicesTableLib.h>
    30 #include <Library/UefiRuntimeLib.h>
    31 #include <Library/BaseLib.h>
    32 #include <Library/PrintLib.h>
    33 #include <Library/BaseMemoryLib.h>
     12#include "CapsuleService.h"
     13
    3414//
    3515// Handle for the installation of Capsule Architecture Protocol.
     
    4424UINT32      mMaxSizePopulateCapsule     = 0;
    4525UINT32      mMaxSizeNonPopulateCapsule  = 0;
    46 
    47 /**
    48   Create the variable to save the base address of page table and stack
    49   for transferring into long mode in IA32 PEI.
    50 **/
    51 VOID
    52 SaveLongModeContext (
    53   VOID
    54   );
    5526
    5627/**
     
    10273
    10374  //
     75  // Check if platform support Capsule In RAM or not.
     76  // Platform could choose to drop CapsulePei/CapsuleX64 and do not support Capsule In RAM.
     77  //
     78  if (!PcdGetBool(PcdCapsuleInRamSupport)) {
     79    return EFI_UNSUPPORTED;
     80  }
     81
     82  //
    10483  // Capsule Count can't be less than one.
    10584  //
     
    195174  // Check if the platform supports update capsule across a system reset
    196175  //
    197   if (!FeaturePcdGet(PcdSupportUpdateCapsuleReset)) {
     176  if (!IsPersistAcrossResetCapsuleSupported ()) {
    198177    return EFI_UNSUPPORTED;
    199178  }
     179
     180  CapsuleCacheWriteBack (ScatterGatherList);
    200181
    201182  //
     
    246227/**
    247228  Returns if the capsule can be supported via UpdateCapsule().
     229  Notice: When PcdCapsuleInRamSupport is unsupported, even this routine returns a valid answer,
     230  the capsule still is unsupported via UpdateCapsule().
    248231
    249232  @param  CapsuleHeaderArray    Virtual pointer to an array of virtual pointers to the capsules
     
    345328    //Check if the platform supports update capsule across a system reset
    346329    //
    347     if (!FeaturePcdGet(PcdSupportUpdateCapsuleReset)) {
     330    if (!IsPersistAcrossResetCapsuleSupported ()) {
    348331      return EFI_UNSUPPORTED;
    349332    }
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette