diff options
Diffstat (limited to 'usr.sbin/bhyve/pci_fbuf.c')
-rw-r--r-- | usr.sbin/bhyve/pci_fbuf.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/usr.sbin/bhyve/pci_fbuf.c b/usr.sbin/bhyve/pci_fbuf.c index 8961875356da..0bd740a0908c 100644 --- a/usr.sbin/bhyve/pci_fbuf.c +++ b/usr.sbin/bhyve/pci_fbuf.c @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$"); #include <sys/mman.h> #include <machine/vmm.h> +#include <machine/vmm_snapshot.h> #include <vmmapi.h> #include <stdio.h> @@ -440,10 +441,26 @@ done: return (error); } +#ifdef BHYVE_SNAPSHOT +static int +pci_fbuf_snapshot(struct vm_snapshot_meta *meta) +{ + int ret; + + SNAPSHOT_BUF_OR_LEAVE(fbuf_sc->fb_base, FB_SIZE, meta, ret, err); + +err: + return (ret); +} +#endif + struct pci_devemu pci_fbuf = { .pe_emu = "fbuf", .pe_init = pci_fbuf_init, .pe_barwrite = pci_fbuf_write, - .pe_barread = pci_fbuf_read + .pe_barread = pci_fbuf_read, +#ifdef BHYVE_SNAPSHOT + .pe_snapshot = pci_fbuf_snapshot, +#endif }; PCI_EMUL_SET(pci_fbuf); |