Changeset View
Changeset View
Standalone View
Standalone View
head/usr.sbin/efibootmgr/efibootmgr.c
Show First 20 Lines • Show All 673 Lines • ▼ Show 20 Lines | if (activate) | ||||
load_attrs |= LOAD_OPTION_ACTIVE; | load_attrs |= LOAD_OPTION_ACTIVE; | ||||
load_opt_buf = malloc(MAX_LOADOPT_LEN); | load_opt_buf = malloc(MAX_LOADOPT_LEN); | ||||
if (load_opt_buf == NULL) | if (load_opt_buf == NULL) | ||||
err(1, "malloc"); | err(1, "malloc"); | ||||
lopt_size = create_loadopt(load_opt_buf, MAX_LOADOPT_LEN, load_attrs, | lopt_size = create_loadopt(load_opt_buf, MAX_LOADOPT_LEN, load_attrs, | ||||
dp, llen + klen, label, env, env ? strlen(env) + 1 : 0); | dp, llen + klen, label, env, env ? strlen(env) + 1 : 0); | ||||
if (lopt_size == BAD_LENGTH) | if (lopt_size == BAD_LENGTH) | ||||
errx(1, "Can't crate loadopt"); | errx(1, "Can't create loadopt"); | ||||
ret = 0; | ret = 0; | ||||
if (!dry_run) { | if (!dry_run) { | ||||
ret = efi_set_variable(EFI_GLOBAL_GUID, bootvar, | ret = efi_set_variable(EFI_GLOBAL_GUID, bootvar, | ||||
(uint8_t*)load_opt_buf, lopt_size, COMMON_ATTRS); | (uint8_t*)load_opt_buf, lopt_size, COMMON_ATTRS); | ||||
} | } | ||||
if (ret) | if (ret) | ||||
err(1, "efi_set_variable"); | err(1, "efi_set_variable"); | ||||
if (!dry_run) | |||||
add_to_boot_order(bootvar); /* first, still not active */ | add_to_boot_order(bootvar); /* first, still not active */ | ||||
new_ent = malloc(sizeof(struct entry)); | new_ent = malloc(sizeof(struct entry)); | ||||
if (new_ent == NULL) | if (new_ent == NULL) | ||||
err(1, "malloc"); | err(1, "malloc"); | ||||
memset(new_ent, 0, sizeof(struct entry)); | memset(new_ent, 0, sizeof(struct entry)); | ||||
new_ent->name = bootvar; | new_ent->name = bootvar; | ||||
new_ent->guid = EFI_GLOBAL_GUID; | new_ent->guid = EFI_GLOBAL_GUID; | ||||
LIST_INSERT_HEAD(&efivars, new_ent, entries); | LIST_INSERT_HEAD(&efivars, new_ent, entries); | ||||
free(load_opt_buf); | free(load_opt_buf); | ||||
▲ Show 20 Lines • Show All 241 Lines • Show Last 20 Lines |