aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/bhyve/mem.h
diff options
context:
space:
mode:
authorNeel Natu <neel@FreeBSD.org>2014-08-08 03:49:01 +0000
committerNeel Natu <neel@FreeBSD.org>2014-08-08 03:49:01 +0000
commit12a6eb99a1864f6ecfbb0137080b47f4da49dcb2 (patch)
tree5b848875c85bd774fc8b28deed87688d34dc702c /usr.sbin/bhyve/mem.h
parent8f5a8818f57e31278b4bbd415c2cfa498306f91f (diff)
downloadsrc-12a6eb99a1864f6ecfbb0137080b47f4da49dcb2.tar.gz
src-12a6eb99a1864f6ecfbb0137080b47f4da49dcb2.zip
Support PCI extended config space in bhyve.
Add the ACPI MCFG table to advertise the extended config memory window. Introduce a new flag MEM_F_IMMUTABLE for memory ranges that cannot be deleted or moved in the guest's address space. The PCI extended config space is an example of an immutable memory range. Add emulation for the "movzw" instruction. This instruction is used by FreeBSD to read a 16-bit extended config space register. CR: https://phabric.freebsd.org/D505 Reviewed by: jhb, grehan Requested by: tychon
Notes
Notes: svn path=/head/; revision=269700
Diffstat (limited to 'usr.sbin/bhyve/mem.h')
-rw-r--r--usr.sbin/bhyve/mem.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/usr.sbin/bhyve/mem.h b/usr.sbin/bhyve/mem.h
index eb648c145df6..f671eaedf786 100644
--- a/usr.sbin/bhyve/mem.h
+++ b/usr.sbin/bhyve/mem.h
@@ -48,6 +48,7 @@ struct mem_range {
#define MEM_F_READ 0x1
#define MEM_F_WRITE 0x2
#define MEM_F_RW 0x3
+#define MEM_F_IMMUTABLE 0x4 /* mem_range cannot be unregistered */
void init_mem(void);
int emulate_mem(struct vmctx *, int vcpu, uint64_t paddr, struct vie *vie,