VirtualBox

Changeset 43146 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Sep 3, 2012 1:41:48 AM (12 years ago)
Author:
vboxsync
Message:

EFI: counter + code enhancement.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/EFI/DevOVMF.cpp

    r43143 r43146  
    6262        RTLISTNODE List;
    6363        RTUUID   uuid;
    64         char     szVariableName[1024];
     64        char     szVariableName[EFI_VARIABLE_NAME_MAX];
    6565        uint32_t cbVariableName;
    66         uint8_t  au8Value[1024];
     66        uint8_t  au8Value[EFI_VARIABLE_VALUE_MAX];
    6767        uint32_t cbValue;
    6868        uint32_t u32Attribute;
     
    142142    uint32_t        u32UgaVertical;
    143143    struct {
    144         uint32_t        idxVariableName;
    145144        EFIVAROP        enmOp;
    146145        uint32_t        u32Status;
    147         uint32_t idxOpBuffer;
     146        uint32_t        idxOpBuffer;
    148147        EFIVAR          OperationVarOp;
    149         RTLISTANCHOR    NVRAMVariableList;
     148        int             cNvramVaraibles;
     149        RTLISTANCHOR    NvramVariableList;
    150150        PEFIVAR         pCurrentVarOp;
    151151    } NVRAM;
     
    179179    PEFIVAR pEfiVar = NULL;
    180180    LogFlowFunc(("pszVariableName:%s, pUuid:%RTuuid\n", pszVariableName, pUuid));
    181     RTListForEach((PRTLISTNODE)&pThis->NVRAM.NVRAMVariableList, pEfiVar, EFIVAR, List)
     181    RTListForEach((PRTLISTNODE)&pThis->NVRAM.NvramVariableList, pEfiVar, EFIVAR, List)
    182182    {
    183183        LogFlowFunc(("pEfiVar:%p\n", pEfiVar));
     
    208208            return VERR_NO_MEMORY;
    209209        }
    210         pEfiVar->cbVariableName = 512;
    211         pEfiVar->cbValue = 1024;
     210        pEfiVar->cbVariableName = EFI_VARIABLE_NAME_MAX;
     211        pEfiVar->cbValue = EFI_VARIABLE_VALUE_MAX;
    212212        rc = pThis->Lun0.pNvramDown->pfnLoadNvramValue(pThis->Lun0.pNvramDown,
    213213                                                       idxValue,
     
    223223            break;
    224224        }
    225         RTListAppend((PRTLISTNODE)&pThis->NVRAM.NVRAMVariableList, &pEfiVar->List);
     225        RTListAppend((PRTLISTNODE)&pThis->NVRAM.NvramVariableList, &pEfiVar->List);
    226226    }
    227227    if (   RT_FAILURE(rc)
     
    239239    pThis->Lun0.pNvramDown->pfnFlushNvramStorage(pThis->Lun0.pNvramDown);
    240240
    241     RTListForEach((PRTLISTNODE)&pThis->NVRAM.NVRAMVariableList, pEfiVar, EFIVAR, List)
     241    RTListForEach((PRTLISTNODE)&pThis->NVRAM.NvramVariableList, pEfiVar, EFIVAR, List)
    242242    {
    243243        pThis->Lun0.pNvramDown->pfnStoreNvramValue(pThis->Lun0.pNvramDown,
     
    583583                            pThis->NVRAM.u32Status = EFI_VARIABLE_OP_STATUS_BSY;
    584584                            PEFIVAR pEfiVar = NULL;
    585                             memset(pThis->NVRAM.OperationVarOp.au8Value, 0, 1024);
     585                            memset(pThis->NVRAM.OperationVarOp.au8Value, 0, EFI_VARIABLE_NAME_MAX);
    586586                            int nvramRc = nvramLookupVariableByUuidAndName(
    587587                                                pThis,
     
    631631                                    RTMemFree(pEfiVar);
    632632                                    pThis->NVRAM.u32Status = EFI_VARIABLE_OP_STATUS_OK;
     633                                    pThis->NVRAM.cNvramVaraibles--;
    633634                                }
    634635                                else
     
    659660                                memcpy(pEfiVar, &pThis->NVRAM.OperationVarOp, sizeof(EFIVAR));
    660661                                RTListInit(&pEfiVar->List);
    661                                 RTListAppend(&pThis->NVRAM.NVRAMVariableList, &pEfiVar->List);
     662                                RTListAppend(&pThis->NVRAM.NvramVariableList, &pEfiVar->List);
    662663                                pThis->NVRAM.u32Status = EFI_VARIABLE_OP_STATUS_OK;
     664                                pThis->NVRAM.cNvramVaraibles++;
    663665                            }
    664666                        }
     
    698700                case EFI_VM_VARIABLE_OP_NAME_LENGTH:
    699701                    pThis->NVRAM.OperationVarOp.cbVariableName = u32;
    700                     memset(pThis->NVRAM.OperationVarOp.szVariableName, 0, 1024);
     702                    memset(pThis->NVRAM.OperationVarOp.szVariableName, 0, EFI_VARIABLE_NAME_MAX);
    701703                break;
    702704                case EFI_VM_VARIABLE_OP_VALUE:
     
    706708                case EFI_VM_VARIABLE_OP_VALUE_LENGTH:
    707709                    pThis->NVRAM.OperationVarOp.cbValue = u32;
    708                     memset(pThis->NVRAM.OperationVarOp.au8Value, 0, 1024);
     710                    memset(pThis->NVRAM.OperationVarOp.au8Value, 0, EFI_VARIABLE_VALUE_MAX);
    709711                break;
    710712                default:
     
    824826    nvramStore(pThis);
    825827    PEFIVAR pEfiVar = NULL;
    826     while (!RTListIsEmpty(&pThis->NVRAM.NVRAMVariableList))
    827     {
    828         pEfiVar = RTListNodeGetNext(&pThis->NVRAM.NVRAMVariableList, EFIVAR, List);
     828    while (!RTListIsEmpty(&pThis->NVRAM.NvramVariableList))
     829    {
     830        pEfiVar = RTListNodeGetNext(&pThis->NVRAM.NvramVariableList, EFIVAR, List);
    829831        RTListNodeRemove(&pEfiVar->List);
    830832        RTMemFree(pEfiVar);
     
    11551157    uuid.Gen.u16TimeHiAndVersion = RT_H2BE_U16(uuid.Gen.u16TimeHiAndVersion);
    11561158    memcpy(&pThis->aUuid, &uuid, sizeof pThis->aUuid);
    1157     RTListInit((PRTLISTNODE)&pThis->NVRAM.NVRAMVariableList);
     1159    RTListInit((PRTLISTNODE)&pThis->NVRAM.NvramVariableList);
    11581160
    11591161
  • trunk/src/VBox/Devices/EFI/Firmware2/VBoxPkg/Include/DevEFI.h

    r43021 r43146  
    122122#define EFI_VARIABLE_OP_STATUS_BSY        0xcafe0010
    123123
     124#define EFI_VARIABLE_NAME_MAX   1024
     125#define EFI_VARIABLE_VALUE_MAX   1024
     126
    124127typedef enum {
    125128    EFI_VM_VARIABLE_OP_START = 0,
Note: See TracChangeset for help on using the changeset viewer.

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