> When GetHealthStatus() returns NULL FormHiiHandle, DeviceManager shouldn't call SendForm to show the configuration form.
> Combine the multiple reset request returned by GetHealthStatus() when repairing all the controllers. > Fix the bug that source code and VFR code use different value for DRIVER_HEALTH_FORM_ID. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11494 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
The platform device manager reference implement
|
||||
|
||||
Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
@ -17,57 +17,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
#include "Bds.h"
|
||||
#include "FrontPage.h"
|
||||
#include "DeviceManagerVfr.h"
|
||||
#include <Protocol/PciIo.h>
|
||||
|
||||
//
|
||||
// These are defined as the same with vfr file
|
||||
//
|
||||
#define DEVICE_MANAGER_FORMSET_GUID \
|
||||
{ \
|
||||
0x3ebfa8e6, 0x511d, 0x4b5b, {0xa9, 0x5f, 0xfb, 0x38, 0x26, 0xf, 0x1c, 0x27} \
|
||||
}
|
||||
|
||||
#define DRIVER_HEALTH_FORMSET_GUID \
|
||||
{ \
|
||||
0xf76e0a70, 0xb5ed, 0x4c38, {0xac, 0x9a, 0xe5, 0xf5, 0x4b, 0xf1, 0x6e, 0x34} \
|
||||
}
|
||||
|
||||
#define LABEL_DEVICES_LIST 0x1100
|
||||
#define LABEL_NETWORK_DEVICE_LIST_ID 0x1101
|
||||
#define LABEL_NETWORK_DEVICE_ID 0x1102
|
||||
#define LABEL_END 0xffff
|
||||
#define LABEL_FORM_ID_OFFSET 0x0100
|
||||
|
||||
#define LABEL_DRIVER_HEALTH 0x2000
|
||||
#define LABEL_DRIVER_HEALTH_END 0x2001
|
||||
|
||||
#define LABEL_DRIVER_HEALTH_REAPIR_ALL 0x3000
|
||||
#define LABEL_DRIVER_HEALTH_REAPIR_ALL_END 0x3001
|
||||
|
||||
#define LABEL_VBIOS 0x0040
|
||||
|
||||
#define DEVICE_MANAGER_FORM_ID 0x1000
|
||||
#define NETWORK_DEVICE_LIST_FORM_ID 0x1001
|
||||
#define NETWORK_DEVICE_FORM_ID 0x1002
|
||||
#define DRIVER_HEALTH_FORM_ID 0x1003
|
||||
#define DEVICE_KEY_OFFSET 0x4000
|
||||
#define NETWORK_DEVICE_LIST_KEY_OFFSET 0x2000
|
||||
#define DEVICE_MANAGER_KEY_VBIOS 0x3000
|
||||
#define MAX_KEY_SECTION_LEN 0x1000
|
||||
|
||||
#define DEVICE_MANAGER_KEY_DRIVER_HEALTH 0x1111
|
||||
#define DRIVER_HEALTH_KEY_OFFSET 0x2000
|
||||
#define DRIVER_HEALTH_REPAIR_ALL_KEY 0x3000
|
||||
#define DRIVER_HEALTH_RETURN_KEY 0x4000
|
||||
|
||||
#define QUESTION_NETWORK_DEVICE_ID 0x3FFF
|
||||
//
|
||||
// These are the VFR compiler generated data representing our VFR data.
|
||||
//
|
||||
extern UINT8 DeviceManagerVfrBin[];
|
||||
extern UINT8 DriverHealthVfrBin[];
|
||||
|
||||
#define DEVICE_MANAGER_CALLBACK_DATA_SIGNATURE SIGNATURE_32 ('D', 'M', 'C', 'B')
|
||||
#define DEVICE_MANAGER_CALLBACK_DATA_SIGNATURE SIGNATURE_32 ('D', 'M', 'C', 'B')
|
||||
#define DEVICE_MANAGER_DRIVER_HEALTH_INFO_SIGNATURE SIGNATURE_32 ('D', 'M', 'D', 'H')
|
||||
|
||||
|
||||
@ -346,7 +299,7 @@ PlatformRepairAll (
|
||||
ChildHandle. This is an optional parameter that may be NULL.
|
||||
@param FormHiiHandle The HII handle for an HII form associated with the
|
||||
controller specified by ControllerHandle and ChildHandle.
|
||||
|
||||
@param RebootRequired Indicate whether a reboot is required to repair the controller.
|
||||
**/
|
||||
VOID
|
||||
ProcessSingleControllerHealth (
|
||||
@ -355,8 +308,9 @@ ProcessSingleControllerHealth (
|
||||
IN EFI_HANDLE ChildHandle, OPTIONAL
|
||||
IN EFI_DRIVER_HEALTH_STATUS HealthStatus,
|
||||
IN EFI_DRIVER_HEALTH_HII_MESSAGE **MessageList, OPTIONAL
|
||||
IN EFI_HII_HANDLE FormHiiHandle
|
||||
);
|
||||
IN EFI_HII_HANDLE FormHiiHandle,
|
||||
IN OUT BOOLEAN *RebootRequired
|
||||
);
|
||||
|
||||
/**
|
||||
Repair notification function, simply print the repair progress.
|
||||
|
Reference in New Issue
Block a user