From owner-svn-soc-all@FreeBSD.ORG Mon Jun 15 11:56:12 2015 Return-Path: Delivered-To: svn-soc-all@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 81BA33E9 for ; Mon, 15 Jun 2015 11:56: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 645C8A5C for ; Mon, 15 Jun 2015 11:56: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 t5FBuCRs056147 for ; Mon, 15 Jun 2015 11:56:12 GMT (envelope-from mihai@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id t5FBu9LY056076 for svn-soc-all@FreeBSD.org; Mon, 15 Jun 2015 11:56:09 GMT (envelope-from mihai@FreeBSD.org) Date: Mon, 15 Jun 2015 11:56:09 GMT Message-Id: <201506151156.t5FBu9LY056076@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: r287113 - in soc2015/mihai/bhyve-on-arm-head/sys: arm/arm arm/conf arm/vexpress boot/fdt/dts/arm conf dev/fdt dev/ofw 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: Mon, 15 Jun 2015 11:56:12 -0000 Author: mihai Date: Mon Jun 15 11:56:08 2015 New Revision: 287113 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=287113 Log: sys: boot: fdt: dts: arm: remove vexpress DTS Deleted: soc2015/mihai/bhyve-on-arm-head/sys/boot/fdt/dts/arm/vexpress-v2m.dtsi soc2015/mihai/bhyve-on-arm-head/sys/boot/fdt/dts/arm/vexpress-v2p-ca15-tc1.dts Modified: soc2015/mihai/bhyve-on-arm-head/sys/arm/arm/physmem.c soc2015/mihai/bhyve-on-arm-head/sys/arm/arm/vfp.c soc2015/mihai/bhyve-on-arm-head/sys/arm/conf/VEXPRESS soc2015/mihai/bhyve-on-arm-head/sys/arm/vexpress/files.vexpress soc2015/mihai/bhyve-on-arm-head/sys/arm/vexpress/vexpress_machdep.c soc2015/mihai/bhyve-on-arm-head/sys/conf/ldscript.arm soc2015/mihai/bhyve-on-arm-head/sys/dev/fdt/fdt_common.c soc2015/mihai/bhyve-on-arm-head/sys/dev/ofw/ofw_bus_subr.c Modified: soc2015/mihai/bhyve-on-arm-head/sys/arm/arm/physmem.c ============================================================================== --- soc2015/mihai/bhyve-on-arm-head/sys/arm/arm/physmem.c Mon Jun 15 10:56:01 2015 (r287112) +++ soc2015/mihai/bhyve-on-arm-head/sys/arm/arm/physmem.c Mon Jun 15 11:56:08 2015 (r287113) @@ -311,7 +311,7 @@ adj = pa - trunc_page(pa); pa = trunc_page(pa); sz = round_page(sz + adj); - + printf("%s pa: %p sz: %p\n",__func__,(void*)pa, (void*)sz); if (excnt < nitems(exregions)) insert_region(exregions, excnt++, pa, sz, exflags); } Modified: soc2015/mihai/bhyve-on-arm-head/sys/arm/arm/vfp.c ============================================================================== --- soc2015/mihai/bhyve-on-arm-head/sys/arm/arm/vfp.c Mon Jun 15 10:56:01 2015 (r287112) +++ soc2015/mihai/bhyve-on-arm-head/sys/arm/arm/vfp.c Mon Jun 15 11:56:08 2015 (r287113) @@ -103,7 +103,6 @@ { u_int fpsid, fpexc, tmp; u_int coproc, vfp_arch; - coproc = get_coprocessorACR(); coproc |= COPROC10 | COPROC11; set_coprocessorACR(coproc); Modified: soc2015/mihai/bhyve-on-arm-head/sys/arm/conf/VEXPRESS ============================================================================== --- soc2015/mihai/bhyve-on-arm-head/sys/arm/conf/VEXPRESS Mon Jun 15 10:56:01 2015 (r287112) +++ soc2015/mihai/bhyve-on-arm-head/sys/arm/conf/VEXPRESS Mon Jun 15 11:56:08 2015 (r287113) @@ -16,30 +16,33 @@ options KERNVIRTADDR=0xc0200000 makeoptions KERNVIRTADDR=0xc0200000 -options KERNPHYSADDR=0x80200000 -makeoptions KERNPHYSADDR=0x80200000 -options PHYSADDR=0x80000000 +options KERNPHYSADDR=0xc0200000 +makeoptions KERNPHYSADDR=0xc0200000 +options PHYSADDR=0xc0000000 options HZ=100 options SCHED_ULE # ULE scheduler -options PLATFORM +#options PLATFORM #options SMP # Enable multiple cores +nooptions FREEBSD_BOOT_LOADER # Debugging for use in -current makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols options BREAK_TO_DEBUGGER -#options VERBOSE_SYSINIT # Enable verbose sysinit messages +options DEBUG +options EARLY_PRINTF +options VERBOSE_SYSINIT # Enable verbose sysinit messages options KDB # Enable kernel debugger support # For minimum debugger support (stable branch) use: -#options KDB_TRACE # Print a stack trace for a panic +options KDB_TRACE # Print a stack trace for a panic # For full debugger support use this instead: options DDB # Enable the kernel debugger -#options INVARIANTS # Enable calls of extra sanity checking -#options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS +options INVARIANTS # Enable calls of extra sanity checking +options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS # Enable checks to detect deadlocks and cycles #options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed -#options DIAGNOSTIC +options DIAGNOSTIC #options ROOTDEVNAME=\"ufs:/dev/da0\" @@ -67,4 +70,4 @@ # Flattened Device Tree options FDT # Configure using FDT/DTB data options FDT_DTB_STATIC -makeoptions FDT_DTS_FILE=vexpress-v2p-ca15-tc1.dts +makeoptions FDT_DTS_FILE=rtsm_ve-cortex_a15x1.dts Modified: soc2015/mihai/bhyve-on-arm-head/sys/arm/vexpress/files.vexpress ============================================================================== --- soc2015/mihai/bhyve-on-arm-head/sys/arm/vexpress/files.vexpress Mon Jun 15 10:56:01 2015 (r287112) +++ soc2015/mihai/bhyve-on-arm-head/sys/arm/vexpress/files.vexpress Mon Jun 15 11:56:08 2015 (r287113) @@ -10,3 +10,5 @@ arm/vexpress/vexpress_common.c standard arm/vexpress/vexpress_machdep.c standard + +arm/vexpress/vexpress_semihosting.S standard Modified: soc2015/mihai/bhyve-on-arm-head/sys/arm/vexpress/vexpress_machdep.c ============================================================================== --- soc2015/mihai/bhyve-on-arm-head/sys/arm/vexpress/vexpress_machdep.c Mon Jun 15 10:56:01 2015 (r287112) +++ soc2015/mihai/bhyve-on-arm-head/sys/arm/vexpress/vexpress_machdep.c Mon Jun 15 11:56:08 2015 (r287113) @@ -54,6 +54,47 @@ #include +#include "vexpress_semihosting.h" + +vm_offset_t +platform_lastaddr(void) +{ + + return (arm_devmap_lastaddr()); +} + +void +platform_probe_and_attach(void) +{ + +} + +void +platform_gpio_init(void) +{ + +} + +void +platform_late_init(void) +{ + +} + +int +platform_devmap_init(void) +{ + /* UART0 (PL011) */ + arm_devmap_add_entry(0x1c090000, 0x1000); + + /* Peripherals (CS3) */ +// arm_devmap_add_entry(0x1C000000, 0x4000000); + + return (0); +} + + + struct arm32_dma_range * bus_dma_get_range(void) { @@ -68,6 +109,21 @@ return (0); } +#ifdef EARLY_PRINTF + +static void +eputc(int c) +{ + char str[2]; + str[0] = c; + str[1] = 0; + + __semi_call(SYS_WRITE0, str); +} + +early_putc_t * early_putc = eputc; +#endif + void cpu_reset() { Modified: soc2015/mihai/bhyve-on-arm-head/sys/conf/ldscript.arm ============================================================================== --- soc2015/mihai/bhyve-on-arm-head/sys/conf/ldscript.arm Mon Jun 15 10:56:01 2015 (r287112) +++ soc2015/mihai/bhyve-on-arm-head/sys/conf/ldscript.arm Mon Jun 15 11:56:08 2015 (r287113) @@ -6,7 +6,7 @@ SECTIONS { /* Read-only sections, merged into text segment: */ - . = KERNVIRTADDR + SIZEOF_HEADERS; + . = KERNVIRTADDR; /* + SIZEOF_HEADERS;*/ .text : { *(.text) Modified: soc2015/mihai/bhyve-on-arm-head/sys/dev/fdt/fdt_common.c ============================================================================== --- soc2015/mihai/bhyve-on-arm-head/sys/dev/fdt/fdt_common.c Mon Jun 15 10:56:01 2015 (r287112) +++ soc2015/mihai/bhyve-on-arm-head/sys/dev/fdt/fdt_common.c Mon Jun 15 11:56:08 2015 (r287113) @@ -117,22 +117,32 @@ rangesptr = &ranges[i * tuple_size]; bus_addr = fdt_data_get((void *)rangesptr, addr_cells); + printf("%s %d %d %p %p\n",__func__,i, tuples, (void*) bus_addr, (void*) addr); if (bus_addr != addr) continue; rangesptr += addr_cells; + printf("%s 2 %d %d %p %p\n",__func__,i, tuples, (void*) bus_addr, (void*) addr); par_bus_addr = fdt_data_get((void *)rangesptr, par_addr_cells); rangesptr += par_addr_cells; err = fdt_get_range_by_busaddr(OF_parent(node), par_bus_addr, &pbase, &psize); + printf("%s %d %d %p %p; %p %p\n",__func__,i, tuples, (void*) bus_addr, (void*) addr, (void*)pbase,(void*) psize); + if (err > 0) return (err); + printf("%s %d %d %p %p; %p %p\n",__func__,i, tuples, (void*) bus_addr, (void*) addr, (void*)pbase,(void*) psize); + + if (err == 0) *base = pbase; else *base = par_bus_addr; + printf("%s %d %d %p %p;;;;; %p %p; par_bus_addr: %p; base:%p\n",__func__,i, tuples, (void*) bus_addr, (void*) addr, (void*)pbase,(void*) psize, (void*)par_bus_addr, (void*)*base); + + *size = fdt_data_get((void *)rangesptr, size_cells); return (0); @@ -155,6 +165,7 @@ * Process 'ranges' property. */ par_addr_cells = fdt_parent_addr_cells(node); + printf("%s par_addr_cells: %p\n",__func__,(void*)par_addr_cells); if (par_addr_cells > 2) return (ERANGE); @@ -185,17 +196,22 @@ rangesptr = &ranges[range_id]; *base = fdt_data_get((void *)rangesptr, addr_cells); + printf("%s 1 %p, range_id:%u %p\n",__func__,(void*)*base, range_id, (void*)rangesptr); rangesptr += addr_cells; par_bus_addr = fdt_data_get((void *)rangesptr, par_addr_cells); + printf("%s ----- par_bus_addr: %d; par_bus_addr2: %d\n",__func__,*((uint32_t*)rangesptr), *(((uint32_t*)rangesptr) + 1)); rangesptr += par_addr_cells; err = fdt_get_range_by_busaddr(OF_parent(node), par_bus_addr, &pbase, &psize); + printf("%s 2 %p, pbase:%p, par_bus_addr:%lu\n",__func__,(void*)*base, (void*)pbase, par_bus_addr); + if (err == 0) *base += pbase; else *base += par_bus_addr; + printf("%s 3 %p\n",__func__,(void*)*base); *size = fdt_data_get((void *)rangesptr, size_cells); return (0); @@ -595,6 +611,7 @@ uint32_t memory_size; int addr_cells, size_cells; int i, max_size, res_len, rv, tuple_size, tuples; + printf("%s 1 \n",__func__); max_size = sizeof(reserve); root = OF_finddevice("/"); @@ -603,28 +620,35 @@ rv = ENXIO; goto out; } + printf("%s 2 \n",__func__); if ((rv = fdt_addrsize_cells(OF_parent(memory), &addr_cells, &size_cells)) != 0) goto out; + printf("%s 3 \n",__func__); if (addr_cells > 2) { rv = ERANGE; goto out; } + printf("%s 33 \n",__func__); tuple_size = sizeof(pcell_t) * (addr_cells + size_cells); + printf("%s 4 \n",__func__); res_len = OF_getproplen(root, "memreserve"); if (res_len <= 0 || res_len > sizeof(reserve)) { + printf("%s 5 \n",__func__); + rv = ERANGE; goto out; } - + printf("%s res_len %d\n",__func__,res_len); if (OF_getprop(root, "memreserve", reserve, res_len) <= 0) { rv = ENXIO; goto out; } + printf("%s res_len %d 2222222\n",__func__,res_len); memory_size = 0; tuples = res_len / tuple_size; @@ -633,9 +657,11 @@ rv = fdt_data_to_res(reservep, addr_cells, size_cells, (u_long *)&mr[i].mr_start, (u_long *)&mr[i].mr_size); + printf("%s res_len %d for: %d\n",__func__,res_len, i); if (rv != 0) goto out; + printf("%s res_len %d for after rv: %d\n",__func__,res_len, i); reservep += addr_cells + size_cells; } @@ -643,6 +669,7 @@ *mrcnt = i; rv = 0; out: + printf("%s out rv: %d\n",__func__,rv); return (rv); } Modified: soc2015/mihai/bhyve-on-arm-head/sys/dev/ofw/ofw_bus_subr.c ============================================================================== --- soc2015/mihai/bhyve-on-arm-head/sys/dev/ofw/ofw_bus_subr.c Mon Jun 15 10:56:01 2015 (r287112) +++ soc2015/mihai/bhyve-on-arm-head/sys/dev/ofw/ofw_bus_subr.c Mon Jun 15 11:56:08 2015 (r287113) @@ -440,6 +440,7 @@ nintr = OF_getencprop_alloc(node, "interrupts", sizeof(*intr), (void **)&intr); + printf("%s %d\n",__func__,nintr); if (nintr > 0) { if (OF_searchencprop(node, "interrupt-parent", &iparent, sizeof(iparent)) == -1) { @@ -494,6 +495,7 @@ } } irqnum = ofw_bus_map_intr(dev, iparent, icells, &intr[i]); + printf("%s irqnum:%d\m",irqnum); resource_list_add(rl, SYS_RES_IRQ, rid++, irqnum, irqnum, 1); } if (rlen != NULL)