socsvn commit: r288086 - soc2015/mihai/bhyve-on-arm-head/lib/libvmmapiarm
mihai at FreeBSD.org
mihai at FreeBSD.org
Wed Jul 8 12:39:49 UTC 2015
Author: mihai
Date: Wed Jul 8 12:39:47 2015
New Revision: 288086
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=288086
Log:
soc2015: mihai: bhyve: lib: libvmmapiarm: clean-up unused functions
Deleted:
soc2015/mihai/bhyve-on-arm-head/lib/libvmmapiarm/vmmapi_freebsd.c
Modified:
soc2015/mihai/bhyve-on-arm-head/lib/libvmmapiarm/Makefile
soc2015/mihai/bhyve-on-arm-head/lib/libvmmapiarm/vmmapi.c
soc2015/mihai/bhyve-on-arm-head/lib/libvmmapiarm/vmmapi.h
Modified: soc2015/mihai/bhyve-on-arm-head/lib/libvmmapiarm/Makefile
==============================================================================
--- soc2015/mihai/bhyve-on-arm-head/lib/libvmmapiarm/Makefile Wed Jul 8 09:54:17 2015 (r288085)
+++ soc2015/mihai/bhyve-on-arm-head/lib/libvmmapiarm/Makefile Wed Jul 8 12:39:47 2015 (r288086)
@@ -1,7 +1,7 @@
# $FreeBSD: head/lib/libvmmapi/Makefile 245678 2013-01-20 03:42:49Z neel $
LIB= vmmapiarm
-SRCS= vmmapi.c vmmapi_freebsd.c
+SRCS= vmmapi.c
INCS= vmmapi.h
WARNS?= 2
Modified: soc2015/mihai/bhyve-on-arm-head/lib/libvmmapiarm/vmmapi.c
==============================================================================
--- soc2015/mihai/bhyve-on-arm-head/lib/libvmmapiarm/vmmapi.c Wed Jul 8 09:54:17 2015 (r288085)
+++ soc2015/mihai/bhyve-on-arm-head/lib/libvmmapiarm/vmmapi.c Wed Jul 8 12:39:47 2015 (r288086)
@@ -22,12 +22,11 @@
struct vmctx {
int fd;
- uint32_t lowmem_limit;
+ uint32_t mem_limit;
enum vm_mmap_style vms;
- size_t lowmem;
- char *lowmem_addr;
- size_t highmem;
- char *highmem_addr;
+ size_t mem_size;
+ uint64_t mem_base;
+ char *mem_addr;
char *name;
};
@@ -68,7 +67,7 @@
assert(vm != NULL);
vm->fd = -1;
- vm->lowmem_limit = 3 * GB;
+ vm->mem_limit = 2 * GB;
vm->name = (char *)(vm + 1);
strcpy(vm->name, name);
@@ -94,7 +93,7 @@
}
int
-vm_get_memory_seg(struct vmctx *ctx, vm_paddr_t gpa, size_t *ret_len)
+vm_get_memory_seg(struct vmctx *ctx, uint64_t gpa, size_t *ret_len)
{
int error;
struct vm_memory_segment seg;
@@ -107,21 +106,21 @@
}
uint32_t
-vm_get_lowmem_limit(struct vmctx *ctx)
+vm_get_mem_limit(struct vmctx *ctx)
{
- return (ctx->lowmem_limit);
+ return (ctx->mem_limit);
}
void
-vm_set_lowmem_limit(struct vmctx *ctx, uint32_t limit)
+vm_set_mem_limit(struct vmctx *ctx, uint32_t limit)
{
- ctx->lowmem_limit = limit;
+ ctx->mem_limit = limit;
}
static int
-setup_memory_segment(struct vmctx *ctx, vm_paddr_t gpa, size_t len, char **addr)
+setup_memory_segment(struct vmctx *ctx, uint64_t gpa, size_t len, char **addr)
{
int error;
struct vm_memory_segment seg;
@@ -142,7 +141,7 @@
}
int
-vm_setup_memory(struct vmctx *ctx, size_t memsize, enum vm_mmap_style vms)
+vm_setup_memory(struct vmctx *ctx, uint64_t membase, size_t memsize, enum vm_mmap_style vms)
{
char **addr;
int error;
@@ -151,28 +150,14 @@
assert(vms == VM_MMAP_NONE || vms == VM_MMAP_ALL);
ctx->vms = vms;
- /*
- * If 'memsize' cannot fit entirely in the 'lowmem' segment then
- * create another 'highmem' segment above 4GB for the remainder.
- */
- if (memsize > ctx->lowmem_limit) {
- ctx->lowmem = ctx->lowmem_limit;
- ctx->highmem = memsize - ctx->lowmem;
- } else {
- ctx->lowmem = memsize;
- ctx->highmem = 0;
- }
+ ctx->mem_base = membase;
- if (ctx->lowmem > 0) {
- addr = (vms == VM_MMAP_ALL) ? &ctx->lowmem_addr : NULL;
- error = setup_memory_segment(ctx, 0, ctx->lowmem, addr);
- if (error)
- return (error);
- }
+ assert(memsize <= ctx->mem_limit);
+ ctx->mem_size = memsize;
- if (ctx->highmem > 0) {
- addr = (vms == VM_MMAP_ALL) ? &ctx->highmem_addr : NULL;
- error = setup_memory_segment(ctx, 4*GB, ctx->highmem, addr);
+ if (ctx->mem_size > 0) {
+ addr = (vms == VM_MMAP_ALL) ? &ctx->mem_addr : NULL;
+ error = setup_memory_segment(ctx, ctx->mem_base, ctx->mem_size, addr);
if (error)
return (error);
}
@@ -181,22 +166,13 @@
}
void *
-vm_map_gpa(struct vmctx *ctx, vm_paddr_t gaddr, size_t len)
+vm_map_gpa(struct vmctx *ctx, uint64_t gaddr, size_t len)
{
/* XXX VM_MMAP_SPARSE not implemented yet */
assert(ctx->vms == VM_MMAP_ALL);
- if (gaddr < ctx->lowmem && gaddr + len <= ctx->lowmem)
- return ((void *)(ctx->lowmem_addr + gaddr));
-
- if (gaddr >= 4*GB) {
- gaddr -= 4*GB;
- if (gaddr < ctx->highmem && gaddr + len <= ctx->highmem)
- return ((void *)(ctx->highmem_addr + gaddr));
- }
-
- return (NULL);
+ return ((void *)(ctx->mem_addr + gaddr));
}
@@ -311,49 +287,6 @@
return (ioctl(ctx->fd, VM_SET_CAPABILITY, &vmcap));
}
-int
-vm_assign_pptdev(struct vmctx *ctx, int bus, int slot, int func)
-{
- struct vm_pptdev pptdev;
-
- bzero(&pptdev, sizeof(pptdev));
- pptdev.bus = bus;
- pptdev.slot = slot;
- pptdev.func = func;
-
- return (ioctl(ctx->fd, VM_BIND_PPTDEV, &pptdev));
-}
-
-int
-vm_unassign_pptdev(struct vmctx *ctx, int bus, int slot, int func)
-{
- struct vm_pptdev pptdev;
-
- bzero(&pptdev, sizeof(pptdev));
- pptdev.bus = bus;
- pptdev.slot = slot;
- pptdev.func = func;
-
- return (ioctl(ctx->fd, VM_UNBIND_PPTDEV, &pptdev));
-}
-
-int
-vm_map_pptdev_mmio(struct vmctx *ctx, int bus, int slot, int func,
- vm_paddr_t gpa, size_t len, vm_paddr_t hpa)
-{
- struct vm_pptdev_mmio pptmmio;
-
- bzero(&pptmmio, sizeof(pptmmio));
- pptmmio.bus = bus;
- pptmmio.slot = slot;
- pptmmio.func = func;
- pptmmio.gpa = gpa;
- pptmmio.len = len;
- pptmmio.hpa = hpa;
-
- return (ioctl(ctx->fd, VM_MAP_PPTDEV_MMIO, &pptmmio));
-}
-
uint64_t *
vm_get_stats(struct vmctx *ctx, int vcpu, struct timeval *ret_tv,
int *ret_entries)
Modified: soc2015/mihai/bhyve-on-arm-head/lib/libvmmapiarm/vmmapi.h
==============================================================================
--- soc2015/mihai/bhyve-on-arm-head/lib/libvmmapiarm/vmmapi.h Wed Jul 8 09:54:17 2015 (r288085)
+++ soc2015/mihai/bhyve-on-arm-head/lib/libvmmapiarm/vmmapi.h Wed Jul 8 12:39:47 2015 (r288086)
@@ -31,10 +31,6 @@
struct vmctx;
-#if defined(__amd64__)
-enum x2apic_state;
-#endif
-
/*
* Different styles of mapping the memory assigned to a VM into the address
* space of the controlling process.
@@ -48,11 +44,11 @@
int vm_create(const char *name);
struct vmctx *vm_open(const char *name);
void vm_destroy(struct vmctx *ctx);
-int vm_get_memory_seg(struct vmctx *ctx, vm_paddr_t gpa, size_t *ret_len);
-int vm_setup_memory(struct vmctx *ctx, size_t len, enum vm_mmap_style s);
-void *vm_map_gpa(struct vmctx *ctx, vm_paddr_t gaddr, size_t len);
-uint32_t vm_get_lowmem_limit(struct vmctx *ctx);
-void vm_set_lowmem_limit(struct vmctx *ctx, uint32_t limit);
+int vm_get_memory_seg(struct vmctx *ctx, uint64_t gpa, size_t *ret_len);
+int vm_setup_memory(struct vmctx *ctx, uint64_t membase, size_t len, enum vm_mmap_style s);
+void *vm_map_gpa(struct vmctx *ctx, uint64_t gaddr, size_t len);
+uint32_t vm_get_mem_limit(struct vmctx *ctx);
+void vm_set_mem_limit(struct vmctx *ctx, uint32_t limit);
int vm_set_register(struct vmctx *ctx, int vcpu, int reg, uint64_t val);
int vm_get_register(struct vmctx *ctx, int vcpu, int reg, uint64_t *retval);
int vm_run(struct vmctx *ctx, int vcpu, uint64_t rip,
@@ -62,10 +58,6 @@
int *retval);
int vm_set_capability(struct vmctx *ctx, int vcpu, enum vm_cap_type cap,
int val);
-int vm_assign_pptdev(struct vmctx *ctx, int bus, int slot, int func);
-int vm_unassign_pptdev(struct vmctx *ctx, int bus, int slot, int func);
-int vm_map_pptdev_mmio(struct vmctx *ctx, int bus, int slot, int func,
- vm_paddr_t gpa, size_t len, vm_paddr_t hpa);
/*
* Return a pointer to the statistics buffer. Note that this is not MT-safe.
@@ -76,11 +68,4 @@
/* Reset vcpu register state */
int vcpu_reset(struct vmctx *ctx, int vcpu);
-
-/*
- * FreeBSD specific APIs
- */
-int vm_setup_freebsd_registers(struct vmctx *ctx, int vcpu,
- uint64_t pc, uint64_t sp);
-void vm_setup_freebsd_gdt(uint64_t *gdtr);
#endif /* _VMMAPI_H_ */
More information about the svn-soc-all
mailing list