Support version 4 of the userboot structure by implementing the
vm_set_register() and vm_set_desc() callbacks.
This commit is contained in:
parent
7133fe0f33
commit
48f337b82c
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=296101
@ -542,6 +542,21 @@ cb_getenv(void *arg, int num)
|
|||||||
return (NULL);
|
return (NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
cb_vm_set_register(void *arg, int vcpu, int reg, uint64_t val)
|
||||||
|
{
|
||||||
|
|
||||||
|
return (vm_set_register(ctx, vcpu, reg, val));
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
cb_vm_set_desc(void *arg, int vcpu, int reg, uint64_t base, u_int limit,
|
||||||
|
u_int access)
|
||||||
|
{
|
||||||
|
|
||||||
|
return (vm_set_desc(ctx, vcpu, reg, base, limit, access));
|
||||||
|
}
|
||||||
|
|
||||||
static struct loader_callbacks cb = {
|
static struct loader_callbacks cb = {
|
||||||
.getc = cb_getc,
|
.getc = cb_getc,
|
||||||
.putc = cb_putc,
|
.putc = cb_putc,
|
||||||
@ -571,6 +586,10 @@ static struct loader_callbacks cb = {
|
|||||||
.getmem = cb_getmem,
|
.getmem = cb_getmem,
|
||||||
|
|
||||||
.getenv = cb_getenv,
|
.getenv = cb_getenv,
|
||||||
|
|
||||||
|
/* Version 4 additions */
|
||||||
|
.vm_set_register = cb_vm_set_register,
|
||||||
|
.vm_set_desc = cb_vm_set_desc,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@ -765,7 +784,7 @@ main(int argc, char** argv)
|
|||||||
addenv("smbios.bios.vendor=BHYVE");
|
addenv("smbios.bios.vendor=BHYVE");
|
||||||
addenv("boot_serial=1");
|
addenv("boot_serial=1");
|
||||||
|
|
||||||
func(&cb, NULL, USERBOOT_VERSION_3, ndisks);
|
func(&cb, NULL, USERBOOT_VERSION_4, ndisks);
|
||||||
|
|
||||||
free(loader);
|
free(loader);
|
||||||
return (0);
|
return (0);
|
||||||
|
Loading…
Reference in New Issue
Block a user