From owner-svn-soc-all@freebsd.org Sun Jul 5 10:24:22 2015 Return-Path: Delivered-To: svn-soc-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 41DE3A1AC for ; Sun, 5 Jul 2015 10:24:22 +0000 (UTC) (envelope-from mihai@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3005A1C97 for ; Sun, 5 Jul 2015 10:24:22 +0000 (UTC) (envelope-from mihai@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id t65AOMuR057249 for ; Sun, 5 Jul 2015 10:24:22 GMT (envelope-from mihai@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id t65AOHfk057179 for svn-soc-all@FreeBSD.org; Sun, 5 Jul 2015 10:24:17 GMT (envelope-from mihai@FreeBSD.org) Date: Sun, 5 Jul 2015 10:24:17 GMT Message-Id: <201507051024.t65AOHfk057179@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to mihai@FreeBSD.org using -f From: mihai@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r287975 - in soc2015/mihai/bhyve-on-arm-head: lib lib/libvmmapiarm sys/arm/include usr.sbin usr.sbin/bhyvearm MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Jul 2015 10:24:22 -0000 Author: mihai Date: Sun Jul 5 10:24:17 2015 New Revision: 287975 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=287975 Log: soc2015: mihai: bhyve-on-arm: added a stub bhyvearm/libvmmapiarm used to control the VMM Added: soc2015/mihai/bhyve-on-arm-head/lib/libvmmapiarm/ 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 soc2015/mihai/bhyve-on-arm-head/lib/libvmmapiarm/vmmapi_freebsd.c soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyvearm/ soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyvearm/Makefile soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyvearm/bhyverun.c soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyvearm/bhyverun.h soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyvearm/block_if.c soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyvearm/block_if.h soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyvearm/mem.c soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyvearm/mem.h soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyvearm/mevent.c soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyvearm/mevent.h soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyvearm/mevent_test.c Modified: soc2015/mihai/bhyve-on-arm-head/lib/Makefile soc2015/mihai/bhyve-on-arm-head/sys/arm/include/vmm.h soc2015/mihai/bhyve-on-arm-head/sys/arm/include/vmm_dev.h soc2015/mihai/bhyve-on-arm-head/usr.sbin/Makefile.arm Modified: soc2015/mihai/bhyve-on-arm-head/lib/Makefile ============================================================================== --- soc2015/mihai/bhyve-on-arm-head/lib/Makefile Sun Jul 5 09:48:03 2015 (r287974) +++ soc2015/mihai/bhyve-on-arm-head/lib/Makefile Sun Jul 5 10:24:17 2015 (r287975) @@ -111,6 +111,7 @@ libutil \ ${_libvgl} \ ${_libvmmapi} \ + ${_libvmmapiarm} \ libwrap \ libxo \ liby \ @@ -258,6 +259,12 @@ .endif .endif +.if ${MACHINE_CPUARCH} == "arm" +.if ${MK_BHYVE} != "no" +_libvmmapiarm= libvmmapiarm +.endif +.endif + .if ${MACHINE_CPUARCH} == "mips" _libproc= libproc _librtld_db= librtld_db Added: soc2015/mihai/bhyve-on-arm-head/lib/libvmmapiarm/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/mihai/bhyve-on-arm-head/lib/libvmmapiarm/Makefile Sun Jul 5 10:24:17 2015 (r287975) @@ -0,0 +1,11 @@ +# $FreeBSD: head/lib/libvmmapi/Makefile 245678 2013-01-20 03:42:49Z neel $ + +LIB= vmmapiarm +SRCS= vmmapi.c vmmapi_freebsd.c +INCS= vmmapi.h + +WARNS?= 2 + +CFLAGS+= -I${.CURDIR} + +.include Added: soc2015/mihai/bhyve-on-arm-head/lib/libvmmapiarm/vmmapi.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/mihai/bhyve-on-arm-head/lib/libvmmapiarm/vmmapi.c Sun Jul 5 10:24:17 2015 (r287975) @@ -0,0 +1,398 @@ +#include + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "vmmapi.h" + +#define GB (1024 * 1024 * 1024UL) + +struct vmctx { + int fd; + uint32_t lowmem_limit; + enum vm_mmap_style vms; + size_t lowmem; + char *lowmem_addr; + size_t highmem; + char *highmem_addr; + char *name; +}; + +#define CREATE(x) sysctlbyname("hw.vmm.create", NULL, NULL, (x), strlen((x))) +#define DESTROY(x) sysctlbyname("hw.vmm.destroy", NULL, NULL, (x), strlen((x))) + +static int +vm_device_open(const char *name) +{ + int fd, len; + char *vmfile; + + len = strlen("/dev/vmm/") + strlen(name) + 1; + vmfile = malloc(len); + assert(vmfile != NULL); + snprintf(vmfile, len, "/dev/vmm/%s", name); + + /* Open the device file */ + fd = open(vmfile, O_RDWR, 0); + + free(vmfile); + return (fd); +} + +int +vm_create(const char *name) +{ + + return (CREATE((char *)name)); +} + +struct vmctx * +vm_open(const char *name) +{ + struct vmctx *vm; + + vm = malloc(sizeof(struct vmctx) + strlen(name) + 1); + assert(vm != NULL); + + vm->fd = -1; + vm->lowmem_limit = 3 * GB; + vm->name = (char *)(vm + 1); + strcpy(vm->name, name); + + if ((vm->fd = vm_device_open(vm->name)) < 0) + goto err; + + return (vm); +err: + vm_destroy(vm); + return (NULL); +} + +void +vm_destroy(struct vmctx *vm) +{ + assert(vm != NULL); + + if (vm->fd >= 0) + close(vm->fd); + DESTROY(vm->name); + + free(vm); +} + +int +vm_get_memory_seg(struct vmctx *ctx, vm_paddr_t gpa, size_t *ret_len) +{ + int error; + struct vm_memory_segment seg; + + bzero(&seg, sizeof(seg)); + seg.gpa = gpa; + error = ioctl(ctx->fd, VM_GET_MEMORY_SEG, &seg); + *ret_len = seg.len; + return (error); +} + +uint32_t +vm_get_lowmem_limit(struct vmctx *ctx) +{ + + return (ctx->lowmem_limit); +} + +void +vm_set_lowmem_limit(struct vmctx *ctx, uint32_t limit) +{ + + ctx->lowmem_limit = limit; +} + +static int +setup_memory_segment(struct vmctx *ctx, vm_paddr_t gpa, size_t len, char **addr) +{ + int error; + struct vm_memory_segment seg; + + /* + * Create and optionally map 'len' bytes of memory at guest + * physical address 'gpa' + */ + bzero(&seg, sizeof(seg)); + seg.gpa = gpa; + seg.len = len; + error = ioctl(ctx->fd, VM_MAP_MEMORY, &seg); + if (error == 0 && addr != NULL) { + *addr = mmap(NULL, len, PROT_READ | PROT_WRITE, MAP_SHARED, + ctx->fd, gpa); + } + return (error); +} + +int +vm_setup_memory(struct vmctx *ctx, size_t memsize, enum vm_mmap_style vms) +{ + char **addr; + int error; + + /* XXX VM_MMAP_SPARSE not implemented yet */ + 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; + } + + 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); + } + + if (ctx->highmem > 0) { + addr = (vms == VM_MMAP_ALL) ? &ctx->highmem_addr : NULL; + error = setup_memory_segment(ctx, 4*GB, ctx->highmem, addr); + if (error) + return (error); + } + + return (0); +} + +void * +vm_map_gpa(struct vmctx *ctx, vm_paddr_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); +} + + +int +vm_set_register(struct vmctx *ctx, int vcpu, int reg, uint64_t val) +{ + int error; + struct vm_register vmreg; + + bzero(&vmreg, sizeof(vmreg)); + vmreg.cpuid = vcpu; + vmreg.regnum = reg; + vmreg.regval = val; + + error = ioctl(ctx->fd, VM_SET_REGISTER, &vmreg); + return (error); +} + +int +vm_get_register(struct vmctx *ctx, int vcpu, int reg, uint64_t *ret_val) +{ + int error; + struct vm_register vmreg; + + bzero(&vmreg, sizeof(vmreg)); + vmreg.cpuid = vcpu; + vmreg.regnum = reg; + + error = ioctl(ctx->fd, VM_GET_REGISTER, &vmreg); + *ret_val = vmreg.regval; + return (error); +} + +int +vm_run(struct vmctx *ctx, int vcpu, uint64_t pc, struct vm_exit *vmexit) +{ + int error; + struct vm_run vmrun; + + bzero(&vmrun, sizeof(vmrun)); + vmrun.cpuid = vcpu; + vmrun.pc = pc; + + error = ioctl(ctx->fd, VM_RUN, &vmrun); + bcopy(&vmrun.vm_exit, vmexit, sizeof(struct vm_exit)); + return (error); +} + +static struct { + const char *name; + int type; +} capstrmap[] = { + { "hlt_exit", VM_CAP_HALT_EXIT }, + { "mtrap_exit", VM_CAP_MTRAP_EXIT }, + { "pause_exit", VM_CAP_PAUSE_EXIT }, + { "unrestricted_guest", VM_CAP_UNRESTRICTED_GUEST }, + { 0 } +}; + +int +vm_capability_name2type(const char *capname) +{ + int i; + + for (i = 0; capstrmap[i].name != NULL && capname != NULL; i++) { + if (strcmp(capstrmap[i].name, capname) == 0) + return (capstrmap[i].type); + } + + return (-1); +} + +const char * +vm_capability_type2name(int type) +{ + int i; + + for (i = 0; capstrmap[i].name != NULL; i++) { + if (capstrmap[i].type == type) + return (capstrmap[i].name); + } + + return (NULL); +} + +int +vm_get_capability(struct vmctx *ctx, int vcpu, enum vm_cap_type cap, + int *retval) +{ + int error; + struct vm_capability vmcap; + + bzero(&vmcap, sizeof(vmcap)); + vmcap.cpuid = vcpu; + vmcap.captype = cap; + + error = ioctl(ctx->fd, VM_GET_CAPABILITY, &vmcap); + *retval = vmcap.capval; + return (error); +} + +int +vm_set_capability(struct vmctx *ctx, int vcpu, enum vm_cap_type cap, int val) +{ + struct vm_capability vmcap; + + bzero(&vmcap, sizeof(vmcap)); + vmcap.cpuid = vcpu; + vmcap.captype = cap; + vmcap.capval = val; + + 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) +{ + int error; + + static struct vm_stats vmstats; + + vmstats.cpuid = vcpu; + + error = ioctl(ctx->fd, VM_STATS, &vmstats); + if (error == 0) { + if (ret_entries) + *ret_entries = vmstats.num_entries; + if (ret_tv) + *ret_tv = vmstats.tv; + return (vmstats.statbuf); + } else + return (NULL); +} + +const char * +vm_get_stat_desc(struct vmctx *ctx, int index) +{ + static struct vm_stat_desc statdesc; + + statdesc.index = index; + if (ioctl(ctx->fd, VM_STAT_DESC, &statdesc) == 0) + return (statdesc.desc); + else + return (NULL); +} + +/* + * From Intel Vol 3a: + * Table 9-1. IA-32 Processor States Following Power-up, Reset or INIT + */ +int +vcpu_reset(struct vmctx *vmctx, int vcpu) +{ + return (ENXIO); +} Added: soc2015/mihai/bhyve-on-arm-head/lib/libvmmapiarm/vmmapi.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/mihai/bhyve-on-arm-head/lib/libvmmapiarm/vmmapi.h Sun Jul 5 10:24:17 2015 (r287975) @@ -0,0 +1,86 @@ +/*- + * Copyright (c) 2011 NetApp, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY NETAPP, INC ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL NETAPP, INC OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD: head/lib/libvmmapi/vmmapi.h 249905 2013-04-25 20:42:21Z neel $ + */ + +#ifndef _VMMAPI_H_ +#define _VMMAPI_H_ + +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. + */ +enum vm_mmap_style { + VM_MMAP_NONE, /* no mapping */ + VM_MMAP_ALL, /* fully and statically mapped */ + VM_MMAP_SPARSE, /* mappings created on-demand */ +}; + +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_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, + struct vm_exit *ret_vmexit); +const char *vm_capability_type2name(int type); +int vm_get_capability(struct vmctx *ctx, int vcpu, enum vm_cap_type cap, + 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. + */ +uint64_t *vm_get_stats(struct vmctx *ctx, int vcpu, struct timeval *ret_tv, + int *ret_entries); +const char *vm_get_stat_desc(struct vmctx *ctx, int index); + +/* 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_ */ Added: soc2015/mihai/bhyve-on-arm-head/lib/libvmmapiarm/vmmapi_freebsd.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/mihai/bhyve-on-arm-head/lib/libvmmapiarm/vmmapi_freebsd.c Sun Jul 5 10:24:17 2015 (r287975) @@ -0,0 +1,30 @@ +#include + +#include + +#include + +#include "vmmapi.h" + + + +/* + * Setup the 'vcpu' register set such that it will begin execution at + * 'rip' in long mode. + */ +int +vm_setup_freebsd_registers(struct vmctx *vmctx, int vcpu, + uint64_t pc, uint64_t sp) +{ + int error; + + if ((error = vm_set_register(vmctx, vcpu, VM_REG_GUEST_PC, pc)) != 0) + goto done; + + if ((error = vm_set_register(vmctx, vcpu, VM_REG_GUEST_SP, sp)) != 0) + goto done; + + error = 0; +done: + return (error); +} Modified: soc2015/mihai/bhyve-on-arm-head/sys/arm/include/vmm.h ============================================================================== --- soc2015/mihai/bhyve-on-arm-head/sys/arm/include/vmm.h Sun Jul 5 09:48:03 2015 (r287974) +++ soc2015/mihai/bhyve-on-arm-head/sys/arm/include/vmm.h Sun Jul 5 10:24:17 2015 (r287975) @@ -1,31 +1,3 @@ -/*- - * Copyright (c) 2011 NetApp, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY NETAPP, INC ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL NETAPP, INC OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD: soc2015/mihai/bhyve-on-arm-head/sys/amd64/include/vmm.h 285151 2015-05-06 23:40:24Z neel $ - */ - #ifndef _VMM_H_ #define _VMM_H_ @@ -43,46 +15,21 @@ * Identifiers for architecturally defined registers. */ enum vm_reg_name { - VM_REG_GUEST_RAX, - VM_REG_GUEST_RBX, - VM_REG_GUEST_RCX, - VM_REG_GUEST_RDX, - VM_REG_GUEST_RSI, - VM_REG_GUEST_RDI, - VM_REG_GUEST_RBP, + VM_REG_GUEST_R1, + VM_REG_GUEST_R2, + VM_REG_GUEST_R3, + VM_REG_GUEST_R4, + VM_REG_GUEST_R5, + VM_REG_GUEST_R6, + VM_REG_GUEST_R7, VM_REG_GUEST_R8, VM_REG_GUEST_R9, VM_REG_GUEST_R10, VM_REG_GUEST_R11, VM_REG_GUEST_R12, - VM_REG_GUEST_R13, - VM_REG_GUEST_R14, - VM_REG_GUEST_R15, - VM_REG_GUEST_CR0, - VM_REG_GUEST_CR3, - VM_REG_GUEST_CR4, - VM_REG_GUEST_DR7, - VM_REG_GUEST_RSP, - VM_REG_GUEST_RIP, - VM_REG_GUEST_RFLAGS, - VM_REG_GUEST_ES, - VM_REG_GUEST_CS, - VM_REG_GUEST_SS, - VM_REG_GUEST_DS, - VM_REG_GUEST_FS, - VM_REG_GUEST_GS, - VM_REG_GUEST_LDTR, - VM_REG_GUEST_TR, - VM_REG_GUEST_IDTR, - VM_REG_GUEST_GDTR, - VM_REG_GUEST_EFER, - VM_REG_GUEST_CR2, - VM_REG_GUEST_PDPTE0, - VM_REG_GUEST_PDPTE1, - VM_REG_GUEST_PDPTE2, - VM_REG_GUEST_PDPTE3, - VM_REG_GUEST_INTR_SHADOW, - VM_REG_LAST + VM_REG_GUEST_SP, + VM_REG_GUEST_LR, + VM_REG_GUEST_PC }; enum x2apic_state { Modified: soc2015/mihai/bhyve-on-arm-head/sys/arm/include/vmm_dev.h ============================================================================== --- soc2015/mihai/bhyve-on-arm-head/sys/arm/include/vmm_dev.h Sun Jul 5 09:48:03 2015 (r287974) +++ soc2015/mihai/bhyve-on-arm-head/sys/arm/include/vmm_dev.h Sun Jul 5 10:24:17 2015 (r287975) @@ -54,7 +54,9 @@ struct vm_run { int cpuid; + uint64_t pc; struct vm_exit vm_exit; + }; struct vm_exception { @@ -181,11 +183,6 @@ int vcpuid; }; -struct vm_cpuset { - int which; - int cpusetsize; - cpuset_t *cpus; -}; #define VM_ACTIVE_CPUS 0 #define VM_SUSPENDED_CPUS 1 Modified: soc2015/mihai/bhyve-on-arm-head/usr.sbin/Makefile.arm ============================================================================== --- soc2015/mihai/bhyve-on-arm-head/usr.sbin/Makefile.arm Sun Jul 5 09:48:03 2015 (r287974) +++ soc2015/mihai/bhyve-on-arm-head/usr.sbin/Makefile.arm Sun Jul 5 10:24:17 2015 (r287975) @@ -2,3 +2,6 @@ SUBDIR+= ofwdump SUBDIR+= kgmon +.if ${MK_BHYVE} != "no" +SUBDIR+= bhyvearm +.endif Added: soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyvearm/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyvearm/Makefile Sun Jul 5 10:24:17 2015 (r287975) @@ -0,0 +1,20 @@ +# +# $FreeBSD: head/usr.sbin/bhyve/Makefile 256057 2013-10-04 18:44:47Z grehan $ +# + +PROG= bhyvearm + +DEBUG_FLAGS= -g -O0 + +SRCS= bhyverun.c block_if.c mem.c mevent.c + +.PATH: ${.CURDIR}/../../sys/arm/vmm + +NO_MAN= + +DPADD= ${LIBVMMAPIARM} ${LIBMD} ${LIBPTHREAD} +LDADD= -lvmmapiarm -lmd -lpthread + +WARNS?= 2 + +.include Added: soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyvearm/bhyverun.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyvearm/bhyverun.c Sun Jul 5 10:24:17 2015 (r287975) @@ -0,0 +1,485 @@ +/*- + * Copyright (c) 2011 NetApp, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY NETAPP, INC ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL NETAPP, INC OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD: head/usr.sbin/bhyve/bhyverun.c 256062 2013-10-04 23:29:07Z grehan $ + */ + +#include +__FBSDID("$FreeBSD: head/usr.sbin/bhyve/bhyverun.c 256062 2013-10-04 23:29:07Z grehan $"); + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "bhyverun.h" +#include "mem.h" +#include "mevent.h" + +#define GUEST_NIO_PORT 0x488 /* guest upcalls via i/o port */ + +#define VMEXIT_SWITCH 0 /* force vcpu switch in mux mode */ +#define VMEXIT_CONTINUE 1 /* continue from next instruction */ +#define VMEXIT_RESTART 2 /* restart current instruction */ +#define VMEXIT_ABORT 3 /* abort the vm run loop */ +#define VMEXIT_RESET 4 /* guest machine has reset */ + +#define MB (1024UL * 1024) +#define GB (1024UL * MB) + +typedef int (*vmexit_handler_t)(struct vmctx *, struct vm_exit *, int *vcpu); + +char *vmname; + +int guest_ncpus; + +static int pincpu = -1; +static int guest_vmexit_on_hlt, guest_vmexit_on_pause; + +static int foundcpus; + +static char *progname; +static const int BSP = 0; + +static int cpumask; + +static void vm_loop(struct vmctx *ctx, int vcpu, uint64_t rip); + +struct vm_exit vmexit[VM_MAXCPU]; + +struct bhyvestats { + uint64_t vmexit_bogus; + uint64_t vmexit_bogus_switch; + uint64_t vmexit_hlt; + uint64_t vmexit_pause; + uint64_t vmexit_mtrap; + uint64_t vmexit_paging; + uint64_t cpu_switch_rotate; + uint64_t cpu_switch_direct; + int io_reset; +} stats; + +struct mt_vmm_info { + pthread_t mt_thr; + struct vmctx *mt_ctx; + int mt_vcpu; +} mt_vmm_info[VM_MAXCPU]; + +static void +usage(int code) +{ + + fprintf(stderr, + "Usage: %s [-aehAHIP][-g ][-s ][-S ]" + "[-c vcpus][-p pincpu][-m mem]" + " \n" + " -c: # cpus (default 1)\n" + " -p: pin vcpu 'n' to host cpu 'pincpu + n'\n" + " -H: vmexit from the guest on hlt\n" + " -P: vmexit from the guest on pause\n" + " -h: help\n" + " -m: memory size in MB\n", + progname); + + exit(code); +} + +void * +paddr_guest2host(struct vmctx *ctx, uintptr_t gaddr, size_t len) +{ + + return (vm_map_gpa(ctx, gaddr, len)); +} + +int +fbsdrun_vmexit_on_pause(void) +{ + + return (guest_vmexit_on_pause); +} + +int +fbsdrun_vmexit_on_hlt(void) +{ + + return (guest_vmexit_on_hlt); +} + +static void * +fbsdrun_start_thread(void *param) +{ + char tname[MAXCOMLEN + 1]; + struct mt_vmm_info *mtp; + int vcpu; + + mtp = param; + vcpu = mtp->mt_vcpu; + + snprintf(tname, sizeof(tname), "%s vcpu %d", vmname, vcpu); + pthread_set_name_np(mtp->mt_thr, tname); + + vm_loop(mtp->mt_ctx, vcpu, vmexit[vcpu].rip); + + /* not reached */ + exit(1); + return (NULL); +} + +void +fbsdrun_addcpu(struct vmctx *ctx, int vcpu, uint64_t rip) +{ + int error; + + if (cpumask & (1 << vcpu)) { + fprintf(stderr, "addcpu: attempting to add existing cpu %d\n", + vcpu); + exit(1); + } + + cpumask |= 1 << vcpu; + foundcpus++; + + /* + * Set up the vmexit struct to allow execution to start + * at the given RIP + */ + vmexit[vcpu].rip = rip; + vmexit[vcpu].inst_length = 0; + + if (vcpu == BSP) { + mt_vmm_info[vcpu].mt_ctx = ctx; + mt_vmm_info[vcpu].mt_vcpu = vcpu; + + error = pthread_create(&mt_vmm_info[vcpu].mt_thr, NULL, + fbsdrun_start_thread, &mt_vmm_info[vcpu]); + assert(error == 0); + } +} + +static int +fbsdrun_get_next_cpu(int curcpu) +{ + + /* + * Get the next available CPU. Assumes they arrive + * in ascending order with no gaps. + */ + return ((curcpu + 1) % foundcpus); +} + +static int +vmexit_catch_reset(void) +{ + stats.io_reset++; + return (VMEXIT_RESET); +} + +static int +vmexit_handle_notify(struct vmctx *ctx, struct vm_exit *vme, int *pvcpu, + uint32_t eax) +{ +#if BHYVE_DEBUG + /* + * put guest-driven debug here + */ +#endif + return (VMEXIT_CONTINUE); +} + +static int +vmexit_vmx(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) +{ + + fprintf(stderr, "vm exit[%d]\n", *pvcpu); + fprintf(stderr, "\treason\t\tVMX\n"); + fprintf(stderr, "\trip\t\t0x%016llx\n", vmexit->rip); + fprintf(stderr, "\tinst_length\t%d\n", vmexit->inst_length); + + return (VMEXIT_ABORT); +} + +static int +vmexit_bogus(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) +{ + + stats.vmexit_bogus++; + + return (VMEXIT_RESTART); +} + +static int +vmexit_hlt(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) +{ + + stats.vmexit_hlt++; + + /* + * Just continue execution with the next instruction. We use + * the HLT VM exit as a way to be friendly with the host + * scheduler. + */ + return (VMEXIT_CONTINUE); +} + +static int +vmexit_pause(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) +{ + + stats.vmexit_pause++; + + return (VMEXIT_CONTINUE); +} + +static int +vmexit_mtrap(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) +{ + + stats.vmexit_mtrap++; + + return (VMEXIT_RESTART); +} + +static int +vmexit_paging(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu) +{ + int err; + stats.vmexit_paging++; + + err = emulate_mem(ctx, *pvcpu, vmexit->u.paging.gpa, NULL); +// &vmexit->u.paging.vie); + + if (err) { + if (err == EINVAL) { + fprintf(stderr, + "Failed to emulate instruction at 0x%llx\n", + vmexit->rip); + } else if (err == ESRCH) { + fprintf(stderr, "Unhandled memory access to 0x%llx\n", *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-soc-all@freebsd.org Sun Jul 5 16:56:02 2015 Return-Path: Delivered-To: svn-soc-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 71CF492B0 for ; Sun, 5 Jul 2015 16:56:02 +0000 (UTC) (envelope-from pratiksinghal@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5BBA01C09 for ; Sun, 5 Jul 2015 16:56:02 +0000 (UTC) (envelope-from pratiksinghal@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id t65Gu2ii066752 for ; Sun, 5 Jul 2015 16:56:02 GMT (envelope-from pratiksinghal@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id t65Gtvmq066676 for svn-soc-all@FreeBSD.org; Sun, 5 Jul 2015 16:55:57 GMT (envelope-from pratiksinghal@FreeBSD.org) Date: Sun, 5 Jul 2015 16:55:57 GMT Message-Id: <201507051655.t65Gtvmq066676@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to pratiksinghal@FreeBSD.org using -f From: pratiksinghal@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r287989 - in soc2015/pratiksinghal/cubie-head: . cddl/contrib/opensolaris cddl/contrib/opensolaris/cmd/lockstat cddl/contrib/opensolaris/cmd/zdb cddl/contrib/opensolaris/cmd/zfs cddl... MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Jul 2015 16:56:02 -0000 Author: pratiksinghal Date: Sun Jul 5 16:55:54 2015 New Revision: 287989 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=287989 Log: Merged with ~HEAD Added: soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/lib/libdtrace/aarch64/ - copied from r287986, mirror/FreeBSD/head/cddl/contrib/opensolaris/lib/libdtrace/aarch64/ soc2015/pratiksinghal/cubie-head/cddl/lib/drti/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/cddl/lib/drti/Makefile.depend soc2015/pratiksinghal/cubie-head/cddl/lib/libavl/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/cddl/lib/libavl/Makefile.depend soc2015/pratiksinghal/cubie-head/cddl/lib/libctf/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/cddl/lib/libctf/Makefile.depend soc2015/pratiksinghal/cubie-head/cddl/lib/libdtrace/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/cddl/lib/libdtrace/Makefile.depend soc2015/pratiksinghal/cubie-head/cddl/lib/libnvpair/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/cddl/lib/libnvpair/Makefile.depend soc2015/pratiksinghal/cubie-head/cddl/lib/libumem/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/cddl/lib/libumem/Makefile.depend soc2015/pratiksinghal/cubie-head/cddl/lib/libuutil/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/cddl/lib/libuutil/Makefile.depend soc2015/pratiksinghal/cubie-head/cddl/lib/libzfs/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/cddl/lib/libzfs/Makefile.depend soc2015/pratiksinghal/cubie-head/cddl/lib/libzfs_core/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/cddl/lib/libzfs_core/Makefile.depend soc2015/pratiksinghal/cubie-head/cddl/lib/libzpool/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/cddl/lib/libzpool/Makefile.depend soc2015/pratiksinghal/cubie-head/cddl/sbin/zfs/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/cddl/sbin/zfs/Makefile.depend soc2015/pratiksinghal/cubie-head/cddl/sbin/zpool/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/cddl/sbin/zpool/Makefile.depend soc2015/pratiksinghal/cubie-head/cddl/usr.bin/ctfconvert/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/cddl/usr.bin/ctfconvert/Makefile.depend soc2015/pratiksinghal/cubie-head/cddl/usr.bin/ctfdump/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/cddl/usr.bin/ctfdump/Makefile.depend soc2015/pratiksinghal/cubie-head/cddl/usr.bin/ctfmerge/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/cddl/usr.bin/ctfmerge/Makefile.depend soc2015/pratiksinghal/cubie-head/cddl/usr.bin/sgsmsg/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/cddl/usr.bin/sgsmsg/Makefile.depend soc2015/pratiksinghal/cubie-head/cddl/usr.bin/zinject/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/cddl/usr.bin/zinject/Makefile.depend soc2015/pratiksinghal/cubie-head/cddl/usr.bin/zstreamdump/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/cddl/usr.bin/zstreamdump/Makefile.depend soc2015/pratiksinghal/cubie-head/cddl/usr.bin/ztest/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/cddl/usr.bin/ztest/Makefile.depend soc2015/pratiksinghal/cubie-head/cddl/usr.sbin/dtrace/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/cddl/usr.sbin/dtrace/Makefile.depend soc2015/pratiksinghal/cubie-head/cddl/usr.sbin/dtruss/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/cddl/usr.sbin/dtruss/Makefile.depend soc2015/pratiksinghal/cubie-head/cddl/usr.sbin/lockstat/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/cddl/usr.sbin/lockstat/Makefile.depend soc2015/pratiksinghal/cubie-head/cddl/usr.sbin/zdb/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/cddl/usr.sbin/zdb/Makefile.depend soc2015/pratiksinghal/cubie-head/cddl/usr.sbin/zhack/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/cddl/usr.sbin/zhack/Makefile.depend soc2015/pratiksinghal/cubie-head/contrib/llvm/patches/patch-10-llvm-r241142-r241143-mmx-undef.diff - copied unchanged from r287986, mirror/FreeBSD/head/contrib/llvm/patches/patch-10-llvm-r241142-r241143-mmx-undef.diff soc2015/pratiksinghal/cubie-head/etc/sendmail/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/etc/sendmail/Makefile.depend soc2015/pratiksinghal/cubie-head/include/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/include/Makefile.depend soc2015/pratiksinghal/cubie-head/include/arpa/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/include/arpa/Makefile.depend soc2015/pratiksinghal/cubie-head/include/gssapi/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/include/gssapi/Makefile.depend soc2015/pratiksinghal/cubie-head/include/protocols/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/include/protocols/Makefile.depend soc2015/pratiksinghal/cubie-head/include/rpc/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/include/rpc/Makefile.depend soc2015/pratiksinghal/cubie-head/include/rpcsvc/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/include/rpcsvc/Makefile.depend soc2015/pratiksinghal/cubie-head/include/xlocale/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/include/xlocale/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/atf/atf-check/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/atf/atf-check/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/atf/atf-sh/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/atf/atf-sh/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/atrun/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/atrun/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/bootpd/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/bootpd/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/bootpd/bootpgw/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/bootpd/bootpgw/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/bootpd/tools/bootpef/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/bootpd/tools/bootpef/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/bootpd/tools/bootptest/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/bootpd/tools/bootptest/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/comsat/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/comsat/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/fingerd/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/fingerd/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/ftpd/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/ftpd/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/getty/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/getty/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/mail.local/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/mail.local/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/mknetid/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/mknetid/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/pppoed/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/pppoed/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/rbootd/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/rbootd/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/revnetgroup/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/revnetgroup/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/rlogind/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/rlogind/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/rpc.rquotad/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/rpc.rquotad/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/rpc.rstatd/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/rpc.rstatd/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/rpc.rusersd/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/rpc.rusersd/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/rpc.rwalld/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/rpc.rwalld/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/rpc.sprayd/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/rpc.sprayd/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/rshd/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/rshd/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/rtld-elf/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/rtld-elf/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/save-entropy/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/save-entropy/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/smrsh/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/smrsh/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/talkd/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/talkd/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/tcpd/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/tcpd/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/telnetd/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/telnetd/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/tftp-proxy/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/tftp-proxy/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/tftpd/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/tftpd/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/ulog-helper/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/ulog-helper/Makefile.depend soc2015/pratiksinghal/cubie-head/libexec/ypxfr/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/libexec/ypxfr/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/adjkerntz/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/adjkerntz/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/atm/atmconfig/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/atm/atmconfig/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/badsect/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/badsect/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/bsdlabel/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/bsdlabel/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/camcontrol/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/camcontrol/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/camcontrol/attrib.c - copied unchanged from r287986, mirror/FreeBSD/head/sbin/camcontrol/attrib.c soc2015/pratiksinghal/cubie-head/sbin/ccdconfig/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/ccdconfig/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/clri/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/clri/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/comcontrol/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/comcontrol/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/conscontrol/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/conscontrol/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/ddb/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/ddb/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/devd/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/devd/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/devfs/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/devfs/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/dhclient/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/dhclient/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/dmesg/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/dmesg/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/dump/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/dump/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/dumpfs/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/dumpfs/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/dumpon/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/dumpon/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/etherswitchcfg/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/etherswitchcfg/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/fdisk/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/fdisk/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/fdisk_pc98/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/fdisk_pc98/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/ffsinfo/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/ffsinfo/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/fsck/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/fsck/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/fsck_ffs/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/fsck_ffs/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/fsck_msdosfs/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/fsck_msdosfs/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/fsdb/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/fsdb/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/fsirand/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/fsirand/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/gbde/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/gbde/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/geom/class/cache/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/geom/class/cache/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/geom/class/concat/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/geom/class/concat/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/geom/class/eli/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/geom/class/eli/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/geom/class/journal/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/geom/class/journal/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/geom/class/label/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/geom/class/label/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/geom/class/mirror/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/geom/class/mirror/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/geom/class/mountver/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/geom/class/mountver/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/geom/class/multipath/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/geom/class/multipath/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/geom/class/nop/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/geom/class/nop/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/geom/class/part/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/geom/class/part/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/geom/class/raid/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/geom/class/raid/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/geom/class/raid3/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/geom/class/raid3/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/geom/class/sched/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/geom/class/sched/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/geom/class/shsec/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/geom/class/shsec/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/geom/class/stripe/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/geom/class/stripe/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/geom/class/virstor/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/geom/class/virstor/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/geom/core/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/geom/core/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/ggate/ggatec/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/ggate/ggatec/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/ggate/ggated/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/ggate/ggated/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/ggate/ggatel/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/ggate/ggatel/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/growfs/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/growfs/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/gvinum/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/gvinum/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/hastctl/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/hastctl/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/hastd/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/hastd/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/ifconfig/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/ifconfig/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/init/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/init/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/ipf/ipf/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/ipf/ipf/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/ipf/ipfs/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/ipf/ipfs/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/ipf/ipfstat/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/ipf/ipfstat/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/ipf/ipftest/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/ipf/ipftest/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/ipf/ipmon/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/ipf/ipmon/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/ipf/ipnat/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/ipf/ipnat/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/ipf/ippool/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/ipf/ippool/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/ipf/ipresend/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/ipf/ipresend/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/ipf/libipf/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/ipf/libipf/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/ipfw/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/ipfw/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/iscontrol/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/iscontrol/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/kldconfig/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/kldconfig/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/kldload/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/kldload/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/kldstat/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/kldstat/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/kldunload/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/kldunload/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/ldconfig/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/ldconfig/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/md5/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/md5/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/mdconfig/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/mdconfig/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/mdmfs/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/mdmfs/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/mknod/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/mknod/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/mksnap_ffs/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/mksnap_ffs/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/mount/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/mount/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/mount_cd9660/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/mount_cd9660/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/mount_fusefs/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/mount_fusefs/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/mount_msdosfs/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/mount_msdosfs/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/mount_nfs/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/mount_nfs/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/mount_nullfs/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/mount_nullfs/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/mount_udf/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/mount_udf/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/mount_unionfs/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/mount_unionfs/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/natd/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/natd/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/newfs/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/newfs/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/newfs_msdos/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/newfs_msdos/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/nfsiod/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/nfsiod/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/nos-tun/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/nos-tun/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/nvmecontrol/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/nvmecontrol/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/pfctl/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/pfctl/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/pflogd/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/pflogd/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/ping/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/ping/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/ping6/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/ping6/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/quotacheck/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/quotacheck/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/rcorder/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/rcorder/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/reboot/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/reboot/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/recoverdisk/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/recoverdisk/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/resolvconf/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/resolvconf/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/restore/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/restore/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/route/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/route/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/routed/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/routed/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/routed/rtquery/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/routed/rtquery/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/rtsol/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/rtsol/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/savecore/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/savecore/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/sconfig/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/sconfig/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/setkey/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/setkey/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/shutdown/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/shutdown/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/spppcontrol/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/spppcontrol/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/sunlabel/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/sunlabel/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/swapon/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/swapon/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/sysctl/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/sysctl/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/tunefs/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/tunefs/Makefile.depend soc2015/pratiksinghal/cubie-head/sbin/umount/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sbin/umount/Makefile.depend soc2015/pratiksinghal/cubie-head/sys/arm/allwinner/a10_ahci.c - copied unchanged from r287986, mirror/FreeBSD/head/sys/arm/allwinner/a10_ahci.c soc2015/pratiksinghal/cubie-head/sys/arm/ti/am335x/hdmi.h - copied unchanged from r287986, mirror/FreeBSD/head/sys/arm/ti/am335x/hdmi.h soc2015/pratiksinghal/cubie-head/sys/arm/ti/am335x/hdmi_if.m - copied unchanged from r287986, mirror/FreeBSD/head/sys/arm/ti/am335x/hdmi_if.m soc2015/pratiksinghal/cubie-head/sys/arm/ti/am335x/tda19988.c - copied unchanged from r287986, mirror/FreeBSD/head/sys/arm/ti/am335x/tda19988.c soc2015/pratiksinghal/cubie-head/sys/arm/ti/am335x/tps65217x.h - copied unchanged from r287986, mirror/FreeBSD/head/sys/arm/ti/am335x/tps65217x.h soc2015/pratiksinghal/cubie-head/sys/arm64/acpica/ - copied from r287986, mirror/FreeBSD/head/sys/arm64/acpica/ soc2015/pratiksinghal/cubie-head/sys/arm64/arm64/gic.h - copied unchanged from r287986, mirror/FreeBSD/head/sys/arm64/arm64/gic.h soc2015/pratiksinghal/cubie-head/sys/arm64/arm64/gic_acpi.c - copied unchanged from r287986, mirror/FreeBSD/head/sys/arm64/arm64/gic_acpi.c soc2015/pratiksinghal/cubie-head/sys/arm64/arm64/gic_fdt.c - copied unchanged from r287986, mirror/FreeBSD/head/sys/arm64/arm64/gic_fdt.c soc2015/pratiksinghal/cubie-head/sys/arm64/arm64/unwind.c - copied unchanged from r287986, mirror/FreeBSD/head/sys/arm64/arm64/unwind.c soc2015/pratiksinghal/cubie-head/sys/arm64/include/acpica_machdep.h - copied unchanged from r287986, mirror/FreeBSD/head/sys/arm64/include/acpica_machdep.h soc2015/pratiksinghal/cubie-head/sys/arm64/include/floatingpoint.h - copied unchanged from r287986, mirror/FreeBSD/head/sys/arm64/include/floatingpoint.h soc2015/pratiksinghal/cubie-head/sys/arm64/include/iodev.h - copied unchanged from r287986, mirror/FreeBSD/head/sys/arm64/include/iodev.h soc2015/pratiksinghal/cubie-head/sys/arm64/include/pci_cfgreg.h - copied unchanged from r287986, mirror/FreeBSD/head/sys/arm64/include/pci_cfgreg.h soc2015/pratiksinghal/cubie-head/sys/boot/common/Makefile - copied unchanged from r287986, mirror/FreeBSD/head/sys/boot/common/Makefile soc2015/pratiksinghal/cubie-head/sys/boot/efi/libefi/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sys/boot/efi/libefi/Makefile.depend soc2015/pratiksinghal/cubie-head/sys/boot/ficl/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sys/boot/ficl/Makefile.depend soc2015/pratiksinghal/cubie-head/sys/boot/i386/boot0/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sys/boot/i386/boot0/Makefile.depend soc2015/pratiksinghal/cubie-head/sys/boot/i386/boot0sio/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sys/boot/i386/boot0sio/Makefile.depend soc2015/pratiksinghal/cubie-head/sys/boot/i386/boot2/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sys/boot/i386/boot2/Makefile.depend soc2015/pratiksinghal/cubie-head/sys/boot/i386/loader/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sys/boot/i386/loader/Makefile.depend soc2015/pratiksinghal/cubie-head/sys/boot/i386/zfsloader/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sys/boot/i386/zfsloader/Makefile.depend soc2015/pratiksinghal/cubie-head/sys/cddl/contrib/opensolaris/uts/aarch64/ - copied from r287986, mirror/FreeBSD/head/sys/cddl/contrib/opensolaris/uts/aarch64/ soc2015/pratiksinghal/cubie-head/sys/cddl/dev/dtrace/aarch64/ - copied from r287986, mirror/FreeBSD/head/sys/cddl/dev/dtrace/aarch64/ soc2015/pratiksinghal/cubie-head/sys/cddl/dev/fbt/aarch64/ - copied from r287986, mirror/FreeBSD/head/sys/cddl/dev/fbt/aarch64/ soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/include/acclib.h - copied unchanged from r287986, mirror/FreeBSD/head/sys/contrib/dev/acpica/include/acclib.h soc2015/pratiksinghal/cubie-head/sys/contrib/libnv/ - copied from r287986, mirror/FreeBSD/head/sys/contrib/libnv/ soc2015/pratiksinghal/cubie-head/sys/dev/ichiic/ - copied from r287986, mirror/FreeBSD/head/sys/dev/ichiic/ soc2015/pratiksinghal/cubie-head/sys/dev/ixl/i40e_devids.h - copied unchanged from r287986, mirror/FreeBSD/head/sys/dev/ixl/i40e_devids.h soc2015/pratiksinghal/cubie-head/sys/dev/pci/pci_host_generic.c - copied unchanged from r287986, mirror/FreeBSD/head/sys/dev/pci/pci_host_generic.c soc2015/pratiksinghal/cubie-head/sys/dev/pci/pci_iov.h - copied unchanged from r287986, mirror/FreeBSD/head/sys/dev/pci/pci_iov.h soc2015/pratiksinghal/cubie-head/sys/dev/pci/pci_iov_if.m - copied unchanged from r287986, mirror/FreeBSD/head/sys/dev/pci/pci_iov_if.m soc2015/pratiksinghal/cubie-head/sys/dev/proto/proto_bus_isa.c - copied unchanged from r287986, mirror/FreeBSD/head/sys/dev/proto/proto_bus_isa.c soc2015/pratiksinghal/cubie-head/sys/dev/proto/proto_busdma.c - copied unchanged from r287986, mirror/FreeBSD/head/sys/dev/proto/proto_busdma.c soc2015/pratiksinghal/cubie-head/sys/dev/proto/proto_busdma.h - copied unchanged from r287986, mirror/FreeBSD/head/sys/dev/proto/proto_busdma.h soc2015/pratiksinghal/cubie-head/sys/dev/qlxgbe/ql_boot.c - copied unchanged from r287986, mirror/FreeBSD/head/sys/dev/qlxgbe/ql_boot.c soc2015/pratiksinghal/cubie-head/sys/dev/qlxgbe/ql_fw.c - copied unchanged from r287986, mirror/FreeBSD/head/sys/dev/qlxgbe/ql_fw.c soc2015/pratiksinghal/cubie-head/sys/dev/qlxgbe/ql_minidump.c - copied unchanged from r287986, mirror/FreeBSD/head/sys/dev/qlxgbe/ql_minidump.c soc2015/pratiksinghal/cubie-head/sys/dev/random/randomdev_none.c - copied unchanged from r287986, mirror/FreeBSD/head/sys/dev/random/randomdev_none.c soc2015/pratiksinghal/cubie-head/sys/dev/usb/misc/ugold.c - copied unchanged from r287986, mirror/FreeBSD/head/sys/dev/usb/misc/ugold.c soc2015/pratiksinghal/cubie-head/sys/dev/usb/template/usb_template_midi.c - copied unchanged from r287986, mirror/FreeBSD/head/sys/dev/usb/template/usb_template_midi.c soc2015/pratiksinghal/cubie-head/sys/mips/conf/BERI_SIM_VIRTIO - copied unchanged from r287986, mirror/FreeBSD/head/sys/mips/conf/BERI_SIM_VIRTIO soc2015/pratiksinghal/cubie-head/sys/mips/conf/TL-ARCHERC7V2 - copied unchanged from r287986, mirror/FreeBSD/head/sys/mips/conf/TL-ARCHERC7V2 soc2015/pratiksinghal/cubie-head/sys/mips/conf/TL-ARCHERC7V2.hints - copied unchanged from r287986, mirror/FreeBSD/head/sys/mips/conf/TL-ARCHERC7V2.hints soc2015/pratiksinghal/cubie-head/sys/modules/filemon/Makefile.depend - copied unchanged from r287986, mirror/FreeBSD/head/sys/modules/filemon/Makefile.depend soc2015/pratiksinghal/cubie-head/sys/modules/geom/geom_map/ - copied from r287986, mirror/FreeBSD/head/sys/modules/geom/geom_map/ soc2015/pratiksinghal/cubie-head/sys/modules/i2c/controllers/ichiic/ - copied from r287986, mirror/FreeBSD/head/sys/modules/i2c/controllers/ichiic/ soc2015/pratiksinghal/cubie-head/sys/modules/usb/ugold/ - copied from r287986, mirror/FreeBSD/head/sys/modules/usb/ugold/ soc2015/pratiksinghal/cubie-head/sys/net/altq/altq_fairq.c - copied unchanged from r287986, mirror/FreeBSD/head/sys/net/altq/altq_fairq.c soc2015/pratiksinghal/cubie-head/sys/net/altq/altq_fairq.h - copied unchanged from r287986, mirror/FreeBSD/head/sys/net/altq/altq_fairq.h soc2015/pratiksinghal/cubie-head/targets/ - copied from r287986, mirror/FreeBSD/head/targets/ Deleted: soc2015/pratiksinghal/cubie-head/etc/tests/ soc2015/pratiksinghal/cubie-head/sys/dev/random/dummy_rng.c soc2015/pratiksinghal/cubie-head/sys/dev/random/live_entropy_sources.c soc2015/pratiksinghal/cubie-head/sys/dev/random/live_entropy_sources.h soc2015/pratiksinghal/cubie-head/sys/dev/random/random_adaptors.c soc2015/pratiksinghal/cubie-head/sys/dev/random/random_adaptors.h soc2015/pratiksinghal/cubie-head/sys/dev/random/randomdev_soft.c soc2015/pratiksinghal/cubie-head/sys/dev/random/randomdev_soft.h soc2015/pratiksinghal/cubie-head/sys/kern/subr_dnvlist.c soc2015/pratiksinghal/cubie-head/sys/kern/subr_nvlist.c soc2015/pratiksinghal/cubie-head/sys/kern/subr_nvpair.c soc2015/pratiksinghal/cubie-head/sys/modules/random/Makefile soc2015/pratiksinghal/cubie-head/sys/sys/nv_impl.h soc2015/pratiksinghal/cubie-head/sys/sys/nvlist_impl.h soc2015/pratiksinghal/cubie-head/sys/sys/nvpair_impl.h Modified: soc2015/pratiksinghal/cubie-head/Makefile.inc1 soc2015/pratiksinghal/cubie-head/ObsoleteFiles.inc soc2015/pratiksinghal/cubie-head/UPDATING soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/ (props changed) soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/cmd/lockstat/lockstat.c soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/cmd/zdb/zdb.c soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/cmd/ztest/ztest.c soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_module.c soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_module.h soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pragma.c soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/lib/libzfs/ (props changed) soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c soc2015/pratiksinghal/cubie-head/cddl/lib/Makefile soc2015/pratiksinghal/cubie-head/cddl/lib/libdtrace/Makefile soc2015/pratiksinghal/cubie-head/cddl/lib/libzfs/Makefile soc2015/pratiksinghal/cubie-head/cddl/lib/libzfs_core/Makefile soc2015/pratiksinghal/cubie-head/cddl/usr.sbin/Makefile soc2015/pratiksinghal/cubie-head/contrib/bmake/mk/meta2deps.sh soc2015/pratiksinghal/cubie-head/contrib/llvm/lib/Transforms/Scalar/SCCP.cpp soc2015/pratiksinghal/cubie-head/contrib/llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp soc2015/pratiksinghal/cubie-head/contrib/pf/pflogd/pflogd.8 soc2015/pratiksinghal/cubie-head/contrib/tcpdump/tcpdump.c soc2015/pratiksinghal/cubie-head/crypto/openssl/ (props changed) soc2015/pratiksinghal/cubie-head/crypto/openssl/CHANGES soc2015/pratiksinghal/cubie-head/crypto/openssl/Configure soc2015/pratiksinghal/cubie-head/crypto/openssl/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/Makefile.org soc2015/pratiksinghal/cubie-head/crypto/openssl/NEWS soc2015/pratiksinghal/cubie-head/crypto/openssl/README soc2015/pratiksinghal/cubie-head/crypto/openssl/apps/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/apps/apps.c soc2015/pratiksinghal/cubie-head/crypto/openssl/apps/asn1pars.c soc2015/pratiksinghal/cubie-head/crypto/openssl/apps/ca.c soc2015/pratiksinghal/cubie-head/crypto/openssl/apps/cms.c soc2015/pratiksinghal/cubie-head/crypto/openssl/apps/dhparam.c soc2015/pratiksinghal/cubie-head/crypto/openssl/apps/enc.c soc2015/pratiksinghal/cubie-head/crypto/openssl/apps/gendh.c soc2015/pratiksinghal/cubie-head/crypto/openssl/apps/ocsp.c soc2015/pratiksinghal/cubie-head/crypto/openssl/apps/s_cb.c soc2015/pratiksinghal/cubie-head/crypto/openssl/apps/s_client.c soc2015/pratiksinghal/cubie-head/crypto/openssl/apps/s_server.c soc2015/pratiksinghal/cubie-head/crypto/openssl/apps/s_time.c soc2015/pratiksinghal/cubie-head/crypto/openssl/apps/smime.c soc2015/pratiksinghal/cubie-head/crypto/openssl/apps/srp.c soc2015/pratiksinghal/cubie-head/crypto/openssl/apps/verify.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/aes/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/asn1/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/asn1/a_int.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/asn1/asn1_gen.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/asn1/asn_mime.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/asn1/bio_ndef.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/asn1/tasn_new.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/asn1/tasn_prn.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/asn1/x_x509.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/bf/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/bio/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/bio/b_print.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/bio/bf_nbio.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/bio/bio_lib.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/bio/bss_dgram.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/bn/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/bn/bn.h soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/bn/bn_err.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/bn/bn_gf2m.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/bn/bn_lcl.h soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/bn/bn_print.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/bn/bn_rand.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/bn/bn_shift.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/buffer/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/buffer/buffer.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/camellia/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/cast/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/cmac/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/cmac/cmac.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/cms/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/cms/cms_pwri.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/cms/cms_smime.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/comp/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/conf/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/cryptlib.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/des/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/des/des.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/des/enc_writ.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/dh/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/dh/dh_ameth.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/dsa/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/dsa/dsa_gen.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/dsa/dsa_ossl.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/dso/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/dso/dso_lib.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/ec/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/ec/ec2_oct.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/ec/ec_asn1.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/ec/ec_check.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/ec/ec_key.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/ec/ec_lcl.h soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/ec/ec_lib.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/ec/eck_prn.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/ec/ecp_oct.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/ec/ectest.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/ecdh/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/ecdsa/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/ecdsa/ecdsatest.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/engine/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/engine/eng_table.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/err/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/evp/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/evp/bio_ok.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/evp/e_aes.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/evp/e_rc4_hmac_md5.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/evp/encode.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/evp/evp.h soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/evp/p_seal.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/hmac/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/hmac/hmac.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/hmac/hmactest.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/idea/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/jpake/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/krb5/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/lhash/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/md2/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/md32_common.h soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/md4/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/md5/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/mdc2/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/mem.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/modes/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/modes/gcm128.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/objects/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/objects/o_names.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/objects/obj_dat.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/objects/objects.README soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/objects/objects.pl soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/ocsp/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/ocsp/ocsp_ext.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/ocsp/ocsp_vfy.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/opensslv.h soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/pem/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/pem/pem_lib.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/pem/pem_pk8.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/pkcs12/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/pkcs12/p12_mutl.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/pkcs7/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/pkcs7/pk7_doit.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/pqueue/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/rand/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/rc2/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/rc4/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/rc5/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/ripemd/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/rsa/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/rsa/rsa_pmeth.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/seed/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/sha/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/srp/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/srp/srp_vfy.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/stack/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/store/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/threads/th-lock.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/ts/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/txt_db/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/ui/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/whrlpool/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/x509/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/x509/x509_lu.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/x509/x509_vfy.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/x509/x509_vfy.h soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/x509/x509_vpm.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/x509/x509type.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/x509v3/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/x509v3/v3_alt.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/x509v3/v3_cpols.c soc2015/pratiksinghal/cubie-head/crypto/openssl/crypto/x509v3/v3_utl.c soc2015/pratiksinghal/cubie-head/crypto/openssl/doc/apps/cms.pod soc2015/pratiksinghal/cubie-head/crypto/openssl/doc/apps/config.pod soc2015/pratiksinghal/cubie-head/crypto/openssl/doc/apps/dhparam.pod soc2015/pratiksinghal/cubie-head/crypto/openssl/doc/apps/ocsp.pod soc2015/pratiksinghal/cubie-head/crypto/openssl/doc/apps/s_client.pod soc2015/pratiksinghal/cubie-head/crypto/openssl/doc/apps/s_server.pod soc2015/pratiksinghal/cubie-head/crypto/openssl/doc/apps/smime.pod soc2015/pratiksinghal/cubie-head/crypto/openssl/doc/apps/verify.pod soc2015/pratiksinghal/cubie-head/crypto/openssl/doc/crypto/BN_rand.pod soc2015/pratiksinghal/cubie-head/crypto/openssl/doc/crypto/BN_set_bit.pod soc2015/pratiksinghal/cubie-head/crypto/openssl/doc/crypto/X509_VERIFY_PARAM_set_flags.pod soc2015/pratiksinghal/cubie-head/crypto/openssl/doc/crypto/pem.pod soc2015/pratiksinghal/cubie-head/crypto/openssl/doc/ssl/SSL_CTX_set_tmp_dh_callback.pod soc2015/pratiksinghal/cubie-head/crypto/openssl/e_os2.h soc2015/pratiksinghal/cubie-head/crypto/openssl/engines/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/engines/ccgost/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/engines/ccgost/e_gost_err.c soc2015/pratiksinghal/cubie-head/crypto/openssl/engines/ccgost/e_gost_err.h soc2015/pratiksinghal/cubie-head/crypto/openssl/engines/ccgost/gost2001.c soc2015/pratiksinghal/cubie-head/crypto/openssl/engines/ccgost/gost94_keyx.c soc2015/pratiksinghal/cubie-head/crypto/openssl/engines/ccgost/gost_ameth.c soc2015/pratiksinghal/cubie-head/crypto/openssl/engines/ccgost/gost_pmeth.c soc2015/pratiksinghal/cubie-head/crypto/openssl/engines/ccgost/gost_sign.c soc2015/pratiksinghal/cubie-head/crypto/openssl/engines/e_sureware.c soc2015/pratiksinghal/cubie-head/crypto/openssl/ssl/Makefile soc2015/pratiksinghal/cubie-head/crypto/openssl/ssl/d1_both.c soc2015/pratiksinghal/cubie-head/crypto/openssl/ssl/d1_clnt.c soc2015/pratiksinghal/cubie-head/crypto/openssl/ssl/d1_lib.c soc2015/pratiksinghal/cubie-head/crypto/openssl/ssl/d1_pkt.c soc2015/pratiksinghal/cubie-head/crypto/openssl/ssl/d1_srvr.c soc2015/pratiksinghal/cubie-head/crypto/openssl/ssl/s2_pkt.c soc2015/pratiksinghal/cubie-head/crypto/openssl/ssl/s2_srvr.c soc2015/pratiksinghal/cubie-head/crypto/openssl/ssl/s3_both.c soc2015/pratiksinghal/cubie-head/crypto/openssl/ssl/s3_cbc.c soc2015/pratiksinghal/cubie-head/crypto/openssl/ssl/s3_clnt.c soc2015/pratiksinghal/cubie-head/crypto/openssl/ssl/s3_pkt.c soc2015/pratiksinghal/cubie-head/crypto/openssl/ssl/s3_srvr.c soc2015/pratiksinghal/cubie-head/crypto/openssl/ssl/ssl.h soc2015/pratiksinghal/cubie-head/crypto/openssl/ssl/ssl_err.c soc2015/pratiksinghal/cubie-head/crypto/openssl/ssl/ssl_lib.c soc2015/pratiksinghal/cubie-head/crypto/openssl/ssl/ssl_locl.h soc2015/pratiksinghal/cubie-head/crypto/openssl/ssl/ssl_sess.c soc2015/pratiksinghal/cubie-head/crypto/openssl/ssl/ssl_stat.c soc2015/pratiksinghal/cubie-head/crypto/openssl/ssl/ssltest.c soc2015/pratiksinghal/cubie-head/crypto/openssl/ssl/t1_enc.c soc2015/pratiksinghal/cubie-head/crypto/openssl/ssl/t1_lib.c soc2015/pratiksinghal/cubie-head/crypto/openssl/ssl/tls_srp.c soc2015/pratiksinghal/cubie-head/crypto/openssl/util/mk1mf.pl soc2015/pratiksinghal/cubie-head/crypto/openssl/util/mkerr.pl soc2015/pratiksinghal/cubie-head/crypto/openssl/util/pl/BC-32.pl soc2015/pratiksinghal/cubie-head/crypto/openssl/util/pl/VC-32.pl soc2015/pratiksinghal/cubie-head/etc/Makefile soc2015/pratiksinghal/cubie-head/etc/defaults/rc.conf soc2015/pratiksinghal/cubie-head/etc/devd/usb.conf soc2015/pratiksinghal/cubie-head/etc/etc.arm/ttys soc2015/pratiksinghal/cubie-head/etc/rc.d/iovctl soc2015/pratiksinghal/cubie-head/etc/rc.d/random soc2015/pratiksinghal/cubie-head/etc/rc.firewall soc2015/pratiksinghal/cubie-head/etc/services soc2015/pratiksinghal/cubie-head/include/Makefile soc2015/pratiksinghal/cubie-head/include/arpa/Makefile soc2015/pratiksinghal/cubie-head/include/gssapi/Makefile soc2015/pratiksinghal/cubie-head/include/mk-osreldate.sh soc2015/pratiksinghal/cubie-head/include/protocols/Makefile soc2015/pratiksinghal/cubie-head/include/stdio.h soc2015/pratiksinghal/cubie-head/include/xlocale/Makefile soc2015/pratiksinghal/cubie-head/libexec/atrun/atrun.man soc2015/pratiksinghal/cubie-head/libexec/casper/dns/dns.c soc2015/pratiksinghal/cubie-head/libexec/casper/grp/grp.c soc2015/pratiksinghal/cubie-head/libexec/casper/pwd/pwd.c soc2015/pratiksinghal/cubie-head/libexec/casper/random/random.c soc2015/pratiksinghal/cubie-head/libexec/casper/sysctl/sysctl.c soc2015/pratiksinghal/cubie-head/libexec/ftpd/Makefile soc2015/pratiksinghal/cubie-head/libexec/rtld-elf/aarch64/reloc.c soc2015/pratiksinghal/cubie-head/libexec/rtld-elf/aarch64/rtld_start.S soc2015/pratiksinghal/cubie-head/libexec/save-entropy/Makefile soc2015/pratiksinghal/cubie-head/libexec/ypxfr/ypxfr_main.c soc2015/pratiksinghal/cubie-head/sbin/badsect/Makefile soc2015/pratiksinghal/cubie-head/sbin/camcontrol/Makefile soc2015/pratiksinghal/cubie-head/sbin/camcontrol/camcontrol.8 soc2015/pratiksinghal/cubie-head/sbin/camcontrol/camcontrol.c soc2015/pratiksinghal/cubie-head/sbin/camcontrol/camcontrol.h soc2015/pratiksinghal/cubie-head/sbin/camcontrol/persist.c soc2015/pratiksinghal/cubie-head/sbin/casperd/casperd.c soc2015/pratiksinghal/cubie-head/sbin/casperd/zygote.c soc2015/pratiksinghal/cubie-head/sbin/casperd/zygote.h soc2015/pratiksinghal/cubie-head/sbin/dhclient/dhclient.c soc2015/pratiksinghal/cubie-head/sbin/geom/class/eli/geli.8 soc2015/pratiksinghal/cubie-head/sbin/geom/class/eli/geom_eli.c soc2015/pratiksinghal/cubie-head/sbin/geom/class/multipath/gmultipath.8 soc2015/pratiksinghal/cubie-head/sbin/newfs_nandfs/newfs_nandfs.c soc2015/pratiksinghal/cubie-head/sbin/pfctl/parse.y soc2015/pratiksinghal/cubie-head/sbin/pfctl/pfctl_altq.c soc2015/pratiksinghal/cubie-head/sbin/pfctl/pfctl_parser.h soc2015/pratiksinghal/cubie-head/sbin/pfctl/pfctl_qstats.c soc2015/pratiksinghal/cubie-head/sbin/setkey/setkey.8 soc2015/pratiksinghal/cubie-head/sbin/setkey/token.l soc2015/pratiksinghal/cubie-head/sbin/umount/umount.8 soc2015/pratiksinghal/cubie-head/sys/Makefile soc2015/pratiksinghal/cubie-head/sys/amd64/amd64/atomic.c soc2015/pratiksinghal/cubie-head/sys/amd64/amd64/gdb_machdep.c soc2015/pratiksinghal/cubie-head/sys/amd64/amd64/genassym.c soc2015/pratiksinghal/cubie-head/sys/amd64/amd64/initcpu.c soc2015/pratiksinghal/cubie-head/sys/amd64/amd64/pmap.c soc2015/pratiksinghal/cubie-head/sys/amd64/amd64/ptrace_machdep.c soc2015/pratiksinghal/cubie-head/sys/amd64/amd64/trap.c soc2015/pratiksinghal/cubie-head/sys/amd64/amd64/vm_machdep.c soc2015/pratiksinghal/cubie-head/sys/amd64/amd64/xen-locore.S soc2015/pratiksinghal/cubie-head/sys/amd64/conf/GENERIC soc2015/pratiksinghal/cubie-head/sys/amd64/conf/NOTES soc2015/pratiksinghal/cubie-head/sys/amd64/ia32/ia32_reg.c soc2015/pratiksinghal/cubie-head/sys/amd64/include/atomic.h soc2015/pratiksinghal/cubie-head/sys/amd64/include/md_var.h soc2015/pratiksinghal/cubie-head/sys/amd64/include/param.h soc2015/pratiksinghal/cubie-head/sys/amd64/include/pcb.h soc2015/pratiksinghal/cubie-head/sys/amd64/include/pmc_mdep.h soc2015/pratiksinghal/cubie-head/sys/amd64/include/stack.h soc2015/pratiksinghal/cubie-head/sys/amd64/include/vmm.h soc2015/pratiksinghal/cubie-head/sys/amd64/include/vmm_dev.h soc2015/pratiksinghal/cubie-head/sys/amd64/include/vmparam.h soc2015/pratiksinghal/cubie-head/sys/amd64/linux/linux_machdep.c soc2015/pratiksinghal/cubie-head/sys/amd64/linux/linux_support.s soc2015/pratiksinghal/cubie-head/sys/amd64/linux32/linux32_machdep.c soc2015/pratiksinghal/cubie-head/sys/amd64/vmm/amd/svm.c soc2015/pratiksinghal/cubie-head/sys/amd64/vmm/amd/svm.h soc2015/pratiksinghal/cubie-head/sys/amd64/vmm/amd/svm_genassym.c soc2015/pratiksinghal/cubie-head/sys/amd64/vmm/amd/svm_support.S soc2015/pratiksinghal/cubie-head/sys/amd64/vmm/intel/vmx.c soc2015/pratiksinghal/cubie-head/sys/amd64/vmm/intel/vmx.h soc2015/pratiksinghal/cubie-head/sys/amd64/vmm/intel/vmx_msr.c soc2015/pratiksinghal/cubie-head/sys/amd64/vmm/io/ppt.c soc2015/pratiksinghal/cubie-head/sys/amd64/vmm/vmm.c soc2015/pratiksinghal/cubie-head/sys/amd64/vmm/vmm_dev.c soc2015/pratiksinghal/cubie-head/sys/amd64/vmm/vmm_instruction_emul.c soc2015/pratiksinghal/cubie-head/sys/amd64/vmm/vmm_mem.c soc2015/pratiksinghal/cubie-head/sys/amd64/vmm/vmm_mem.h soc2015/pratiksinghal/cubie-head/sys/amd64/vmm/vmm_stat.c soc2015/pratiksinghal/cubie-head/sys/amd64/vmm/vmm_stat.h soc2015/pratiksinghal/cubie-head/sys/arm/allwinner/a10_clk.c soc2015/pratiksinghal/cubie-head/sys/arm/allwinner/a10_clk.h soc2015/pratiksinghal/cubie-head/sys/arm/allwinner/a10_gpio.c soc2015/pratiksinghal/cubie-head/sys/arm/allwinner/a10_gpio.h soc2015/pratiksinghal/cubie-head/sys/arm/allwinner/a10_mmc.h soc2015/pratiksinghal/cubie-head/sys/arm/allwinner/files.allwinner soc2015/pratiksinghal/cubie-head/sys/arm/allwinner/if_emac.c soc2015/pratiksinghal/cubie-head/sys/arm/arm/bcopyinout.S soc2015/pratiksinghal/cubie-head/sys/arm/arm/bcopyinout_xscale.S soc2015/pratiksinghal/cubie-head/sys/arm/arm/copystr.S soc2015/pratiksinghal/cubie-head/sys/arm/arm/cpu_asm-v6.S soc2015/pratiksinghal/cubie-head/sys/arm/arm/elf_trampoline.c soc2015/pratiksinghal/cubie-head/sys/arm/arm/exception.S soc2015/pratiksinghal/cubie-head/sys/arm/arm/genassym.c soc2015/pratiksinghal/cubie-head/sys/arm/arm/generic_timer.c soc2015/pratiksinghal/cubie-head/sys/arm/arm/locore-v4.S soc2015/pratiksinghal/cubie-head/sys/arm/arm/locore-v6.S soc2015/pratiksinghal/cubie-head/sys/arm/arm/machdep.c soc2015/pratiksinghal/cubie-head/sys/arm/arm/mp_machdep.c soc2015/pratiksinghal/cubie-head/sys/arm/arm/pmap-v6-new.c soc2015/pratiksinghal/cubie-head/sys/arm/arm/stack_machdep.c soc2015/pratiksinghal/cubie-head/sys/arm/arm/swtch.S soc2015/pratiksinghal/cubie-head/sys/arm/arm/sys_machdep.c soc2015/pratiksinghal/cubie-head/sys/arm/arm/trap-v6.c soc2015/pratiksinghal/cubie-head/sys/arm/arm/trap.c soc2015/pratiksinghal/cubie-head/sys/arm/arm/vfp.c soc2015/pratiksinghal/cubie-head/sys/arm/arm/vm_machdep.c soc2015/pratiksinghal/cubie-head/sys/arm/broadcom/bcm2835/bcm2835_spi.c soc2015/pratiksinghal/cubie-head/sys/arm/conf/BEAGLEBONE soc2015/pratiksinghal/cubie-head/sys/arm/conf/CUBIEBOARD soc2015/pratiksinghal/cubie-head/sys/arm/conf/CUBIEBOARD2 soc2015/pratiksinghal/cubie-head/sys/arm/conf/NOTES soc2015/pratiksinghal/cubie-head/sys/arm/conf/std.armv6 soc2015/pratiksinghal/cubie-head/sys/arm/freescale/imx/imx6_sdma.c soc2015/pratiksinghal/cubie-head/sys/arm/include/_types.h soc2015/pratiksinghal/cubie-head/sys/arm/include/asm.h soc2015/pratiksinghal/cubie-head/sys/arm/include/pcpu.h soc2015/pratiksinghal/cubie-head/sys/arm/include/proc.h soc2015/pratiksinghal/cubie-head/sys/arm/include/vmparam.h soc2015/pratiksinghal/cubie-head/sys/arm/ti/am335x/am335x_lcd.c soc2015/pratiksinghal/cubie-head/sys/arm/ti/am335x/am335x_lcd.h soc2015/pratiksinghal/cubie-head/sys/arm/ti/am335x/am335x_pmic.c soc2015/pratiksinghal/cubie-head/sys/arm/ti/am335x/am335x_prcm.c soc2015/pratiksinghal/cubie-head/sys/arm/ti/am335x/files.am335x soc2015/pratiksinghal/cubie-head/sys/arm/ti/omap4/omap4_prcm_clks.c soc2015/pratiksinghal/cubie-head/sys/arm/ti/ti_prcm.c soc2015/pratiksinghal/cubie-head/sys/arm/ti/ti_prcm.h soc2015/pratiksinghal/cubie-head/sys/arm64/arm64/db_interface.c soc2015/pratiksinghal/cubie-head/sys/arm64/arm64/db_trace.c soc2015/pratiksinghal/cubie-head/sys/arm64/arm64/exception.S soc2015/pratiksinghal/cubie-head/sys/arm64/arm64/gic.c soc2015/pratiksinghal/cubie-head/sys/arm64/arm64/machdep.c soc2015/pratiksinghal/cubie-head/sys/arm64/arm64/nexus.c soc2015/pratiksinghal/cubie-head/sys/arm64/arm64/pmap.c soc2015/pratiksinghal/cubie-head/sys/arm64/arm64/trap.c soc2015/pratiksinghal/cubie-head/sys/arm64/arm64/vfp.c soc2015/pratiksinghal/cubie-head/sys/arm64/conf/GENERIC soc2015/pratiksinghal/cubie-head/sys/arm64/include/atomic.h soc2015/pratiksinghal/cubie-head/sys/arm64/include/ieeefp.h soc2015/pratiksinghal/cubie-head/sys/arm64/include/pcpu.h soc2015/pratiksinghal/cubie-head/sys/arm64/include/stack.h soc2015/pratiksinghal/cubie-head/sys/arm64/include/vmparam.h soc2015/pratiksinghal/cubie-head/sys/boot/Makefile soc2015/pratiksinghal/cubie-head/sys/boot/arm/uboot/Makefile soc2015/pratiksinghal/cubie-head/sys/boot/common/Makefile.inc soc2015/pratiksinghal/cubie-head/sys/boot/efi/loader/arch/arm64/exec.c soc2015/pratiksinghal/cubie-head/sys/boot/fdt/dts/arm/beaglebone-black.dts soc2015/pratiksinghal/cubie-head/sys/boot/fdt/dts/arm/cubieboard.dts soc2015/pratiksinghal/cubie-head/sys/boot/fdt/dts/arm/sun4i-a10.dtsi soc2015/pratiksinghal/cubie-head/sys/boot/fdt/dts/arm/sun7i-a20.dtsi soc2015/pratiksinghal/cubie-head/sys/boot/fdt/dts/mips/beri-sim.dts soc2015/pratiksinghal/cubie-head/sys/boot/forth/Makefile soc2015/pratiksinghal/cubie-head/sys/boot/forth/loader.conf soc2015/pratiksinghal/cubie-head/sys/boot/forth/loader.conf.5 soc2015/pratiksinghal/cubie-head/sys/boot/forth/support.4th soc2015/pratiksinghal/cubie-head/sys/boot/i386/boot2/boot2.c soc2015/pratiksinghal/cubie-head/sys/boot/i386/loader/Makefile soc2015/pratiksinghal/cubie-head/sys/boot/mips/beri/loader/Makefile soc2015/pratiksinghal/cubie-head/sys/boot/pc98/boot2/boot2.c soc2015/pratiksinghal/cubie-head/sys/boot/pc98/loader/Makefile soc2015/pratiksinghal/cubie-head/sys/boot/powerpc/kboot/Makefile soc2015/pratiksinghal/cubie-head/sys/boot/powerpc/ofw/Makefile soc2015/pratiksinghal/cubie-head/sys/boot/powerpc/ps3/Makefile soc2015/pratiksinghal/cubie-head/sys/boot/sparc64/loader/Makefile soc2015/pratiksinghal/cubie-head/sys/boot/uboot/lib/copy.c soc2015/pratiksinghal/cubie-head/sys/boot/uboot/lib/glue.c soc2015/pratiksinghal/cubie-head/sys/boot/userboot/userboot/conf.c soc2015/pratiksinghal/cubie-head/sys/boot/zfs/zfsimpl.c soc2015/pratiksinghal/cubie-head/sys/cam/cam.c soc2015/pratiksinghal/cubie-head/sys/cam/cam.h soc2015/pratiksinghal/cubie-head/sys/cam/ctl/ctl.c soc2015/pratiksinghal/cubie-head/sys/cam/ctl/ctl_backend_block.c soc2015/pratiksinghal/cubie-head/sys/cam/ctl/ctl_frontend.c soc2015/pratiksinghal/cubie-head/sys/cam/ctl/ctl_frontend.h soc2015/pratiksinghal/cubie-head/sys/cam/ctl/ctl_frontend_cam_sim.c soc2015/pratiksinghal/cubie-head/sys/cam/ctl/ctl_frontend_internal.c soc2015/pratiksinghal/cubie-head/sys/cam/ctl/ctl_frontend_iscsi.c soc2015/pratiksinghal/cubie-head/sys/cam/ctl/ctl_private.h soc2015/pratiksinghal/cubie-head/sys/cam/ctl/ctl_tpc.c soc2015/pratiksinghal/cubie-head/sys/cam/ctl/ctl_tpc_local.c soc2015/pratiksinghal/cubie-head/sys/cam/ctl/scsi_ctl.c soc2015/pratiksinghal/cubie-head/sys/cam/scsi/scsi_all.c soc2015/pratiksinghal/cubie-head/sys/cam/scsi/scsi_all.h soc2015/pratiksinghal/cubie-head/sys/cddl/compat/opensolaris/sys/nvpair.h soc2015/pratiksinghal/cubie-head/sys/cddl/dev/dtrace/arm/dtrace_asm.S soc2015/pratiksinghal/cubie-head/sys/cddl/dev/fbt/fbt.h soc2015/pratiksinghal/cubie-head/sys/cddl/dev/profile/profile.c soc2015/pratiksinghal/cubie-head/sys/compat/linprocfs/linprocfs.c soc2015/pratiksinghal/cubie-head/sys/compat/linux/linux_emul.c soc2015/pratiksinghal/cubie-head/sys/compat/linux/linux_event.c soc2015/pratiksinghal/cubie-head/sys/compat/linux/linux_event.h soc2015/pratiksinghal/cubie-head/sys/compat/linux/linux_file.c soc2015/pratiksinghal/cubie-head/sys/compat/linux/linux_fork.c soc2015/pratiksinghal/cubie-head/sys/compat/linux/linux_misc.c soc2015/pratiksinghal/cubie-head/sys/compat/linux/linux_socket.c soc2015/pratiksinghal/cubie-head/sys/compat/svr4/imgact_svr4.c soc2015/pratiksinghal/cubie-head/sys/compat/svr4/svr4_misc.c soc2015/pratiksinghal/cubie-head/sys/compat/svr4/svr4_resource.c soc2015/pratiksinghal/cubie-head/sys/compat/svr4/svr4_sysvec.c soc2015/pratiksinghal/cubie-head/sys/conf/NOTES soc2015/pratiksinghal/cubie-head/sys/conf/files soc2015/pratiksinghal/cubie-head/sys/conf/files.amd64 soc2015/pratiksinghal/cubie-head/sys/conf/files.arm soc2015/pratiksinghal/cubie-head/sys/conf/files.arm64 soc2015/pratiksinghal/cubie-head/sys/conf/files.i386 soc2015/pratiksinghal/cubie-head/sys/conf/files.mips soc2015/pratiksinghal/cubie-head/sys/conf/files.powerpc soc2015/pratiksinghal/cubie-head/sys/conf/kern.post.mk soc2015/pratiksinghal/cubie-head/sys/conf/kern.pre.mk soc2015/pratiksinghal/cubie-head/sys/conf/kmod.mk soc2015/pratiksinghal/cubie-head/sys/conf/ldscript.amd64 soc2015/pratiksinghal/cubie-head/sys/conf/options soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/acpica_prep.sh soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/changes.txt soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/common/adisasm.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/common/ahids.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/common/ahpredef.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/common/ahuuids.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/common/dmextern.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/common/dmrestag.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/common/dmtable.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/common/dmtbdump.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/common/dmtbinfo.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/common/getopt.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/aslanalyze.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/aslascii.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/aslcodegen.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/aslcompile.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/aslcompiler.h soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/aslcompiler.l soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/asldefine.h soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/aslerror.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/aslfileio.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/aslfiles.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/aslfold.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/aslglobal.h soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/aslmain.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/aslmapenter.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/aslmapoutput.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/aslmethod.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/aslopcodes.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/asloperands.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/aslopt.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/asloptions.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/aslprintf.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/aslstartup.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/aslsupport.l soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/asltypes.h soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/aslutils.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/asluuid.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/dtcompile.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/dtcompiler.h soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/dtexpress.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/dtfield.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/dtio.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/dtparser.y soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/dtsubtable.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/dttable.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/dttemplate.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/dttemplate.h soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/dtutils.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/prparser.y soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/prscan.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/compiler/prutils.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/debugger/dbcmds.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/debugger/dbconvert.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/debugger/dbdisply.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/debugger/dbexec.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/debugger/dbfileio.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/debugger/dbhistry.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/debugger/dbinput.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/debugger/dbmethod.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/debugger/dbnames.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/debugger/dbtest.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/debugger/dbutils.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/debugger/dbxface.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/disassembler/dmbuffer.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/disassembler/dmopcode.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/dispatcher/dsfield.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/dispatcher/dsinit.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/dispatcher/dsobject.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/dispatcher/dsutils.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/dispatcher/dswload.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/events/evgpe.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/events/evgpeinit.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/executer/exconfig.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/executer/exconvrt.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/executer/exdebug.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/executer/exdump.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/executer/exfield.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/executer/exfldio.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/executer/exmisc.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/executer/exnames.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/executer/exoparg2.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/executer/exoparg3.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/executer/exregion.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/executer/exstorob.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/executer/exutils.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/namespace/nsaccess.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/namespace/nsconvert.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/namespace/nsdump.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/namespace/nsrepair2.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/namespace/nssearch.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/namespace/nsutils.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/namespace/nsxfeval.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/namespace/nsxfname.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/parser/psutils.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/resources/rscreate.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/resources/rsmisc.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/resources/rsutils.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/resources/rsxface.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/tables/tbdata.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/tables/tbfadt.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/tables/tbinstal.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/tables/tbprint.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/tables/tbutils.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/tables/tbxface.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/tables/tbxfload.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/utilities/utalloc.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/utilities/utbuffer.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/utilities/utcache.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/utilities/utcopy.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/utilities/utmisc.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/utilities/utosi.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/utilities/utpredef.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/utilities/utprint.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/utilities/uttrack.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/components/utilities/utxface.c soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/include/accommon.h soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/include/acglobal.h soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/include/acinterp.h soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/include/aclocal.h soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/include/acnames.h soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/include/acnamesp.h soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/include/acobject.h soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/include/acoutput.h soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/include/acpixf.h soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/include/acstruct.h soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/include/actbl.h soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/include/actbl1.h soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/include/actbl2.h soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/include/actbl3.h soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/include/actypes.h soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/include/acutils.h soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/include/acuuid.h soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/include/platform/acenv.h soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/include/platform/acenvex.h soc2015/pratiksinghal/cubie-head/sys/contrib/dev/acpica/include/platform/acgcc.h soc2015/pratiksinghal/cubie-head/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_reset.c soc2015/pratiksinghal/cubie-head/sys/ddb/db_sym.c soc2015/pratiksinghal/cubie-head/sys/dev/acpi_support/acpi_ibm.c soc2015/pratiksinghal/cubie-head/sys/dev/acpica/Osd/OsdHardware.c soc2015/pratiksinghal/cubie-head/sys/dev/acpica/acpi_cpu.c soc2015/pratiksinghal/cubie-head/sys/dev/ahci/ahci.c soc2015/pratiksinghal/cubie-head/sys/dev/ahci/ahci.h soc2015/pratiksinghal/cubie-head/sys/dev/ahci/ahci_pci.c soc2015/pratiksinghal/cubie-head/sys/dev/aic7xxx/aic79xx_pci.c soc2015/pratiksinghal/cubie-head/sys/dev/ath/ath_rate/sample/sample.c soc2015/pratiksinghal/cubie-head/sys/dev/ath/if_ath.c soc2015/pratiksinghal/cubie-head/sys/dev/ath/if_ath_ahb.c soc2015/pratiksinghal/cubie-head/sys/dev/ath/if_ath_rx.c soc2015/pratiksinghal/cubie-head/sys/dev/ath/if_ath_sysctl.c soc2015/pratiksinghal/cubie-head/sys/dev/ath/if_ath_tdma.c soc2015/pratiksinghal/cubie-head/sys/dev/ath/if_ath_tx.c soc2015/pratiksinghal/cubie-head/sys/dev/atkbdc/psm.c soc2015/pratiksinghal/cubie-head/sys/dev/beri/virtio/virtio_mmio_platform.c soc2015/pratiksinghal/cubie-head/sys/dev/bwi/bwimac.c soc2015/pratiksinghal/cubie-head/sys/dev/bwi/bwimac.h soc2015/pratiksinghal/cubie-head/sys/dev/bwi/if_bwi.c soc2015/pratiksinghal/cubie-head/sys/dev/bwi/if_bwi_pci.c soc2015/pratiksinghal/cubie-head/sys/dev/bxe/bxe.c soc2015/pratiksinghal/cubie-head/sys/dev/bxe/bxe.h soc2015/pratiksinghal/cubie-head/sys/dev/bxe/ecore_reg.h soc2015/pratiksinghal/cubie-head/sys/dev/bxe/ecore_sp.c soc2015/pratiksinghal/cubie-head/sys/dev/cxgbe/adapter.h soc2015/pratiksinghal/cubie-head/sys/dev/cxgbe/common/t4_hw.c soc2015/pratiksinghal/cubie-head/sys/dev/cxgbe/t4_main.c soc2015/pratiksinghal/cubie-head/sys/dev/cxgbe/t4_netmap.c soc2015/pratiksinghal/cubie-head/sys/dev/cxgbe/t4_sge.c soc2015/pratiksinghal/cubie-head/sys/dev/drm/drmP.h soc2015/pratiksinghal/cubie-head/sys/dev/drm/drm_agpsupport.c soc2015/pratiksinghal/cubie-head/sys/dev/drm/drm_bufs.c soc2015/pratiksinghal/cubie-head/sys/dev/drm/drm_drv.c soc2015/pratiksinghal/cubie-head/sys/dev/drm/drm_irq.c soc2015/pratiksinghal/cubie-head/sys/dev/drm/i915_drv.c soc2015/pratiksinghal/cubie-head/sys/dev/drm/mach64_drv.c soc2015/pratiksinghal/cubie-head/sys/dev/drm/mga_drv.c soc2015/pratiksinghal/cubie-head/sys/dev/drm/r128_drv.c soc2015/pratiksinghal/cubie-head/sys/dev/drm/radeon_drv.c soc2015/pratiksinghal/cubie-head/sys/dev/drm/savage_drv.c soc2015/pratiksinghal/cubie-head/sys/dev/drm/sis_drv.c soc2015/pratiksinghal/cubie-head/sys/dev/drm/tdfx_drv.c soc2015/pratiksinghal/cubie-head/sys/dev/drm2/drm_bufs.c soc2015/pratiksinghal/cubie-head/sys/dev/drm2/i915/i915_gem.c soc2015/pratiksinghal/cubie-head/sys/dev/drm2/ttm/ttm_page_alloc.c soc2015/pratiksinghal/cubie-head/sys/dev/dwc/if_dwc.c soc2015/pratiksinghal/cubie-head/sys/dev/e1000/e1000_defines.h soc2015/pratiksinghal/cubie-head/sys/dev/e1000/if_em.c soc2015/pratiksinghal/cubie-head/sys/dev/e1000/if_em.h soc2015/pratiksinghal/cubie-head/sys/dev/fe/if_fe_cbus.c soc2015/pratiksinghal/cubie-head/sys/dev/filemon/filemon.h soc2015/pratiksinghal/cubie-head/sys/dev/filemon/filemon_wrapper.c soc2015/pratiksinghal/cubie-head/sys/dev/glxsb/glxsb.c soc2015/pratiksinghal/cubie-head/sys/dev/gpio/ofw_gpiobus.c soc2015/pratiksinghal/cubie-head/sys/dev/hifn/hifn7751.c soc2015/pratiksinghal/cubie-head/sys/dev/hpt27xx/README soc2015/pratiksinghal/cubie-head/sys/dev/hpt27xx/amd64-elf.hpt27xx_lib.o.uu (contents, props changed) soc2015/pratiksinghal/cubie-head/sys/dev/hpt27xx/array.h soc2015/pratiksinghal/cubie-head/sys/dev/hpt27xx/him.h soc2015/pratiksinghal/cubie-head/sys/dev/hpt27xx/himfuncs.h soc2015/pratiksinghal/cubie-head/sys/dev/hpt27xx/hpt27xx_config.c soc2015/pratiksinghal/cubie-head/sys/dev/hpt27xx/hpt27xx_config.h soc2015/pratiksinghal/cubie-head/sys/dev/hpt27xx/hpt27xx_os_bsd.c soc2015/pratiksinghal/cubie-head/sys/dev/hpt27xx/hpt27xx_osm_bsd.c soc2015/pratiksinghal/cubie-head/sys/dev/hpt27xx/hptintf.h soc2015/pratiksinghal/cubie-head/sys/dev/hpt27xx/i386-elf.hpt27xx_lib.o.uu soc2015/pratiksinghal/cubie-head/sys/dev/hpt27xx/ldm.h soc2015/pratiksinghal/cubie-head/sys/dev/hpt27xx/list.h soc2015/pratiksinghal/cubie-head/sys/dev/hpt27xx/os_bsd.h soc2015/pratiksinghal/cubie-head/sys/dev/hpt27xx/osm.h soc2015/pratiksinghal/cubie-head/sys/dev/hptnr/README soc2015/pratiksinghal/cubie-head/sys/dev/hptnr/amd64-elf.hptnr_lib.o.uu soc2015/pratiksinghal/cubie-head/sys/dev/hptnr/him.h soc2015/pratiksinghal/cubie-head/sys/dev/hptnr/hptnr_config.c soc2015/pratiksinghal/cubie-head/sys/dev/hptnr/hptnr_osm_bsd.c soc2015/pratiksinghal/cubie-head/sys/dev/hptnr/i386-elf.hptnr_lib.o.uu soc2015/pratiksinghal/cubie-head/sys/dev/hptnr/ldm.h soc2015/pratiksinghal/cubie-head/sys/dev/hptnr/osm.h soc2015/pratiksinghal/cubie-head/sys/dev/hwpmc/hwpmc_armv7.c soc2015/pratiksinghal/cubie-head/sys/dev/hwpmc/hwpmc_armv7.h soc2015/pratiksinghal/cubie-head/sys/dev/hwpmc/hwpmc_mod.c soc2015/pratiksinghal/cubie-head/sys/dev/hwpmc/pmc_events.h soc2015/pratiksinghal/cubie-head/sys/dev/hyperv/include/hyperv.h soc2015/pratiksinghal/cubie-head/sys/dev/hyperv/netvsc/hv_net_vsc.c soc2015/pratiksinghal/cubie-head/sys/dev/hyperv/netvsc/hv_net_vsc.h soc2015/pratiksinghal/cubie-head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c soc2015/pratiksinghal/cubie-head/sys/dev/hyperv/netvsc/hv_rndis.h soc2015/pratiksinghal/cubie-head/sys/dev/hyperv/netvsc/hv_rndis_filter.c soc2015/pratiksinghal/cubie-head/sys/dev/hyperv/netvsc/hv_rndis_filter.h soc2015/pratiksinghal/cubie-head/sys/dev/ichsmb/ichsmb_pci.c soc2015/pratiksinghal/cubie-head/sys/dev/isp/isp.c soc2015/pratiksinghal/cubie-head/sys/dev/isp/isp_freebsd.c soc2015/pratiksinghal/cubie-head/sys/dev/isp/isp_library.c soc2015/pratiksinghal/cubie-head/sys/dev/isp/isp_pci.c soc2015/pratiksinghal/cubie-head/sys/dev/isp/ispvar.h soc2015/pratiksinghal/cubie-head/sys/dev/iwi/if_iwi.c soc2015/pratiksinghal/cubie-head/sys/dev/iwn/if_iwn.c soc2015/pratiksinghal/cubie-head/sys/dev/iwn/if_iwnvar.h soc2015/pratiksinghal/cubie-head/sys/dev/ixgbe/if_ix.c soc2015/pratiksinghal/cubie-head/sys/dev/ixgbe/if_ixv.c soc2015/pratiksinghal/cubie-head/sys/dev/ixgbe/ix_txrx.c soc2015/pratiksinghal/cubie-head/sys/dev/ixgbe/ixgbe.h soc2015/pratiksinghal/cubie-head/sys/dev/ixgbe/ixgbe_mbx.h soc2015/pratiksinghal/cubie-head/sys/dev/ixgbe/ixgbe_vf.c soc2015/pratiksinghal/cubie-head/sys/dev/ixl/i40e_adminq.c soc2015/pratiksinghal/cubie-head/sys/dev/ixl/i40e_adminq.h soc2015/pratiksinghal/cubie-head/sys/dev/ixl/i40e_adminq_cmd.h soc2015/pratiksinghal/cubie-head/sys/dev/ixl/i40e_common.c soc2015/pratiksinghal/cubie-head/sys/dev/ixl/i40e_hmc.c soc2015/pratiksinghal/cubie-head/sys/dev/ixl/i40e_hmc.h soc2015/pratiksinghal/cubie-head/sys/dev/ixl/i40e_lan_hmc.c soc2015/pratiksinghal/cubie-head/sys/dev/ixl/i40e_nvm.c soc2015/pratiksinghal/cubie-head/sys/dev/ixl/i40e_osdep.h soc2015/pratiksinghal/cubie-head/sys/dev/ixl/i40e_prototype.h soc2015/pratiksinghal/cubie-head/sys/dev/ixl/i40e_register.h soc2015/pratiksinghal/cubie-head/sys/dev/ixl/i40e_type.h soc2015/pratiksinghal/cubie-head/sys/dev/ixl/i40e_virtchnl.h soc2015/pratiksinghal/cubie-head/sys/dev/ixl/if_ixl.c soc2015/pratiksinghal/cubie-head/sys/dev/ixl/if_ixlv.c soc2015/pratiksinghal/cubie-head/sys/dev/ixl/ixl.h soc2015/pratiksinghal/cubie-head/sys/dev/ixl/ixlv.h soc2015/pratiksinghal/cubie-head/sys/dev/ixl/ixlvc.c soc2015/pratiksinghal/cubie-head/sys/dev/mfi/mfi.c soc2015/pratiksinghal/cubie-head/sys/dev/mii/mii.h soc2015/pratiksinghal/cubie-head/sys/dev/mmc/mmcsd.c soc2015/pratiksinghal/cubie-head/sys/dev/mpr/mpi/mpi2.h soc2015/pratiksinghal/cubie-head/sys/dev/mpr/mpi/mpi2_cnfg.h soc2015/pratiksinghal/cubie-head/sys/dev/mpr/mpi/mpi2_hbd.h soc2015/pratiksinghal/cubie-head/sys/dev/mpr/mpi/mpi2_history.txt soc2015/pratiksinghal/cubie-head/sys/dev/mpr/mpi/mpi2_init.h soc2015/pratiksinghal/cubie-head/sys/dev/mpr/mpi/mpi2_ioc.h soc2015/pratiksinghal/cubie-head/sys/dev/mpr/mpi/mpi2_ra.h soc2015/pratiksinghal/cubie-head/sys/dev/mpr/mpi/mpi2_raid.h soc2015/pratiksinghal/cubie-head/sys/dev/mpr/mpi/mpi2_sas.h soc2015/pratiksinghal/cubie-head/sys/dev/mpr/mpi/mpi2_targ.h soc2015/pratiksinghal/cubie-head/sys/dev/mpr/mpi/mpi2_tool.h soc2015/pratiksinghal/cubie-head/sys/dev/mpr/mpi/mpi2_type.h soc2015/pratiksinghal/cubie-head/sys/dev/mpr/mpr.c soc2015/pratiksinghal/cubie-head/sys/dev/mpr/mpr_config.c soc2015/pratiksinghal/cubie-head/sys/dev/mpr/mpr_ioctl.h soc2015/pratiksinghal/cubie-head/sys/dev/mpr/mpr_mapping.c soc2015/pratiksinghal/cubie-head/sys/dev/mpr/mpr_mapping.h soc2015/pratiksinghal/cubie-head/sys/dev/mpr/mpr_pci.c soc2015/pratiksinghal/cubie-head/sys/dev/mpr/mpr_sas.c soc2015/pratiksinghal/cubie-head/sys/dev/mpr/mpr_sas.h soc2015/pratiksinghal/cubie-head/sys/dev/mpr/mpr_sas_lsi.c soc2015/pratiksinghal/cubie-head/sys/dev/mpr/mpr_user.c soc2015/pratiksinghal/cubie-head/sys/dev/mpr/mprvar.h soc2015/pratiksinghal/cubie-head/sys/dev/mrsas/mrsas.c soc2015/pratiksinghal/cubie-head/sys/dev/mrsas/mrsas.h soc2015/pratiksinghal/cubie-head/sys/dev/nand/nand_generic.c soc2015/pratiksinghal/cubie-head/sys/dev/nand/nfc_rb.c soc2015/pratiksinghal/cubie-head/sys/dev/netmap/if_em_netmap.h soc2015/pratiksinghal/cubie-head/sys/dev/ofw/ofw_bus_subr.c soc2015/pratiksinghal/cubie-head/sys/dev/ofw/ofw_bus_subr.h soc2015/pratiksinghal/cubie-head/sys/dev/pci/pci.c soc2015/pratiksinghal/cubie-head/sys/dev/pci/pci_if.m soc2015/pratiksinghal/cubie-head/sys/dev/pci/pci_iov.c soc2015/pratiksinghal/cubie-head/sys/dev/pci/pcivar.h soc2015/pratiksinghal/cubie-head/sys/dev/pci/vga_pci.c soc2015/pratiksinghal/cubie-head/sys/dev/proto/proto.h soc2015/pratiksinghal/cubie-head/sys/dev/proto/proto_bus_pci.c soc2015/pratiksinghal/cubie-head/sys/dev/proto/proto_core.c soc2015/pratiksinghal/cubie-head/sys/dev/proto/proto_dev.h soc2015/pratiksinghal/cubie-head/sys/dev/qlxgbe/ql_dbg.c soc2015/pratiksinghal/cubie-head/sys/dev/qlxgbe/ql_dbg.h soc2015/pratiksinghal/cubie-head/sys/dev/qlxgbe/ql_def.h soc2015/pratiksinghal/cubie-head/sys/dev/qlxgbe/ql_glbl.h soc2015/pratiksinghal/cubie-head/sys/dev/qlxgbe/ql_hw.c soc2015/pratiksinghal/cubie-head/sys/dev/qlxgbe/ql_hw.h soc2015/pratiksinghal/cubie-head/sys/dev/qlxgbe/ql_inline.h soc2015/pratiksinghal/cubie-head/sys/dev/qlxgbe/ql_ioctl.c soc2015/pratiksinghal/cubie-head/sys/dev/qlxgbe/ql_ioctl.h soc2015/pratiksinghal/cubie-head/sys/dev/qlxgbe/ql_isr.c soc2015/pratiksinghal/cubie-head/sys/dev/qlxgbe/ql_misc.c soc2015/pratiksinghal/cubie-head/sys/dev/qlxgbe/ql_os.c soc2015/pratiksinghal/cubie-head/sys/dev/qlxgbe/ql_os.h soc2015/pratiksinghal/cubie-head/sys/dev/qlxgbe/ql_reset.c soc2015/pratiksinghal/cubie-head/sys/dev/qlxgbe/ql_tmplt.h soc2015/pratiksinghal/cubie-head/sys/dev/qlxgbe/ql_ver.h soc2015/pratiksinghal/cubie-head/sys/dev/random/build.sh soc2015/pratiksinghal/cubie-head/sys/dev/random/fortuna.c soc2015/pratiksinghal/cubie-head/sys/dev/random/fortuna.h soc2015/pratiksinghal/cubie-head/sys/dev/random/hash.c soc2015/pratiksinghal/cubie-head/sys/dev/random/hash.h soc2015/pratiksinghal/cubie-head/sys/dev/random/ivy.c soc2015/pratiksinghal/cubie-head/sys/dev/random/nehemiah.c soc2015/pratiksinghal/cubie-head/sys/dev/random/random_harvestq.c soc2015/pratiksinghal/cubie-head/sys/dev/random/random_harvestq.h soc2015/pratiksinghal/cubie-head/sys/dev/random/randomdev.c soc2015/pratiksinghal/cubie-head/sys/dev/random/randomdev.h soc2015/pratiksinghal/cubie-head/sys/dev/random/uint128.h soc2015/pratiksinghal/cubie-head/sys/dev/random/unit_test.c soc2015/pratiksinghal/cubie-head/sys/dev/random/unit_test.h soc2015/pratiksinghal/cubie-head/sys/dev/random/yarrow.c soc2015/pratiksinghal/cubie-head/sys/dev/random/yarrow.h soc2015/pratiksinghal/cubie-head/sys/dev/rndtest/rndtest.c soc2015/pratiksinghal/cubie-head/sys/dev/safe/safe.c soc2015/pratiksinghal/cubie-head/sys/dev/sfxge/sfxge.c soc2015/pratiksinghal/cubie-head/sys/dev/sfxge/sfxge_port.c soc2015/pratiksinghal/cubie-head/sys/dev/sfxge/sfxge_version.h soc2015/pratiksinghal/cubie-head/sys/dev/sound/midi/sequencer.c soc2015/pratiksinghal/cubie-head/sys/dev/syscons/scmouse.c soc2015/pratiksinghal/cubie-head/sys/dev/syscons/syscons.c soc2015/pratiksinghal/cubie-head/sys/dev/ti/if_ti.c soc2015/pratiksinghal/cubie-head/sys/dev/uart/uart_bus_pci.c soc2015/pratiksinghal/cubie-head/sys/dev/uart/uart_dev_ns8250.c soc2015/pratiksinghal/cubie-head/sys/dev/ubsec/ubsec.c soc2015/pratiksinghal/cubie-head/sys/dev/usb/controller/dwc_otg.c soc2015/pratiksinghal/cubie-head/sys/dev/usb/quirk/usb_quirk.c soc2015/pratiksinghal/cubie-head/sys/dev/usb/template/usb_template.c soc2015/pratiksinghal/cubie-head/sys/dev/usb/template/usb_template.h soc2015/pratiksinghal/cubie-head/sys/dev/usb/usb_dev.c soc2015/pratiksinghal/cubie-head/sys/dev/usb/usb_ioctl.h soc2015/pratiksinghal/cubie-head/sys/dev/usb/usbdevs soc2015/pratiksinghal/cubie-head/sys/dev/videomode/videomode.h soc2015/pratiksinghal/cubie-head/sys/dev/virtio/mmio/virtio_mmio.c soc2015/pratiksinghal/cubie-head/sys/dev/virtio/mmio/virtio_mmio.h soc2015/pratiksinghal/cubie-head/sys/dev/virtio/mmio/virtio_mmio_if.m soc2015/pratiksinghal/cubie-head/sys/dev/virtio/network/if_vtnet.c soc2015/pratiksinghal/cubie-head/sys/dev/virtio/random/virtio_random.c soc2015/pratiksinghal/cubie-head/sys/dev/vt/vt_core.c soc2015/pratiksinghal/cubie-head/sys/dev/vt/vt_sysmouse.c soc2015/pratiksinghal/cubie-head/sys/dev/xen/blkback/blkback.c soc2015/pratiksinghal/cubie-head/sys/dev/xen/blkfront/blkfront.c soc2015/pratiksinghal/cubie-head/sys/dev/xen/blkfront/block.h soc2015/pratiksinghal/cubie-head/sys/dev/xen/netfront/netfront.c soc2015/pratiksinghal/cubie-head/sys/fs/devfs/devfs_vnops.c soc2015/pratiksinghal/cubie-head/sys/fs/ext2fs/ext2_vnops.c soc2015/pratiksinghal/cubie-head/sys/fs/fdescfs/fdesc_vfsops.c soc2015/pratiksinghal/cubie-head/sys/fs/fdescfs/fdesc_vnops.c soc2015/pratiksinghal/cubie-head/sys/fs/nfs/nfs.h soc2015/pratiksinghal/cubie-head/sys/fs/nfs/nfsdport.h soc2015/pratiksinghal/cubie-head/sys/fs/nfs/nfsrvstate.h soc2015/pratiksinghal/cubie-head/sys/fs/nfsclient/nfs_clbio.c soc2015/pratiksinghal/cubie-head/sys/fs/nfsclient/nfs_clrpcops.c soc2015/pratiksinghal/cubie-head/sys/fs/nfsclient/nfs_clvfsops.c soc2015/pratiksinghal/cubie-head/sys/fs/nfsserver/nfs_nfsdkrpc.c soc2015/pratiksinghal/cubie-head/sys/fs/nfsserver/nfs_nfsdport.c soc2015/pratiksinghal/cubie-head/sys/fs/nfsserver/nfs_nfsdserv.c soc2015/pratiksinghal/cubie-head/sys/fs/nfsserver/nfs_nfsdsocket.c soc2015/pratiksinghal/cubie-head/sys/fs/nfsserver/nfs_nfsdstate.c soc2015/pratiksinghal/cubie-head/sys/fs/nfsserver/nfs_nfsdsubs.c soc2015/pratiksinghal/cubie-head/sys/fs/procfs/procfs_ctl.c soc2015/pratiksinghal/cubie-head/sys/fs/procfs/procfs_map.c soc2015/pratiksinghal/cubie-head/sys/fs/tmpfs/tmpfs_subr.c soc2015/pratiksinghal/cubie-head/sys/fs/unionfs/union_vfsops.c soc2015/pratiksinghal/cubie-head/sys/geom/eli/g_eli.c soc2015/pratiksinghal/cubie-head/sys/geom/label/g_label.c soc2015/pratiksinghal/cubie-head/sys/geom/label/g_label.h soc2015/pratiksinghal/cubie-head/sys/geom/label/g_label_iso9660.c soc2015/pratiksinghal/cubie-head/sys/geom/label/g_label_msdosfs.c soc2015/pratiksinghal/cubie-head/sys/geom/part/g_part_gpt.c soc2015/pratiksinghal/cubie-head/sys/i386/conf/GENERIC soc2015/pratiksinghal/cubie-head/sys/i386/conf/NOTES soc2015/pratiksinghal/cubie-head/sys/i386/i386/exception.s soc2015/pratiksinghal/cubie-head/sys/i386/i386/gdb_machdep.c soc2015/pratiksinghal/cubie-head/sys/i386/i386/initcpu.c soc2015/pratiksinghal/cubie-head/sys/i386/i386/machdep.c soc2015/pratiksinghal/cubie-head/sys/i386/i386/pmap.c soc2015/pratiksinghal/cubie-head/sys/i386/i386/ptrace_machdep.c soc2015/pratiksinghal/cubie-head/sys/i386/i386/sys_machdep.c soc2015/pratiksinghal/cubie-head/sys/i386/i386/trap.c soc2015/pratiksinghal/cubie-head/sys/i386/i386/vm_machdep.c soc2015/pratiksinghal/cubie-head/sys/i386/ibcs2/ibcs2_misc.c soc2015/pratiksinghal/cubie-head/sys/i386/include/asmacros.h soc2015/pratiksinghal/cubie-head/sys/i386/include/atomic.h soc2015/pratiksinghal/cubie-head/sys/i386/include/frame.h soc2015/pratiksinghal/cubie-head/sys/i386/include/gdb_machdep.h soc2015/pratiksinghal/cubie-head/sys/i386/include/md_var.h soc2015/pratiksinghal/cubie-head/sys/i386/include/npx.h soc2015/pratiksinghal/cubie-head/sys/i386/include/param.h soc2015/pratiksinghal/cubie-head/sys/i386/include/pmc_mdep.h soc2015/pratiksinghal/cubie-head/sys/i386/include/stack.h soc2015/pratiksinghal/cubie-head/sys/i386/include/vmparam.h soc2015/pratiksinghal/cubie-head/sys/i386/isa/npx.c soc2015/pratiksinghal/cubie-head/sys/i386/linux/imgact_linux.c soc2015/pratiksinghal/cubie-head/sys/i386/linux/linux_machdep.c soc2015/pratiksinghal/cubie-head/sys/kern/imgact_aout.c soc2015/pratiksinghal/cubie-head/sys/kern/imgact_binmisc.c soc2015/pratiksinghal/cubie-head/sys/kern/imgact_elf.c soc2015/pratiksinghal/cubie-head/sys/kern/imgact_gzip.c soc2015/pratiksinghal/cubie-head/sys/kern/init_main.c soc2015/pratiksinghal/cubie-head/sys/kern/kern_cpuset.c soc2015/pratiksinghal/cubie-head/sys/kern/kern_descrip.c soc2015/pratiksinghal/cubie-head/sys/kern/kern_event.c soc2015/pratiksinghal/cubie-head/sys/kern/kern_exec.c soc2015/pratiksinghal/cubie-head/sys/kern/kern_exit.c soc2015/pratiksinghal/cubie-head/sys/kern/kern_fork.c soc2015/pratiksinghal/cubie-head/sys/kern/kern_intr.c soc2015/pratiksinghal/cubie-head/sys/kern/kern_jail.c soc2015/pratiksinghal/cubie-head/sys/kern/kern_kthread.c soc2015/pratiksinghal/cubie-head/sys/kern/kern_linker.c soc2015/pratiksinghal/cubie-head/sys/kern/kern_mib.c soc2015/pratiksinghal/cubie-head/sys/kern/kern_mutex.c soc2015/pratiksinghal/cubie-head/sys/kern/kern_proc.c soc2015/pratiksinghal/cubie-head/sys/kern/kern_prot.c soc2015/pratiksinghal/cubie-head/sys/kern/kern_racct.c soc2015/pratiksinghal/cubie-head/sys/kern/kern_resource.c soc2015/pratiksinghal/cubie-head/sys/kern/kern_rwlock.c soc2015/pratiksinghal/cubie-head/sys/kern/kern_sig.c soc2015/pratiksinghal/cubie-head/sys/kern/kern_sx.c soc2015/pratiksinghal/cubie-head/sys/kern/kern_synch.c soc2015/pratiksinghal/cubie-head/sys/kern/kern_syscalls.c soc2015/pratiksinghal/cubie-head/sys/kern/kern_sysctl.c soc2015/pratiksinghal/cubie-head/sys/kern/kern_tc.c soc2015/pratiksinghal/cubie-head/sys/kern/kern_thr.c soc2015/pratiksinghal/cubie-head/sys/kern/kern_thread.c soc2015/pratiksinghal/cubie-head/sys/kern/stack_protector.c soc2015/pratiksinghal/cubie-head/sys/kern/subr_bus.c soc2015/pratiksinghal/cubie-head/sys/kern/subr_prf.c soc2015/pratiksinghal/cubie-head/sys/kern/subr_syscall.c soc2015/pratiksinghal/cubie-head/sys/kern/subr_trap.c soc2015/pratiksinghal/cubie-head/sys/kern/subr_uio.c soc2015/pratiksinghal/cubie-head/sys/kern/subr_witness.c soc2015/pratiksinghal/cubie-head/sys/kern/sys_process.c soc2015/pratiksinghal/cubie-head/sys/kern/sysv_shm.c soc2015/pratiksinghal/cubie-head/sys/kern/tty_pts.c soc2015/pratiksinghal/cubie-head/sys/kern/uipc_mbuf.c soc2015/pratiksinghal/cubie-head/sys/kern/uipc_shm.c soc2015/pratiksinghal/cubie-head/sys/kern/uipc_sockbuf.c soc2015/pratiksinghal/cubie-head/sys/kern/uipc_syscalls.c soc2015/pratiksinghal/cubie-head/sys/kern/uipc_usrreq.c soc2015/pratiksinghal/cubie-head/sys/kern/vfs_acl.c soc2015/pratiksinghal/cubie-head/sys/kern/vfs_bio.c soc2015/pratiksinghal/cubie-head/sys/kern/vfs_cluster.c soc2015/pratiksinghal/cubie-head/sys/kern/vfs_default.c soc2015/pratiksinghal/cubie-head/sys/kern/vfs_extattr.c soc2015/pratiksinghal/cubie-head/sys/kern/vfs_init.c soc2015/pratiksinghal/cubie-head/sys/kern/vfs_mount.c soc2015/pratiksinghal/cubie-head/sys/kern/vfs_subr.c soc2015/pratiksinghal/cubie-head/sys/kern/vfs_syscalls.c soc2015/pratiksinghal/cubie-head/sys/kern/vfs_vnops.c soc2015/pratiksinghal/cubie-head/sys/libkern/arc4random.c soc2015/pratiksinghal/cubie-head/sys/libkern/arm/memcpy.S soc2015/pratiksinghal/cubie-head/sys/libkern/random.c soc2015/pratiksinghal/cubie-head/sys/mips/atheros/ar71xx_chip.c soc2015/pratiksinghal/cubie-head/sys/mips/atheros/ar71xx_cpudef.h soc2015/pratiksinghal/cubie-head/sys/mips/atheros/ar71xx_ehci.c soc2015/pratiksinghal/cubie-head/sys/mips/atheros/ar71xx_ohci.c soc2015/pratiksinghal/cubie-head/sys/mips/atheros/ar71xx_pci.c soc2015/pratiksinghal/cubie-head/sys/mips/atheros/ar724x_chip.c soc2015/pratiksinghal/cubie-head/sys/mips/atheros/ar724x_pci.c soc2015/pratiksinghal/cubie-head/sys/mips/atheros/ar91xx_chip.c soc2015/pratiksinghal/cubie-head/sys/mips/atheros/ar933x_chip.c soc2015/pratiksinghal/cubie-head/sys/mips/atheros/ar934x_chip.c soc2015/pratiksinghal/cubie-head/sys/mips/atheros/if_arge.c soc2015/pratiksinghal/cubie-head/sys/mips/atheros/qca955x_chip.c soc2015/pratiksinghal/cubie-head/sys/mips/atheros/qca955x_pci.c soc2015/pratiksinghal/cubie-head/sys/mips/atheros/qca955xreg.h soc2015/pratiksinghal/cubie-head/sys/mips/cavium/octeon_rnd.c soc2015/pratiksinghal/cubie-head/sys/mips/conf/AR71XX_BASE soc2015/pratiksinghal/cubie-head/sys/mips/conf/AR724X_BASE soc2015/pratiksinghal/cubie-head/sys/mips/conf/AR91XX_BASE soc2015/pratiksinghal/cubie-head/sys/mips/conf/AR933X_BASE soc2015/pratiksinghal/cubie-head/sys/mips/conf/AR934X_BASE soc2015/pratiksinghal/cubie-head/sys/mips/conf/PB92 soc2015/pratiksinghal/cubie-head/sys/mips/conf/QCA955X_BASE soc2015/pratiksinghal/cubie-head/sys/mips/conf/QCA955X_BASE.hints soc2015/pratiksinghal/cubie-head/sys/mips/conf/RT305X soc2015/pratiksinghal/cubie-head/sys/mips/include/pcpu.h soc2015/pratiksinghal/cubie-head/sys/mips/include/vmparam.h soc2015/pratiksinghal/cubie-head/sys/modules/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/aesni/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/agp/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/crypto/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/dtrace/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/dtrace/dtraceall/dtraceall.c soc2015/pratiksinghal/cubie-head/sys/modules/em/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/geom/geom_part/geom_part_apm/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/geom/geom_part/geom_part_bsd/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/geom/geom_part/geom_part_bsd64/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/geom/geom_part/geom_part_ebr/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/geom/geom_part/geom_part_gpt/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/geom/geom_part/geom_part_ldm/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/geom/geom_part/geom_part_mbr/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/geom/geom_part/geom_part_pc98/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/geom/geom_part/geom_part_vtoc8/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/geom/geom_raid/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/hyperv/netvsc/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/i2c/controllers/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/ixl/Makefile (contents, props changed) soc2015/pratiksinghal/cubie-head/sys/modules/ixlv/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/kgssapi/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/kgssapi_krb5/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/ksyms/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/libiconv/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/mvs/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/nand/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/nandsim/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/proto/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/puc/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/qlxgbe/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/scc/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/sfxge/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/uart/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/usb/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/usb/template/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/virtio/balloon/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/virtio/block/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/virtio/console/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/virtio/network/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/virtio/pci/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/virtio/random/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/virtio/scsi/Makefile soc2015/pratiksinghal/cubie-head/sys/modules/virtio/virtio/Makefile soc2015/pratiksinghal/cubie-head/sys/net/altq/altq.h soc2015/pratiksinghal/cubie-head/sys/net/altq/altq_subr.c soc2015/pratiksinghal/cubie-head/sys/net/altq/altq_var.h soc2015/pratiksinghal/cubie-head/sys/net/if.c soc2015/pratiksinghal/cubie-head/sys/net/if_bridge.c soc2015/pratiksinghal/cubie-head/sys/net/if_ethersubr.c soc2015/pratiksinghal/cubie-head/sys/net/if_tun.c soc2015/pratiksinghal/cubie-head/sys/net/pfkeyv2.h soc2015/pratiksinghal/cubie-head/sys/net80211/ieee80211.c soc2015/pratiksinghal/cubie-head/sys/net80211/ieee80211_crypto.c soc2015/pratiksinghal/cubie-head/sys/net80211/ieee80211_crypto_ccmp.c soc2015/pratiksinghal/cubie-head/sys/net80211/ieee80211_crypto_none.c soc2015/pratiksinghal/cubie-head/sys/net80211/ieee80211_crypto_tkip.c soc2015/pratiksinghal/cubie-head/sys/net80211/ieee80211_crypto_wep.c soc2015/pratiksinghal/cubie-head/sys/net80211/ieee80211_freebsd.c soc2015/pratiksinghal/cubie-head/sys/net80211/ieee80211_freebsd.h soc2015/pratiksinghal/cubie-head/sys/net80211/ieee80211_hwmp.c soc2015/pratiksinghal/cubie-head/sys/net80211/ieee80211_output.c soc2015/pratiksinghal/cubie-head/sys/net80211/ieee80211_ratectl_none.c soc2015/pratiksinghal/cubie-head/sys/net80211/ieee80211_scan.c soc2015/pratiksinghal/cubie-head/sys/net80211/ieee80211_scan.h soc2015/pratiksinghal/cubie-head/sys/net80211/ieee80211_scan_sw.c soc2015/pratiksinghal/cubie-head/sys/net80211/ieee80211_scan_sw.h soc2015/pratiksinghal/cubie-head/sys/net80211/ieee80211_var.h soc2015/pratiksinghal/cubie-head/sys/netgraph/ng_iface.c soc2015/pratiksinghal/cubie-head/sys/netinet/if_ether.c soc2015/pratiksinghal/cubie-head/sys/netinet/ip_encap.c soc2015/pratiksinghal/cubie-head/sys/netinet/ip_input.c soc2015/pratiksinghal/cubie-head/sys/netinet/sctp_asconf.c soc2015/pratiksinghal/cubie-head/sys/netinet/sctp_cc_functions.c soc2015/pratiksinghal/cubie-head/sys/netinet/sctp_constants.h soc2015/pratiksinghal/cubie-head/sys/netinet/sctp_indata.c soc2015/pratiksinghal/cubie-head/sys/netinet/sctp_input.c soc2015/pratiksinghal/cubie-head/sys/netinet/sctp_input.h soc2015/pratiksinghal/cubie-head/sys/netinet/sctp_os_bsd.h soc2015/pratiksinghal/cubie-head/sys/netinet/sctp_output.c soc2015/pratiksinghal/cubie-head/sys/netinet/sctp_output.h soc2015/pratiksinghal/cubie-head/sys/netinet/sctp_pcb.c soc2015/pratiksinghal/cubie-head/sys/netinet/sctp_pcb.h soc2015/pratiksinghal/cubie-head/sys/netinet/sctp_syscalls.c soc2015/pratiksinghal/cubie-head/sys/netinet/sctp_sysctl.c soc2015/pratiksinghal/cubie-head/sys/netinet/sctp_timer.c soc2015/pratiksinghal/cubie-head/sys/netinet/sctp_uio.h soc2015/pratiksinghal/cubie-head/sys/netinet/sctp_usrreq.c soc2015/pratiksinghal/cubie-head/sys/netinet/sctp_var.h soc2015/pratiksinghal/cubie-head/sys/netinet/sctputil.c soc2015/pratiksinghal/cubie-head/sys/netinet/sctputil.h soc2015/pratiksinghal/cubie-head/sys/netinet/tcp_lro.c soc2015/pratiksinghal/cubie-head/sys/netinet/tcp_output.c soc2015/pratiksinghal/cubie-head/sys/netinet/tcp_timer.c soc2015/pratiksinghal/cubie-head/sys/netinet/tcp_timer.h soc2015/pratiksinghal/cubie-head/sys/netinet6/icmp6.c soc2015/pratiksinghal/cubie-head/sys/netinet6/in6.c soc2015/pratiksinghal/cubie-head/sys/netinet6/ip6_output.c soc2015/pratiksinghal/cubie-head/sys/netinet6/nd6.c soc2015/pratiksinghal/cubie-head/sys/netinet6/sctp6_usrreq.c soc2015/pratiksinghal/cubie-head/sys/netipsec/ipsec.c soc2015/pratiksinghal/cubie-head/sys/netipsec/key.c soc2015/pratiksinghal/cubie-head/sys/netipsec/key.h soc2015/pratiksinghal/cubie-head/sys/netpfil/pf/pf.c soc2015/pratiksinghal/cubie-head/sys/netpfil/pf/pf_mtag.h soc2015/pratiksinghal/cubie-head/sys/netpfil/pf/pf_norm.c soc2015/pratiksinghal/cubie-head/sys/ofed/drivers/infiniband/core/umem.c soc2015/pratiksinghal/cubie-head/sys/ofed/drivers/infiniband/hw/mthca/mthca_memfree.c soc2015/pratiksinghal/cubie-head/sys/ofed/drivers/net/mlx4/en_netdev.c soc2015/pratiksinghal/cubie-head/sys/ofed/drivers/net/mlx4/port.c soc2015/pratiksinghal/cubie-head/sys/ofed/include/linux/device.h soc2015/pratiksinghal/cubie-head/sys/ofed/include/linux/file.h soc2015/pratiksinghal/cubie-head/sys/ofed/include/linux/linux_compat.c soc2015/pratiksinghal/cubie-head/sys/ofed/include/linux/mlx4/device.h soc2015/pratiksinghal/cubie-head/sys/opencrypto/crypto.c soc2015/pratiksinghal/cubie-head/sys/pc98/conf/GENERIC soc2015/pratiksinghal/cubie-head/sys/powerpc/aim/mmu_oea.c soc2015/pratiksinghal/cubie-head/sys/powerpc/aim/mmu_oea64.c soc2015/pratiksinghal/cubie-head/sys/powerpc/booke/pmap.c soc2015/pratiksinghal/cubie-head/sys/powerpc/conf/GENERIC soc2015/pratiksinghal/cubie-head/sys/powerpc/conf/NOTES soc2015/pratiksinghal/cubie-head/sys/powerpc/include/pte.h soc2015/pratiksinghal/cubie-head/sys/powerpc/include/spr.h soc2015/pratiksinghal/cubie-head/sys/powerpc/include/vmparam.h soc2015/pratiksinghal/cubie-head/sys/powerpc/powerpc/mmu_if.m soc2015/pratiksinghal/cubie-head/sys/powerpc/powerpc/trap.c soc2015/pratiksinghal/cubie-head/sys/security/audit/audit_arg.c soc2015/pratiksinghal/cubie-head/sys/sparc64/conf/GENERIC soc2015/pratiksinghal/cubie-head/sys/sparc64/include/vmparam.h soc2015/pratiksinghal/cubie-head/sys/sparc64/sparc64/trap.c soc2015/pratiksinghal/cubie-head/sys/sys/buf.h soc2015/pratiksinghal/cubie-head/sys/sys/bus.h soc2015/pratiksinghal/cubie-head/sys/sys/cdefs.h soc2015/pratiksinghal/cubie-head/sys/sys/cpuset.h soc2015/pratiksinghal/cubie-head/sys/sys/dnv.h soc2015/pratiksinghal/cubie-head/sys/sys/file.h soc2015/pratiksinghal/cubie-head/sys/sys/filedesc.h soc2015/pratiksinghal/cubie-head/sys/sys/kernel.h soc2015/pratiksinghal/cubie-head/sys/sys/kthread.h soc2015/pratiksinghal/cubie-head/sys/sys/linker_set.h soc2015/pratiksinghal/cubie-head/sys/sys/lockstat.h soc2015/pratiksinghal/cubie-head/sys/sys/mbuf.h soc2015/pratiksinghal/cubie-head/sys/sys/mman.h soc2015/pratiksinghal/cubie-head/sys/sys/nlist_aout.h soc2015/pratiksinghal/cubie-head/sys/sys/param.h soc2015/pratiksinghal/cubie-head/sys/sys/pmc.h soc2015/pratiksinghal/cubie-head/sys/sys/proc.h soc2015/pratiksinghal/cubie-head/sys/sys/queue.h soc2015/pratiksinghal/cubie-head/sys/sys/random.h soc2015/pratiksinghal/cubie-head/sys/sys/resourcevar.h soc2015/pratiksinghal/cubie-head/sys/sys/sbuf.h soc2015/pratiksinghal/cubie-head/sys/sys/sysctl.h soc2015/pratiksinghal/cubie-head/sys/sys/systm.h soc2015/pratiksinghal/cubie-head/sys/sys/user.h soc2015/pratiksinghal/cubie-head/sys/sys/vnode.h soc2015/pratiksinghal/cubie-head/sys/ufs/ffs/ffs_alloc.c soc2015/pratiksinghal/cubie-head/sys/ufs/ffs/ffs_inode.c soc2015/pratiksinghal/cubie-head/sys/ufs/ffs/ffs_softdep.c soc2015/pratiksinghal/cubie-head/sys/ufs/ffs/ffs_suspend.c soc2015/pratiksinghal/cubie-head/sys/ufs/ffs/ffs_vfsops.c soc2015/pratiksinghal/cubie-head/sys/ufs/ffs/ffs_vnops.c soc2015/pratiksinghal/cubie-head/sys/ufs/ufs/ufs_bmap.c soc2015/pratiksinghal/cubie-head/sys/ufs/ufs/ufs_dirhash.c soc2015/pratiksinghal/cubie-head/sys/vm/swap_pager.c soc2015/pratiksinghal/cubie-head/sys/vm/uma_core.c soc2015/pratiksinghal/cubie-head/sys/vm/uma_dbg.c soc2015/pratiksinghal/cubie-head/sys/vm/vm_extern.h soc2015/pratiksinghal/cubie-head/sys/vm/vm_fault.c soc2015/pratiksinghal/cubie-head/sys/vm/vm_glue.c soc2015/pratiksinghal/cubie-head/sys/vm/vm_kern.c soc2015/pratiksinghal/cubie-head/sys/vm/vm_map.c soc2015/pratiksinghal/cubie-head/sys/vm/vm_mmap.c soc2015/pratiksinghal/cubie-head/sys/vm/vm_object.c soc2015/pratiksinghal/cubie-head/sys/vm/vm_object.h soc2015/pratiksinghal/cubie-head/sys/vm/vm_page.c soc2015/pratiksinghal/cubie-head/sys/vm/vm_pageout.c soc2015/pratiksinghal/cubie-head/sys/vm/vm_pager.c soc2015/pratiksinghal/cubie-head/sys/vm/vm_pager.h soc2015/pratiksinghal/cubie-head/sys/vm/vm_reserv.c soc2015/pratiksinghal/cubie-head/sys/vm/vm_unix.c soc2015/pratiksinghal/cubie-head/sys/x86/acpica/acpi_wakeup.c soc2015/pratiksinghal/cubie-head/sys/x86/acpica/madt.c soc2015/pratiksinghal/cubie-head/sys/x86/include/ptrace.h soc2015/pratiksinghal/cubie-head/sys/x86/iommu/busdma_dmar.c soc2015/pratiksinghal/cubie-head/sys/x86/iommu/intel_ctx.c soc2015/pratiksinghal/cubie-head/sys/x86/iommu/intel_dmar.h soc2015/pratiksinghal/cubie-head/sys/x86/iommu/intel_drv.c soc2015/pratiksinghal/cubie-head/sys/x86/iommu/intel_gas.c soc2015/pratiksinghal/cubie-head/sys/x86/iommu/intel_idpgtbl.c soc2015/pratiksinghal/cubie-head/sys/x86/iommu/intel_qi.c soc2015/pratiksinghal/cubie-head/sys/x86/iommu/intel_utils.c soc2015/pratiksinghal/cubie-head/sys/x86/isa/atrtc.c soc2015/pratiksinghal/cubie-head/sys/x86/x86/identcpu.c soc2015/pratiksinghal/cubie-head/sys/xen/blkif.h soc2015/pratiksinghal/cubie-head/sys/xen/interface/io/blkif.h Modified: soc2015/pratiksinghal/cubie-head/Makefile.inc1 ============================================================================== --- soc2015/pratiksinghal/cubie-head/Makefile.inc1 Sun Jul 5 15:42:16 2015 (r287988) +++ soc2015/pratiksinghal/cubie-head/Makefile.inc1 Sun Jul 5 16:55:54 2015 (r287989) @@ -297,7 +297,6 @@ # world stage WMAKEENV= ${CROSSENV} \ - _SHLIBDIRPREFIX=${WORLDTMP} \ _LDSCRIPTROOT= \ VERSION="${VERSION}" \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ @@ -439,7 +438,6 @@ # Yes, the flags are redundant. LIB32WMAKEENV+= MAKEOBJDIRPREFIX=${LIB32_OBJTREE} \ - _SHLIBDIRPREFIX=${LIB32TMP} \ _LDSCRIPTROOT=${LIB32TMP} \ VERSION="${VERSION}" \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ @@ -1258,7 +1256,7 @@ _strfile= games/fortune/strfile .endif -.if ${MK_CXX} != "no" +.if ${MK_GCC} != "no" && ${MK_CXX} != "no" _gperf= gnu/usr.bin/gperf .endif @@ -1276,8 +1274,8 @@ .endif .if ${BOOTSTRAPPING} < 1000002 -_m4= lib/libohash \ - usr.bin/m4 +_libohash= lib/libohash +_m4= usr.bin/m4 ${_bt}-usr.bin/m4: ${_bt}-lib/libohash .endif @@ -1363,6 +1361,15 @@ .ORDER: ${_kerberos5_bootstrap_tools:C/^/${_bt}-/g} .endif +.if ${MK_MANDOCDB} != "no" +_libohash?= lib/libohash +_makewhatis= lib/libsqlite3 \ + usr.bin/mandoc +${_bt}-usr.bin/mandoc: ${_bt}-lib/libohash ${_bt}-lib/libsqlite3 +.else +_makewhatis=usr.bin/makewhatis +.endif + # Rebuild up-to-date libmd for xinstall ${_bt}-usr.bin/xinstall: ${_bt}-lib/libmd @@ -1383,7 +1390,8 @@ ${_awk} \ ${_cat} \ usr.bin/lorder \ - usr.bin/makewhatis \ + ${_libohash} \ + ${_makewhatis} \ usr.bin/rpcgen \ ${_sed} \ ${_yacc} \ @@ -1758,9 +1766,9 @@ .endif # cddl/lib/libdtrace requires lib/libproc and lib/librtld_db; it's only built # on select architectures though (see cddl/lib/Makefile) -.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" || \ - ${MACHINE_CPUARCH} == "mips" || ${MACHINE_CPUARCH} == "powerpc" || \ - ${MACHINE_CPUARCH} == "arm" +.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_ARCH} == "amd64" || \ + ${MACHINE_CPUARCH} == "arm" || ${MACHINE_ARCH} == "i386" || \ + ${MACHINE_CPUARCH} == "mips" || ${MACHINE_CPUARCH} == "powerpc" _prebuild_libs+= lib/libproc lib/librtld_db .endif @@ -1806,9 +1814,10 @@ kerberos5/lib/libwind__L: kerberos5/lib/libroken__L lib/libcom_err__L kerberos5/lib/libheimbase__L: lib/libthr__L kerberos5/lib/libheimipcc__L: kerberos5/lib/libroken__L kerberos5/lib/libheimbase__L lib/libthr__L -lib/libsqlite3__L: lib/libthr__L .endif +lib/libsqlite3__L: lib/libthr__L + .if ${MK_GSSAPI} != "no" _lib_libgssapi= lib/libgssapi .endif @@ -2112,7 +2121,6 @@ CDBENV=MAKEOBJDIRPREFIX=${MAKEOBJDIRPREFIX}/${XDDIR} \ INSTALL="sh ${.CURDIR}/tools/install.sh" CDENV= ${CDBENV} \ - _SHLIBDIRPREFIX=${XDDESTDIR} \ TOOLS_PREFIX=${XDTP} CD2CFLAGS=-isystem ${XDDESTDIR}/usr/include -L${XDDESTDIR}/usr/lib \ --sysroot=${XDDESTDIR}/ -B${XDDESTDIR}/usr/libexec \ Modified: soc2015/pratiksinghal/cubie-head/ObsoleteFiles.inc ============================================================================== --- soc2015/pratiksinghal/cubie-head/ObsoleteFiles.inc Sun Jul 5 15:42:16 2015 (r287988) +++ soc2015/pratiksinghal/cubie-head/ObsoleteFiles.inc Sun Jul 5 16:55:54 2015 (r287989) @@ -38,6 +38,76 @@ # xargs -n1 | sort | uniq -d; # done +# 20150604: Move nvlist man pages to section 9. +OLD_FILES+=usr/share/man/man3/libnv.3.gz +OLD_FILES+=usr/share/man/man3/nvlist.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_add_binary.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_add_bool.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_add_descriptor.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_add_null.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_add_number.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_add_nvlist.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_add_string.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_add_stringf.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_add_stringv.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_clone.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_create.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_destroy.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_dump.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_empty.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_error.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_exists.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_exists_binary.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_exists_bool.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_exists_descriptor.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_exists_null.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_exists_number.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_exists_nvlist.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_exists_string.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_exists_type.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_fdump.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_flags.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_free.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_free_binary.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_free_bool.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_free_descriptor.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_free_null.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_free_number.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_free_nvlist.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_free_string.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_free_type.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_get_binary.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_get_bool.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_get_descriptor.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_get_number.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_get_nvlist.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_get_parent.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_get_string.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_move_binary.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_move_descriptor.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_move_nvlist.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_move_string.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_next.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_pack.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_recv.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_send.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_set_error.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_size.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_take_binary.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_take_bool.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_take_descriptor.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_take_number.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_take_nvlist.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_take_string.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_unpack.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_xfer.3.gz +# 20150702: Remove duplicated nvlist includes. +OLD_FILES+=usr/include/dnv.h +OLD_FILES+=usr/include/nv.h +# 20150528: PCI IOV device driver methods moved to a separate kobj interface. +OLD_FILES+=usr/share/man/man9/PCI_ADD_VF.9.gz +OLD_FILES+=usr/share/man/man9/PCI_INIT_IOV.9.gz +OLD_FILES+=usr/share/man/man9/PCI_UNINIT_IOV.9.gz # 20150525: new clang import which bumps version from 3.6.0 to 3.6.1. OLD_FILES+=usr/lib/clang/3.6.0/include/__stddef_max_align_t.h OLD_FILES+=usr/lib/clang/3.6.0/include/__wmmintrin_aes.h @@ -113,9 +183,13 @@ OLD_FILES+=usr/lib32/libheimsqlite.so OLD_LIBS+=usr/lib32/libheimsqlite.so.11 OLD_FILES+=usr/lib32/libheimsqlite_p.a +# 20150518: tzdata2015c update +OLD_FILES+=usr/share/zoneinfo/America/Montreal # 20150506 OLD_FILES+=usr/share/man/man9/NDHASGIANT.9.gz # 20150504 +OLD_FILES+=usr/share/examples/etc/libmap32.conf +OLD_FILES+=usr/include/bsdstat.h OLD_LIBS+=usr/lib32/private/libatf-c++.so.2 OLD_LIBS+=usr/lib32/private/libbsdstat.so.1 OLD_LIBS+=usr/lib32/private/libheimipcs.so.11 @@ -156,6 +230,7 @@ OLD_FILES+=usr/share/man/man3/nvlist_addv_number.3.gz OLD_FILES+=usr/share/man/man3/nvlist_addv_nvlist.3.gz OLD_FILES+=usr/share/man/man3/nvlist_addv_string.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_existsf.3.gz OLD_FILES+=usr/share/man/man3/nvlist_existsf_binary.3.gz OLD_FILES+=usr/share/man/man3/nvlist_existsf_bool.3.gz OLD_FILES+=usr/share/man/man3/nvlist_existsf_descriptor.3.gz @@ -164,6 +239,7 @@ OLD_FILES+=usr/share/man/man3/nvlist_existsf_nvlist.3.gz OLD_FILES+=usr/share/man/man3/nvlist_existsf_string.3.gz OLD_FILES+=usr/share/man/man3/nvlist_existsf_type.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_existsv.3.gz OLD_FILES+=usr/share/man/man3/nvlist_existsv_binary.3.gz OLD_FILES+=usr/share/man/man3/nvlist_existsv_bool.3.gz OLD_FILES+=usr/share/man/man3/nvlist_existsv_descriptor.3.gz @@ -172,6 +248,7 @@ OLD_FILES+=usr/share/man/man3/nvlist_existsv_nvlist.3.gz OLD_FILES+=usr/share/man/man3/nvlist_existsv_string.3.gz OLD_FILES+=usr/share/man/man3/nvlist_existsv_type.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_freef.3.gz OLD_FILES+=usr/share/man/man3/nvlist_freef_binary.3.gz OLD_FILES+=usr/share/man/man3/nvlist_freef_bool.3.gz OLD_FILES+=usr/share/man/man3/nvlist_freef_descriptor.3.gz @@ -180,6 +257,7 @@ OLD_FILES+=usr/share/man/man3/nvlist_freef_nvlist.3.gz OLD_FILES+=usr/share/man/man3/nvlist_freef_string.3.gz OLD_FILES+=usr/share/man/man3/nvlist_freef_type.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_freev.3.gz OLD_FILES+=usr/share/man/man3/nvlist_freev_binary.3.gz OLD_FILES+=usr/share/man/man3/nvlist_freev_bool.3.gz OLD_FILES+=usr/share/man/man3/nvlist_freev_descriptor.3.gz @@ -200,10 +278,33 @@ OLD_FILES+=usr/share/man/man3/nvlist_getv_number.3.gz OLD_FILES+=usr/share/man/man3/nvlist_getv_nvlist.3.gz OLD_FILES+=usr/share/man/man3/nvlist_getv_string.3.gz -# 20150429: -OLD_FILES+=usr/share/docs/papers/hwpmc.ascii.gz +OLD_FILES+=usr/share/man/man3/nvlist_movef_binary.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_movef_descriptor.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_movef_nvlist.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_movef_string.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_movev_binary.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_movev_descriptor.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_movev_nvlist.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_movev_string.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_takef_binary.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_takef_bool.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_takef_descriptor.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_takef_number.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_takef_nvlist.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_takef_string.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_takev_binary.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_takev_bool.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_takev_descriptor.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_takev_number.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_takev_nvlist.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_takev_string.3.gz +# 20150429: remove never written documentation +OLD_FILES+=usr/share/doc/papers/hwpmc.ascii.gz # 20150427: test/sys/kern/mmap_test moved to test/sys/vm/mmap_test OLD_FILES+=usr/tests/sys/kern/mmap_test +# 20150422: zlib.c moved from net to libkern +OLD_FILES+=usr/include/net/zlib.h +OLD_FILES+=usr/include/net/zutil.h # 20150418 OLD_FILES+=sbin/mount_oldnfs OLD_FILES+=usr/share/man/man8/mount_oldnfs.8.gz @@ -222,6 +323,42 @@ OLD_FILES+=usr/include/altq/altq_cbq.h OLD_FILES+=usr/include/altq/altq_rio.h OLD_DIRS+=usr/include/altq +# 20150330: ntp 4.2.8p1 +OLD_FILES+=usr/share/doc/ntp/driver1.html +OLD_FILES+=usr/share/doc/ntp/driver10.html +OLD_FILES+=usr/share/doc/ntp/driver11.html +OLD_FILES+=usr/share/doc/ntp/driver12.html +OLD_FILES+=usr/share/doc/ntp/driver16.html +OLD_FILES+=usr/share/doc/ntp/driver18.html +OLD_FILES+=usr/share/doc/ntp/driver19.html +OLD_FILES+=usr/share/doc/ntp/driver2.html +OLD_FILES+=usr/share/doc/ntp/driver20.html +OLD_FILES+=usr/share/doc/ntp/driver22.html +OLD_FILES+=usr/share/doc/ntp/driver26.html +OLD_FILES+=usr/share/doc/ntp/driver27.html +OLD_FILES+=usr/share/doc/ntp/driver28.html +OLD_FILES+=usr/share/doc/ntp/driver29.html +OLD_FILES+=usr/share/doc/ntp/driver3.html +OLD_FILES+=usr/share/doc/ntp/driver30.html +OLD_FILES+=usr/share/doc/ntp/driver32.html +OLD_FILES+=usr/share/doc/ntp/driver33.html +OLD_FILES+=usr/share/doc/ntp/driver34.html +OLD_FILES+=usr/share/doc/ntp/driver35.html +OLD_FILES+=usr/share/doc/ntp/driver36.html +OLD_FILES+=usr/share/doc/ntp/driver37.html +OLD_FILES+=usr/share/doc/ntp/driver4.html +OLD_FILES+=usr/share/doc/ntp/driver5.html +OLD_FILES+=usr/share/doc/ntp/driver6.html +OLD_FILES+=usr/share/doc/ntp/driver7.html +OLD_FILES+=usr/share/doc/ntp/driver8.html +OLD_FILES+=usr/share/doc/ntp/driver9.html +OLD_FILES+=usr/share/doc/ntp/ldisc.html +OLD_FILES+=usr/share/doc/ntp/measure.html +OLD_FILES+=usr/share/doc/ntp/mx4200data.html +OLD_FILES+=usr/share/doc/ntp/notes.html +OLD_FILES+=usr/share/doc/ntp/patches.html +OLD_FILES+=usr/share/doc/ntp/porting.html +OLD_FILES+=usr/share/man/man1/sntp.1.gz # 20150329 .if ${TARGET_ARCH} == "arm" OLD_FILES+=usr/include/bootconfig.h @@ -293,7 +430,7 @@ OLD_FILES+=usr/share/man/man6/bcd.6.gz OLD_FILES+=usr/share/man/man6/ppt.6.gz # 20150217: Removed remnants of ar(4) driver -OLD_FILES+=usr/include/sys/dev/ic/hd64570.h +OLD_FILES+=usr/include/dev/ic/hd64570.h # 20150212: /usr/games moving into /usr/bin OLD_FILES+=usr/games/bcd OLD_FILES+=usr/games/caesar @@ -313,19 +450,23 @@ # 20150209: liblzma header OLD_FILES+=usr/include/lzma/lzma.h # 20150124: spl.9 and friends -OLD_FILES+=usr/share/man/man9/spl.9 -OLD_FILES+=usr/share/man/man9/spl0.9 -OLD_FILES+=usr/share/man/man9/splbio.9 -OLD_FILES+=usr/share/man/man9/splclock.9 -OLD_FILES+=usr/share/man/man9/splhigh.9 -OLD_FILES+=usr/share/man/man9/splimp.9 -OLD_FILES+=usr/share/man/man9/splnet.9 -OLD_FILES+=usr/share/man/man9/splsoftclock.9 -OLD_FILES+=usr/share/man/man9/splsofttty.9 -OLD_FILES+=usr/share/man/man9/splstatclock.9 -OLD_FILES+=usr/share/man/man9/spltty.9 -OLD_FILES+=usr/share/man/man9/splvm.9 -OLD_FILES+=usr/share/man/man9/splx.9 +OLD_FILES+=usr/share/man/man9/spl.9.gz +OLD_FILES+=usr/share/man/man9/spl0.9.gz +OLD_FILES+=usr/share/man/man9/splbio.9.gz +OLD_FILES+=usr/share/man/man9/splclock.9.gz +OLD_FILES+=usr/share/man/man9/splhigh.9.gz +OLD_FILES+=usr/share/man/man9/splimp.9.gz +OLD_FILES+=usr/share/man/man9/splnet.9.gz +OLD_FILES+=usr/share/man/man9/splsoftclock.9.gz +OLD_FILES+=usr/share/man/man9/splsofttty.9.gz +OLD_FILES+=usr/share/man/man9/splstatclock.9.gz +OLD_FILES+=usr/share/man/man9/spltty.9.gz +OLD_FILES+=usr/share/man/man9/splvm.9.gz +OLD_FILES+=usr/share/man/man9/splx.9.gz +# 20150122: callout changes reverted +OLD_FILES+=usr/share/man/man9/callout_drain_async.9.gz +# 20150118: toeplitz.c moved from netinet to net +OLD_FILES+=usr/include/netinet/toeplitz.h # 20150118: new clang import which bumps version from 3.5.0 to 3.5.1. OLD_FILES+=usr/include/clang/3.5.0/__wmmintrin_aes.h OLD_FILES+=usr/include/clang/3.5.0/__wmmintrin_pclmul.h @@ -380,6 +521,8 @@ OLD_DIRS+=usr/lib/clang/3.5.0/lib/freebsd OLD_DIRS+=usr/lib/clang/3.5.0/lib OLD_DIRS+=usr/lib/clang/3.5.0 +# 20150102: removal of asr(4) +OLD_FILES+=usr/share/man/man4/asr.4.gz # 20150102: removal of texinfo OLD_FILES+=usr/bin/info OLD_FILES+=usr/bin/infokey @@ -448,7 +591,7 @@ OLD_FILES+=usr/include/clang/3.4.1/xmmintrin.h OLD_FILES+=usr/include/clang/3.4.1/xopintrin.h OLD_DIRS+=usr/include/clang/3.4.1 -# 20141226: Remove gpib/ieee488 +# 20141225: Remove gpib/ieee488 OLD_FILES+=usr/include/dev/ieee488/ibfoo_int.h OLD_FILES+=usr/include/dev/ieee488/tnt4882.h OLD_FILES+=usr/include/dev/ieee488/ugpib.h @@ -461,22 +604,37 @@ OLD_FILES+=usr/lib/libgpib.so OLD_LIBS+=usr/lib/libgpib.so.3 OLD_FILES+=usr/lib/libgpib_p.a -OLD_FILES+=share/man/man4/pcii.4.gz -OLD_FILES+=share/man/man4/gpib.4.gz -OLD_FILES+=share/man/man4/tnt4882.4.gz -.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64" OLD_FILES+=usr/lib32/libgpib.a OLD_FILES+=usr/lib32/libgpib_p.a OLD_FILES+=usr/lib32/libgpib.so OLD_LIBS+=usr/lib32/libgpib.so.3 -.endif - +OLD_FILES+=usr/share/man/man3/gpib.3.gz +OLD_FILES+=usr/share/man/man3/ibclr.3.gz +OLD_FILES+=usr/share/man/man3/ibdev.3.gz +OLD_FILES+=usr/share/man/man3/ibdma.3.gz +OLD_FILES+=usr/share/man/man3/ibeos.3.gz +OLD_FILES+=usr/share/man/man3/ibeot.3.gz +OLD_FILES+=usr/share/man/man3/ibloc.3.gz +OLD_FILES+=usr/share/man/man3/ibonl.3.gz +OLD_FILES+=usr/share/man/man3/ibpad.3.gz +OLD_FILES+=usr/share/man/man3/ibrd.3.gz +OLD_FILES+=usr/share/man/man3/ibsad.3.gz +OLD_FILES+=usr/share/man/man3/ibsic.3.gz +OLD_FILES+=usr/share/man/man3/ibtmo.3.gz +OLD_FILES+=usr/share/man/man3/ibtrg.3.gz +OLD_FILES+=usr/share/man/man3/ibwrt.3.gz +OLD_FILES+=usr/share/man/man4/gpib.4.gz +OLD_FILES+=usr/share/man/man4/pcii.4.gz +OLD_FILES+=usr/share/man/man4/tnt4882.4.gz # 20141224: libxo moved to /lib OLD_LIBS+=usr/lib/libxo.so.0 # 20141223: remove in6_gif.h, in_gif.h and if_stf.h OLD_FILES+=usr/include/net/if_stf.h OLD_FILES+=usr/include/netinet/in_gif.h OLD_FILES+=usr/include/netinet6/in6_gif.h +# 20141209: pw tests broken into a file per command +OLD_FILES+=usr/tests/usr.sbin/pw/pw_delete +OLD_FILES+=usr/tests/usr.sbin/pw/pw_modify # 20141202: update to mandoc CVS 20141201 OLD_FILES+=usr.bin/preconv OLD_FILES+=share/man/man1/preconv.1.gz @@ -488,6 +646,11 @@ OLD_FILES+=usr/tests/sbin/mdconfig/run.pl # 20141126: remove xform_ipip decapsulation fallback OLD_FILES+=usr/include/netipsec/ipip_var.h +# 20141122: mandoc updated to 1.13.1 +OLD_FILES+=usr/share/mdocml/external.png +# 20141111: SF_KQUEUE code removed +OLD_FILES+=usr/include/sys/sf_base.h +OLD_FILES+=usr/include/sys/sf_sync.h # 20141109: faith/faithd removal OLD_FILES+=etc/rc.d/faith OLD_FILES+=usr/share/man/man4/faith.4.gz @@ -500,6 +663,8 @@ OLD_FILES+=etc/rc.d/postrandom # 20141031: initrandom obsoleted by new /dev/random code OLD_FILES+=etc/rc.d/initrandom +# 20141030: atf 0.21 import +OLD_FILES+=usr/share/man/man3/atf-c++-api.3.gz # 20141028: debug files accidentally installed as directory name OLD_FILES+=usr/lib/debug/usr/lib/i18n OLD_FILES+=usr/lib/debug/usr/lib/private @@ -507,6 +672,9 @@ OLD_FILES+=usr/lib/debug/usr/lib32/private # 20141015: OpenSSL 1.0.1j import OLD_FILES+=usr/share/openssl/man/man3/CMS_sign_add1_signer.3.gz +# 20141003: libproc version bump +OLD_LIBS+=usr/lib/libproc.so.2 +OLD_LIBS+=usr/lib32/libproc.so.2 # 20140922: sleepq_calc_signal_retval.9 and sleepq_catch_signals.9 removed OLD_FILES+=usr/share/man/man9/sleepq_calc_signal_retval.9.gz OLD_FILES+=usr/share/man/man9/sleepq_catch_signals.9.gz @@ -516,6 +684,10 @@ OLD_LIBS+=usr/lib/libnv.so.0 # 20140829: rc.d/kerberos removed OLD_FILES+=etc/rc.d/kerberos +# 20140827: tzdata2014f import +OLD_FILES+=usr/share/zoneinfo/Asia/Chongqing +OLD_FILES+=usr/share/zoneinfo/Asia/Harbin +OLD_FILES+=usr/share/zoneinfo/Asia/Kashgar # 20140814: libopie version bump OLD_LIBS+=usr/lib/libopie.so.7 OLD_LIBS+=usr/lib32/libopie.so.7 @@ -579,14 +751,19 @@ OLD_FILES+=usr/lib/private/libucl_p.a # 20140803: Remove an obsolete man page OLD_FILES+=usr/share/man/man9/pmap_change_wiring.9.gz +# 20140731 +OLD_FILES+=usr/share/man/man9/SYSCTL_ADD_OID.9.gz # 20140728: libsbuf restored to old version. OLD_LIBS+=lib/libsbuf.so.7 +OLD_LIBS+=usr/lib32/libsbuf.so.7 # 20140728: Remove an obsolete man page OLD_FILES+=usr/share/man/man9/VOP_GETVOBJECT.9.gz OLD_FILES+=usr/share/man/man9/VOP_CREATEVOBJECT.9.gz OLD_FILES+=usr/share/man/man9/VOP_DESTROYVOBJECT.9.gz # 20140723: renamed to PCBGROUP.9 OLD_FILES+=usr/share/man/man9/PCBGROUPS.9.gz +# 20140722: browse_packages_ftp.sh removed +OLD_FILES+=usr/share/examples/bsdconfig/browse_packages_ftp.sh # 20140718: Remove obsolete man pages OLD_FILES+=usr/share/man/man9/zero_copy.9.gz OLD_FILES+=usr/share/man/man9/zero_copy_sockets.9.gz @@ -607,6 +784,14 @@ OLD_FILES+=usr/lib/libhistory_p.a OLD_FILES+=usr/lib/libhistory.so OLD_LIBS+=usr/lib/libhistory.so.8 +OLD_FILES+=usr/lib32/libhistory.a +OLD_FILES+=usr/lib32/libhistory.so +OLD_LIBS+=usr/lib32/libhistory.so.8 +OLD_FILES+=usr/lib32/libhistory_p.a +OLD_FILES+=usr/lib32/libreadline.a +OLD_FILES+=usr/lib32/libreadline.so +OLD_LIBS+=usr/lib32/libreadline.so.8 +OLD_FILES+=usr/lib32/libreadline_p.a OLD_FILES+=usr/include/readline/chardefs.h OLD_FILES+=usr/include/readline/history.h OLD_FILES+=usr/include/readline/keymaps.h @@ -619,6 +804,7 @@ OLD_DIRS+=usr/include/readline OLD_FILES+=usr/share/info/readline.info.gz OLD_FILES+=usr/share/man/man3/readline.3.gz +OLD_FILES+=usr/share/man/man3/rlhistory.3.gz # 20140625: csup removal OLD_FILES+=usr/bin/csup OLD_FILES+=usr/bin/cpasswd @@ -679,6 +865,12 @@ OLD_FILES+=usr/tests/sbin/ifconfig/fibs_test # 20140502: Removal of lindev(4) OLD_FILES+=usr/share/man/man4/lindev.4.gz +# 20140425 +OLD_FILES+=usr/lib/libssp_p.a +OLD_FILES+=usr/lib/libstand_p.a +OLD_FILES+=usr/lib32/libc_pic.a +OLD_FILES+=usr/lib32/libssp_p.a +OLD_FILES+=usr/lib32/libstand_p.a # 20140314: AppleTalk OLD_DIRS+=usr/include/netatalk OLD_FILES+=usr/include/netatalk/aarp.h @@ -894,6 +1086,7 @@ OLD_FILES+=usr/include/lwres/netdb.h OLD_FILES+=usr/include/lwres/platform.h OLD_FILES+=usr/include/lwres/result.h +OLD_FILES+=usr/include/lwres/string.h OLD_FILES+=usr/include/lwres/version.h OLD_FILES+=usr/lib/liblwres.a OLD_FILES+=usr/lib/liblwres.so @@ -1997,7 +2190,6 @@ OLD_LIBS+=usr/lib/libpanelw.so.4 OLD_LIBS+=usr/lib/libpmc.so.4 OLD_LIBS+=usr/lib/libproc.so.1 -OLD_LIBS+=usr/lib/libproc.so.2 OLD_LIBS+=usr/lib/libradius.so.3 OLD_LIBS+=usr/lib/librpcsvc.so.4 OLD_LIBS+=usr/lib/libsdp.so.3 Modified: soc2015/pratiksinghal/cubie-head/UPDATING ============================================================================== --- soc2015/pratiksinghal/cubie-head/UPDATING Sun Jul 5 15:42:16 2015 (r287988) +++ soc2015/pratiksinghal/cubie-head/UPDATING Sun Jul 5 16:55:54 2015 (r287989) @@ -31,6 +31,95 @@ disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20150630: + The default kernel entropy-processing algorithm is now + Fortuna, replacing Yarrow. + + Assuming you have 'device random' in your kernel config + file, the configurations allow a kernel option to override + this default. You may choose *ONE* of: + + options RANDOM_YARROW # Legacy /dev/random algorithm. + options RANDOM_DUMMY # Blocking-only driver. + + If you have neither, you get Fortuna. For most people, + read no further, Fortuna will give a /dev/random that works + like it always used to, and the difference will be irrelevant. + + If you remove 'device random', you get *NO* kernel-processed + entopy at all. This may be acceptable to folks building + embedded systems, but has complications. Carry on reading, + and it is assumed you know what you need. + + *PLEASE* read random(4) and random(9) if you are in the + habit of tweeking kernel configs, and/or if you are a member + of the embedded community, wanting specific and not-usual + behaviour from your security subsystems. + + NOTE!! If you use RANDOM_DUMMY and/or have no 'device + random', you will NOT have a functioning /dev/random, and + many cryptographic features will not work, including SSH. + You may also find strange behaviour from the random(3) set + of library functions, in particular sranddev(3), srandomdev(3) + and arc4random(3). The reason for this is that the KERN_ARND + sysctl only returns entropy if it thinks it has some to + share, and with RANDOM_DUMMY or no 'device random' this + will never happen. + +20150623: + An additional fix for the issue described in the 20150614 sendmail + entry below has been been committed in revision 284717. + +20150616: + FreeBSD's old make (fmake) has been removed from the system. It is + available as the devel/fmake port or via pkg install fmake. + +20150615: + The fix for the issue described in the 20150614 sendmail entry + below has been been committed in revision 284436. The work + around described in that entry is no longer needed unless the + default setting is overridden by a confDH_PARAMETERS configuration + setting of '5' or pointing to a 512 bit DH parameter file. + +20150614: + ALLOW_DEPRECATED_ATF_TOOLS/ATFFILE support has been removed from + atf.test.mk (included from bsd.test.mk). Please upgrade devel/atf + and devel/kyua to version 0.20+ and adjust any calling code to work + with Kyuafile and kyua. + +20150614: + The import of openssl to address the FreeBSD-SA-15:10.openssl + security advisory includes a change which rejects handshakes + with DH parameters below 768 bits. sendmail releases prior + to 8.15.2 (not yet released), defaulted to a 512 bit + DH parameter setting for client connections. To work around + this interoperability, sendmail can be configured to use a + 2048 bit DH parameter by: + + 1. Edit /etc/mail/`hostname`.mc + 2. If a setting for confDH_PARAMETERS does not exist or + exists and is set to a string beginning with '5', + replace it with '2'. + 3. If a setting for confDH_PARAMETERS exists and is set to + a file path, create a new file with: + openssl dhparam -out /path/to/file 2048 + 4. Rebuild the .cf file: + cd /etc/mail/; make; make install + 5. Restart sendmail: + cd /etc/mail/; make restart + + A sendmail patch is coming, at which time this file will be + updated. + +20150604: + Generation of legacy formatted entries have been disabled by default + in pwd_mkdb(8), as all base system consumers of the legacy formatted + entries were converted to use the new format by default when the new, + machine independent format have been added and supported since FreeBSD + 5.x. + + Please see the pwd_mkdb(8) manual page for further details. + 20150525: Clang and llvm have been upgraded to 3.6.1 release. Please see the 20141231 entry below for information about prerequisites and upgrading, Modified: soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/cmd/lockstat/lockstat.c ============================================================================== --- soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/cmd/lockstat/lockstat.c Sun Jul 5 15:42:16 2015 (r287988) +++ soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/cmd/lockstat/lockstat.c Sun Jul 5 16:55:54 2015 (r287989) @@ -157,14 +157,22 @@ "lockstat:::rw-block", "arg2 != 0 && arg3 == 1" }, { 'C', "Lock", "R/W reader blocked by write wanted", "nsec", "lockstat:::rw-block", "arg2 != 0 && arg3 == 0 && arg4" }, - { 'C', "Lock", "Unknown event (type 8)", "units" }, - { 'C', "Lock", "Unknown event (type 9)", "units" }, - { 'C', "Lock", "Unknown event (type 10)", "units" }, - { 'C', "Lock", "Unknown event (type 11)", "units" }, - { 'C', "Lock", "Unknown event (type 12)", "units" }, - { 'C', "Lock", "Unknown event (type 13)", "units" }, - { 'C', "Lock", "Unknown event (type 14)", "units" }, - { 'C', "Lock", "Unknown event (type 15)", "units" }, + { 'C', "Lock", "R/W writer spin on writer", "nsec", + "lockstat:::rw-spin", "arg2 == 0 && arg3 == 1" }, + { 'C', "Lock", "R/W writer spin on readers", "nsec", + "lockstat:::rw-spin", "arg2 == 0 && arg3 == 0 && arg4" }, + { 'C', "Lock", "R/W reader spin on writer", "nsec", + "lockstat:::rw-spin", "arg2 != 0 && arg3 == 1" }, + { 'C', "Lock", "R/W reader spin on write wanted", "nsec", + "lockstat:::rw-spin", "arg2 != 0 && arg3 == 0 && arg4" }, + { 'C', "Lock", "SX exclusive block", "nsec", + "lockstat:::sx-block", "arg2 == 0" }, + { 'C', "Lock", "SX shared block", "nsec", + "lockstat:::sx-block", "arg2 != 0" }, + { 'C', "Lock", "SX exclusive spin", "nsec", + "lockstat:::sx-spin", "arg2 == 0" }, + { 'C', "Lock", "SX shared spin", "nsec", + "lockstat:::sx-spin", "arg2 != 0" }, { 'C', "Lock", "Unknown event (type 16)", "units" }, { 'C', "Lock", "Unknown event (type 17)", "units" }, { 'C', "Lock", "Unknown event (type 18)", "units" }, @@ -188,13 +196,17 @@ "lockstat:::spin-release", NULL, "lockstat:::spin-acquire" }, { 'H', "Lock", "R/W writer hold", "nsec", - "lockstat:::rw-release", "arg1 == 0", - "lockstat:::rw-acquire" }, + "lockstat::rw_wunlock:rw-release", NULL, + "lockstat::rw_wlock:rw-acquire" }, { 'H', "Lock", "R/W reader hold", "nsec", - "lockstat:::rw-release", "arg1 != 0", - "lockstat:::rw-acquire" }, - { 'H', "Lock", "Unknown event (type 36)", "units" }, - { 'H', "Lock", "Unknown event (type 37)", "units" }, + "lockstat::rw_runlock:rw-release", NULL, + "lockstat::rw_rlock:rw-acquire" }, + { 'H', "Lock", "SX shared hold", "nsec", + "lockstat::sx_sunlock:sx-release", NULL, + "lockstat::sx_slock:sx-acquire" }, + { 'H', "Lock", "SX exclusive hold", "nsec", + "lockstat::sx_xunlock:sx-release", NULL, + "lockstat::sx_xlock:sx-acquire" }, { 'H', "Lock", "Unknown event (type 38)", "units" }, { 'H', "Lock", "Unknown event (type 39)", "units" }, { 'H', "Lock", "Unknown event (type 40)", "units" }, Modified: soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/cmd/zdb/zdb.c ============================================================================== --- soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/cmd/zdb/zdb.c Sun Jul 5 15:42:16 2015 (r287988) +++ soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/cmd/zdb/zdb.c Sun Jul 5 16:55:54 2015 (r287989) @@ -90,10 +90,10 @@ typedef void object_viewer_t(objset_t *, uint64_t, void *data, size_t size); extern void dump_intent_log(zilog_t *); -uint64_t *zopt_object = NULL; -int zopt_objects = 0; -libzfs_handle_t *g_zfs; -uint64_t max_inflight = 1000; +static uint64_t *zopt_object = NULL; +static int zopt_objects = 0; +static libzfs_handle_t *g_zfs; +static uint64_t max_inflight = 1000; /* * These libumem hooks provide a reasonable set of defaults for the allocator's @@ -1488,16 +1488,14 @@ dle = AVL_NEXT(&dl->dl_tree, dle)) { if (dump_opt['d'] >= 5) { char buf[128]; - (void) snprintf(buf, sizeof (buf), "mintxg %llu -> ", - (longlong_t)dle->dle_mintxg, + (void) snprintf(buf, sizeof (buf), "mintxg %llu -> " + "obj %llu", (longlong_t)dle->dle_mintxg, (longlong_t)dle->dle_bpobj.bpo_object); - dump_bpobj(&dle->dle_bpobj, buf, 0); } else { (void) printf("mintxg %llu -> obj %llu\n", (longlong_t)dle->dle_mintxg, (longlong_t)dle->dle_bpobj.bpo_object); - } } } Modified: soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c ============================================================================== --- soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Sun Jul 5 15:42:16 2015 (r287988) +++ soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Sun Jul 5 16:55:54 2015 (r287989) @@ -593,6 +593,17 @@ } /* + * Check if the dataset is mountable and should be automatically mounted. + */ +static boolean_t +should_auto_mount(zfs_handle_t *zhp) +{ + if (!zfs_prop_valid_for_type(ZFS_PROP_CANMOUNT, zfs_get_type(zhp))) + return (B_FALSE); + return (zfs_prop_get_int(zhp, ZFS_PROP_CANMOUNT) == ZFS_CANMOUNT_ON); +} + +/* * zfs clone [-p] [-o prop=value] ... * * Given an existing dataset, create a writable copy whose initial contents @@ -677,9 +688,22 @@ clone = zfs_open(g_zfs, argv[1], ZFS_TYPE_DATASET); if (clone != NULL) { - if (zfs_get_type(clone) != ZFS_TYPE_VOLUME) - if ((ret = zfs_mount(clone, NULL, 0)) == 0) - ret = zfs_share(clone); + /* + * If the user doesn't want the dataset + * automatically mounted, then skip the mount/share + * step. + */ + if (should_auto_mount(clone)) { + if ((ret = zfs_mount(clone, NULL, 0)) != 0) { + (void) fprintf(stderr, gettext("clone " + "successfully created, " + "but not mounted\n")); + } else if ((ret = zfs_share(clone)) != 0) { + (void) fprintf(stderr, gettext("clone " + "successfully created, " + "but not shared\n")); + } + } zfs_close(clone); } } @@ -728,7 +752,6 @@ int ret = 1; nvlist_t *props; uint64_t intval; - int canmount = ZFS_CANMOUNT_OFF; if (nvlist_alloc(&props, NV_UNIQUE_NAME, 0) != 0) nomem(); @@ -868,19 +891,15 @@ goto error; ret = 0; - /* - * if the user doesn't want the dataset automatically mounted, - * then skip the mount/share step - */ - if (zfs_prop_valid_for_type(ZFS_PROP_CANMOUNT, type)) - canmount = zfs_prop_get_int(zhp, ZFS_PROP_CANMOUNT); /* * Mount and/or share the new filesystem as appropriate. We provide a * verbose error message to let the user know that their filesystem was * in fact created, even if we failed to mount or share it. + * If the user doesn't want the dataset automatically mounted, + * then skip the mount/share step altogether. */ - if (!nomount && canmount == ZFS_CANMOUNT_ON) { + if (!nomount && should_auto_mount(zhp)) { if (zfs_mount(zhp, NULL, 0) != 0) { (void) fprintf(stderr, gettext("filesystem " "successfully created, but not mounted\n")); Modified: soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/cmd/ztest/ztest.c ============================================================================== --- soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/cmd/ztest/ztest.c Sun Jul 5 15:42:16 2015 (r287988) +++ soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/cmd/ztest/ztest.c Sun Jul 5 16:55:54 2015 (r287989) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2011, 2014 by Delphix. All rights reserved. + * Copyright (c) 2011, 2015 by Delphix. All rights reserved. * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2012 Martin Matuska . All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. @@ -969,21 +969,6 @@ return (version); } -/* - * Find the largest ashift used - */ -static uint64_t -ztest_spa_get_ashift() { - uint64_t i; - uint64_t ashift = SPA_MINBLOCKSHIFT; - vdev_t *rvd = ztest_spa->spa_root_vdev; - - for (i = 0; i < rvd->vdev_children; i++) { - ashift = MAX(ashift, rvd->vdev_child[i]->vdev_ashift); - } - return (ashift); -} - static int ztest_random_blocksize(void) { @@ -995,7 +980,7 @@ int maxbs = SPA_OLD_MAXBLOCKSHIFT; if (spa_maxblocksize(ztest_spa) == SPA_MAXBLOCKSIZE) maxbs = 20; - block_shift = ztest_random(maxbs - ztest_spa_get_ashift() + 1); + block_shift = ztest_random(maxbs - ztest_spa->spa_max_ashift + 1); return (1 << (SPA_MINBLOCKSHIFT + block_shift)); } Modified: soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h ============================================================================== --- soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h Sun Jul 5 15:42:16 2015 (r287988) +++ soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h Sun Jul 5 16:55:54 2015 (r287989) @@ -156,6 +156,21 @@ #define DT_DM_KERNEL 0x2 /* module is associated with a kernel object */ #define DT_DM_PRIMARY 0x4 /* module is a krtld primary kernel object */ +#ifdef __FreeBSD__ +/* + * A representation of a FreeBSD kernel module, used when checking module + * dependencies. This differs from dt_module_t, which refers to a KLD in the + * case of kernel probes. Since modules can be identified regardless of whether + * they've been compiled into the kernel, we use them to identify DTrace + * modules. + */ +typedef struct dt_kmodule { + struct dt_kmodule *dkm_next; /* hash table entry */ + char *dkm_name; /* string name of module */ + dt_module_t *dkm_module; /* corresponding KLD module */ +} dt_kmodule_t; +#endif + typedef struct dt_provmod { char *dp_name; /* name of provider module */ struct dt_provmod *dp_next; /* next module */ @@ -235,6 +250,9 @@ dt_idhash_t *dt_tls; /* hash table of thread-local identifiers */ dt_list_t dt_modlist; /* linked list of dt_module_t's */ dt_module_t **dt_mods; /* hash table of dt_module_t's */ +#ifdef __FreeBSD__ + dt_kmodule_t **dt_kmods; /* hash table of dt_kmodule_t's */ +#endif uint_t dt_modbuckets; /* number of module hash buckets */ uint_t dt_nmods; /* number of modules in hash and list */ dt_provmod_t *dt_provmod; /* linked list of provider modules */ Modified: soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c ============================================================================== --- soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Sun Jul 5 15:42:16 2015 (r287988) +++ soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Sun Jul 5 16:55:54 2015 (r287989) @@ -227,7 +227,10 @@ s = &dofs[dofrh->dofr_tgtsec]; for (j = 0; j < nrel; j++) { -#if defined(__arm__) +#if defined(__aarch64__) +/* XXX */ +printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); +#elif defined(__arm__) /* XXX */ printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); #elif defined(__i386) || defined(__amd64) @@ -426,7 +429,9 @@ s = &dofs[dofrh->dofr_tgtsec]; for (j = 0; j < nrel; j++) { -#if defined(__arm__) +#if defined(__aarch64__) +/* XXX */ +#elif defined(__arm__) /* XXX */ #elif defined(__mips__) /* XXX */ @@ -822,7 +827,16 @@ return (ret); } -#if defined(__arm__) +#if defined(__aarch64__) +/* XXX */ +static int +dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, GElf_Rela *rela, + uint32_t *off) +{ +printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); + return (0); +} +#elif defined(__arm__) /* XXX */ static int dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, GElf_Rela *rela, Modified: soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_module.c ============================================================================== --- soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_module.c Sun Jul 5 15:42:16 2015 (r287988) +++ soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_module.c Sun Jul 5 16:55:54 2015 (r287989) @@ -37,6 +37,7 @@ #else #include #include +#include #include #endif @@ -542,6 +543,22 @@ return (ctfp ? ctf_getspecific(ctfp) : NULL); } +#ifdef __FreeBSD__ +dt_kmodule_t * +dt_kmodule_lookup(dtrace_hdl_t *dtp, const char *name) +{ + uint_t h = dt_strtab_hash(name, NULL) % dtp->dt_modbuckets; + dt_kmodule_t *dkmp; + + for (dkmp = dtp->dt_kmods[h]; dkmp != NULL; dkmp = dkmp->dkm_next) { + if (strcmp(dkmp->dkm_name, name) == 0) + return (dkmp); + } + + return (NULL); +} +#endif + static int dt_module_load_sect(dtrace_hdl_t *dtp, dt_module_t *dmp, ctf_sect_t *ctsp) { @@ -1124,6 +1141,12 @@ char fname[MAXPATHLEN]; struct stat64 st; int fd, err, bits; +#ifdef __FreeBSD__ + struct module_stat ms; + dt_kmodule_t *dkmp; + uint_t h; + int modid; +#endif dt_module_t *dmp; const char *s; @@ -1270,6 +1293,33 @@ if (dmp->dm_info.objfs_info_primary) dmp->dm_flags |= DT_DM_PRIMARY; +#ifdef __FreeBSD__ + ms.version = sizeof(ms); + for (modid = kldfirstmod(k_stat->id); modid > 0; + modid = modnext(modid)) { + if (modstat(modid, &ms) != 0) { + dt_dprintf("modstat failed for id %d in %s: %s\n", + modid, k_stat->name, strerror(errno)); + continue; + } + if (dt_kmodule_lookup(dtp, ms.name) != NULL) + continue; + + dkmp = malloc(sizeof (*dkmp)); + if (dkmp == NULL) { + dt_dprintf("failed to allocate memory\n"); + dt_module_destroy(dtp, dmp); + return; + } + + h = dt_strtab_hash(ms.name, NULL) % dtp->dt_modbuckets; + dkmp->dkm_next = dtp->dt_kmods[h]; + dkmp->dkm_name = strdup(ms.name); + dkmp->dkm_module = dmp; + dtp->dt_kmods[h] = dkmp; + } +#endif + dt_dprintf("opened %d-bit module %s (%s) [%d]\n", bits, dmp->dm_name, dmp->dm_file, dmp->dm_modid); } Modified: soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_module.h ============================================================================== --- soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_module.h Sun Jul 5 15:42:16 2015 (r287988) +++ soc2015/pratiksinghal/cubie-head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_module.h Sun Jul 5 16:55:54 2015 (r287989) @@ -44,6 +44,10 @@ extern dt_module_t *dt_module_lookup_by_name(dtrace_hdl_t *, const char *); extern dt_module_t *dt_module_lookup_by_ctf(dtrace_hdl_t *, ctf_file_t *); +#ifdef __FreeBSD__ +extern dt_kmodule_t *dt_kmodule_lookup(dtrace_hdl_t *, const char *); +#endif + *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-soc-all@freebsd.org Tue Jul 7 12:17:41 2015 Return-Path: Delivered-To: svn-soc-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9A8C5995FB9 for ; Tue, 7 Jul 2015 12:17:41 +0000 (UTC) (envelope-from mihai@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8A81D1613 for ; Tue, 7 Jul 2015 12:17:41 +0000 (UTC) (envelope-from mihai@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id t67CHfYu073819 for ; Tue, 7 Jul 2015 12:17:41 GMT (envelope-from mihai@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id t67CHfLM073816 for svn-soc-all@FreeBSD.org; Tue, 7 Jul 2015 12:17:41 GMT (envelope-from mihai@FreeBSD.org) Date: Tue, 7 Jul 2015 12:17:41 GMT Message-Id: <201507071217.t67CHfLM073816@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to mihai@FreeBSD.org using -f From: mihai@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r288061 - soc2015/mihai/bhyve-on-arm-head/sys/arm/arm MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jul 2015 12:17:41 -0000 Author: mihai Date: Tue Jul 7 12:17:40 2015 New Revision: 288061 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=288061 Log: soc2015: mihai: bhyve-on-arm: sys: arm: arm: hypervisor-stub: set variable if hyp avail Modified: soc2015/mihai/bhyve-on-arm-head/sys/arm/arm/hypervisor-stub.S Modified: soc2015/mihai/bhyve-on-arm-head/sys/arm/arm/hypervisor-stub.S ============================================================================== --- soc2015/mihai/bhyve-on-arm-head/sys/arm/arm/hypervisor-stub.S Tue Jul 7 09:25:51 2015 (r288060) +++ soc2015/mihai/bhyve-on-arm-head/sys/arm/arm/hypervisor-stub.S Tue Jul 7 12:17:40 2015 (r288061) @@ -12,6 +12,7 @@ mrs r0, cpsr and r0, r0, #(PSR_MODE) cmp r0, #(PSR_HYP32_MODE) + mov r0, #-1 movne pc, lr /* Install hypervisor stub vectors. */ @@ -30,6 +31,7 @@ and r0, #0x1f @ Preserve HPMN mcr p15, 4, r0, c1, c1, 1 @ HDCR + mov r0, #0 mov pc, lr END(hypervisor_stub_vect_install) From owner-svn-soc-all@freebsd.org Tue Jul 7 12:17:57 2015 Return-Path: Delivered-To: svn-soc-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D461F995FDE for ; Tue, 7 Jul 2015 12:17:57 +0000 (UTC) (envelope-from mihai@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C4C4A1633 for ; Tue, 7 Jul 2015 12:17:57 +0000 (UTC) (envelope-from mihai@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id t67CHv5o074049 for ; Tue, 7 Jul 2015 12:17:57 GMT (envelope-from mihai@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id t67CHv06074045 for svn-soc-all@FreeBSD.org; Tue, 7 Jul 2015 12:17:57 GMT (envelope-from mihai@FreeBSD.org) Date: Tue, 7 Jul 2015 12:17:57 GMT Message-Id: <201507071217.t67CHv06074045@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to mihai@FreeBSD.org using -f From: mihai@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r288062 - soc2015/mihai/bhyve-on-arm-head/sys/arm/arm MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jul 2015 12:17:57 -0000 Author: mihai Date: Tue Jul 7 12:17:56 2015 New Revision: 288062 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=288062 Log: soc2015: mihai: bhyve-on-arm: sys: arm: arm: hypervisor-stub: set variable if hyp avail Modified: soc2015/mihai/bhyve-on-arm-head/sys/arm/arm/locore-v6.S Modified: soc2015/mihai/bhyve-on-arm-head/sys/arm/arm/locore-v6.S ============================================================================== --- soc2015/mihai/bhyve-on-arm-head/sys/arm/arm/locore-v6.S Tue Jul 7 12:17:40 2015 (r288061) +++ soc2015/mihai/bhyve-on-arm-head/sys/arm/arm/locore-v6.S Tue Jul 7 12:17:56 2015 (r288062) @@ -70,6 +70,10 @@ # If HYP-MODE is active, install an exception vector stub bl hypervisor_stub_vect_install + ldr r1, =hypmode_enabled + str r0, [r1] + mov r0, 0 + mov r1, 0 # Return to SVC mrs r0, cpsr @@ -553,4 +557,8 @@ szsigcode: .long esigcode-sigcode + .globl hypmode_enabled +_C_LABEL(hypmode_enabled): + .word 0 + /* End of locore.S */ From owner-svn-soc-all@freebsd.org Wed Jul 8 12:39:49 2015 Return-Path: Delivered-To: svn-soc-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6ACA7996CF1 for ; Wed, 8 Jul 2015 12:39:49 +0000 (UTC) (envelope-from mihai@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4DCFC1E27 for ; Wed, 8 Jul 2015 12:39:49 +0000 (UTC) (envelope-from mihai@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id t68CdnJl013278 for ; Wed, 8 Jul 2015 12:39:49 GMT (envelope-from mihai@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id t68Cdl1Z012583 for svn-soc-all@FreeBSD.org; Wed, 8 Jul 2015 12:39:47 GMT (envelope-from mihai@FreeBSD.org) Date: Wed, 8 Jul 2015 12:39:47 GMT Message-Id: <201507081239.t68Cdl1Z012583@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to mihai@FreeBSD.org using -f From: mihai@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r288086 - soc2015/mihai/bhyve-on-arm-head/lib/libvmmapiarm MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jul 2015 12:39:49 -0000 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_ */ From owner-svn-soc-all@freebsd.org Wed Jul 8 12:42:09 2015 Return-Path: Delivered-To: svn-soc-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 398B8996DEE for ; Wed, 8 Jul 2015 12:42:09 +0000 (UTC) (envelope-from mihai@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 289D91078 for ; Wed, 8 Jul 2015 12:42:09 +0000 (UTC) (envelope-from mihai@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id t68Cg9Nn069027 for ; Wed, 8 Jul 2015 12:42:09 GMT (envelope-from mihai@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id t68Cg5kl067497 for svn-soc-all@FreeBSD.org; Wed, 8 Jul 2015 12:42:05 GMT (envelope-from mihai@FreeBSD.org) Date: Wed, 8 Jul 2015 12:42:05 GMT Message-Id: <201507081242.t68Cg5kl067497@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to mihai@FreeBSD.org using -f From: mihai@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r288087 - in soc2015/mihai/bhyve-on-arm-head/sys/arm: conf include vmm MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jul 2015 12:42:09 -0000 Author: mihai Date: Wed Jul 8 12:42:04 2015 New Revision: 288087 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=288087 Log: soc2015: mihai: bhyve: sys: arm: clean-up unused functions, implement MAP_MEMORY policy, implement SET/GET regs, implement GET mappings feature Modified: soc2015/mihai/bhyve-on-arm-head/sys/arm/conf/FVP_VE_CORTEX_A15x1 soc2015/mihai/bhyve-on-arm-head/sys/arm/include/vmm.h soc2015/mihai/bhyve-on-arm-head/sys/arm/include/vmm_dev.h soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/arm.c soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/mmu.c soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/mmu.h soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/vmm.c soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/vmm_dev.c soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/vmm_mem.c Modified: soc2015/mihai/bhyve-on-arm-head/sys/arm/conf/FVP_VE_CORTEX_A15x1 ============================================================================== --- soc2015/mihai/bhyve-on-arm-head/sys/arm/conf/FVP_VE_CORTEX_A15x1 Wed Jul 8 12:39:47 2015 (r288086) +++ soc2015/mihai/bhyve-on-arm-head/sys/arm/conf/FVP_VE_CORTEX_A15x1 Wed Jul 8 12:42:04 2015 (r288087) @@ -46,7 +46,7 @@ #options ROOTDEVNAME=\"ufs:/dev/da0\" options MD_ROOT -options MD_ROOT_SIZE=10240 +options MD_ROOT_SIZE=12288 makeoptions MFS_IMAGE=/root/soc2015/mihai/ramdisk/ramdisk.img options ROOTDEVNAME=\"ffs:/dev/md0\" Modified: soc2015/mihai/bhyve-on-arm-head/sys/arm/include/vmm.h ============================================================================== --- soc2015/mihai/bhyve-on-arm-head/sys/arm/include/vmm.h Wed Jul 8 12:39:47 2015 (r288086) +++ soc2015/mihai/bhyve-on-arm-head/sys/arm/include/vmm.h Wed Jul 8 12:42:04 2015 (r288087) @@ -15,6 +15,7 @@ * Identifiers for architecturally defined registers. */ enum vm_reg_name { + VM_REG_GUEST_R0, VM_REG_GUEST_R1, VM_REG_GUEST_R2, VM_REG_GUEST_R3, @@ -29,13 +30,9 @@ VM_REG_GUEST_R12, VM_REG_GUEST_SP, VM_REG_GUEST_LR, - VM_REG_GUEST_PC -}; - -enum x2apic_state { - X2APIC_DISABLED, - X2APIC_ENABLED, - X2APIC_STATE_LAST + VM_REG_GUEST_PC, + VM_REG_GUEST_CPSR, + VM_REG_LAST }; #define VM_INTINFO_VECTOR(info) ((info) & 0xff) @@ -55,15 +52,9 @@ struct vm; struct vm_exception; struct vm_memory_segment; -struct seg_desc; struct vm_exit; struct vm_run; -struct vhpet; -struct vioapic; -struct vlapic; -struct vmspace; struct vm_object; -struct vm_guest_paging; struct pmap; typedef int (*vmm_init_func_t)(int ipinum); @@ -83,10 +74,6 @@ uint64_t *retval); typedef int (*vmi_set_register_t)(void *vmi, int vcpu, int num, uint64_t val); -typedef int (*vmi_get_desc_t)(void *vmi, int vcpu, int num, - struct seg_desc *desc); -typedef int (*vmi_set_desc_t)(void *vmi, int vcpu, int num, - struct seg_desc *desc); typedef int (*vmi_get_cap_t)(void *vmi, int vcpu, int num, int *retval); typedef int (*vmi_set_cap_t)(void *vmi, int vcpu, int num, int val); typedef struct vmspace * (*vmi_vmspace_alloc)(vm_offset_t min, vm_offset_t max); @@ -106,58 +93,26 @@ vmi_mmap_get_func_t vmmapget; vmi_get_register_t vmgetreg; vmi_set_register_t vmsetreg; - vmi_get_desc_t vmgetdesc; - vmi_set_desc_t vmsetdesc; vmi_get_cap_t vmgetcap; vmi_set_cap_t vmsetcap; - vmi_vmspace_alloc vmspace_alloc; - vmi_vmspace_free vmspace_free; - vmi_vlapic_init vlapic_init; - vmi_vlapic_cleanup vlapic_cleanup; }; -extern struct vmm_ops vmm_ops_intel; -extern struct vmm_ops vmm_ops_amd; extern struct vmm_ops vmm_ops_arm; int vm_create(const char *name, struct vm **retvm); void vm_destroy(struct vm *vm); -int vm_reinit(struct vm *vm); const char *vm_name(struct vm *vm); -int vm_malloc(struct vm *vm, vm_paddr_t gpa, size_t len); -int vm_map_mmio(struct vm *vm, vm_paddr_t gpa, size_t len, vm_paddr_t hpa); -int vm_unmap_mmio(struct vm *vm, vm_paddr_t gpa, size_t len); -void *vm_gpa_hold(struct vm *, vm_paddr_t gpa, size_t len, int prot, - void **cookie); -void vm_gpa_release(void *cookie); -int vm_gpabase2memseg(struct vm *vm, vm_paddr_t gpabase, +int vm_malloc(struct vm *vm, uint64_t gpa, size_t len); +uint64_t vm_gpa2hpa(struct vm *vm, uint64_t gpa, size_t size); +int vm_gpabase2memseg(struct vm *vm, uint64_t gpabase, struct vm_memory_segment *seg); -int vm_get_memobj(struct vm *vm, vm_paddr_t gpa, size_t len, - vm_offset_t *offset, struct vm_object **object); -boolean_t vm_mem_allocated(struct vm *vm, vm_paddr_t gpa); +boolean_t vm_mem_allocated(struct vm *vm, uint64_t gpa); int vm_get_register(struct vm *vm, int vcpu, int reg, uint64_t *retval); int vm_set_register(struct vm *vm, int vcpu, int reg, uint64_t val); -int vm_get_seg_desc(struct vm *vm, int vcpu, int reg, - struct seg_desc *ret_desc); -int vm_set_seg_desc(struct vm *vm, int vcpu, int reg, - struct seg_desc *desc); int vm_run(struct vm *vm, struct vm_run *vmrun); -int vm_suspend(struct vm *vm, enum vm_suspend_how how); -int vm_inject_nmi(struct vm *vm, int vcpu); -int vm_nmi_pending(struct vm *vm, int vcpuid); -void vm_nmi_clear(struct vm *vm, int vcpuid); -int vm_inject_extint(struct vm *vm, int vcpu); -int vm_extint_pending(struct vm *vm, int vcpuid); -void vm_extint_clear(struct vm *vm, int vcpuid); -struct vlapic *vm_lapic(struct vm *vm, int cpu); -struct vioapic *vm_ioapic(struct vm *vm); -struct vhpet *vm_hpet(struct vm *vm); int vm_get_capability(struct vm *vm, int vcpu, int type, int *val); int vm_set_capability(struct vm *vm, int vcpu, int type, int val); -int vm_get_x2apic_state(struct vm *vm, int vcpu, enum x2apic_state *state); -int vm_set_x2apic_state(struct vm *vm, int vcpu, enum x2apic_state state); -int vm_apicid2vcpuid(struct vm *vm, int apicid); -void vm_activate_cpu(struct vm *vm, int vcpu); +int vm_activate_cpu(struct vm *vm, int vcpu); struct vm_exit *vm_exitinfo(struct vm *vm, int vcpuid); void vm_exit_suspended(struct vm *vm, int vcpuid, uint64_t rip); void vm_exit_rendezvous(struct vm *vm, int vcpuid, uint64_t rip); @@ -199,16 +154,6 @@ return (*(int *)suspend_cookie); } -/* - * Return 1 if device indicated by bus/slot/func is supposed to be a - * pci passthrough device. - * - * Return 0 otherwise. - */ -int vmm_is_pptdev(int bus, int slot, int func); - -void *vm_iommu_domain(struct vm *vm); - enum vcpu_state { VCPU_IDLE, VCPU_FROZEN, @@ -242,27 +187,6 @@ void *vcpu_stats(struct vm *vm, int vcpu); void vcpu_notify_event(struct vm *vm, int vcpuid, bool lapic_intr); -struct vmspace *vm_get_vmspace(struct vm *vm); -int vm_assign_pptdev(struct vm *vm, int bus, int slot, int func); -int vm_unassign_pptdev(struct vm *vm, int bus, int slot, int func); -struct vatpic *vm_atpic(struct vm *vm); -struct vatpit *vm_atpit(struct vm *vm); -struct vpmtmr *vm_pmtmr(struct vm *vm); -struct vrtc *vm_rtc(struct vm *vm); - -/* - * Inject exception 'vector' into the guest vcpu. This function returns 0 on - * success and non-zero on failure. - * - * Wrapper functions like 'vm_inject_gp()' should be preferred to calling - * this function directly because they enforce the trap-like or fault-like - * behavior of an exception. - * - * This function should only be called in the context of the thread that is - * executing this vcpu. - */ -int vm_inject_exception(struct vm *vm, int vcpuid, int vector, int err_valid, - uint32_t errcode, int restart_instruction); /* * This function is called after a VM-exit that occurred during exception or @@ -300,30 +224,6 @@ void *cookie; }; -/* - * Set up 'copyinfo[]' to copy to/from guest linear address space starting - * at 'gla' and 'len' bytes long. The 'prot' should be set to PROT_READ for - * a copyin or PROT_WRITE for a copyout. - * - * retval is_fault Intepretation - * 0 0 Success - * 0 1 An exception was injected into the guest - * EFAULT N/A Unrecoverable error - * - * The 'copyinfo[]' can be passed to 'vm_copyin()' or 'vm_copyout()' only if - * the return value is 0. The 'copyinfo[]' resources should be freed by calling - * 'vm_copy_teardown()' after the copy is done. - */ -int vm_copy_setup(struct vm *vm, int vcpuid, struct vm_guest_paging *paging, - uint64_t gla, size_t len, int prot, struct vm_copyinfo *copyinfo, - int num_copyinfo, int *is_fault); -void vm_copy_teardown(struct vm *vm, int vcpuid, struct vm_copyinfo *copyinfo, - int num_copyinfo); -void vm_copyin(struct vm *vm, int vcpuid, struct vm_copyinfo *copyinfo, - void *kaddr, size_t len); -void vm_copyout(struct vm *vm, int vcpuid, const void *kaddr, - struct vm_copyinfo *copyinfo, size_t len); - int vcpu_trace_exceptions(struct vm *vm, int vcpuid); #endif /* KERNEL */ @@ -337,108 +237,8 @@ VM_CAP_MTRAP_EXIT, VM_CAP_PAUSE_EXIT, VM_CAP_UNRESTRICTED_GUEST, - VM_CAP_ENABLE_INVPCID, VM_CAP_MAX }; - -enum vm_intr_trigger { - EDGE_TRIGGER, - LEVEL_TRIGGER -}; - -/* - * The 'access' field has the format specified in Table 21-2 of the Intel - * Architecture Manual vol 3b. - * - * XXX The contents of the 'access' field are architecturally defined except - * bit 16 - Segment Unusable. - */ -struct seg_desc { - uint64_t base; - uint32_t limit; - uint32_t access; -}; -#define SEG_DESC_TYPE(access) ((access) & 0x001f) -#define SEG_DESC_DPL(access) (((access) >> 5) & 0x3) -#define SEG_DESC_PRESENT(access) (((access) & 0x0080) ? 1 : 0) -#define SEG_DESC_DEF32(access) (((access) & 0x4000) ? 1 : 0) -#define SEG_DESC_GRANULARITY(access) (((access) & 0x8000) ? 1 : 0) -#define SEG_DESC_UNUSABLE(access) (((access) & 0x10000) ? 1 : 0) - -enum vm_cpu_mode { - CPU_MODE_REAL, - CPU_MODE_PROTECTED, - CPU_MODE_COMPATIBILITY, /* IA-32E mode (CS.L = 0) */ - CPU_MODE_64BIT, /* IA-32E mode (CS.L = 1) */ -}; - -enum vm_paging_mode { - PAGING_MODE_FLAT, - PAGING_MODE_32, - PAGING_MODE_PAE, - PAGING_MODE_64, -}; - -struct vm_guest_paging { - uint64_t cr3; - int cpl; - enum vm_cpu_mode cpu_mode; - enum vm_paging_mode paging_mode; -}; - -/* - * The data structures 'vie' and 'vie_op' are meant to be opaque to the - * consumers of instruction decoding. The only reason why their contents - * need to be exposed is because they are part of the 'vm_exit' structure. - */ -struct vie_op { - uint8_t op_byte; /* actual opcode byte */ - uint8_t op_type; /* type of operation (e.g. MOV) */ - uint16_t op_flags; -}; - -#define VIE_INST_SIZE 15 -struct vie { - uint8_t inst[VIE_INST_SIZE]; /* instruction bytes */ - uint8_t num_valid; /* size of the instruction */ - uint8_t num_processed; - - uint8_t addrsize:4, opsize:4; /* address and operand sizes */ - uint8_t rex_w:1, /* REX prefix */ - rex_r:1, - rex_x:1, - rex_b:1, - rex_present:1, - repz_present:1, /* REP/REPE/REPZ prefix */ - repnz_present:1, /* REPNE/REPNZ prefix */ - opsize_override:1, /* Operand size override */ - addrsize_override:1, /* Address size override */ - segment_override:1; /* Segment override */ - - uint8_t mod:2, /* ModRM byte */ - reg:4, - rm:4; - - uint8_t ss:2, /* SIB byte */ - index:4, - base:4; - - uint8_t disp_bytes; - uint8_t imm_bytes; - - uint8_t scale; - int base_register; /* VM_REG_GUEST_xyz */ - int index_register; /* VM_REG_GUEST_xyz */ - int segment_register; /* VM_REG_GUEST_xyz */ - - int64_t displacement; /* optional addr displacement */ - int64_t immediate; /* optional immediate operand */ - - uint8_t decoded; /* set to 1 if successfully decoded */ - - struct vie_op op; /* opcode description */ -}; - enum vm_exitcode { VM_EXITCODE_INOUT, VM_EXITCODE_VMX, @@ -449,41 +249,10 @@ VM_EXITCODE_MTRAP, VM_EXITCODE_PAUSE, VM_EXITCODE_PAGING, - VM_EXITCODE_INST_EMUL, VM_EXITCODE_SPINUP_AP, - VM_EXITCODE_DEPRECATED1, /* used to be SPINDOWN_CPU */ - VM_EXITCODE_RENDEZVOUS, - VM_EXITCODE_IOAPIC_EOI, - VM_EXITCODE_SUSPENDED, - VM_EXITCODE_INOUT_STR, - VM_EXITCODE_TASK_SWITCH, - VM_EXITCODE_MONITOR, - VM_EXITCODE_MWAIT, - VM_EXITCODE_SVM, VM_EXITCODE_MAX }; -struct vm_inout { - uint16_t bytes:3; /* 1 or 2 or 4 */ - uint16_t in:1; - uint16_t string:1; - uint16_t rep:1; - uint16_t port; - uint32_t eax; /* valid for out */ -}; - -struct vm_inout_str { - struct vm_inout inout; /* must be the first element */ - struct vm_guest_paging paging; - uint64_t rflags; - uint64_t cr0; - uint64_t index; - uint64_t count; /* rep=1 (%rcx), rep=0 (1) */ - int addrsize; - enum vm_reg_name seg_name; - struct seg_desc seg_desc; -}; - enum task_switch_reason { TSR_CALL, TSR_IRET, @@ -497,16 +266,13 @@ uint32_t errcode; int errcode_valid; /* push 'errcode' on the new stack */ enum task_switch_reason reason; - struct vm_guest_paging paging; }; struct vm_exit { enum vm_exitcode exitcode; int inst_length; /* 0 means unknown */ - uint64_t rip; + uint64_t pc; union { - struct vm_inout inout; - struct vm_inout_str inout_str; struct { uint64_t gpa; int fault_type; @@ -514,10 +280,6 @@ struct { uint64_t gpa; uint64_t gla; - uint64_t cs_base; - int cs_d; /* CS.D */ - struct vm_guest_paging paging; - struct vie vie; } inst_emul; /* * VMX specific payload. Used when there is no "better" Modified: soc2015/mihai/bhyve-on-arm-head/sys/arm/include/vmm_dev.h ============================================================================== --- soc2015/mihai/bhyve-on-arm-head/sys/arm/include/vmm_dev.h Wed Jul 8 12:39:47 2015 (r288086) +++ soc2015/mihai/bhyve-on-arm-head/sys/arm/include/vmm_dev.h Wed Jul 8 12:42:04 2015 (r288087) @@ -35,7 +35,7 @@ #endif struct vm_memory_segment { - vm_paddr_t gpa; /* in */ + uint64_t gpa; /* in */ size_t len; int wired; }; @@ -46,12 +46,6 @@ uint64_t regval; }; -struct vm_seg_desc { /* data or code segment */ - int cpuid; - int regnum; /* enum vm_reg_name */ - struct seg_desc desc; -}; - struct vm_run { int cpuid; uint64_t pc; @@ -67,30 +61,6 @@ int restart_instruction; }; -struct vm_lapic_msi { - uint64_t msg; - uint64_t addr; -}; - -struct vm_lapic_irq { - int cpuid; - int vector; -}; - -struct vm_ioapic_irq { - int irq; -}; - -struct vm_isa_irq { - int atpic_irq; - int ioapic_irq; -}; - -struct vm_isa_irq_trigger { - int atpic_irq; - enum vm_intr_trigger trigger; -}; - struct vm_capability { int cpuid; enum vm_cap_type captype; @@ -98,46 +68,6 @@ int allcpus; }; -struct vm_pptdev { - int bus; - int slot; - int func; -}; - -struct vm_pptdev_mmio { - int bus; - int slot; - int func; - vm_paddr_t gpa; - vm_paddr_t hpa; - size_t len; -}; - -struct vm_pptdev_msi { - int vcpu; - int bus; - int slot; - int func; - int numvec; /* 0 means disabled */ - uint64_t msg; - uint64_t addr; -}; - -struct vm_pptdev_msix { - int vcpu; - int bus; - int slot; - int func; - int idx; - uint64_t msg; - uint32_t vector_control; - uint64_t addr; -}; - -struct vm_nmi { - int cpuid; -}; - #define MAX_VM_STATS 64 struct vm_stats { int cpuid; /* in */ @@ -145,26 +75,11 @@ struct timeval tv; uint64_t statbuf[MAX_VM_STATS]; }; - struct vm_stat_desc { int index; /* in */ char desc[128]; /* out */ }; -struct vm_x2apic { - int cpuid; - enum x2apic_state state; -}; - -struct vm_gpa_pte { - uint64_t gpa; /* in */ - uint64_t pte[4]; /* out */ - int ptenum; -}; - -struct vm_hpet_cap { - uint32_t capabilities; /* lower 32 bits of HPET capabilities */ -}; struct vm_suspend { enum vm_suspend_how how; @@ -174,7 +89,6 @@ int vcpuid; /* inputs */ int prot; /* PROT_READ or PROT_WRITE */ uint64_t gla; - struct vm_guest_paging paging; int fault; /* outputs */ uint64_t gpa; }; @@ -186,21 +100,6 @@ #define VM_ACTIVE_CPUS 0 #define VM_SUSPENDED_CPUS 1 -struct vm_intinfo { - int vcpuid; - uint64_t info1; - uint64_t info2; -}; - -struct vm_rtc_time { - time_t secs; -}; - -struct vm_rtc_data { - int offset; - uint8_t value; -}; - enum { /* general routines */ IOCNUM_ABIVERS = 0, @@ -219,54 +118,14 @@ /* register/state accessors */ IOCNUM_SET_REGISTER = 20, IOCNUM_GET_REGISTER = 21, - IOCNUM_SET_SEGMENT_DESCRIPTOR = 22, - IOCNUM_GET_SEGMENT_DESCRIPTOR = 23, - - /* interrupt injection */ - IOCNUM_GET_INTINFO = 28, - IOCNUM_SET_INTINFO = 29, - IOCNUM_INJECT_EXCEPTION = 30, - IOCNUM_LAPIC_IRQ = 31, - IOCNUM_INJECT_NMI = 32, - IOCNUM_IOAPIC_ASSERT_IRQ = 33, - IOCNUM_IOAPIC_DEASSERT_IRQ = 34, - IOCNUM_IOAPIC_PULSE_IRQ = 35, - IOCNUM_LAPIC_MSI = 36, - IOCNUM_LAPIC_LOCAL_IRQ = 37, - IOCNUM_IOAPIC_PINCOUNT = 38, - IOCNUM_RESTART_INSTRUCTION = 39, - - /* PCI pass-thru */ - IOCNUM_BIND_PPTDEV = 40, - IOCNUM_UNBIND_PPTDEV = 41, - IOCNUM_MAP_PPTDEV_MMIO = 42, - IOCNUM_PPTDEV_MSI = 43, - IOCNUM_PPTDEV_MSIX = 44, /* statistics */ IOCNUM_VM_STATS = 50, IOCNUM_VM_STAT_DESC = 51, - /* kernel device state */ - IOCNUM_SET_X2APIC_STATE = 60, - IOCNUM_GET_X2APIC_STATE = 61, - IOCNUM_GET_HPET_CAPABILITIES = 62, - - /* legacy interrupt injection */ - IOCNUM_ISA_ASSERT_IRQ = 80, - IOCNUM_ISA_DEASSERT_IRQ = 81, - IOCNUM_ISA_PULSE_IRQ = 82, - IOCNUM_ISA_SET_IRQ_TRIGGER = 83, - /* vm_cpuset */ IOCNUM_ACTIVATE_CPU = 90, IOCNUM_GET_CPUSET = 91, - - /* RTC */ - IOCNUM_RTC_READ = 100, - IOCNUM_RTC_WRITE = 101, - IOCNUM_RTC_SETTIME = 102, - IOCNUM_RTC_GETTIME = 103, }; #define VM_RUN \ @@ -283,80 +142,18 @@ _IOW('v', IOCNUM_SET_REGISTER, struct vm_register) #define VM_GET_REGISTER \ _IOWR('v', IOCNUM_GET_REGISTER, struct vm_register) -#define VM_SET_SEGMENT_DESCRIPTOR \ - _IOW('v', IOCNUM_SET_SEGMENT_DESCRIPTOR, struct vm_seg_desc) -#define VM_GET_SEGMENT_DESCRIPTOR \ - _IOWR('v', IOCNUM_GET_SEGMENT_DESCRIPTOR, struct vm_seg_desc) -#define VM_INJECT_EXCEPTION \ - _IOW('v', IOCNUM_INJECT_EXCEPTION, struct vm_exception) -#define VM_LAPIC_IRQ \ - _IOW('v', IOCNUM_LAPIC_IRQ, struct vm_lapic_irq) -#define VM_LAPIC_LOCAL_IRQ \ - _IOW('v', IOCNUM_LAPIC_LOCAL_IRQ, struct vm_lapic_irq) -#define VM_LAPIC_MSI \ - _IOW('v', IOCNUM_LAPIC_MSI, struct vm_lapic_msi) -#define VM_IOAPIC_ASSERT_IRQ \ - _IOW('v', IOCNUM_IOAPIC_ASSERT_IRQ, struct vm_ioapic_irq) -#define VM_IOAPIC_DEASSERT_IRQ \ - _IOW('v', IOCNUM_IOAPIC_DEASSERT_IRQ, struct vm_ioapic_irq) -#define VM_IOAPIC_PULSE_IRQ \ - _IOW('v', IOCNUM_IOAPIC_PULSE_IRQ, struct vm_ioapic_irq) -#define VM_IOAPIC_PINCOUNT \ - _IOR('v', IOCNUM_IOAPIC_PINCOUNT, int) -#define VM_ISA_ASSERT_IRQ \ - _IOW('v', IOCNUM_ISA_ASSERT_IRQ, struct vm_isa_irq) -#define VM_ISA_DEASSERT_IRQ \ - _IOW('v', IOCNUM_ISA_DEASSERT_IRQ, struct vm_isa_irq) -#define VM_ISA_PULSE_IRQ \ - _IOW('v', IOCNUM_ISA_PULSE_IRQ, struct vm_isa_irq) -#define VM_ISA_SET_IRQ_TRIGGER \ - _IOW('v', IOCNUM_ISA_SET_IRQ_TRIGGER, struct vm_isa_irq_trigger) #define VM_SET_CAPABILITY \ _IOW('v', IOCNUM_SET_CAPABILITY, struct vm_capability) #define VM_GET_CAPABILITY \ _IOWR('v', IOCNUM_GET_CAPABILITY, struct vm_capability) -#define VM_BIND_PPTDEV \ - _IOW('v', IOCNUM_BIND_PPTDEV, struct vm_pptdev) -#define VM_UNBIND_PPTDEV \ - _IOW('v', IOCNUM_UNBIND_PPTDEV, struct vm_pptdev) -#define VM_MAP_PPTDEV_MMIO \ - _IOW('v', IOCNUM_MAP_PPTDEV_MMIO, struct vm_pptdev_mmio) -#define VM_PPTDEV_MSI \ - _IOW('v', IOCNUM_PPTDEV_MSI, struct vm_pptdev_msi) -#define VM_PPTDEV_MSIX \ - _IOW('v', IOCNUM_PPTDEV_MSIX, struct vm_pptdev_msix) -#define VM_INJECT_NMI \ - _IOW('v', IOCNUM_INJECT_NMI, struct vm_nmi) #define VM_STATS \ _IOWR('v', IOCNUM_VM_STATS, struct vm_stats) #define VM_STAT_DESC \ _IOWR('v', IOCNUM_VM_STAT_DESC, struct vm_stat_desc) -#define VM_SET_X2APIC_STATE \ - _IOW('v', IOCNUM_SET_X2APIC_STATE, struct vm_x2apic) -#define VM_GET_X2APIC_STATE \ - _IOWR('v', IOCNUM_GET_X2APIC_STATE, struct vm_x2apic) -#define VM_GET_HPET_CAPABILITIES \ - _IOR('v', IOCNUM_GET_HPET_CAPABILITIES, struct vm_hpet_cap) -#define VM_GET_GPA_PMAP \ - _IOWR('v', IOCNUM_GET_GPA_PMAP, struct vm_gpa_pte) #define VM_GLA2GPA \ _IOWR('v', IOCNUM_GLA2GPA, struct vm_gla2gpa) #define VM_ACTIVATE_CPU \ _IOW('v', IOCNUM_ACTIVATE_CPU, struct vm_activate_cpu) #define VM_GET_CPUS \ _IOW('v', IOCNUM_GET_CPUSET, struct vm_cpuset) -#define VM_SET_INTINFO \ - _IOW('v', IOCNUM_SET_INTINFO, struct vm_intinfo) -#define VM_GET_INTINFO \ - _IOWR('v', IOCNUM_GET_INTINFO, struct vm_intinfo) -#define VM_RTC_WRITE \ - _IOW('v', IOCNUM_RTC_WRITE, struct vm_rtc_data) -#define VM_RTC_READ \ - _IOWR('v', IOCNUM_RTC_READ, struct vm_rtc_data) -#define VM_RTC_SETTIME \ - _IOW('v', IOCNUM_RTC_SETTIME, struct vm_rtc_time) -#define VM_RTC_GETTIME \ - _IOR('v', IOCNUM_RTC_GETTIME, struct vm_rtc_time) -#define VM_RESTART_INSTRUCTION \ - _IOW('v', IOCNUM_RESTART_INSTRUCTION, int) #endif Modified: soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/arm.c ============================================================================== --- soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/arm.c Wed Jul 8 12:39:47 2015 (r288086) +++ soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/arm.c Wed Jul 8 12:42:04 2015 (r288087) @@ -31,6 +31,7 @@ extern char hyp_vector[]; extern char hyp_code_start[]; extern char hypervisor_stub_vect[]; +extern char hypmode_enabled[]; lpae_pd_entry_t *hyp_l1pd; char *stack; @@ -68,14 +69,20 @@ arm_init(int ipinum) { char *stack_top; - lpae_vm_paddr_t phys_hyp_l1pd; + lpae_vm_paddr_t phys_hyp_l1pd, phys_check; + + if (hypmode_enabled[0]) { + printf("arm_init: processor didn't boot in HYP-mode (no support)\n"); + return (ENXIO); + } mtx_init(&vmid_generation_mtx, "vmid_generation_mtx", NULL, MTX_DEF); stack = malloc(PAGE_SIZE, M_HYP, M_WAITOK | M_ZERO); stack_top = stack + PAGE_SIZE; - hyp_l1pd = malloc(2 * LPAE_L1_ENTRIES * sizeof(lpae_pd_entry_t), M_HYP, M_WAITOK | M_ZERO); + hyp_l1pd = malloc(2 * LPAE_L1_ENTRIES * sizeof(lpae_pd_entry_t), + M_HYP, M_WAITOK | M_ZERO); lpae_vmmmap_set(NULL, (lpae_vm_vaddr_t)stack, @@ -83,7 +90,8 @@ PAGE_SIZE, VM_PROT_READ | VM_PROT_WRITE); - printf("%s hyp_code_start: %p, phys_hyp_code_start: %p\n", __func__, (void*) hyp_code_start, (void*)vtophys(hyp_code_start)); + printf("%s hyp_code_start: %p, phys_hyp_code_start: %p\n", __func__, + (void*) hyp_code_start, (void*)vtophys(hyp_code_start)); /* * Create two mappings: @@ -101,7 +109,6 @@ (lpae_vm_paddr_t)vtophys(hyp_code_start), PAGE_SIZE, VM_PROT_READ | VM_PROT_WRITE); - /* * Flush all caches to be sure we tables in physical memory */ @@ -110,6 +117,13 @@ dump_lpae_mapping(NULL); + phys_check = lpae_vmmmap_get(NULL, (lpae_vm_vaddr_t)hyp_code_start); + if (phys_check != (lpae_vm_vaddr_t)vtophys(hyp_code_start)) { + printf ("%s lpae_vmmmap_get returned %p instead of %p\n", + __func__, + (void*) phys_check, + (void*) vtophys(hyp_code_start)); + } /* * Install the temporary vector from which * will do the initialization part of VMM @@ -240,16 +254,82 @@ free(hyp, M_HYP); } +static uint32_t * +hypctx_regptr(struct hypctx *hypctx, int reg) +{ + + switch (reg) { + case VM_REG_GUEST_R0: + return (&hypctx->regs.r[0]); + case VM_REG_GUEST_R1: + return (&hypctx->regs.r[1]); + case VM_REG_GUEST_R2: + return (&hypctx->regs.r[2]); + case VM_REG_GUEST_R3: + return (&hypctx->regs.r[3]); + case VM_REG_GUEST_R5: + return (&hypctx->regs.r[4]); + case VM_REG_GUEST_R6: + return (&hypctx->regs.r[5]); + case VM_REG_GUEST_R7: + return (&hypctx->regs.r[6]); + case VM_REG_GUEST_R8: + return (&hypctx->regs.r[7]); + case VM_REG_GUEST_R9: + return (&hypctx->regs.r[8]); + case VM_REG_GUEST_R10: + return (&hypctx->regs.r[9]); + case VM_REG_GUEST_R11: + return (&hypctx->regs.r[10]); + case VM_REG_GUEST_R12: + return (&hypctx->regs.r[11]); + case VM_REG_GUEST_SP: + return (&hypctx->regs.r_sp); + case VM_REG_GUEST_LR: + return (&hypctx->regs.r_lr); + case VM_REG_GUEST_PC: + return (&hypctx->regs.r_pc); + case VM_REG_GUEST_CPSR: + return (&hypctx->regs.r_cpsr); + default: + break; + } + return (NULL); +} static int -arm_getreg(void *arg, int vcpu, int ident, uint64_t *val) +arm_getreg(void *arg, int vcpu, int reg, uint64_t *retval) { - return (EINVAL); + uint32_t *regp; + int running, hostcpu; + struct hyp *hyp = arg; + + running = vcpu_is_running(hyp->vm, vcpu, &hostcpu); + if (running && hostcpu != curcpu) + panic("arm_getreg: %s%d is running", vm_name(hyp->vm), vcpu); + + if ((regp = hypctx_regptr(&hyp->ctx[vcpu], reg)) != NULL) { + *retval = *regp; + return (0); + } else + return (EINVAL); } static int -arm_setreg(void *arg, int vcpu, int ident, uint64_t val) +arm_setreg(void *arg, int vcpu, int reg, uint64_t val) { - return (EINVAL); + uint32_t *regp; + struct hyp *hyp = arg; + int running, hostcpu; + + running = vcpu_is_running(hyp->vm, vcpu, &hostcpu); + if (running && hostcpu != curcpu) + panic("hyp_setreg: %s%d is running", vm_name(hyp->vm), vcpu); + + if ((regp = hypctx_regptr(&hyp->ctx[vcpu], reg)) != NULL) { + *regp = val; + return (0); + } else + return (EINVAL); } struct vmm_ops vmm_ops_arm = { @@ -260,15 +340,9 @@ arm_vmrun, arm_vmcleanup, lpae_vmmmap_set, - NULL, + lpae_vmmmap_get, arm_getreg, arm_setreg, - NULL, /* vmi_get_desc_t */ - NULL, /* vmi_set_desc_t */ NULL, /* vmi_get_cap_t */ - NULL, /* vmi_set_cap_t */ - NULL, /* vmi_vmspace_alloc */ - NULL, /* vmi_vmspace_free */ - NULL, /* vmi_vlapic_init,*/ - NULL /*vmi_vlapic_cleanup */ + NULL /* vmi_set_cap_t */ }; Modified: soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/mmu.c ============================================================================== --- soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/mmu.c Wed Jul 8 12:39:47 2015 (r288086) +++ soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/mmu.c Wed Jul 8 12:42:04 2015 (r288087) @@ -178,6 +178,7 @@ } } } + int lpae_vmmmap_set(void *arg, uint64_t virt_start, uint64_t phys_start, @@ -200,6 +201,47 @@ return (0); } +uint64_t lpae_vmmmap_get(void *arg, uint64_t ipa) +{ + struct hyp *vm_hyp; + int l1_index, l2_index, l3_index; + lpae_pd_entry_t *l1pd, *l1pd_shadow, *l2pd, *l2pd_shadow, *l3pd; + + vm_hyp = arg; + + if (arg) + l1pd = &vm_hyp->l1pd[0]; + else + l1pd = &hyp_l1pd[0]; + + l1pd_shadow = &l1pd[LPAE_L1_ENTRIES]; + + /* Check if there is a connnection to a 2nd level PT */ + l1_index = (ipa >> LPAE_L1_SHIFT) & LPAE_L1_INDEX_MASK; + if ((l1pd[l1_index] & LPAE_TYPE_LINK) == LPAE_TYPE_LINK) { + + /* Grab the virtual address of the 2nd leel PT */ + l2pd = (lpae_pd_entry_t *) (l1pd_shadow[l1_index]); + l2pd_shadow = &l2pd[LPAE_L2_ENTRIES]; + + /* Check if there is a connect to a 3nd level PT */ + l2_index = (ipa >> LPAE_L2_SHIFT) & LPAE_L2_INDEX_MASK; + if ((l2pd[l2_index] & LPAE_TYPE_LINK) == LPAE_TYPE_LINK) { + + l3pd = (lpae_pd_entry_t *) (l2pd_shadow[l2_index]); + + l3_index = (ipa >> LPAE_L3_SHIFT) & LPAE_L3_INDEX_MASK; + return (l3pd[l3_index] & LPAE_L3_B_ADDR_MASK); + } else { + return (l2pd[l2_index] & LPAE_L2_B_ADDR_MASK); + } + } else { + return (l1pd[l1_index] & LPAE_L1_B_ADDR_MASK); + } + + return ((uint64_t)-1); +} + void lpae_vmcleanup(void *arg) { int i, j; Modified: soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/mmu.h ============================================================================== --- soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/mmu.h Wed Jul 8 12:39:47 2015 (r288086) +++ soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/mmu.h Wed Jul 8 12:42:04 2015 (r288087) @@ -12,8 +12,11 @@ uint64_t phys_start, size_t len, int prot); - +uint64_t lpae_vmmmap_get(void *arg, + uint64_t ipa); void lpae_vmcleanup(void *arg); + +/* Debug only */ void dump_lpae_mapping(void *arg); #define LPAE_NLEVELS 3 @@ -42,6 +45,7 @@ #define LPAE_L3_SHIFT 12 #define LPAE_L3_SIZE (1 << 12) #define LPAE_L3_INDEX_MASK 0x1FF +#define LPAE_L3_B_ADDR_MASK ((uint64_t)0xFFFFFFF000)/* phys address of Phys Block */ #define LPAE_TYPE_LINK 0x03 #define LPAE_L12_TYPE_BLOCK 0x01 Modified: soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/vmm.c ============================================================================== --- soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/vmm.c Wed Jul 8 12:39:47 2015 (r288086) +++ soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/vmm.c Wed Jul 8 12:42:04 2015 (r288087) @@ -14,6 +14,8 @@ #include #include #include +#include + #include #include @@ -34,6 +36,7 @@ #include "vmm_stat.h" #include "vmm_mem.h" +#include "mmu.h" struct vcpu { int flags; @@ -53,7 +56,7 @@ #define vcpu_assert_locked(v) mtx_assert(&((v)->mtx), MA_OWNED) struct mem_seg { - vm_paddr_t gpa; + uint64_t gpa; size_t len; boolean_t wired; vm_object_t object; @@ -62,7 +65,6 @@ struct vm { void *cookie; /* processor-specific data */ - void *iommu; /* iommu-specific data */ struct vcpu vcpu[VM_MAXCPU]; int num_mem_segs; struct vm_memory_segment mem_segs[VM_MAX_MEMORY_SEGMENTS]; @@ -87,20 +89,15 @@ #define VMRUN(vmi, vcpu, rip, pmap, rptr, sptr) \ (ops != NULL ? (*ops->vmrun)(vmi, vcpu, rip, pmap, rptr, sptr) : ENXIO) #define VMCLEANUP(vmi) (ops != NULL ? (*ops->vmcleanup)(vmi) : NULL) -#define VMMMAP_SET(vmi, gpa, hpa, len, attr, prot, spm) \ +#define VMMMAP_SET(vmi, gpa, hpa, len, prot) \ (ops != NULL ? \ - (*ops->vmmmap_set)(vmi, gpa, hpa, len, attr, prot, spm) : \ - ENXIO) + (*ops->vmmapset)(vmi, gpa, hpa, len, prot) : ENXIO) #define VMMMAP_GET(vmi, gpa) \ - (ops != NULL ? (*ops->vmmmap_get)(vmi, gpa) : ENXIO) + (ops != NULL ? (*ops->vmmapget)(vmi, gpa) : ENXIO) #define VMGETREG(vmi, vcpu, num, retval) \ (ops != NULL ? (*ops->vmgetreg)(vmi, vcpu, num, retval) : ENXIO) #define VMSETREG(vmi, vcpu, num, val) \ (ops != NULL ? (*ops->vmsetreg)(vmi, vcpu, num, val) : ENXIO) -#define VMGETDESC(vmi, vcpu, num, desc) \ - (ops != NULL ? (*ops->vmgetdesc)(vmi, vcpu, num, desc) : ENXIO) -#define VMSETDESC(vmi, vcpu, num, desc) \ - (ops != NULL ? (*ops->vmsetdesc)(vmi, vcpu, num, desc) : ENXIO) #define VMGETCAP(vmi, vcpu, num, retval) \ (ops != NULL ? (*ops->vmgetcap)(vmi, vcpu, num, retval) : ENXIO) #define VMSETCAP(vmi, vcpu, num, val) \ @@ -174,7 +171,7 @@ break; case MOD_UNLOAD: error = vmmdev_cleanup(); - if (error == 0) { + if (error == 0 && vmm_initialized) { error = VMM_CLEANUP(); if (error) vmm_initialized = 0; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-soc-all@freebsd.org Wed Jul 8 12:45:26 2015 Return-Path: Delivered-To: svn-soc-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4B64B996E47 for ; Wed, 8 Jul 2015 12:45:26 +0000 (UTC) (envelope-from mihai@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2F17A122C for ; Wed, 8 Jul 2015 12:45:26 +0000 (UTC) (envelope-from mihai@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id t68CjQJT035709 for ; Wed, 8 Jul 2015 12:45:26 GMT (envelope-from mihai@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id t68CjOAQ035051 for svn-soc-all@FreeBSD.org; Wed, 8 Jul 2015 12:45:24 GMT (envelope-from mihai@FreeBSD.org) Date: Wed, 8 Jul 2015 12:45:24 GMT Message-Id: <201507081245.t68CjOAQ035051@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to mihai@FreeBSD.org using -f From: mihai@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r288088 - soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyvearm MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jul 2015 12:45:26 -0000 Author: mihai Date: Wed Jul 8 12:45:24 2015 New Revision: 288088 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=288088 Log: soc2015: mihai: bhyve: usr.sbin: bhyvearm: remove memory mappings, fix guest register PC Modified: soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyvearm/bhyverun.c soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyvearm/mem.c soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyvearm/mem.h Modified: soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyvearm/bhyverun.c ============================================================================== --- soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyvearm/bhyverun.c Wed Jul 8 12:42:04 2015 (r288087) +++ soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyvearm/bhyverun.c Wed Jul 8 12:45:24 2015 (r288088) @@ -76,7 +76,7 @@ static int cpumask; -static void vm_loop(struct vmctx *ctx, int vcpu, uint64_t rip); +static void vm_loop(struct vmctx *ctx, int vcpu, uint64_t pc); struct vm_exit vmexit[VM_MAXCPU]; @@ -104,14 +104,13 @@ fprintf(stderr, "Usage: %s [-aehAHIP][-g ][-s ][-S ]" - "[-c vcpus][-p pincpu][-m mem]" + "[-c vcpus][-p pincpu]" " \n" " -c: # cpus (default 1)\n" " -p: pin vcpu 'n' to host cpu 'pincpu + n'\n" " -H: vmexit from the guest on hlt\n" " -P: vmexit from the guest on pause\n" - " -h: help\n" - " -m: memory size in MB\n", + " -h: help\n", progname); exit(code); @@ -151,7 +150,7 @@ snprintf(tname, sizeof(tname), "%s vcpu %d", vmname, vcpu); pthread_set_name_np(mtp->mt_thr, tname); - vm_loop(mtp->mt_ctx, vcpu, vmexit[vcpu].rip); + vm_loop(mtp->mt_ctx, vcpu, vmexit[vcpu].pc); /* not reached */ exit(1); @@ -159,7 +158,7 @@ } void -fbsdrun_addcpu(struct vmctx *ctx, int vcpu, uint64_t rip) +fbsdrun_addcpu(struct vmctx *ctx, int vcpu, uint64_t pc) { int error; @@ -176,7 +175,7 @@ * Set up the vmexit struct to allow execution to start * at the given RIP */ - vmexit[vcpu].rip = rip; + vmexit[vcpu].pc = pc; vmexit[vcpu].inst_length = 0; if (vcpu == BSP) { @@ -225,7 +224,7 @@ fprintf(stderr, "vm exit[%d]\n", *pvcpu); fprintf(stderr, "\treason\t\tVMX\n"); - fprintf(stderr, "\trip\t\t0x%016llx\n", vmexit->rip); + fprintf(stderr, "\tpc\t\t0x%016llx\n", vmexit->pc); fprintf(stderr, "\tinst_length\t%d\n", vmexit->inst_length); return (VMEXIT_ABORT); @@ -285,7 +284,7 @@ if (err == EINVAL) { fprintf(stderr, "Failed to emulate instruction at 0x%llx\n", - vmexit->rip); + vmexit->pc); } else if (err == ESRCH) { fprintf(stderr, "Unhandled memory access to 0x%llx\n", vmexit->u.paging.gpa); @@ -305,7 +304,7 @@ }; static void -vm_loop(struct vmctx *ctx, int vcpu, uint64_t rip) +vm_loop(struct vmctx *ctx, int vcpu, uint64_t pc) { cpuset_t mask; int error, rc, prevcpu; @@ -320,7 +319,7 @@ } while (1) { - error = vm_run(ctx, vcpu, rip, &vmexit[vcpu]); + error = vm_run(ctx, vcpu, pc, &vmexit[vcpu]); if (error != 0) { /* * It is possible that 'vmmctl' or some other process @@ -348,10 +347,10 @@ switch (rc) { case VMEXIT_CONTINUE: - rip = vmexit[vcpu].rip + vmexit[vcpu].inst_length; + pc = vmexit[vcpu].pc + vmexit[vcpu].inst_length; break; case VMEXIT_RESTART: - rip = vmexit[vcpu].rip; + pc = vmexit[vcpu].pc; break; case VMEXIT_RESET: exit(0); @@ -365,18 +364,8 @@ static int num_vcpus_allowed(struct vmctx *ctx) { - int tmp, error; - - error = vm_get_capability(ctx, BSP, VM_CAP_UNRESTRICTED_GUEST, &tmp); - - /* - * The guest is allowed to spinup more than one processor only if the - * UNRESTRICTED_GUEST capability is available. - */ - if (error == 0) - return (VM_MAXCPU); - else - return (1); + /* Max one VCPU */ + return (1); } int @@ -385,7 +374,7 @@ int c, error, tmp, err; int max_vcpus; struct vmctx *ctx; - uint64_t rip; + uint64_t pc; size_t memsize; progname = basename(argv[0]); @@ -400,9 +389,6 @@ case 'c': guest_ncpus = atoi(optarg); break; - case 'm': - memsize = strtoul(optarg, NULL, 0) * MB; - break; case 'H': guest_vmexit_on_hlt = 1; break; @@ -460,21 +446,16 @@ handler[VM_EXITCODE_PAUSE] = vmexit_pause; } - err = vm_setup_memory(ctx, memsize, VM_MMAP_ALL); - if (err) { - fprintf(stderr, "Unable to setup memory (%d)\n", err); - exit(1); - } init_mem(); - error = vm_get_register(ctx, BSP, VM_REG_GUEST_PC, &rip); + error = vm_get_register(ctx, BSP, VM_REG_GUEST_PC, &pc); assert(error == 0); /* * Add CPU 0 */ - fbsdrun_addcpu(ctx, BSP, rip); + fbsdrun_addcpu(ctx, BSP, pc); /* * Head off to the main event dispatch loop Modified: soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyvearm/mem.c ============================================================================== --- soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyvearm/mem.c Wed Jul 8 12:42:04 2015 (r288087) +++ soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyvearm/mem.c Wed Jul 8 12:45:24 2015 (r288088) @@ -156,7 +156,7 @@ } int -emulate_mem(struct vmctx *ctx, int vcpu, uint64_t paddr, struct vie *vie) +emulate_mem(struct vmctx *ctx, int vcpu, uint64_t paddr, void *vie) { struct mmio_rb_range *entry; int err; Modified: soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyvearm/mem.h ============================================================================== --- soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyvearm/mem.h Wed Jul 8 12:42:04 2015 (r288087) +++ soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyvearm/mem.h Wed Jul 8 12:45:24 2015 (r288088) @@ -50,7 +50,7 @@ #define MEM_F_RW 0x3 void init_mem(void); -int emulate_mem(struct vmctx *, int vcpu, uint64_t paddr, struct vie *vie); +int emulate_mem(struct vmctx *, int vcpu, uint64_t paddr, void *vie); int register_mem(struct mem_range *memp); int register_mem_fallback(struct mem_range *memp); From owner-svn-soc-all@freebsd.org Wed Jul 8 12:49:50 2015 Return-Path: Delivered-To: svn-soc-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A0B01996F2F for ; Wed, 8 Jul 2015 12:49:50 +0000 (UTC) (envelope-from mihai@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 83B1B1511 for ; Wed, 8 Jul 2015 12:49:50 +0000 (UTC) (envelope-from mihai@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id t68Cno3N008239 for ; Wed, 8 Jul 2015 12:49:50 GMT (envelope-from mihai@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id t68CnnFV008215 for svn-soc-all@FreeBSD.org; Wed, 8 Jul 2015 12:49:49 GMT (envelope-from mihai@FreeBSD.org) Date: Wed, 8 Jul 2015 12:49:49 GMT Message-Id: <201507081249.t68CnnFV008215@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to mihai@FreeBSD.org using -f From: mihai@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r288089 - in soc2015/mihai/bhyve-on-arm-head/usr.sbin: . bhyveloadarm MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jul 2015 12:49:50 -0000 Author: mihai Date: Wed Jul 8 12:49:48 2015 New Revision: 288089 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=288089 Log: soc2015: mihai: bhyve: usr.sbin: bhyveloadarm: loading a guest at a given GPA and set PC at that address Added: soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyveloadarm/ soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyveloadarm/Makefile soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyveloadarm/bhyveloadarm.c Modified: soc2015/mihai/bhyve-on-arm-head/usr.sbin/Makefile.arm Modified: soc2015/mihai/bhyve-on-arm-head/usr.sbin/Makefile.arm ============================================================================== --- soc2015/mihai/bhyve-on-arm-head/usr.sbin/Makefile.arm Wed Jul 8 12:45:24 2015 (r288088) +++ soc2015/mihai/bhyve-on-arm-head/usr.sbin/Makefile.arm Wed Jul 8 12:49:48 2015 (r288089) @@ -4,4 +4,5 @@ SUBDIR+= kgmon .if ${MK_BHYVE} != "no" SUBDIR+= bhyvearm +SUBDIR+= bhyveloadarm .endif Added: soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyveloadarm/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyveloadarm/Makefile Wed Jul 8 12:49:48 2015 (r288089) @@ -0,0 +1,15 @@ +# $FreeBSD: soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyveload/Makefile 283905 2015-04-09 21:38:40Z bapt $ + +PROG= bhyveloadarm +SRCS= bhyveloadarm.c + +.PATH: ${.CURDIR}/../../sys/arm/vmm + +NO_MAN= + +DPADD+= ${LIBVMMAPIARM} +LDADD+= -lvmmapiarm + +WARNS?= 3 + +.include Added: soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyveloadarm/bhyveloadarm.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyveloadarm/bhyveloadarm.c Wed Jul 8 12:49:48 2015 (r288089) @@ -0,0 +1,167 @@ +#include + +#include +#include +#include +#include +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#define MB (1024 * 1024UL) +#define GB (1024 * 1024 * 1024UL) +#define BSP 0 + +static char *vmname, *progname; +static struct vmctx *ctx; + + +/* + * Guest virtual machinee + */ +static int +guest_copyin(const void *from, uint64_t to, size_t size) +{ + char *ptr; + + ptr = vm_map_gpa(ctx, to, size); + if (ptr == NULL) + return (EFAULT); + + memcpy(ptr, from, size); + return (0); +} + +static int +guest_copyout(uint64_t from, void *to, size_t size) +{ + char *ptr; + + ptr = vm_map_gpa(ctx, from, size); + if (ptr == NULL) + return (EFAULT); + + memcpy(to, ptr, size); + return (0); +} + +static void +guest_setreg(enum vm_reg_name vmreg, uint64_t v) +{ + int error; + + error = vm_set_register(ctx, BSP, vmreg, v); + if (error) { + perror("vm_set_register"); + } +} + +static void +usage(void) +{ + + fprintf(stderr, + "usage: %s [-k ] -l , -b \n" + " %*s [-m mem-size] \n", + progname, + (int)strlen(progname), ""); + exit(1); +} + +int +main(int argc, char** argv) +{ + uint64_t mem_size; + int opt, error; + int kernel_image_fd; + uint64_t kernel_load_address, memory_base_address; + struct stat st; + void *addr; + + progname = basename(argv[0]); + + mem_size = 256 * MB; + + while ((opt = getopt(argc, argv, "k:l:b:m:")) != -1) { + switch (opt) { + case 'k': + kernel_image_fd = open(optarg, O_RDONLY); + if (kernel_image_fd == -1) { + errx(EX_USAGE, "Could not open '%s'", optarg); + } + break; + case 'l': + kernel_load_address = strtoul(optarg, NULL, 0); + break; + case 'b': + memory_base_address = strtoul(optarg, NULL, 0); + break; + case 'm': + mem_size = strtoul(optarg, NULL, 0) * MB; + break; + case '?': + usage(); + } + } + + argc -= optind; + argv += optind; + + if (argc != 1) + usage(); + + vmname = argv[0]; + + error = vm_create(vmname); + if (error) { + perror("vm_create"); + exit(1); + } + + ctx = vm_open(vmname); + if (ctx == NULL) { + perror("vm_open"); + exit(1); + } + + error = vm_setup_memory(ctx, memory_base_address, mem_size, VM_MMAP_ALL); + if (error) { + perror("vm_setup_memory"); + exit(1); + } + + error = fstat(kernel_image_fd, &st); + if (error) { + perror("fstat"); + exit(1); + } + + addr = mmap(NULL, st.st_size, PROT_READ | PROT_WRITE, MAP_SHARED, kernel_image_fd, 0); + if (!addr) { + perror("mmap kernel_image_fd"); + exit(1); + } + + guest_copyin(addr, kernel_load_address, st.st_size); + munmap(addr, st.st_size); + + guest_setreg(VM_REG_GUEST_PC, kernel_load_address); + return 0; +} From owner-svn-soc-all@freebsd.org Wed Jul 8 12:51:14 2015 Return-Path: Delivered-To: svn-soc-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1CC2E99502A for ; Wed, 8 Jul 2015 12:51:14 +0000 (UTC) (envelope-from mihai@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E8E66162C for ; Wed, 8 Jul 2015 12:51:13 +0000 (UTC) (envelope-from mihai@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id t68CpDNS013860 for ; Wed, 8 Jul 2015 12:51:13 GMT (envelope-from mihai@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id t68CpDb5013855 for svn-soc-all@FreeBSD.org; Wed, 8 Jul 2015 12:51:13 GMT (envelope-from mihai@FreeBSD.org) Date: Wed, 8 Jul 2015 12:51:13 GMT Message-Id: <201507081251.t68CpDb5013855@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to mihai@FreeBSD.org using -f From: mihai@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r288090 - soc2015/mihai/ramdisk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jul 2015 12:51:14 -0000 Author: mihai Date: Wed Jul 8 12:51:12 2015 New Revision: 288090 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=288090 Log: soc2015: mihai: ramdisk: added bhyve* userspace tools and dependencies Modified: soc2015/mihai/ramdisk/ramdisk.mtree Modified: soc2015/mihai/ramdisk/ramdisk.mtree ============================================================================== --- soc2015/mihai/ramdisk/ramdisk.mtree Wed Jul 8 12:49:48 2015 (r288089) +++ soc2015/mihai/ramdisk/ramdisk.mtree Wed Jul 8 12:51:12 2015 (r288090) @@ -8,9 +8,28 @@ ./sbin/init type=file mode=0555 contents="${ODIR}/sbin/init" ./bin/sh type=file mode=0555 contents="${ODIR}/rescue/rescue" +./lib/libthr.so.3 type=file mode=0555 contents="${ODIR}/lib/libthr.so.3" +./lib/libmd.so.6 type=file mode=0555 contents="${ODIR}/lib/libmd.so.6" +./lib/libc.so.7 type=file mode=0555 contents="${ODIR}/lib/libc.so.7" +./lib/libgcc_s.so.1 type=file mode=0555 contents="${ODIR}/lib/libgcc_s.so.1" + +./libexec/ld-elf.so.1 type=file mode=0555 contents="${ODIR}/libexec/ld-elf.so.1" +./usr/lib/libvmmapiarm.so.5 type=file mode=0555 contents="${ODIR}/usr/lib/libvmmapiarm.so.5" + +./usr/bin/ldd type=file mode=0555 contents="${ODIR}/usr/bin/ldd" + +./usr/bin/grep type=file mode=0555 contents="${ODIR}/usr/bin/grep" +./usr/bin/bhyvearm type=file mode=0555 contents="${ODIR}/usr/sbin/bhyvearm" +./usr/bin/bhyvloadarm type=file mode=0555 contents="${ODIR}/usr/sbin/bhyveloadarm" + +./boot/kernel/vmm-arm.ko type=file mode=0555 contents="/root/obj/arm.armv6/root/soc2015/mihai/bhyve-on-arm-head/sys/FVP_VE_CORTEX_A15x1/modules/root/soc2015/mihai/bhyve-on-arm-head/sys/modules/vmm-arm/vmm-arm.ko" + # hard-links to the statically-linked rescue binary (aka /bin/sh) ./bin/sysctl type=link mode=0555 link=/bin/sh ./bin/reboot type=link mode=0555 link=/bin/sh ./bin/ls type=link mode=0555 link=/bin/sh +./bin/kldload type=link mode=0555 link=/bin/sh +./bin/kldunload type=link mode=0555 link=/bin/sh +./bin/kldstat type=link mode=0555 link=/bin/sh # ... etc. Put in as many as you want from /rescue/* From owner-svn-soc-all@freebsd.org Wed Jul 8 13:12:57 2015 Return-Path: Delivered-To: svn-soc-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 716229953F0 for ; Wed, 8 Jul 2015 13:12:57 +0000 (UTC) (envelope-from andrew@fubar.geek.nz) Received: from kif.fubar.geek.nz (kif.fubar.geek.nz [178.62.119.249]) by mx1.freebsd.org (Postfix) with ESMTP id 2000710FA; Wed, 8 Jul 2015 13:12:50 +0000 (UTC) (envelope-from andrew@fubar.geek.nz) Received: from bender (bender.sec.cl.cam.ac.uk [IPv6:2001:630:212:2a8:4e72:b9ff:fe93:61bf]) by kif.fubar.geek.nz (Postfix) with ESMTPSA id BCE3CD7E1C; Wed, 8 Jul 2015 13:12:13 +0000 (UTC) Date: Wed, 8 Jul 2015 14:12:12 +0100 From: Andrew Turner To: mihai@FreeBSD.org Cc: svn-soc-all@FreeBSD.org Subject: Re: socsvn commit: r288087 - in soc2015/mihai/bhyve-on-arm-head/sys/arm: conf include vmm Message-ID: <20150708141212.06e26358@bender> In-Reply-To: <201507081242.t68Cg5kl067497@socsvn.freebsd.org> References: <201507081242.t68Cg5kl067497@socsvn.freebsd.org> X-Mailer: Claws Mail 3.11.1 (GTK+ 2.24.27; amd64-portbld-freebsd10.0) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jul 2015 13:12:57 -0000 On Wed, 8 Jul 2015 12:42:05 GMT mihai@FreeBSD.org wrote: > Author: mihai > Date: Wed Jul 8 12:42:04 2015 > New Revision: 288087 > URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=288087 > > Log: > soc2015: mihai: bhyve: sys: arm: clean-up unused functions, > implement MAP_MEMORY policy, implement SET/GET regs, implement GET > mappings feature > > Modified: > soc2015/mihai/bhyve-on-arm-head/sys/arm/conf/FVP_VE_CORTEX_A15x1 > soc2015/mihai/bhyve-on-arm-head/sys/arm/include/vmm.h > soc2015/mihai/bhyve-on-arm-head/sys/arm/include/vmm_dev.h > soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/arm.c > soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/mmu.c > soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/mmu.h > soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/vmm.c > soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/vmm_dev.c > soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/vmm_mem.c > > Modified: > soc2015/mihai/bhyve-on-arm-head/sys/arm/conf/FVP_VE_CORTEX_A15x1 > ============================================================================== > --- > soc2015/mihai/bhyve-on-arm-head/sys/arm/conf/FVP_VE_CORTEX_A15x1 > Wed Jul 8 12:39:47 2015 (r288086) +++ > soc2015/mihai/bhyve-on-arm-head/sys/arm/conf/FVP_VE_CORTEX_A15x1 > Wed Jul 8 12:42:04 2015 (r288087) @@ -46,7 +46,7 @@ #options > ROOTDEVNAME=\"ufs:/dev/da0\" > options MD_ROOT > -options MD_ROOT_SIZE=10240 > +options MD_ROOT_SIZE=12288 > makeoptions MFS_IMAGE=/root/soc2015/mihai/ramdisk/ramdisk.img > options ROOTDEVNAME=\"ffs:/dev/md0\" Why not use virtio? On arm64 I added the following to the model parameters in DS-5: -C cluster.dcache-state_modelled=0 -C cluster.icache-state_modelled=0 -C motherboard.virtioblockdevice.image_path="/path/to/image.raw" Disabling the d-cache is important for virtio as it appears the virtio "hardware" is not cache-coherent. Andrew From owner-svn-soc-all@freebsd.org Wed Jul 8 13:31:25 2015 Return-Path: Delivered-To: svn-soc-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5A9539958EA for ; Wed, 8 Jul 2015 13:31:25 +0000 (UTC) (envelope-from mihai.carabas@gmail.com) Received: from mail-wi0-x22d.google.com (mail-wi0-x22d.google.com [IPv6:2a00:1450:400c:c05::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E3C391DD2; Wed, 8 Jul 2015 13:31:18 +0000 (UTC) (envelope-from mihai.carabas@gmail.com) Received: by wiclp1 with SMTP id lp1so80607704wic.0; Wed, 08 Jul 2015 06:31:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=v1L+WQvaPvYfUCdlNZv3gb6sQeXGcuJ8BbOMOFU9u+o=; b=Nlx/22VnafDe+fBKyF696s22XKhEsrDje7JnyjlZdu/rbjlQ1VBlN3boXHsNM6z4D8 CuKO0koYjeymx7iurS0dBciriMJHxaw7nn0dP8b3b+fbQcZz4CstvIpecmgtD0xckayK 4yUiCBppvkjj5308X/k8cGvQG7yZO6DWmNiK2OCt8M8CMIBJ4ba25Q535DkEhZMOEUNh 6ms8Bc4k7vU4GeFv2zoBPHVP80uYIZj6MvqvDdJAtGhzoWQnFSwNF9Y2f/9lDmLx9rJT 2vbpNIy58LFAwHlkR4PApYjCqHJdugroeucXStxkpHGKprSUN9DuNT9I1lxYrAMCaCJX w1hg== MIME-Version: 1.0 X-Received: by 10.180.20.15 with SMTP id j15mr75194780wie.76.1436362276992; Wed, 08 Jul 2015 06:31:16 -0700 (PDT) Received: by 10.28.21.134 with HTTP; Wed, 8 Jul 2015 06:31:16 -0700 (PDT) In-Reply-To: <20150708141212.06e26358@bender> References: <201507081242.t68Cg5kl067497@socsvn.freebsd.org> <20150708141212.06e26358@bender> Date: Wed, 8 Jul 2015 16:31:16 +0300 Message-ID: Subject: Re: socsvn commit: r288087 - in soc2015/mihai/bhyve-on-arm-head/sys/arm: conf include vmm From: Mihai Carabas To: Andrew Turner Cc: mihai@freebsd.org, svn-soc-all@freebsd.org Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jul 2015 13:31:25 -0000 Hi Andrew, > Why not use virtio? On arm64 I added the following to the model > parameters in DS-5: > -C cluster.dcache-state_modelled=0 -C cluster.icache-state_modelled=0 > -C motherboard.virtioblockdevice.image_path="/path/to/image.raw" > > Disabling the d-cache is important for virtio as it appears the virtio > "hardware" is not cache-coherent. > > Thank you for the advice. I didn't have any reason not using the virtio. We prefered from the begining to have as few external dependencies as possible (bootstrapping FreeBSD on Armv7-CortexA15 was a lengthy process). How did you specify the virtio device in the DTB file? Thank you, Mihai From owner-svn-soc-all@freebsd.org Wed Jul 8 13:48:42 2015 Return-Path: Delivered-To: svn-soc-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3D505995B8B for ; Wed, 8 Jul 2015 13:48:42 +0000 (UTC) (envelope-from andrew@fubar.geek.nz) Received: from kif.fubar.geek.nz (kif.fubar.geek.nz [178.62.119.249]) by mx1.freebsd.org (Postfix) with ESMTP id 0B3BE14D3; Wed, 8 Jul 2015 13:48:41 +0000 (UTC) (envelope-from andrew@fubar.geek.nz) Received: from bender (bender.sec.cl.cam.ac.uk [IPv6:2001:630:212:2a8:4e72:b9ff:fe93:61bf]) by kif.fubar.geek.nz (Postfix) with ESMTPSA id 627D5D7907; Wed, 8 Jul 2015 13:48:41 +0000 (UTC) Date: Wed, 8 Jul 2015 14:48:40 +0100 From: Andrew Turner To: Mihai Carabas Cc: mihai@freebsd.org, svn-soc-all@freebsd.org Subject: Re: socsvn commit: r288087 - in soc2015/mihai/bhyve-on-arm-head/sys/arm: conf include vmm Message-ID: <20150708144840.15a5865d@bender> In-Reply-To: References: <201507081242.t68Cg5kl067497@socsvn.freebsd.org> <20150708141212.06e26358@bender> X-Mailer: Claws Mail 3.11.1 (GTK+ 2.24.27; amd64-portbld-freebsd10.0) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jul 2015 13:48:42 -0000 On Wed, 8 Jul 2015 16:31:16 +0300 Mihai Carabas wrote: > Hi Andrew, > > > > Why not use virtio? On arm64 I added the following to the model > > parameters in DS-5: > > -C cluster.dcache-state_modelled=0 -C > > cluster.icache-state_modelled=0 -C > > motherboard.virtioblockdevice.image_path="/path/to/image.raw" > > > > Disabling the d-cache is important for virtio as it appears the > > virtio "hardware" is not cache-coherent. > > > > Thank you for the advice. I didn't have any reason not using the > > virtio. > We prefered from the begining to have as few external dependencies as > possible (bootstrapping FreeBSD on Armv7-CortexA15 was a lengthy > process). > > How did you specify the virtio device in the DTB file? I'm using a modified version of the ARM supplied device DTS (mostly to remove the interrupt mapping). My copy has the following under the iofpga device, see [1] for the complete file. virtio_block@0130000 { compatible = "virtio,mmio"; reg = <0x130000 0x200>; interrupts = <0 42 4>; }; You will also need to add the following to your kernel config: device virtio device virtio_mmio device virtio_blk Andrew [1] https://github.com/ARM-software/arm-trusted-firmware/blob/master/fdts/rtsm_ve-motherboard.dtsi From owner-svn-soc-all@freebsd.org Thu Jul 9 04:37:29 2015 Return-Path: Delivered-To: svn-soc-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3A7C198C5B1 for ; Thu, 9 Jul 2015 04:37:29 +0000 (UTC) (envelope-from clord@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1E89A104A for ; Thu, 9 Jul 2015 04:37:29 +0000 (UTC) (envelope-from clord@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id t694bSa0044213 for ; Thu, 9 Jul 2015 04:37:28 GMT (envelope-from clord@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id t694bLQ8044098 for svn-soc-all@FreeBSD.org; Thu, 9 Jul 2015 04:37:21 GMT (envelope-from clord@FreeBSD.org) Date: Thu, 9 Jul 2015 04:37:21 GMT Message-Id: <201507090437.t694bLQ8044098@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to clord@FreeBSD.org using -f From: clord@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r288127 - soc2015/clord/head/sys/contrib/ficl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Jul 2015 04:37:29 -0000 Author: clord Date: Thu Jul 9 04:37:20 2015 New Revision: 288127 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=288127 Log: Add $FreeBSD$ tags Modified: soc2015/clord/head/sys/contrib/ficl/bit.c soc2015/clord/head/sys/contrib/ficl/callback.c soc2015/clord/head/sys/contrib/ficl/compatibility.c soc2015/clord/head/sys/contrib/ficl/dictionary.c soc2015/clord/head/sys/contrib/ficl/double.c soc2015/clord/head/sys/contrib/ficl/extras.c soc2015/clord/head/sys/contrib/ficl/ficlcompatibility.h soc2015/clord/head/sys/contrib/ficl/ficllocal.h soc2015/clord/head/sys/contrib/ficl/ficltokens.h soc2015/clord/head/sys/contrib/ficl/hash.c soc2015/clord/head/sys/contrib/ficl/lzcompress.c soc2015/clord/head/sys/contrib/ficl/lzuncompress.c soc2015/clord/head/sys/contrib/ficl/main.c soc2015/clord/head/sys/contrib/ficl/primitives.c soc2015/clord/head/sys/contrib/ficl/softcore.c soc2015/clord/head/sys/contrib/ficl/system.c soc2015/clord/head/sys/contrib/ficl/utility.c soc2015/clord/head/sys/contrib/ficl/word.c Modified: soc2015/clord/head/sys/contrib/ficl/bit.c ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/bit.c Wed Jul 8 23:57:58 2015 (r288126) +++ soc2015/clord/head/sys/contrib/ficl/bit.c Thu Jul 9 04:37:20 2015 (r288127) @@ -1,3 +1,5 @@ +/* $FreeBSD$ */ + #include "ficl.h" int ficlBitGet(const unsigned char *bits, size_t index) Modified: soc2015/clord/head/sys/contrib/ficl/callback.c ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/callback.c Wed Jul 8 23:57:58 2015 (r288126) +++ soc2015/clord/head/sys/contrib/ficl/callback.c Thu Jul 9 04:37:20 2015 (r288127) @@ -1,3 +1,5 @@ +/* $FreeBSD$ */ + #include "ficl.h" Modified: soc2015/clord/head/sys/contrib/ficl/compatibility.c ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/compatibility.c Wed Jul 8 23:57:58 2015 (r288126) +++ soc2015/clord/head/sys/contrib/ficl/compatibility.c Thu Jul 9 04:37:20 2015 (r288127) @@ -1,3 +1,5 @@ +/* $FreeBSD$ */ + #define FICL_FORCE_COMPATIBILITY 1 #include "ficl.h" Modified: soc2015/clord/head/sys/contrib/ficl/dictionary.c ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/dictionary.c Wed Jul 8 23:57:58 2015 (r288126) +++ soc2015/clord/head/sys/contrib/ficl/dictionary.c Thu Jul 9 04:37:20 2015 (r288127) @@ -51,6 +51,8 @@ ** SUCH DAMAGE. */ +/* $FreeBSD$ */ + #include #include #include Modified: soc2015/clord/head/sys/contrib/ficl/double.c ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/double.c Wed Jul 8 23:57:58 2015 (r288126) +++ soc2015/clord/head/sys/contrib/ficl/double.c Thu Jul 9 04:37:20 2015 (r288127) @@ -44,6 +44,8 @@ ** SUCH DAMAGE. */ +/* $FreeBSD$ */ + #include #include "ficl.h" Modified: soc2015/clord/head/sys/contrib/ficl/extras.c ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/extras.c Wed Jul 8 23:57:58 2015 (r288126) +++ soc2015/clord/head/sys/contrib/ficl/extras.c Thu Jul 9 04:37:20 2015 (r288127) @@ -1,3 +1,5 @@ +/* $FreeBSD$ */ + #include #include #include Modified: soc2015/clord/head/sys/contrib/ficl/ficlcompatibility.h ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/ficlcompatibility.h Wed Jul 8 23:57:58 2015 (r288126) +++ soc2015/clord/head/sys/contrib/ficl/ficlcompatibility.h Thu Jul 9 04:37:20 2015 (r288127) @@ -1,3 +1,5 @@ +/* $FreeBSD$ */ + #ifndef FICL_FORCE_COMPATIBILITY struct ficl_word; Modified: soc2015/clord/head/sys/contrib/ficl/ficllocal.h ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/ficllocal.h Wed Jul 8 23:57:58 2015 (r288126) +++ soc2015/clord/head/sys/contrib/ficl/ficllocal.h Thu Jul 9 04:37:20 2015 (r288127) @@ -5,4 +5,6 @@ ** */ +/* $FreeBSD$ */ + #define FICL_WANT_COMPATIBILITY (1) Modified: soc2015/clord/head/sys/contrib/ficl/ficltokens.h ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/ficltokens.h Wed Jul 8 23:57:58 2015 (r288126) +++ soc2015/clord/head/sys/contrib/ficl/ficltokens.h Thu Jul 9 04:37:20 2015 (r288127) @@ -1,3 +1,5 @@ +/* $FreeBSD$ */ + FICL_TOKEN(ficlInstructionInvalid, "** invalid **") FICL_TOKEN(ficlInstruction1, "1") FICL_TOKEN(ficlInstruction2, "2") Modified: soc2015/clord/head/sys/contrib/ficl/hash.c ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/hash.c Wed Jul 8 23:57:58 2015 (r288126) +++ soc2015/clord/head/sys/contrib/ficl/hash.c Thu Jul 9 04:37:20 2015 (r288127) @@ -1,3 +1,5 @@ +/* $FreeBSD$ */ + #include #include "ficl.h" Modified: soc2015/clord/head/sys/contrib/ficl/lzcompress.c ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/lzcompress.c Wed Jul 8 23:57:58 2015 (r288126) +++ soc2015/clord/head/sys/contrib/ficl/lzcompress.c Thu Jul 9 04:37:20 2015 (r288127) @@ -1,3 +1,5 @@ +/* $FreeBSD$ */ + #include #include #include Modified: soc2015/clord/head/sys/contrib/ficl/lzuncompress.c ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/lzuncompress.c Wed Jul 8 23:57:58 2015 (r288126) +++ soc2015/clord/head/sys/contrib/ficl/lzuncompress.c Thu Jul 9 04:37:20 2015 (r288127) @@ -1,3 +1,5 @@ +/* $FreeBSD$ */ + #include #include Modified: soc2015/clord/head/sys/contrib/ficl/main.c ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/main.c Wed Jul 8 23:57:58 2015 (r288126) +++ soc2015/clord/head/sys/contrib/ficl/main.c Thu Jul 9 04:37:20 2015 (r288127) @@ -37,6 +37,8 @@ ** SUCH DAMAGE. */ +/* $FreeBSD$ */ + #include #include Modified: soc2015/clord/head/sys/contrib/ficl/primitives.c ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/primitives.c Wed Jul 8 23:57:58 2015 (r288126) +++ soc2015/clord/head/sys/contrib/ficl/primitives.c Thu Jul 9 04:37:20 2015 (r288127) @@ -41,6 +41,8 @@ ** SUCH DAMAGE. */ +/* $FreeBSD$ */ + #include #include #include Modified: soc2015/clord/head/sys/contrib/ficl/softcore.c ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/softcore.c Wed Jul 8 23:57:58 2015 (r288126) +++ soc2015/clord/head/sys/contrib/ficl/softcore.c Thu Jul 9 04:37:20 2015 (r288127) @@ -5,6 +5,8 @@ ** Generated 2003/05/05 12:42:30 **/ +/* $FreeBSD$ */ + #include "ficl.h" Modified: soc2015/clord/head/sys/contrib/ficl/system.c ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/system.c Wed Jul 8 23:57:58 2015 (r288126) +++ soc2015/clord/head/sys/contrib/ficl/system.c Thu Jul 9 04:37:20 2015 (r288127) @@ -55,6 +55,8 @@ ** SUCH DAMAGE. */ +/* $FreeBSD$ */ + #include #include #include "ficl.h" Modified: soc2015/clord/head/sys/contrib/ficl/utility.c ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/utility.c Wed Jul 8 23:57:58 2015 (r288126) +++ soc2015/clord/head/sys/contrib/ficl/utility.c Thu Jul 9 04:37:20 2015 (r288127) @@ -1,3 +1,5 @@ +/* $FreeBSD$ */ + #include #include "ficl.h" Modified: soc2015/clord/head/sys/contrib/ficl/word.c ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/word.c Wed Jul 8 23:57:58 2015 (r288126) +++ soc2015/clord/head/sys/contrib/ficl/word.c Thu Jul 9 04:37:20 2015 (r288127) @@ -1,3 +1,5 @@ +/* $FreeBSD$ */ + #include "ficl.h" From owner-svn-soc-all@freebsd.org Thu Jul 9 09:08:16 2015 Return-Path: Delivered-To: svn-soc-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B19FD995ED5 for ; Thu, 9 Jul 2015 09:08:16 +0000 (UTC) (envelope-from stefano@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9F9F41059 for ; Thu, 9 Jul 2015 09:08:16 +0000 (UTC) (envelope-from stefano@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id t6998GcC080672 for ; Thu, 9 Jul 2015 09:08:16 GMT (envelope-from stefano@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id t6998BZW076895 for svn-soc-all@FreeBSD.org; Thu, 9 Jul 2015 09:08:11 GMT (envelope-from stefano@FreeBSD.org) Date: Thu, 9 Jul 2015 09:08:11 GMT Message-Id: <201507090908.t6998BZW076895@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to stefano@FreeBSD.org using -f From: stefano@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r288138 - in soc2015/stefano/ptnetmap/stable/10: lib/libvmmapi sys/amd64/include sys/amd64/vmm sys/modules/vmm MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Jul 2015 09:08:16 -0000 Author: stefano Date: Thu Jul 9 09:08:11 2015 New Revision: 288138 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=288138 Log: dd new ioctl in the vmm module to map user buffer in the VM Added: soc2015/stefano/ptnetmap/stable/10/sys/amd64/vmm/vmm_usermem.c soc2015/stefano/ptnetmap/stable/10/sys/amd64/vmm/vmm_usermem.h Modified: soc2015/stefano/ptnetmap/stable/10/lib/libvmmapi/vmmapi.c soc2015/stefano/ptnetmap/stable/10/lib/libvmmapi/vmmapi.h soc2015/stefano/ptnetmap/stable/10/sys/amd64/include/vmm.h soc2015/stefano/ptnetmap/stable/10/sys/amd64/include/vmm_dev.h soc2015/stefano/ptnetmap/stable/10/sys/amd64/vmm/vmm.c soc2015/stefano/ptnetmap/stable/10/sys/amd64/vmm/vmm_dev.c soc2015/stefano/ptnetmap/stable/10/sys/amd64/vmm/vmm_mem.c soc2015/stefano/ptnetmap/stable/10/sys/amd64/vmm/vmm_mem.h soc2015/stefano/ptnetmap/stable/10/sys/modules/vmm/Makefile Modified: soc2015/stefano/ptnetmap/stable/10/lib/libvmmapi/vmmapi.c ============================================================================== --- soc2015/stefano/ptnetmap/stable/10/lib/libvmmapi/vmmapi.c Thu Jul 9 07:31:40 2015 (r288137) +++ soc2015/stefano/ptnetmap/stable/10/lib/libvmmapi/vmmapi.c Thu Jul 9 09:08:11 2015 (r288138) @@ -685,6 +685,19 @@ } int +vm_map_user_buf(struct vmctx *ctx, vm_paddr_t gpa, size_t len, void *host_buf) +{ + struct vm_user_buf user_buf; + + bzero(&user_buf, sizeof(user_buf)); + user_buf.gpa = gpa; + user_buf.len = len; + user_buf.addr = host_buf; + + return (ioctl(ctx->fd, VM_MAP_USER_BUF, &user_buf)); +} + +int vm_setup_pptdev_msi(struct vmctx *ctx, int vcpu, int bus, int slot, int func, uint64_t addr, uint64_t msg, int numvec) { Modified: soc2015/stefano/ptnetmap/stable/10/lib/libvmmapi/vmmapi.h ============================================================================== --- soc2015/stefano/ptnetmap/stable/10/lib/libvmmapi/vmmapi.h Thu Jul 9 07:31:40 2015 (r288137) +++ soc2015/stefano/ptnetmap/stable/10/lib/libvmmapi/vmmapi.h Thu Jul 9 09:08:11 2015 (r288138) @@ -108,6 +108,7 @@ int vm_get_intinfo(struct vmctx *ctx, int vcpu, uint64_t *i1, uint64_t *i2); int vm_set_intinfo(struct vmctx *ctx, int vcpu, uint64_t exit_intinfo); +int vm_map_user_buf(struct vmctx *ctx, vm_paddr_t gpa, size_t len, void *host_buf); /* * Return a pointer to the statistics buffer. Note that this is not MT-safe. Modified: soc2015/stefano/ptnetmap/stable/10/sys/amd64/include/vmm.h ============================================================================== --- soc2015/stefano/ptnetmap/stable/10/sys/amd64/include/vmm.h Thu Jul 9 07:31:40 2015 (r288137) +++ soc2015/stefano/ptnetmap/stable/10/sys/amd64/include/vmm.h Thu Jul 9 09:08:11 2015 (r288138) @@ -172,6 +172,7 @@ const char *vm_name(struct vm *vm); int vm_malloc(struct vm *vm, vm_paddr_t gpa, size_t len); int vm_map_mmio(struct vm *vm, vm_paddr_t gpa, size_t len, vm_paddr_t hpa); +int vm_map_mmio_user(struct vm *vm, vm_paddr_t gpa, size_t len, void *buf, struct thread *td); int vm_unmap_mmio(struct vm *vm, vm_paddr_t gpa, size_t len); void *vm_gpa_hold(struct vm *, vm_paddr_t gpa, size_t len, int prot, void **cookie); Modified: soc2015/stefano/ptnetmap/stable/10/sys/amd64/include/vmm_dev.h ============================================================================== --- soc2015/stefano/ptnetmap/stable/10/sys/amd64/include/vmm_dev.h Thu Jul 9 07:31:40 2015 (r288137) +++ soc2015/stefano/ptnetmap/stable/10/sys/amd64/include/vmm_dev.h Thu Jul 9 09:08:11 2015 (r288138) @@ -111,6 +111,12 @@ size_t len; }; +struct vm_user_buf { + vm_paddr_t gpa; + void *addr; + size_t len; +}; + struct vm_pptdev_msi { int vcpu; int bus; @@ -254,6 +260,8 @@ /* vm_cpuset */ IOCNUM_ACTIVATE_CPU = 90, IOCNUM_GET_CPUSET = 91, + + IOCNUM_MAP_USER_BUF = 100, }; #define VM_RUN \ @@ -308,6 +316,8 @@ _IOW('v', IOCNUM_UNBIND_PPTDEV, struct vm_pptdev) #define VM_MAP_PPTDEV_MMIO \ _IOW('v', IOCNUM_MAP_PPTDEV_MMIO, struct vm_pptdev_mmio) +#define VM_MAP_USER_BUF \ + _IOW('v', IOCNUM_MAP_USER_BUF, struct vm_user_buf) #define VM_PPTDEV_MSI \ _IOW('v', IOCNUM_PPTDEV_MSI, struct vm_pptdev_msi) #define VM_PPTDEV_MSIX \ Modified: soc2015/stefano/ptnetmap/stable/10/sys/amd64/vmm/vmm.c ============================================================================== --- soc2015/stefano/ptnetmap/stable/10/sys/amd64/vmm/vmm.c Thu Jul 9 07:31:40 2015 (r288137) +++ soc2015/stefano/ptnetmap/stable/10/sys/amd64/vmm/vmm.c Thu Jul 9 09:08:11 2015 (r288138) @@ -68,6 +68,7 @@ #include "vmm_ktr.h" #include "vmm_host.h" #include "vmm_mem.h" +#include "vmm_usermem.h" #include "vmm_util.h" #include "vatpic.h" #include "vatpit.h" @@ -503,6 +504,33 @@ return (0); } +static int vm_gpa_wire(struct vm *vm); +int +vm_map_mmio_user(struct vm *vm, vm_paddr_t gpa, size_t len, void *buf, struct thread *td) +{ + vm_object_t obj; + int error; + + if ((obj = vmm_mmio_alloc_user(vm->vmspace, gpa, len, buf, td)) == NULL) + return (ENOMEM); + + error = vm_gpa_wire(vm); /* XXX-ste: is needed? */ + + if (error) + goto err; + + + error = vmm_usermem_add(vm, gpa, len); + if (error) + goto err; + + return (0); + +err: + vmm_mmio_free(vm->vmspace, gpa, len); + return (error); +} + int vm_unmap_mmio(struct vm *vm, vm_paddr_t gpa, size_t len) { @@ -527,6 +555,9 @@ if (ppt_is_mmio(vm, gpa)) return (TRUE); /* 'gpa' is pci passthru mmio */ + if (usermem_is_mmio(vm, gpa)) + return (TRUE); /* 'gpa' is user-space buffer mapped */ + return (FALSE); } Modified: soc2015/stefano/ptnetmap/stable/10/sys/amd64/vmm/vmm_dev.c ============================================================================== --- soc2015/stefano/ptnetmap/stable/10/sys/amd64/vmm/vmm_dev.c Thu Jul 9 07:31:40 2015 (r288137) +++ soc2015/stefano/ptnetmap/stable/10/sys/amd64/vmm/vmm_dev.c Thu Jul 9 09:08:11 2015 (r288138) @@ -164,6 +164,7 @@ struct vm_pptdev_mmio *pptmmio; struct vm_pptdev_msi *pptmsi; struct vm_pptdev_msix *pptmsix; + struct vm_user_buf *usermmio; struct vm_nmi *vmnmi; struct vm_stats *vmstats; struct vm_stat_desc *statdesc; @@ -223,6 +224,7 @@ case VM_BIND_PPTDEV: case VM_UNBIND_PPTDEV: case VM_MAP_MEMORY: + case VM_MAP_USER_BUF: case VM_REINIT: /* * ioctls that operate on the entire virtual machine must @@ -295,6 +297,11 @@ pptmmio->func, pptmmio->gpa, pptmmio->len, pptmmio->hpa); break; + case VM_MAP_USER_BUF: + usermmio = (struct vm_user_buf *)data; + error = vm_map_mmio_user(sc->vm, usermmio->gpa, usermmio->len, + usermmio->addr, td); + break; case VM_BIND_PPTDEV: pptdev = (struct vm_pptdev *)data; error = vm_assign_pptdev(sc->vm, pptdev->bus, pptdev->slot, Modified: soc2015/stefano/ptnetmap/stable/10/sys/amd64/vmm/vmm_mem.c ============================================================================== --- soc2015/stefano/ptnetmap/stable/10/sys/amd64/vmm/vmm_mem.c Thu Jul 9 07:31:40 2015 (r288137) +++ soc2015/stefano/ptnetmap/stable/10/sys/amd64/vmm/vmm_mem.c Thu Jul 9 09:08:11 2015 (r288138) @@ -55,34 +55,15 @@ return (0); } -vm_object_t -vmm_mmio_alloc(struct vmspace *vmspace, vm_paddr_t gpa, size_t len, - vm_paddr_t hpa) +static vm_object_t +vmm_mmio_alloc_sg(struct vmspace *vmspace, vm_paddr_t gpa, size_t len, + struct sglist *sg) { int error; vm_object_t obj; - struct sglist *sg; - - sg = sglist_alloc(1, M_WAITOK); - error = sglist_append_phys(sg, hpa, len); - KASSERT(error == 0, ("error %d appending physaddr to sglist", error)); obj = vm_pager_allocate(OBJT_SG, sg, len, VM_PROT_RW, 0, NULL); if (obj != NULL) { - /* - * VT-x ignores the MTRR settings when figuring out the - * memory type for translations obtained through EPT. - * - * Therefore we explicitly force the pages provided by - * this object to be mapped as uncacheable. - */ - VM_OBJECT_WLOCK(obj); - error = vm_object_set_memattr(obj, VM_MEMATTR_UNCACHEABLE); - VM_OBJECT_WUNLOCK(obj); - if (error != KERN_SUCCESS) { - panic("vmm_mmio_alloc: vm_object_set_memattr error %d", - error); - } error = vm_map_find(&vmspace->vm_map, obj, 0, &gpa, len, 0, VMFS_NO_SPACE, VM_PROT_RW, VM_PROT_RW, 0); if (error != KERN_SUCCESS) { @@ -91,6 +72,67 @@ } } + return (obj); +} + +#define VMM_MEM_USER_NSEGS 100000 /* XXX-stefano: find a correct nsegs */ + +vm_object_t +vmm_mmio_alloc_user(struct vmspace *vmspace, vm_paddr_t gpa, size_t len, + void *buf, struct thread *td) +{ + int error; + vm_object_t obj; + struct sglist *sg; + + sg = sglist_alloc(VMM_MEM_USER_NSEGS, M_WAITOK); + error = sglist_append_user(sg, buf, len, td); + KASSERT(error == 0, ("error %d appending user-space buffer to sglist", error)); + + obj = vmm_mmio_alloc_sg(vmspace, gpa, len, sg); + /* + * Drop the reference on the sglist. + * + * If the scatter/gather object was successfully allocated then it + * has incremented the reference count on the sglist. Dropping the + * initial reference count ensures that the sglist will be freed + * when the object is deallocated. + * + * If the object could not be allocated then we end up freeing the + * sglist. + */ + sglist_free(sg); + + return (obj); +} + +vm_object_t +vmm_mmio_alloc(struct vmspace *vmspace, vm_paddr_t gpa, size_t len, + vm_paddr_t hpa) +{ + int error; + vm_object_t obj; + struct sglist *sg; + + sg = sglist_alloc(1, M_WAITOK); + error = sglist_append_phys(sg, hpa, len); + KASSERT(error == 0, ("error %d appending physaddr to sglist", error)); + + obj = vmm_mmio_alloc_sg(vmspace, gpa, len, sg); + /* + * VT-x ignores the MTRR settings when figuring out the + * memory type for translations obtained through EPT. + * + * Therefore we explicitly force the pages provided by + * this object to be mapped as uncacheable. + */ + VM_OBJECT_WLOCK(obj); + error = vm_object_set_memattr(obj, VM_MEMATTR_UNCACHEABLE); + VM_OBJECT_WUNLOCK(obj); + if (error != KERN_SUCCESS) { + panic("vmm_mmio_alloc: vm_object_set_memattr error %d", + error); + } /* * Drop the reference on the sglist. * Modified: soc2015/stefano/ptnetmap/stable/10/sys/amd64/vmm/vmm_mem.h ============================================================================== --- soc2015/stefano/ptnetmap/stable/10/sys/amd64/vmm/vmm_mem.h Thu Jul 9 07:31:40 2015 (r288137) +++ soc2015/stefano/ptnetmap/stable/10/sys/amd64/vmm/vmm_mem.h Thu Jul 9 09:08:11 2015 (r288138) @@ -36,6 +36,8 @@ struct vm_object *vmm_mem_alloc(struct vmspace *, vm_paddr_t gpa, size_t size); struct vm_object *vmm_mmio_alloc(struct vmspace *, vm_paddr_t gpa, size_t len, vm_paddr_t hpa); +struct vm_object *vmm_mmio_alloc_user(struct vmspace *, vm_paddr_t gpa, + size_t len, void *buf, struct thread *td); void vmm_mem_free(struct vmspace *, vm_paddr_t gpa, size_t size); void vmm_mmio_free(struct vmspace *, vm_paddr_t gpa, size_t size); vm_paddr_t vmm_mem_maxaddr(void); Added: soc2015/stefano/ptnetmap/stable/10/sys/amd64/vmm/vmm_usermem.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/stefano/ptnetmap/stable/10/sys/amd64/vmm/vmm_usermem.c Thu Jul 9 09:08:11 2015 (r288138) @@ -0,0 +1,107 @@ +/* + * Copyright (C) 2015 Stefano Garzarella (stefano.garzarella@gmail.com) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "vmm_usermem.h" + +#define MAX_USERMEMS 64 + +static struct usermem { + struct vm *vm; /* owner of this device */ + vm_paddr_t gpa; + size_t len; +} usermems[MAX_USERMEMS]; + +int +vmm_usermem_add(struct vm *vm, vm_paddr_t gpa, size_t len) +{ + int i; + + for (i = 0; i < MAX_USERMEMS; i++) { + if (usermems[i].len == 0) { + usermems[i].vm = vm; + usermems[i].gpa = gpa; + usermems[i].len = len; + break; + } + } + + if (i == MAX_USERMEMS) { + printf("vmm_usermem_add: empty usermem slot not found\n"); + return (ENOMEM); + } + + return 0; +} + +void +vmm_usermem_del(struct vm *vm, vm_paddr_t gpa, size_t len) +{ + int i; + + for (i = 0; i < MAX_USERMEMS; i++) { + if (usermems[i].vm == vm && usermems[i].gpa == gpa + && usermems[i].len == len) { + bzero(&usermems[i], sizeof(struct usermem)); + } + } +} + +boolean_t +usermem_is_mmio(struct vm *vm, vm_paddr_t gpa) +{ + int i; + + for (i = 0; i < MAX_USERMEMS; i++) { + if (usermems[i].vm != vm || usermems[i].len == 0) + continue; + if (gpa >= usermems[i].gpa && + gpa < usermems[i].gpa + usermems[i].len) + return (TRUE); + } + return (FALSE); +} Added: soc2015/stefano/ptnetmap/stable/10/sys/amd64/vmm/vmm_usermem.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/stefano/ptnetmap/stable/10/sys/amd64/vmm/vmm_usermem.h Thu Jul 9 09:08:11 2015 (r288138) @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2015 Stefano Garzarella (stefano.garzarella@gmail.com) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _VMM_USERMEM_H_ +#define _VMM_USERMEM_H_ + +struct vm; + +int vmm_usermem_add(struct vm *, vm_paddr_t gpa, + size_t len); +void vmm_usermem_del(struct vm *, vm_paddr_t gpa, + size_t len); +boolean_t usermem_is_mmio(struct vm *, vm_paddr_t gpa); + +#endif Modified: soc2015/stefano/ptnetmap/stable/10/sys/modules/vmm/Makefile ============================================================================== --- soc2015/stefano/ptnetmap/stable/10/sys/modules/vmm/Makefile Thu Jul 9 07:31:40 2015 (r288137) +++ soc2015/stefano/ptnetmap/stable/10/sys/modules/vmm/Makefile Thu Jul 9 09:08:11 2015 (r288138) @@ -22,6 +22,7 @@ vmm_ipi.c \ vmm_lapic.c \ vmm_mem.c \ + vmm_usermem.c \ vmm_stat.c \ vmm_util.c \ x86.c \ From owner-svn-soc-all@freebsd.org Thu Jul 9 16:55:57 2015 Return-Path: Delivered-To: svn-soc-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 54309997437 for ; Thu, 9 Jul 2015 16:55:57 +0000 (UTC) (envelope-from clord@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 37AF13720 for ; Thu, 9 Jul 2015 16:55:57 +0000 (UTC) (envelope-from clord@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id t69GtvA6053784 for ; Thu, 9 Jul 2015 16:55:57 GMT (envelope-from clord@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id t69Gtnuf053725 for svn-soc-all@FreeBSD.org; Thu, 9 Jul 2015 16:55:49 GMT (envelope-from clord@FreeBSD.org) Date: Thu, 9 Jul 2015 16:55:49 GMT Message-Id: <201507091655.t69Gtnuf053725@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to clord@FreeBSD.org using -f From: clord@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r288152 - in soc2015/clord/head/sys/contrib/ficl: ficlplatform softcore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Jul 2015 16:55:57 -0000 Author: clord Date: Thu Jul 9 16:55:48 2015 New Revision: 288152 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=288152 Log: Add rest of $FreeBSD$ tags Modified: soc2015/clord/head/sys/contrib/ficl/ficlplatform/alpha.h soc2015/clord/head/sys/contrib/ficl/ficlplatform/makedef.py soc2015/clord/head/sys/contrib/ficl/ficlplatform/unix.c soc2015/clord/head/sys/contrib/ficl/ficlplatform/unix.h soc2015/clord/head/sys/contrib/ficl/softcore/classes.fr soc2015/clord/head/sys/contrib/ficl/softcore/ficl.fr soc2015/clord/head/sys/contrib/ficl/softcore/ficlclass.fr soc2015/clord/head/sys/contrib/ficl/softcore/ficllocal.fr soc2015/clord/head/sys/contrib/ficl/softcore/fileaccess.fr soc2015/clord/head/sys/contrib/ficl/softcore/forml.fr soc2015/clord/head/sys/contrib/ficl/softcore/ifbrack.fr soc2015/clord/head/sys/contrib/ficl/softcore/jhlocal.fr soc2015/clord/head/sys/contrib/ficl/softcore/makefile soc2015/clord/head/sys/contrib/ficl/softcore/makesoftcore.c soc2015/clord/head/sys/contrib/ficl/softcore/marker.fr soc2015/clord/head/sys/contrib/ficl/softcore/oo.fr soc2015/clord/head/sys/contrib/ficl/softcore/prefix.fr soc2015/clord/head/sys/contrib/ficl/softcore/softcore.fr soc2015/clord/head/sys/contrib/ficl/softcore/string.fr Modified: soc2015/clord/head/sys/contrib/ficl/ficlplatform/alpha.h ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/ficlplatform/alpha.h Thu Jul 9 15:56:51 2015 (r288151) +++ soc2015/clord/head/sys/contrib/ficl/ficlplatform/alpha.h Thu Jul 9 16:55:48 2015 (r288152) @@ -2,6 +2,8 @@ ** FreeBSD Alpha (64 bit) data types */ +/* $FreeBSD$ */ + #define FICL_WANT_PLATFORM (1) #define FICL_PLATFORM_BASIC_TYPES (1) Modified: soc2015/clord/head/sys/contrib/ficl/ficlplatform/makedef.py ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/ficlplatform/makedef.py Thu Jul 9 15:56:51 2015 (r288151) +++ soc2015/clord/head/sys/contrib/ficl/ficlplatform/makedef.py Thu Jul 9 16:55:48 2015 (r288152) @@ -6,6 +6,8 @@ ### Contributed by Larry Hastings. ### +# $FreeBSD$ + import string import time Modified: soc2015/clord/head/sys/contrib/ficl/ficlplatform/unix.c ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/ficlplatform/unix.c Thu Jul 9 15:56:51 2015 (r288151) +++ soc2015/clord/head/sys/contrib/ficl/ficlplatform/unix.c Thu Jul 9 16:55:48 2015 (r288152) @@ -1,3 +1,5 @@ +/* $FreeBSD$ */ + #include #include #include Modified: soc2015/clord/head/sys/contrib/ficl/ficlplatform/unix.h ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/ficlplatform/unix.h Thu Jul 9 15:56:51 2015 (r288151) +++ soc2015/clord/head/sys/contrib/ficl/ficlplatform/unix.h Thu Jul 9 16:55:48 2015 (r288152) @@ -1,3 +1,5 @@ +/* $FreeBSD$ */ + #include #include Modified: soc2015/clord/head/sys/contrib/ficl/softcore/classes.fr ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/softcore/classes.fr Thu Jul 9 15:56:51 2015 (r288151) +++ soc2015/clord/head/sys/contrib/ficl/softcore/classes.fr Thu Jul 9 16:55:48 2015 (r288152) @@ -3,6 +3,8 @@ \ ** F I C L 2 . 0 C L A S S E S \ john sadler 1 sep 98 \ Needs oop.fr +\ +\ $FreeBSD$ .( loading ficl utility classes ) cr also oop definitions Modified: soc2015/clord/head/sys/contrib/ficl/softcore/ficl.fr ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/softcore/ficl.fr Thu Jul 9 15:56:51 2015 (r288151) +++ soc2015/clord/head/sys/contrib/ficl/softcore/ficl.fr Thu Jul 9 16:55:48 2015 (r288152) @@ -2,6 +2,8 @@ \ ** FICL soft extensions \ ** John Sadler (john_sadler@alum.mit.edu) \ ** September, 1998 +\ +\ $FreeBSD$ S" FICL_WANT_USER" ENVIRONMENT? drop [if] \ ** Ficl USER variables Modified: soc2015/clord/head/sys/contrib/ficl/softcore/ficlclass.fr ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/softcore/ficlclass.fr Thu Jul 9 15:56:51 2015 (r288151) +++ soc2015/clord/head/sys/contrib/ficl/softcore/ficlclass.fr Thu Jul 9 16:55:48 2015 (r288152) @@ -6,6 +6,8 @@ \ \ ** C - W O R D \ Models a FICL_WORD +\ +\ $FreeBSD$ object subclass c-word c-word ref: .link Modified: soc2015/clord/head/sys/contrib/ficl/softcore/ficllocal.fr ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/softcore/ficllocal.fr Thu Jul 9 15:56:51 2015 (r288151) +++ soc2015/clord/head/sys/contrib/ficl/softcore/ficllocal.fr Thu Jul 9 16:55:48 2015 (r288152) @@ -6,6 +6,9 @@ \ Uses locals... \ locstate: 0 = looking for -- or }} \ 1 = found -- +\ +\ $FreeBSD$ + hide 0 constant zero Modified: soc2015/clord/head/sys/contrib/ficl/softcore/fileaccess.fr ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/softcore/fileaccess.fr Thu Jul 9 15:56:51 2015 (r288151) +++ soc2015/clord/head/sys/contrib/ficl/softcore/fileaccess.fr Thu Jul 9 16:55:48 2015 (r288152) @@ -3,6 +3,8 @@ \ ** File Access words for ficl \ ** submitted by Larry Hastings, larry@hastings.org \ ** +\ +\ $FreeBSD$ : r/o 1 ; : r/w 3 ; Modified: soc2015/clord/head/sys/contrib/ficl/softcore/forml.fr ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/softcore/forml.fr Thu Jul 9 15:56:51 2015 (r288151) +++ soc2015/clord/head/sys/contrib/ficl/softcore/forml.fr Thu Jul 9 16:55:48 2015 (r288152) @@ -1,5 +1,8 @@ \ examples from FORML conference paper Nov 98 \ sadler +\ +\ $FreeBSD$ + .( loading FORML examples ) cr object --> sub c-example cell: .cell0 Modified: soc2015/clord/head/sys/contrib/ficl/softcore/ifbrack.fr ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/softcore/ifbrack.fr Thu Jul 9 15:56:51 2015 (r288151) +++ soc2015/clord/head/sys/contrib/ficl/softcore/ifbrack.fr Thu Jul 9 16:55:48 2015 (r288152) @@ -1,6 +1,8 @@ \ ** ficl/softwords/ifbrack.fr \ ** ANS conditional compile directives [if] [else] [then] \ ** Requires ficl 2.0 or greater... +\ +\ $FreeBSD$ hide Modified: soc2015/clord/head/sys/contrib/ficl/softcore/jhlocal.fr ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/softcore/jhlocal.fr Thu Jul 9 15:56:51 2015 (r288151) +++ soc2015/clord/head/sys/contrib/ficl/softcore/jhlocal.fr Thu Jul 9 16:55:48 2015 (r288152) @@ -13,6 +13,9 @@ \ 4 = end of line \ \ revised 2 June 2000 - { | a -- } now works correctly +\ +\ $FreeBSD$ + .( loading Johns-Hopkins locals ) cr hide Modified: soc2015/clord/head/sys/contrib/ficl/softcore/makefile ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/softcore/makefile Thu Jul 9 15:56:51 2015 (r288151) +++ soc2015/clord/head/sys/contrib/ficl/softcore/makefile Thu Jul 9 16:55:48 2015 (r288152) @@ -1,3 +1,5 @@ +# $FreeBSD$ + SOURCES = softcore.fr ifbrack.fr prefix.fr ficl.fr jhlocal.fr marker.fr oo.fr classes.fr string.fr ficllocal.fr fileaccess.fr ../softcore.c: makesoftcore $(SOURCES) Modified: soc2015/clord/head/sys/contrib/ficl/softcore/makesoftcore.c ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/softcore/makesoftcore.c Thu Jul 9 15:56:51 2015 (r288151) +++ soc2015/clord/head/sys/contrib/ficl/softcore/makesoftcore.c Thu Jul 9 16:55:48 2015 (r288152) @@ -6,6 +6,9 @@ ** ** Contributed by Larry Hastings, larry@hastings.org **/ + +/* $FreeBSD$ */ + #include #include #include Modified: soc2015/clord/head/sys/contrib/ficl/softcore/marker.fr ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/softcore/marker.fr Thu Jul 9 15:56:51 2015 (r288151) +++ soc2015/clord/head/sys/contrib/ficl/softcore/marker.fr Thu Jul 9 16:55:48 2015 (r288152) @@ -2,6 +2,9 @@ \ ** Ficl implementation of CORE EXT MARKER \ John Sadler, 4 Oct 98 \ Requires ficl 2.02 FORGET-WID !! +\ +\ $FreeBSD$ + .( loading MARKER ) cr : marker ( "name" -- ) create Modified: soc2015/clord/head/sys/contrib/ficl/softcore/oo.fr ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/softcore/oo.fr Thu Jul 9 15:56:51 2015 (r288151) +++ soc2015/clord/head/sys/contrib/ficl/softcore/oo.fr Thu Jul 9 16:55:48 2015 (r288152) @@ -2,6 +2,8 @@ \ ** ficl/softwords/oo.fr \ ** F I C L O - O E X T E N S I O N S \ ** john sadler aug 1998 +\ +\ $FreeBSD$ .( loading ficl O-O extensions ) cr 17 ficl-vocabulary oop Modified: soc2015/clord/head/sys/contrib/ficl/softcore/prefix.fr ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/softcore/prefix.fr Thu Jul 9 15:56:51 2015 (r288151) +++ soc2015/clord/head/sys/contrib/ficl/softcore/prefix.fr Thu Jul 9 16:55:48 2015 (r288152) @@ -4,6 +4,8 @@ \ ** \ (jws) To make a prefix, simply create a new definition in the \ wordlist. start-prefixes and end-prefixes handle the bookkeeping +\ +\ $FreeBSD$ variable save-current Modified: soc2015/clord/head/sys/contrib/ficl/softcore/softcore.fr ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/softcore/softcore.fr Thu Jul 9 15:56:51 2015 (r288151) +++ soc2015/clord/head/sys/contrib/ficl/softcore/softcore.fr Thu Jul 9 16:55:48 2015 (r288152) @@ -2,6 +2,8 @@ \ ** FICL soft extensions \ ** John Sadler (john_sadler@alum.mit.edu) \ ** September, 1998 +\ +\ $FreeBSD$ \ ** ficl extras Modified: soc2015/clord/head/sys/contrib/ficl/softcore/string.fr ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/softcore/string.fr Thu Jul 9 15:56:51 2015 (r288151) +++ soc2015/clord/head/sys/contrib/ficl/softcore/string.fr Thu Jul 9 16:55:48 2015 (r288152) @@ -11,6 +11,8 @@ \ s" woof woof woof " str --> cat \ str --> type cr \ +\ +\ $FreeBSD$ .( loading ficl string class ) cr also oop definitions From owner-svn-soc-all@freebsd.org Thu Jul 9 17:07:12 2015 Return-Path: Delivered-To: svn-soc-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 59AFF997647 for ; Thu, 9 Jul 2015 17:07:12 +0000 (UTC) (envelope-from mihai@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 24C353BBC for ; Thu, 9 Jul 2015 17:07:12 +0000 (UTC) (envelope-from mihai@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id t69H7C6K096166 for ; Thu, 9 Jul 2015 17:07:12 GMT (envelope-from mihai@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id t69H7B8T096152 for svn-soc-all@FreeBSD.org; Thu, 9 Jul 2015 17:07:11 GMT (envelope-from mihai@FreeBSD.org) Date: Thu, 9 Jul 2015 17:07:11 GMT Message-Id: <201507091707.t69H7B8T096152@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to mihai@FreeBSD.org using -f From: mihai@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r288159 - in soc2015/mihai/bhyve-on-arm-head: sys/arm/vmm usr.sbin/bhyveloadarm MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Jul 2015 17:07:12 -0000 Author: mihai Date: Thu Jul 9 17:07:10 2015 New Revision: 288159 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=288159 Log: soc2015: mihai: bhyve: sys: arm: vmm: mmu.c: fix bug when len is not multiple of PAGE_SIZE Modified: soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/mmu.c soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyveloadarm/bhyveloadarm.c Modified: soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/mmu.c ============================================================================== --- soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/mmu.c Thu Jul 9 16:43:10 2015 (r288158) +++ soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/mmu.c Thu Jul 9 17:07:10 2015 (r288159) @@ -192,11 +192,15 @@ if (arg) l1pd = &vm_hyp->l1pd[0]; - while (len > 0) { + while (1) { n = create_lpae_mapping(l1pd, virt_start, phys_start, len, prot); + + if (len <= n) + break; len -= n; virt_start += n; phys_start += n; + printf("%s n: %d %d\n", __func__, n, len); } return (0); } Modified: soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyveloadarm/bhyveloadarm.c ============================================================================== --- soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyveloadarm/bhyveloadarm.c Thu Jul 9 16:43:10 2015 (r288158) +++ soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyveloadarm/bhyveloadarm.c Thu Jul 9 17:07:10 2015 (r288159) @@ -28,6 +28,7 @@ #define MB (1024 * 1024UL) #define GB (1024 * 1024 * 1024UL) #define BSP 0 +#define KERNEL_IMAGE_NAME_LEN 32 static char *vmname, *progname; static struct vmctx *ctx; @@ -92,20 +93,20 @@ int opt, error; int kernel_image_fd; uint64_t kernel_load_address, memory_base_address; + char kernel_image_name[KERNEL_IMAGE_NAME_LEN]; struct stat st; void *addr; progname = basename(argv[0]); - mem_size = 256 * MB; + mem_size = 128 * MB; + kernel_load_address = 0xc0000000; + memory_base_address = 0xc0000000; while ((opt = getopt(argc, argv, "k:l:b:m:")) != -1) { switch (opt) { case 'k': - kernel_image_fd = open(optarg, O_RDONLY); - if (kernel_image_fd == -1) { - errx(EX_USAGE, "Could not open '%s'", optarg); - } + strncpy(kernel_image_name, optarg, KERNEL_IMAGE_NAME_LEN); break; case 'l': kernel_load_address = strtoul(optarg, NULL, 0); @@ -129,6 +130,12 @@ vmname = argv[0]; + kernel_image_fd = open(kernel_image_name, O_RDONLY); + if (kernel_image_fd == -1) { + perror("open kernel_image_name"); + exit(1); + } + error = vm_create(vmname); if (error) { perror("vm_create"); @@ -147,6 +154,7 @@ exit(1); } + error = fstat(kernel_image_fd, &st); if (error) { perror("fstat"); From owner-svn-soc-all@freebsd.org Thu Jul 9 22:40:40 2015 Return-Path: Delivered-To: svn-soc-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C8ABA3812 for ; Thu, 9 Jul 2015 22:40:40 +0000 (UTC) (envelope-from clord@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B9E48127B for ; Thu, 9 Jul 2015 22:40:40 +0000 (UTC) (envelope-from clord@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t69MeePn023562 for ; Thu, 9 Jul 2015 22:40:40 GMT (envelope-from clord@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t69MeebX023560 for svn-soc-all@FreeBSD.org; Thu, 9 Jul 2015 22:40:40 GMT (envelope-from clord@FreeBSD.org) Date: Thu, 9 Jul 2015 22:40:40 GMT Message-Id: <201507092240.t69MeebX023560@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to clord@FreeBSD.org using -f From: clord@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r288171 - soc2015/clord/head/sys/contrib/ficl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Jul 2015 22:40:40 -0000 Author: clord Date: Thu Jul 9 22:40:38 2015 New Revision: 288171 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=288171 Log: Fix some of the included header files Modified: soc2015/clord/head/sys/contrib/ficl/ficl.h Modified: soc2015/clord/head/sys/contrib/ficl/ficl.h ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/ficl.h Thu Jul 9 21:53:40 2015 (r288170) +++ soc2015/clord/head/sys/contrib/ficl/ficl.h Thu Jul 9 22:40:38 2015 (r288171) @@ -143,11 +143,11 @@ extern "C" { #endif +#include "sysdep.h" #include #include #include #include -#include #include #include @@ -1807,6 +1807,7 @@ #define FICL_FAM_OPEN_MODE(fam) ((fam) & (FICL_FAM_READ | FICL_FAM_WRITE | FICL_FAM_APPEND)) +#if (FICL_WANT_FILE) typedef struct ficlFile { FILE *f; @@ -1820,6 +1821,7 @@ FICL_PLATFORM_EXTERN int ficlFileStatus(char *filename, int *status); FICL_PLATFORM_EXTERN long ficlFileSize(ficlFile *ff); +#endif /* From owner-svn-soc-all@freebsd.org Fri Jul 10 14:51:14 2015 Return-Path: Delivered-To: svn-soc-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7E2213F20 for ; Fri, 10 Jul 2015 14:51:14 +0000 (UTC) (envelope-from iateaca@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6EAC1160B for ; Fri, 10 Jul 2015 14:51:14 +0000 (UTC) (envelope-from iateaca@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t6AEpEhr027550 for ; Fri, 10 Jul 2015 14:51:14 GMT (envelope-from iateaca@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t6AEpDxH027534 for svn-soc-all@FreeBSD.org; Fri, 10 Jul 2015 14:51:13 GMT (envelope-from iateaca@FreeBSD.org) Date: Fri, 10 Jul 2015 14:51:13 GMT Message-Id: <201507101451.t6AEpDxH027534@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to iateaca@FreeBSD.org using -f From: iateaca@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r288190 - soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Jul 2015 14:51:14 -0000 Author: iateaca Date: Fri Jul 10 14:51:13 2015 New Revision: 288190 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=288190 Log: implement the reception protocol of the NE2000 nic card Modified: soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Modified: soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c ============================================================================== --- soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Fri Jul 10 13:54:03 2015 (r288189) +++ soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Fri Jul 10 14:51:13 2015 (r288190) @@ -53,6 +53,9 @@ #define MAX_INPUT_LEN 32 +#define ETHER_MAX_FRAME_LEN (ETHER_MAX_LEN - ETHER_CRC_LEN) +#define ETHER_MIN_FRAME_LEN (ETHER_MIN_LEN - ETHER_CRC_LEN) + /* * NE2000 data structures */ @@ -74,6 +77,7 @@ /* NIC memory is 16k */ uint8_t ram[NE2000_MEM_SIZE]; + uint8_t rcv_buf[ETHER_MAX_FRAME_LEN]; }; /* @@ -132,6 +136,11 @@ static int ne2000_receive_ring_is_valid(struct pci_ne2000_softc *sc); +static int +ne2000_receive_ring_is_full(struct pci_ne2000_softc *sc); + +static int +ne2000_ether_frame_is_valid(struct pci_ne2000_softc *sc); static int ne2000_parse_input(char *opts, char *tap_name, uint8_t *mac); @@ -239,13 +248,86 @@ static int ne2000_tap_rx(struct pci_ne2000_softc *sc) { - uint8_t dummybuf[2048]; - ssize_t read_len; + uint8_t pstart = 0; + uint8_t pstop = 0; + uint8_t curr = 0; + uint8_t next_curr = 0; + uint8_t psize = 0; - read_len = read(sc->tapfd, dummybuf, sizeof(dummybuf)); + uint32_t size = 0; + uint32_t tmp_size = 0; + uint32_t index = 0; + uint32_t start = 0; + uint32_t stop = 0; + + ssize_t read_len = 0; + + struct ed_ring *ed_hdr = NULL; + + memset(sc->rcv_buf, 0, ETHER_MAX_FRAME_LEN); + read_len = read(sc->tapfd, sc->rcv_buf, ETHER_MAX_FRAME_LEN); + assert(read_len > 0); DPRINTF("Receive Packet: from tap interface of %zd bytes", read_len); + if (!ne2000_ether_frame_is_valid(sc)) + return -1; + + if (!ne2000_receive_ring_is_valid(sc)) { + DPRINTF("Drop the packet since the ring is not valid"); + return 0; + } + + if (ne2000_receive_ring_is_full(sc)) { + DPRINTF("Drop the packet since the ring is full"); + return 0; + } + + size = read_len < ETHER_MIN_FRAME_LEN ? ETHER_MIN_FRAME_LEN : read_len; + + /* psize is the number of pages used by the frame and ne2000 header */ + psize = (size + sizeof(struct ed_ring) + (ED_PAGE_SIZE - 1)) / + ED_PAGE_SIZE; + assert(psize <= 6); + + pstart = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_PSTART); + pstop = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_PSTOP); + curr = ne2000_get_reg_by_offset(sc, NE2000_P1, ED_P1_CURR); + + start = pstart * ED_PAGE_SIZE; + stop = pstop * ED_PAGE_SIZE; + index = curr * ED_PAGE_SIZE; + + next_curr = curr + psize; + if (next_curr >= pstop) + next_curr -= (pstop - pstart); + + DPRINTF("Receive Packet: size: %d psize: %d next_curr: %d index: %d", + size, psize, next_curr, index); + + ne2000_set_field_by_offset(sc, NE2000_P0, ED_P0_RSR, 0xff, ED_RSR_PRX); + + ed_hdr = (struct ed_ring *)(sc->ram + index); + ed_hdr->rsr = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_RSR); + ed_hdr->next_packet = next_curr; + ed_hdr->count = size + sizeof(struct ed_ring); + + index += sizeof(struct ed_ring); + + if (index + size >= stop) { + tmp_size = stop - index; + memcpy(sc->ram + index, sc->rcv_buf, tmp_size); + index = start; + size -= tmp_size; + } + memcpy(sc->ram + index, sc->rcv_buf + tmp_size, size); + + ne2000_set_reg_by_offset(sc, NE2000_P1, ED_P1_CURR, next_curr); + ne2000_set_field_by_offset(sc, NE2000_P0, ED_P0_ISR, + ED_ISR_PRX, ED_ISR_PRX); + + pci_ne2000_update_intr(sc); + return 0; } @@ -288,6 +370,70 @@ } static int +ne2000_receive_ring_is_full(struct pci_ne2000_softc *sc) +{ + uint32_t avail = 0; + uint32_t start = 0; + uint32_t stop = 0; + uint32_t index = 0; + uint32_t boundary = 0; + + uint8_t pstart = 0; + uint8_t pstop = 0; + uint8_t curr = 0; + uint8_t bnry = 0; + + pstart = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_PSTART); + pstop = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_PSTOP); + curr = ne2000_get_reg_by_offset(sc, NE2000_P1, ED_P1_CURR); + bnry = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_BNRY); + + index = curr * ED_PAGE_SIZE; + boundary = bnry * ED_PAGE_SIZE; + start = pstart * ED_PAGE_SIZE; + stop = pstop * ED_PAGE_SIZE; + + if (index < boundary) + avail = boundary - index; + else + avail = (stop - start) - (index - boundary); + + if (avail < (ETHER_MAX_FRAME_LEN + sizeof(struct ed_ring))) + return 1; + + return 0; +} + +static int +ne2000_ether_frame_is_valid(struct pci_ne2000_softc *sc) +{ + /* + * TODO implement a better validation taking in consideration the + * Receiver Configuration Register (RCR) and maybe the frame's CRC + */ + + /* is valid if the destination MAC matches the NIC's address */ + if (sc->rcv_buf[0] == sc->ram[0] && + sc->rcv_buf[1] == sc->ram[2] && + sc->rcv_buf[2] == sc->ram[4] && + sc->rcv_buf[3] == sc->ram[6] && + sc->rcv_buf[4] == sc->ram[8] && + sc->rcv_buf[5] == sc->ram[10]) + return 1; + + /* is valid if the destination MAC is the broadcast address */ + if (sc->rcv_buf[0] == 0xff && + sc->rcv_buf[1] == 0xff && + sc->rcv_buf[2] == 0xff && + sc->rcv_buf[3] == 0xff && + sc->rcv_buf[4] == 0xff && + sc->rcv_buf[5] == 0xff) + return 1; + + return 0; +} + +static int ne2000_parse_input(char *opts, char *tap_name, uint8_t *mac) { uint8_t len = 0; @@ -442,7 +588,8 @@ } } - ne2000_set_reg_by_offset(sc, sc->page, offset, value); + if (!(sc->page == NE2000_P0 && offset == ED_P0_ISR)) + ne2000_set_reg_by_offset(sc, sc->page, offset, value); if (sc->page == NE2000_P0) { err = ne2000_emul_reg_page0(sc, offset, value); @@ -620,6 +767,7 @@ assert(value >= pstart && value < pstop); break; case ED_P0_ISR: + DPRINTF("ISR Register: %d", value); ne2000_set_field_by_offset(sc, NE2000_P0, ED_P0_ISR, value, 0); pci_ne2000_update_intr(sc); break; From owner-svn-soc-all@freebsd.org Fri Jul 10 17:19:23 2015 Return-Path: Delivered-To: svn-soc-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BA4813406 for ; Fri, 10 Jul 2015 17:19:23 +0000 (UTC) (envelope-from mihai@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A60C7E47 for ; Fri, 10 Jul 2015 17:19:23 +0000 (UTC) (envelope-from mihai@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t6AHJNUd045023 for ; Fri, 10 Jul 2015 17:19:23 GMT (envelope-from mihai@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t6AHJN8N045021 for svn-soc-all@FreeBSD.org; Fri, 10 Jul 2015 17:19:23 GMT (envelope-from mihai@FreeBSD.org) Date: Fri, 10 Jul 2015 17:19:23 GMT Message-Id: <201507101719.t6AHJN8N045021@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to mihai@FreeBSD.org using -f From: mihai@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r288193 - soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyveloadarm MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Jul 2015 17:19:23 -0000 Author: mihai Date: Fri Jul 10 17:19:22 2015 New Revision: 288193 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=288193 Log: soc2015: mihai: bhyve: usr.sbin: bhyveloadarm: fix mmap bug - map ony readonly the file Modified: soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyveloadarm/bhyveloadarm.c Modified: soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyveloadarm/bhyveloadarm.c ============================================================================== --- soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyveloadarm/bhyveloadarm.c Fri Jul 10 16:05:24 2015 (r288192) +++ soc2015/mihai/bhyve-on-arm-head/usr.sbin/bhyveloadarm/bhyveloadarm.c Fri Jul 10 17:19:22 2015 (r288193) @@ -41,7 +41,6 @@ guest_copyin(const void *from, uint64_t to, size_t size) { char *ptr; - ptr = vm_map_gpa(ctx, to, size); if (ptr == NULL) return (EFAULT); @@ -96,12 +95,14 @@ char kernel_image_name[KERNEL_IMAGE_NAME_LEN]; struct stat st; void *addr; + char test[4]; progname = basename(argv[0]); mem_size = 128 * MB; kernel_load_address = 0xc0000000; memory_base_address = 0xc0000000; + strncpy(kernel_image_name, "wfi.out", KERNEL_IMAGE_NAME_LEN); while ((opt = getopt(argc, argv, "k:l:b:m:")) != -1) { switch (opt) { @@ -154,20 +155,23 @@ exit(1); } - error = fstat(kernel_image_fd, &st); if (error) { perror("fstat"); exit(1); } - addr = mmap(NULL, st.st_size, PROT_READ | PROT_WRITE, MAP_SHARED, kernel_image_fd, 0); - if (!addr) { + addr = mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, kernel_image_fd, 0); + if (addr == MAP_FAILED) { perror("mmap kernel_image_fd"); exit(1); } - guest_copyin(addr, kernel_load_address, st.st_size); + if (guest_copyin(addr, kernel_load_address - memory_base_address, st.st_size)) { + perror("guest_copyin"); + exit(1); + } + munmap(addr, st.st_size); guest_setreg(VM_REG_GUEST_PC, kernel_load_address);