Date: Sat, 17 May 2014 22:45:35 GMT From: John Baldwin <jhb@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 1193938 for review Message-ID: <201405172245.s4HMjZ2v037394@skunkworks.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@1193938?ac=10 Change 1193938 by jhb@jhb_pippin on 2014/05/17 22:44:58 IFC @1193937 Affected files ... .. //depot/projects/smpng/sys/amd64/amd64/db_disasm.c#16 integrate .. //depot/projects/smpng/sys/arm/conf/BEAGLEBONE#10 integrate .. //depot/projects/smpng/sys/arm/conf/PANDABOARD#8 integrate .. //depot/projects/smpng/sys/arm/include/platformvar.h#2 integrate .. //depot/projects/smpng/sys/arm/ti/ti_i2c.c#5 integrate .. //depot/projects/smpng/sys/arm/ti/ti_machdep.c#8 integrate .. //depot/projects/smpng/sys/boot/fdt/dts/arm/digi-ccwmx53.dts#2 integrate .. //depot/projects/smpng/sys/boot/fdt/dts/arm/efikamx.dts#2 integrate .. //depot/projects/smpng/sys/conf/NOTES#212 integrate .. //depot/projects/smpng/sys/conf/kern.opts.mk#2 integrate .. //depot/projects/smpng/sys/conf/kern.pre.mk#86 integrate .. //depot/projects/smpng/sys/conf/kmod.mk#94 integrate .. //depot/projects/smpng/sys/geom/geom_disk.c#77 integrate Differences ... ==== //depot/projects/smpng/sys/amd64/amd64/db_disasm.c#16 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: head/sys/amd64/amd64/db_disasm.c 261213 2014-01-27 18:53:18Z jhb $"); +__FBSDID("$FreeBSD: head/sys/amd64/amd64/db_disasm.c 266354 2014-05-17 21:10:03Z jhb $"); /* * Instruction disassembler. ==== //depot/projects/smpng/sys/arm/conf/BEAGLEBONE#10 (text+ko) ==== @@ -18,7 +18,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: head/sys/arm/conf/BEAGLEBONE 263693 2014-03-24 20:06:27Z loos $ +# $FreeBSD: head/sys/arm/conf/BEAGLEBONE 266334 2014-05-17 18:35:22Z andrew $ ident BEAGLEBONE @@ -50,6 +50,7 @@ options _KPOSIX_PRIORITY_SCHEDULING # Posix P1003_1B real-time extensions options KBD_INSTALL_CDEV # install a CDEV entry in /dev options PREEMPTION +options PLATFORM options FREEBSD_BOOT_LOADER options VFP # vfp/neon ==== //depot/projects/smpng/sys/arm/conf/PANDABOARD#8 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: head/sys/arm/conf/PANDABOARD 264138 2014-04-04 20:58:45Z ian $ +# $FreeBSD: head/sys/arm/conf/PANDABOARD 266334 2014-05-17 18:35:22Z andrew $ ident PANDABOARD @@ -72,6 +72,7 @@ options FREEBSD_BOOT_LOADER options PREEMPTION +options PLATFORM # MMC/SD/SDIO Card slot support device mmc # mmc/sd bus ==== //depot/projects/smpng/sys/arm/include/platformvar.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: head/sys/arm/include/platformvar.h 266301 2014-05-17 11:27:36Z andrew $ + * $FreeBSD: head/sys/arm/include/platformvar.h 266333 2014-05-17 18:02:46Z andrew $ */ #ifndef _MACHINE_PLATFORMVAR_H_ @@ -83,21 +83,24 @@ extern platform_method_t fdt_platform_methods[]; -#define FDT_PLATFORM_DEF(NAME, NAME_STR, size, compatible) \ -static fdt_platform_def_t NAME ## _fdt_platform = { \ - .name = NAME_STR, \ - .methods = fdt_platform_methods, \ - .fdt_compatible = compatible, \ -}; \ -static kobj_class_t NAME ## _baseclasses[] = \ - { (kobj_class_t)&NAME ## _fdt_platform, NULL }; \ -static platform_def_t NAME ## _platform = { \ - NAME_STR, \ - NAME ## _methods, \ - size, \ - NAME ## _baseclasses, \ -}; \ -DATA_SET(platform_set, NAME ## _platform) +#define FDT_PLATFORM_DEF2(NAME, VAR_NAME, NAME_STR, size, compatible) \ +static fdt_platform_def_t VAR_NAME ## _fdt_platform = { \ + .name = NAME_STR, \ + .methods = fdt_platform_methods, \ + .fdt_compatible = compatible, \ +}; \ +static kobj_class_t VAR_NAME ## _baseclasses[] = \ + { (kobj_class_t)&VAR_NAME ## _fdt_platform, NULL }; \ +static platform_def_t VAR_NAME ## _platform = { \ + NAME_STR, \ + NAME ## _methods, \ + size, \ + VAR_NAME ## _baseclasses, \ +}; \ +DATA_SET(platform_set, VAR_NAME ## _platform) + +#define FDT_PLATFORM_DEF(NAME, NAME_STR, size, compatible) \ + FDT_PLATFORM_DEF2(NAME, NAME, NAME_STR, size, compatible) #endif ==== //depot/projects/smpng/sys/arm/ti/ti_i2c.c#5 (text+ko) ==== @@ -45,7 +45,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: head/sys/arm/ti/ti_i2c.c 261410 2014-02-02 19:17:28Z ian $"); +__FBSDID("$FreeBSD: head/sys/arm/ti/ti_i2c.c 266336 2014-05-17 18:52:20Z andrew $"); #include <sys/param.h> #include <sys/systm.h> @@ -65,6 +65,7 @@ #include <dev/ofw/ofw_bus.h> #include <dev/ofw/ofw_bus_subr.h> +#include <arm/ti/ti_cpuid.h> #include <arm/ti/ti_prcm.h> #include <arm/ti/ti_i2c.h> @@ -106,21 +107,23 @@ uint8_t hssclh; /* High Speed mode SCL high time */ }; -static struct ti_i2c_clock_config ti_i2c_clock_configs[] = { - #if defined(SOC_OMAP4) +static struct ti_i2c_clock_config ti_omap4_i2c_clock_configs[] = { { IIC_SLOW, 100000, 23, 13, 15, 0, 0}, { IIC_FAST, 400000, 9, 5, 7, 0, 0}, { IIC_FASTEST, 3310000, 1, 113, 115, 7, 10}, -#elif defined(SOC_TI_AM335X) + { -1, 0 } +}; +#endif + +#if defined(SOC_TI_AM335X) +static struct ti_i2c_clock_config ti_am335x_i2c_clock_configs[] = { { IIC_SLOW, 100000, 3, 53, 55, 0, 0}, { IIC_FAST, 400000, 3, 8, 10, 0, 0}, { IIC_FASTEST, 400000, 3, 8, 10, 0, 0}, /* This might be higher */ -#else -#error "TI I2C driver is not supported on this SoC" -#endif { -1, 0 } }; +#endif #define TI_I2C_REV1 0x003C /* OMAP3 */ @@ -280,7 +283,20 @@ struct ti_i2c_clock_config *clkcfg; uint16_t con_reg; - clkcfg = ti_i2c_clock_configs; + switch (ti_chip()) { +#ifdef SOC_OMAP4 + case CHIP_OMAP_4: + clkcfg = ti_omap4_i2c_clock_configs; + break; +#endif +#ifdef SOC_TI_AM335X + case CHIP_AM335X: + clkcfg = ti_am335x_i2c_clock_configs; + break; +#endif + default: + panic("Unknown Ti SoC, unable to reset the i2c"); + } while (clkcfg->speed != -1) { if (clkcfg->speed == speed) break; ==== //depot/projects/smpng/sys/arm/ti/ti_machdep.c#8 (text+ko) ==== @@ -38,7 +38,7 @@ #include "opt_platform.h" #include <sys/cdefs.h> -__FBSDID("$FreeBSD: head/sys/arm/ti/ti_machdep.c 266301 2014-05-17 11:27:36Z andrew $"); +__FBSDID("$FreeBSD: head/sys/arm/ti/ti_machdep.c 266334 2014-05-17 18:35:22Z andrew $"); #define _ARM32_BUS_DMA_PRIVATE #include <sys/param.h> @@ -51,45 +51,40 @@ #include <machine/bus.h> #include <machine/devmap.h> #include <machine/machdep.h> -#include <machine/platform.h> +#include <machine/platformvar.h> #include <arm/ti/omap4/omap4_reg.h> +#include "platform_if.h" + void (*ti_cpu_reset)(void) = NULL; -vm_offset_t -platform_lastaddr(void) +static vm_offset_t +ti_lastaddr(platform_t plat) { return (arm_devmap_lastaddr()); } -void -platform_probe_and_attach(void) -{ -} - -void -platform_gpio_init(void) -{ -} - -void -platform_late_init(void) -{ -} - /* * Construct static devmap entries to map out the most frequently used * peripherals using 1mb section mappings. */ -int -platform_devmap_init(void) +#if defined(SOC_OMAP4) +static int +ti_omap4_devmap_init(platform_t plat) { -#if defined(SOC_OMAP4) arm_devmap_add_entry(0x48000000, 0x01000000); /*16mb L4_PER devices */ arm_devmap_add_entry(0x4A000000, 0x01000000); /*16mb L4_CFG devices */ -#elif defined(SOC_TI_AM335X) + return (0); +} +#endif + +#if defined(SOC_TI_AM335X) +static int +ti_am335x_devmap_init(platform_t plat) +{ + arm_devmap_add_entry(0x44C00000, 0x00400000); /* 4mb L4_WKUP devices*/ arm_devmap_add_entry(0x47400000, 0x00100000); /* 1mb USB */ arm_devmap_add_entry(0x47800000, 0x00100000); /* 1mb mmchs2 */ @@ -97,11 +92,9 @@ arm_devmap_add_entry(0x49000000, 0x00100000); /* 1mb edma3 */ arm_devmap_add_entry(0x49800000, 0x00300000); /* 3mb edma3 */ arm_devmap_add_entry(0x4A000000, 0x01000000); /*16mb L4_FAST devices*/ -#else -#error "Unknown SoC" -#endif return (0); } +#endif struct arm32_dma_range * bus_dma_get_range(void) @@ -127,3 +120,24 @@ printf("Reset failed!\n"); while (1); } + +#if defined(SOC_OMAP4) +static platform_method_t omap4_methods[] = { + PLATFORMMETHOD(platform_devmap_init, ti_omap4_devmap_init), + PLATFORMMETHOD(platform_lastaddr, ti_lastaddr), + + PLATFORMMETHOD_END, +}; +FDT_PLATFORM_DEF(omap4, "omap4", 0, "ti,omap4430"); +#endif + +#if defined(SOC_TI_AM335X) +static platform_method_t am335x_methods[] = { + PLATFORMMETHOD(platform_devmap_init, ti_am335x_devmap_init), + PLATFORMMETHOD(platform_lastaddr, ti_lastaddr), + + PLATFORMMETHOD_END, +}; + +FDT_PLATFORM_DEF(am335x, "am335x", 0, "ti,am335x"); +#endif ==== //depot/projects/smpng/sys/boot/fdt/dts/arm/digi-ccwmx53.dts#2 (text+ko) ==== @@ -29,7 +29,7 @@ * * Digi ConnectCore Wi-i.MX53 * - * $FreeBSD: head/sys/boot/fdt/dts/arm/digi-ccwmx53.dts 264428 2014-04-13 22:35:39Z rpaulo $ + * $FreeBSD: head/sys/boot/fdt/dts/arm/digi-ccwmx53.dts 266318 2014-05-17 14:57:34Z andrew $ */ /dts-v1/; @@ -37,7 +37,7 @@ / { model = "Digi ConnectCore Wi-i.MX53"; - compatible = "digi,imx53-ccwm53"; + compatible = "digi,imx53-ccwm53", "fsl,imx53"; memory { /* RAM 512M */ ==== //depot/projects/smpng/sys/boot/fdt/dts/arm/efikamx.dts#2 (text+ko) ==== @@ -28,7 +28,7 @@ * * Freescale i.MX515 Device Tree Source. * - * $FreeBSD: head/sys/boot/fdt/dts/arm/efikamx.dts 262614 2014-02-28 18:29:09Z imp $ + * $FreeBSD: head/sys/boot/fdt/dts/arm/efikamx.dts 266318 2014-05-17 14:57:34Z andrew $ */ /dts-v1/; @@ -36,7 +36,7 @@ / { model = "Genesi Efika MX"; - compatible = "genesi,imx51-efikamx"; + compatible = "genesi,imx51-efikamx", "fsl,imx51"; memory { /* RAM 512M */ ==== //depot/projects/smpng/sys/conf/NOTES#212 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: head/sys/conf/NOTES 265248 2014-05-02 23:23:18Z marius $ +# $FreeBSD: head/sys/conf/NOTES 266335 2014-05-17 18:40:43Z lwhsu $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -2686,6 +2686,8 @@ # ASIX Electronics AX88172 USB 2.0 ethernet driver. Used in the # LinkSys USB200M and various other adapters. device axe +# ASIX Electronics AX88178A/AX88179 USB 2.0/3.0 gigabit ethernet driver. +device axge # # Devices which communicate using Ethernet over USB, particularly ==== //depot/projects/smpng/sys/conf/kern.opts.mk#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: head/sys/conf/kern.opts.mk 265899 2014-05-12 01:47:45Z imp $ +# $FreeBSD: head/sys/conf/kern.opts.mk 266349 2014-05-17 20:31:34Z imp $ # Options set in the build system that affect the kernel somehow. @@ -19,17 +19,15 @@ FORMAT_EXTENSIONS \ KERNEL_SYMBOLS -__DEFAULT_NO_OPTIONS = \ +# expanded inline from bsd.mkopt.mk: -# Kludge to allow a less painful transition. If MAKESYSPATH isn't defined, -# assume we have a standard FreeBSD src tree layout and reach over and grab -# bsd.mkopt.mk from there. If it is defined, trust it to point someplace sane -# and include bsd.mkopt.mk from there. We need the !defined case to keep ports -# kernel modules working (though arguably they should define MAKESYSPATH). We -# need the latter case to keep the Jenkins testing harness working where they -# specifically use a non-standard layout, but do define MAKESYSPATH correctly. -.if !defined(MAKESYSPATH) -.include "../../share/mk/bsd.mkopt.mk" +.for var in ${__DEFAULT_YES_OPTIONS} +.if !defined(MK_${var}) +.if defined(WITHOUT_${var}) # WITHOUT always wins +MK_${var}:= no .else -.include <bsd.mkopt.mk> +MK_${var}:= yes +.endif .endif +.endfor +.undef __DEFAULT_YES_OPTIONS ==== //depot/projects/smpng/sys/conf/kern.pre.mk#86 (text+ko) ==== @@ -1,9 +1,21 @@ -# $FreeBSD: head/sys/conf/kern.pre.mk 265833 2014-05-10 16:38:18Z imp $ +# $FreeBSD: head/sys/conf/kern.pre.mk 266349 2014-05-17 20:31:34Z imp $ # Part of a unified Makefile for building kernels. This part contains all # of the definitions that need to be before %BEFORE_DEPEND. -.include <src.opts.mk> +# Allow user to configure things that only effect src tree builds. +# Note: This is duplicated from src.sys.mk to ensure that we include +# /etc/src.conf when building the kernel. Kernels can be built without +# the rest of /usr/src, but they still always process SRCCONF even though +# the normal mechanisms to prevent that (compiling out of tree) won't +# work. To ensure they do work, we have to duplicate thee few lines here. +SRCCONF?= /etc/src.conf +.if (exists(${SRCCONF}) || ${SRCCONF} != "/etc/src.conf") && !target(_srcconf_included_) +.include "${SRCCONF}" +_srcconf_included_: +.endif + +.include <bsd.own.mk> .include <bsd.compiler.mk> .include "kern.opts.mk" ==== //depot/projects/smpng/sys/conf/kmod.mk#94 (text+ko) ==== @@ -1,5 +1,5 @@ # From: @(#)bsd.prog.mk 5.26 (Berkeley) 6/25/91 -# $FreeBSD: head/sys/conf/kmod.mk 265841 2014-05-10 16:39:15Z imp $ +# $FreeBSD: head/sys/conf/kmod.mk 266349 2014-05-17 20:31:34Z imp $ # # The include file <bsd.kmod.mk> handles building and installing loadable # kernel modules. @@ -65,15 +65,10 @@ KMODUNLOAD?= /sbin/kldunload OBJCOPY?= objcopy -# Note: we're really bsd.kmod.mk, so we have to allow src.opts.mk to be -# optional. Include it if we can so we can get /etc/src.conf changes, -# if we're in the tree. If we can't include it that's OK. kern.opts.mk -# has all the kernel options in it, and should be included after src.opts.mk -# so it picks everything up. -.sinclude <src.opts.mk> +# Grab all the options for a kernel build. +.include "kern.opts.mk" .include <bsd.init.mk> .include <bsd.compiler.mk> -.include "kern.opts.mk" .SUFFIXES: .out .o .c .cc .cxx .C .y .l .s .S ==== //depot/projects/smpng/sys/geom/geom_disk.c#77 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: head/sys/geom/geom_disk.c 265072 2014-04-29 01:17:43Z bdrewery $"); +__FBSDID("$FreeBSD: head/sys/geom/geom_disk.c 266319 2014-05-17 15:07:00Z mav $"); #include "opt_geom.h" @@ -223,7 +223,7 @@ if (bp2->bio_error == 0) bp2->bio_error = bp->bio_error; bp2->bio_completed += bp->bio_completed; - if ((bp->bio_cmd & (BIO_READ|BIO_WRITE|BIO_DELETE)) != 0) + if ((bp->bio_cmd & (BIO_READ|BIO_WRITE|BIO_DELETE|BIO_FLUSH)) != 0) devstat_end_transaction_bio_bt(sc->dp->d_devstat, bp, &now); bp2->bio_inbed++; if (bp2->bio_children == bp2->bio_inbed) { @@ -244,7 +244,7 @@ bp->bio_completed = bp->bio_length - bp->bio_resid; bp->bio_done = (void *)bp->bio_to; bp->bio_to = LIST_FIRST(&bp->bio_disk->d_geom->provider); - if ((bp->bio_cmd & (BIO_READ|BIO_WRITE|BIO_DELETE)) != 0) { + if ((bp->bio_cmd & (BIO_READ|BIO_WRITE|BIO_DELETE|BIO_FLUSH)) != 0) { binuptime(&now); sc = bp->bio_to->private; mtx_lock(&sc->done_mtx); @@ -418,6 +418,9 @@ bp->bio_disk = dp; bp->bio_to = (void *)bp->bio_done; bp->bio_done = g_disk_done_single; + mtx_lock(&sc->start_mtx); + devstat_start_transaction_bio(dp->d_devstat, bp); + mtx_unlock(&sc->start_mtx); dp->d_strategy(bp); break; default:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201405172245.s4HMjZ2v037394>