Hello.
I'am trying to use HII forms to get configuration from the users.
Unfortunately, in my UEFI function
EFI_FORM_BROWSER2_PROTOCOL::BrowserCallback isn't realized, so i using EFI
varstore. But after setting variables values in the form doesn't change (I
read it throught gRT->GetVariable). In what could be the problem?
vfr file:
<..>
efivarstore UINT8,
varid = VARSTORE_ID,
attribute = EFI_VARIABLE_BOOTSERVICE_ACCESS|
EFI_VARIABLE_RUNTIME_ACCESS ,
name = testvar,
guid = FORMSET_GUID;
numeric varid = testvar,
prompt = STRING_TOKEN(0x01),
help = STRING_TOKEN(0x02),
flags = INTERACTIVE,
key = MASK_ACT,
minimum = 0,
maximum = 0xf0,
step = 0,
default = 21,
endnumeric;
<..>
Callback function:
EFI_STATUS Status = EFI_SUCCESS;
switch (Action)
{
case EFI_BROWSER_ACTION_CHANGED:
switch (QuestionId)
{
case MASK_ACT:
UINTN size = sizeof(UINT8);
integer = 0;
EFI_STATUS s = gRT->GetVariable((CHAR16*) L"testvar",
(EFI_GUID*)&driverHiiPackageGuid, 0, (UINTN*)&size ,&integer);
if (!EFI_ERROR(s))
{
printf("Success\n");
printf("Int: %d", integer);
}
else
{
printf("Fail: %ld\n", (long int) s) ;
}
*ActionRequest = EFI_BROWSER_ACTION_REQUEST_FORM_APPLY;
break;
default:
*ActionRequest = EFI_BROWSER_ACTION_REQUEST_NONE;
break;
}
break;
case EFI_BROWSER_ACTION_FORM_CLOSE:
case EFI_BROWSER_ACTION_CHANGING:
case EFI_BROWSER_ACTION_FORM_OPEN:
case EFI_BROWSER_ACTION_RETRIEVE:
case EFI_BROWSER_ACTION_DEFAULT_STANDARD:
case EFI_BROWSER_ACTION_DEFAULT_MANUFACTURING:
case EFI_BROWSER_ACTION_DEFAULT_SAFE:
case EFI_BROWSER_ACTION_DEFAULT_PLATFORM:
case EFI_BROWSER_ACTION_DEFAULT_HARDWARE:
case EFI_BROWSER_ACTION_DEFAULT_FIRMWARE:
default:
Status = EFI_UNSUPPORTED;
break;
}
return Status;
Init fuction:
<..>
UINT8 integer = 8;
gRT->SetVariable((CHAR16*) L"testvar",
(EFI_GUID*)&driverHiiPackageGuid, EFI_VARIABLE_BOOTSERVICE_ACCESS
|EFI_VARIABLE_RUNTIME_ACCESS , sizeof(UINT8) , &integer);
<..>
--
Thanks,
Valery
------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel