Date: Sun, 12 Apr 2015 22:54:05 +0000 (UTC) From: Garrett Cooper <ngie@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r281477 - in user/ngie/more-tests: lib/libc/sys sys/arm/amlogic/aml8726 sys/arm/conf sys/arm/freescale/vybrid sys/arm/qemu sys/arm/samsung/exynos sys/arm/samsung/s3c2xx0 sys/boot/efi/lo... Message-ID: <201504122254.t3CMs51W067272@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: ngie Date: Sun Apr 12 22:54:04 2015 New Revision: 281477 URL: https://svnweb.freebsd.org/changeset/base/281477 Log: MFhead @ r281476 Added: user/ngie/more-tests/sys/arm/conf/VIRT - copied unchanged from r281476, head/sys/arm/conf/VIRT user/ngie/more-tests/sys/arm/qemu/ - copied from r281476, head/sys/arm/qemu/ user/ngie/more-tests/sys/dev/psci/ - copied from r281476, head/sys/dev/psci/ Modified: user/ngie/more-tests/lib/libc/sys/mount.2 user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_clkmsr.c user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_i2c.c user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_identsoc.c user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_machdep.c user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_mmc.c user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_soc.h user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_timer.c user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_wdt.c user/ngie/more-tests/sys/arm/amlogic/aml8726/uart_dev_aml8726.c user/ngie/more-tests/sys/arm/freescale/vybrid/vf_uart.c user/ngie/more-tests/sys/arm/samsung/exynos/exynos_uart.c user/ngie/more-tests/sys/arm/samsung/s3c2xx0/uart_dev_s3c2410.c user/ngie/more-tests/sys/boot/efi/loader/Makefile user/ngie/more-tests/sys/boot/efi/loader/arch/amd64/Makefile.inc user/ngie/more-tests/sys/boot/efi/loader/arch/arm/Makefile.inc user/ngie/more-tests/sys/boot/efi/loader/arch/arm/ldscript.arm user/ngie/more-tests/sys/boot/efi/loader/arch/i386/Makefile.inc user/ngie/more-tests/sys/boot/fdt/dts/arm/odroidc1.dts user/ngie/more-tests/sys/boot/fdt/dts/arm/vsatv102-m6.dts user/ngie/more-tests/sys/compat/svr4/svr4_stream.c user/ngie/more-tests/sys/conf/files.arm user/ngie/more-tests/sys/dev/acpica/acpivar.h user/ngie/more-tests/sys/dev/atkbdc/psm.c user/ngie/more-tests/sys/dev/streams/streams.c user/ngie/more-tests/sys/dev/uart/uart_bus.h user/ngie/more-tests/sys/dev/uart/uart_bus_fdt.c user/ngie/more-tests/sys/dev/uart/uart_core.c user/ngie/more-tests/sys/dev/uart/uart_cpu.h user/ngie/more-tests/sys/dev/uart/uart_cpu_fdt.c user/ngie/more-tests/sys/dev/uart/uart_dev_imx.c user/ngie/more-tests/sys/dev/uart/uart_dev_lpc.c user/ngie/more-tests/sys/dev/uart/uart_dev_msm.c user/ngie/more-tests/sys/dev/uart/uart_dev_ns8250.c user/ngie/more-tests/sys/dev/uart/uart_dev_pl011.c user/ngie/more-tests/sys/dev/uart/uart_dev_quicc.c user/ngie/more-tests/sys/dev/uart/uart_dev_sab82532.c user/ngie/more-tests/sys/dev/uart/uart_dev_ti8250.c user/ngie/more-tests/sys/dev/uart/uart_dev_z8530.c user/ngie/more-tests/sys/kern/kern_descrip.c user/ngie/more-tests/sys/kern/kern_fork.c user/ngie/more-tests/sys/kern/sys_pipe.c user/ngie/more-tests/sys/kern/tty_pts.c user/ngie/more-tests/sys/kern/uipc_mqueue.c user/ngie/more-tests/sys/kern/uipc_sem.c user/ngie/more-tests/sys/kern/uipc_shm.c user/ngie/more-tests/sys/kern/uipc_syscalls.c user/ngie/more-tests/sys/mips/adm5120/uart_dev_adm5120.c user/ngie/more-tests/sys/mips/atheros/uart_dev_ar933x.c user/ngie/more-tests/sys/mips/cavium/uart_dev_oct16550.c user/ngie/more-tests/sys/mips/conf/CARAMBOLA2.hints user/ngie/more-tests/sys/mips/rt305x/uart_dev_rt305x.c user/ngie/more-tests/sys/netinet/sctp_syscalls.c user/ngie/more-tests/sys/ofed/include/linux/file.h user/ngie/more-tests/sys/sparc64/pci/sbbc.c user/ngie/more-tests/sys/sys/cdefs.h user/ngie/more-tests/sys/sys/filedesc.h user/ngie/more-tests/sys/sys/module.h user/ngie/more-tests/sys/sys/mouse.h user/ngie/more-tests/sys/sys/socketvar.h user/ngie/more-tests/sys/vm/uma_core.c user/ngie/more-tests/sys/vm/uma_int.h user/ngie/more-tests/sys/vm/vm_reserv.c user/ngie/more-tests/sys/x86/acpica/OsdEnvironment.c user/ngie/more-tests/usr.bin/iscsictl/Makefile user/ngie/more-tests/usr.bin/iscsictl/iscsictl.c user/ngie/more-tests/usr.bin/iscsictl/parse.y user/ngie/more-tests/usr.bin/iscsictl/periphs.c user/ngie/more-tests/usr.sbin/bluetooth/hccontrol/hccontrol.c user/ngie/more-tests/usr.sbin/bluetooth/hccontrol/util.c Directory Properties: user/ngie/more-tests/ (props changed) user/ngie/more-tests/lib/libc/ (props changed) user/ngie/more-tests/sys/ (props changed) user/ngie/more-tests/sys/boot/ (props changed) user/ngie/more-tests/sys/conf/ (props changed) Modified: user/ngie/more-tests/lib/libc/sys/mount.2 ============================================================================== --- user/ngie/more-tests/lib/libc/sys/mount.2 Sun Apr 12 22:44:47 2015 (r281476) +++ user/ngie/more-tests/lib/libc/sys/mount.2 Sun Apr 12 22:54:04 2015 (r281477) @@ -28,7 +28,7 @@ .\" @(#)mount.2 8.3 (Berkeley) 5/24/95 .\" $FreeBSD$ .\" -.Dd January 26, 2010 +.Dd April 13, 2015 .Dt MOUNT 2 .Os .Sh NAME @@ -351,11 +351,6 @@ The argument points outside the process's allocated address space. .El -.Pp -A -.Em ufs -mount can also fail if the maximum number of file systems are currently -mounted. .Sh SEE ALSO .Xr lsvfs 1 , .Xr mksnap_ffs 8 , Modified: user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_clkmsr.c ============================================================================== --- user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_clkmsr.c Sun Apr 12 22:44:47 2015 (r281476) +++ user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_clkmsr.c Sun Apr 12 22:54:04 2015 (r281477) @@ -56,6 +56,7 @@ __FBSDID("$FreeBSD$"); #include <dev/ofw/ofw_bus.h> #include <dev/ofw/ofw_bus_subr.h> +#include <arm/amlogic/aml8726/aml8726_soc.h> #include <arm/amlogic/aml8726/aml8726_clkmsr.h> @@ -147,6 +148,30 @@ aml8726_clkmsr_clock_frequency(struct am return value; } +static void +aml8726_clkmsr_fixup_clk81(struct aml8726_clkmsr_softc *sc, int freq) +{ + pcell_t prop; + ssize_t len; + phandle_t clk_node; + phandle_t node; + + node = ofw_bus_get_node(sc->dev); + + len = OF_getencprop(node, "clocks", &prop, sizeof(prop)); + if ((len / sizeof(prop)) != 1 || prop == 0 || + (clk_node = OF_node_from_xref(prop)) == 0) + return; + + len = OF_getencprop(clk_node, "clock-frequency", &prop, sizeof(prop)); + if ((len / sizeof(prop)) != 1 || prop != 0) + return; + + freq = cpu_to_fdt32(freq); + + OF_setprop(clk_node, "clock-frequency", (void *)&freq, sizeof(freq)); +} + static int aml8726_clkmsr_probe(device_t dev) { @@ -178,6 +203,8 @@ aml8726_clkmsr_attach(device_t dev) freq = aml8726_clkmsr_clock_frequency(sc, AML_CLKMSR_CLK81); device_printf(sc->dev, "bus clock %u MHz\n", freq); + aml8726_clkmsr_fixup_clk81(sc, freq * 1000000); + return (0); } @@ -209,8 +236,8 @@ static driver_t aml8726_clkmsr_driver = static devclass_t aml8726_clkmsr_devclass; -DRIVER_MODULE(clkmsr, simplebus, aml8726_clkmsr_driver, - aml8726_clkmsr_devclass, 0, 0); +EARLY_DRIVER_MODULE(clkmsr, simplebus, aml8726_clkmsr_driver, + aml8726_clkmsr_devclass, 0, 0, BUS_PASS_CPU + BUS_PASS_ORDER_EARLY); int aml8726_clkmsr_bus_frequency() @@ -222,6 +249,9 @@ aml8726_clkmsr_bus_frequency() u_long start, size; int freq; + KASSERT(aml8726_soc_hw_rev != AML_SOC_HW_REV_UNKNOWN, + ("aml8726_soc_hw_rev isn't initialized")); + /* * Try to access the clkmsr node directly i.e. through /aliases/. */ Modified: user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_i2c.c ============================================================================== --- user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_i2c.c Sun Apr 12 22:44:47 2015 (r281476) +++ user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_i2c.c Sun Apr 12 22:54:04 2015 (r281477) @@ -93,7 +93,7 @@ aml8726_iic_probe(device_t dev) if (!ofw_bus_status_okay(dev)) return (ENXIO); - if (!ofw_bus_is_compatible(dev, "amlogic,aml8726-i2c")) + if (!ofw_bus_is_compatible(dev, "amlogic,meson6-i2c")) return (ENXIO); device_set_desc(dev, "Amlogic aml8726 I2C"); Modified: user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_identsoc.c ============================================================================== --- user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_identsoc.c Sun Apr 12 22:44:47 2015 (r281476) +++ user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_identsoc.c Sun Apr 12 22:54:04 2015 (r281477) @@ -59,8 +59,8 @@ __FBSDID("$FreeBSD$"); #include <arm/amlogic/aml8726/aml8726_soc.h> -uint32_t aml8726_soc_hw_rev = 0xffffffff; -uint32_t aml8726_soc_metal_rev = 0xffffffff; +uint32_t aml8726_soc_hw_rev = AML_SOC_HW_REV_UNKNOWN; +uint32_t aml8726_soc_metal_rev = AML_SOC_METAL_REV_UNKNOWN; static const struct { uint32_t hw_rev; @@ -86,11 +86,10 @@ static const struct { { 0xff, NULL } }; -static void -aml8726_identify_soc(void *dummy) +void +aml8726_identify_soc() { int err; - int i; struct resource res; memset(&res, 0, sizeof(res)); @@ -108,6 +107,12 @@ aml8726_identify_soc(void *dummy) aml8726_soc_metal_rev = bus_read_4(&res, AML_SOC_METAL_REV_REG); bus_space_unmap(res.r_bustag, res.r_bushandle, 0x100000); +} + +static void +aml8726_identify_announce_soc(void *dummy) +{ + int i; for (i = 0; aml8726_soc_desc[i].desc; i++) if (aml8726_soc_desc[i].hw_rev == aml8726_soc_hw_rev) @@ -133,5 +138,5 @@ aml8726_identify_soc(void *dummy) printf("\n"); } -SYSINIT(aml8726_identify_soc, SI_SUB_CPU, SI_ORDER_SECOND, - aml8726_identify_soc, NULL); +SYSINIT(aml8726_identify_announce_soc, SI_SUB_CPU, SI_ORDER_SECOND, + aml8726_identify_announce_soc, NULL); Modified: user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_machdep.c ============================================================================== --- user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_machdep.c Sun Apr 12 22:44:47 2015 (r281476) +++ user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_machdep.c Sun Apr 12 22:54:04 2015 (r281477) @@ -44,6 +44,7 @@ __FBSDID("$FreeBSD$"); #include <dev/fdt/fdt_common.h> +#include <arm/amlogic/aml8726/aml8726_soc.h> #include <arm/amlogic/aml8726/aml8726_clkmsr.h> #if defined(SOCDEV_PA) && defined(SOCDEV_VA) @@ -55,12 +56,12 @@ vm_offset_t aml8726_aobus_kva_base; static void aml8726_fixup_busfreq() { - phandle_t node, child; + phandle_t node; pcell_t freq, prop; ssize_t len; /* - * Set the bus-frequency for any top level SoC simple-bus which + * Set the bus-frequency for the SoC simple-bus if it * needs updating (meaning the current frequency is zero). */ @@ -74,16 +75,6 @@ aml8726_fixup_busfreq() len = OF_getencprop(node, "bus-frequency", &prop, sizeof(prop)); if ((len / sizeof(prop)) == 1 && prop == 0) OF_setprop(node, "bus-frequency", (void *)&freq, sizeof(freq)); - - for (child = OF_child(node); child != 0; child = OF_peer(child)) { - if (fdt_is_compatible_strict(child, "simple-bus")) { - len = OF_getencprop(child, "bus-frequency", - &prop, sizeof(prop)); - if ((len / sizeof(prop)) == 1 && prop == 0) - OF_setprop(child, "bus-frequency", - (void *)&freq, sizeof(freq)); - } - } } vm_offset_t @@ -116,6 +107,13 @@ platform_gpio_init(void) (vm_offset_t)arm_devmap_ptov(0xc8100000, 0x100000); /* + * The hardware mux used by clkmsr is unique to the SoC (though + * currently clk81 is at a fixed location, however that might + * change in the future). + */ + aml8726_identify_soc(); + + /* * This FDT fixup should arguably be called through fdt_fixup_table, * however currently there's no mechanism to specify a fixup which * should always be invoked. @@ -179,13 +177,13 @@ fdt_pic_decode_ic(phandle_t node, pcell_ * multi core chips also have a GIC. */ #ifdef SMP - if (!fdt_is_compatible_strict(node, "arm,gic")) + if (!fdt_is_compatible_strict(node, "arm,cortex-a9-gic")) #else if (!fdt_is_compatible_strict(node, "amlogic,aml8726-pic")) #endif return (ENXIO); - *interrupt = fdt32_to_cpu(intr[0]); + *interrupt = fdt32_to_cpu(intr[1]); *trig = INTR_TRIGGER_EDGE; *pol = INTR_POLARITY_HIGH; Modified: user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_mmc.c ============================================================================== --- user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_mmc.c Sun Apr 12 22:44:47 2015 (r281476) +++ user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_mmc.c Sun Apr 12 22:54:04 2015 (r281477) @@ -107,6 +107,25 @@ static struct resource_spec aml8726_mmc_ #define PWR_OFF_FLAG(pol) ((pol) == 0 ? GPIO_PIN_HIGH : \ GPIO_PIN_LOW) +static unsigned int +aml8726_mmc_clk(phandle_t node) +{ + pcell_t prop; + ssize_t len; + phandle_t clk_node; + + len = OF_getencprop(node, "clocks", &prop, sizeof(prop)); + if ((len / sizeof(prop)) != 1 || prop == 0 || + (clk_node = OF_node_from_xref(prop)) == 0) + return (0); + + len = OF_getencprop(clk_node, "clock-frequency", &prop, sizeof(prop)); + if ((len / sizeof(prop)) != 1 || prop == 0) + return (0); + + return ((unsigned int)prop); +} + static void aml8726_mmc_mapmem(void *arg, bus_dma_segment_t *segs, int nseg, int error) { @@ -502,15 +521,13 @@ aml8726_mmc_attach(device_t dev) node = ofw_bus_get_node(dev); - len = OF_getencprop(OF_parent(node), "bus-frequency", - prop, sizeof(prop)); - if ((len / sizeof(prop[0])) != 1 || prop[0] == 0) { - device_printf(dev, "missing bus-frequency attribute in FDT\n"); + sc->ref_freq = aml8726_mmc_clk(node); + + if (sc->ref_freq == 0) { + device_printf(dev, "missing clocks attribute in FDT\n"); return (ENXIO); } - sc->ref_freq = prop[0]; - /* * The pins must be specified as part of the device in order * to know which port to used. Modified: user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_soc.h ============================================================================== --- user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_soc.h Sun Apr 12 22:44:47 2015 (r281476) +++ user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_soc.h Sun Apr 12 22:54:04 2015 (r281477) @@ -32,8 +32,11 @@ #define AML_SOC_AOBUS_BASE_ADDR 0xc8100000 #define AML_SOC_CBUS_BASE_ADDR 0xc1100000 +void aml8726_identify_soc(void); + /* cbus */ #define AML_SOC_HW_REV_REG 0x7d4c +#define AML_SOC_HW_REV_UNKNOWN 0xffffffff #define AML_SOC_HW_REV_M3 0x15 #define AML_SOC_HW_REV_M6 0x16 #define AML_SOC_HW_REV_M6TV 0x17 @@ -42,6 +45,7 @@ #define AML_SOC_HW_REV_M8B 0x1b #define AML_SOC_METAL_REV_REG 0x81a8 +#define AML_SOC_METAL_REV_UNKNOWN 0xffffffff #define AML_SOC_M8_METAL_REV_A 0x11111111 #define AML_SOC_M8_METAL_REV_M2_A 0x11111112 #define AML_SOC_M8_METAL_REV_B 0x11111113 Modified: user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_timer.c ============================================================================== --- user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_timer.c Sun Apr 12 22:44:47 2015 (r281476) +++ user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_timer.c Sun Apr 12 22:54:04 2015 (r281477) @@ -226,7 +226,7 @@ aml8726_timer_probe(device_t dev) if (!ofw_bus_status_okay(dev)) return (ENXIO); - if (!ofw_bus_is_compatible(dev, "amlogic,aml8726-timer")) + if (!ofw_bus_is_compatible(dev, "amlogic,meson6-timer")) return (ENXIO); device_set_desc(dev, "Amlogic aml8726 timer"); Modified: user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_wdt.c ============================================================================== --- user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_wdt.c Sun Apr 12 22:44:47 2015 (r281476) +++ user/ngie/more-tests/sys/arm/amlogic/aml8726/aml8726_wdt.c Sun Apr 12 22:54:04 2015 (r281477) @@ -167,7 +167,7 @@ aml8726_wdt_probe(device_t dev) if (!ofw_bus_status_okay(dev)) return (ENXIO); - if (!ofw_bus_is_compatible(dev, "amlogic,aml8726-wdt")) + if (!ofw_bus_is_compatible(dev, "amlogic,meson6-wdt")) return (ENXIO); device_set_desc(dev, "Amlogic aml8726 WDT"); Modified: user/ngie/more-tests/sys/arm/amlogic/aml8726/uart_dev_aml8726.c ============================================================================== --- user/ngie/more-tests/sys/arm/amlogic/aml8726/uart_dev_aml8726.c Sun Apr 12 22:44:47 2015 (r281476) +++ user/ngie/more-tests/sys/arm/amlogic/aml8726/uart_dev_aml8726.c Sun Apr 12 22:54:04 2015 (r281477) @@ -48,6 +48,10 @@ __FBSDID("$FreeBSD$"); #include <machine/bus.h> #include <machine/cpu.h> +#include <dev/fdt/fdt_common.h> +#include <dev/ofw/ofw_bus.h> +#include <dev/ofw/ofw_bus_subr.h> + #include <dev/uart/uart.h> #include <dev/uart/uart_cpu.h> #include <dev/uart/uart_cpu_fdt.h> @@ -262,6 +266,25 @@ struct uart_ops aml8726_uart_ops = { .getc = aml8726_uart_getc, }; +static unsigned int +aml8726_uart_bus_clk(phandle_t node) +{ + pcell_t prop; + ssize_t len; + phandle_t clk_node; + + len = OF_getencprop(node, "clocks", &prop, sizeof(prop)); + if ((len / sizeof(prop)) != 1 || prop == 0 || + (clk_node = OF_node_from_xref(prop)) == 0) + return (0); + + len = OF_getencprop(clk_node, "clock-frequency", &prop, sizeof(prop)); + if ((len / sizeof(prop)) != 1 || prop == 0) + return (0); + + return ((unsigned int)prop); +} + static int aml8726_uart_bus_probe(struct uart_softc *sc) { @@ -330,8 +353,10 @@ aml8726_uart_bus_attach(struct uart_soft bas = &sc->sc_bas; + bas->rclk = aml8726_uart_bus_clk(ofw_bus_get_node(sc->sc_dev)); + if (bas->rclk == 0) { - device_printf(sc->sc_dev, "missing clock attribute in FDT\n"); + device_printf(sc->sc_dev, "missing clocks attribute in FDT\n"); return (ENXIO); } @@ -699,11 +724,12 @@ struct uart_class uart_aml8726_class = { sizeof(struct uart_softc), .uc_ops = &aml8726_uart_ops, .uc_range = 24, - .uc_rclk = 0 + .uc_rclk = 0, + .uc_rshift = 0 }; static struct ofw_compat_data compat_data[] = { - { "amlogic,aml8726-uart", (uintptr_t)&uart_aml8726_class }, + { "amlogic,meson-uart", (uintptr_t)&uart_aml8726_class }, { NULL, (uintptr_t)NULL } }; UART_FDT_CLASS_AND_DEVICE(compat_data); Copied: user/ngie/more-tests/sys/arm/conf/VIRT (from r281476, head/sys/arm/conf/VIRT) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/more-tests/sys/arm/conf/VIRT Sun Apr 12 22:54:04 2015 (r281477, copy of r281476, head/sys/arm/conf/VIRT) @@ -0,0 +1,97 @@ +# +# VIRT -- Custom configuration for the qemu virt platform +# +# For more information on this file, please read the config(5) manual page, +# and/or the handbook section on Kernel Configuration Files: +# +# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ../../conf/NOTES and NOTES files. +# If you are in doubt as to the purpose or necessity of a line, check first +# in NOTES. +# +# $FreeBSD$ + +ident VIRT + +include "../qemu/std.virt" + +options HZ=100 +options SCHED_4BSD # 4BSD scheduler +options PREEMPTION # Enable kernel thread preemption +options INET # InterNETworking +options INET6 # IPv6 communications protocols +options SCTP # Stream Control Transmission Protocol +options FFS # Berkeley Fast Filesystem +options SOFTUPDATES # Enable FFS soft updates support +options UFS_ACL # Support for access control lists +options UFS_DIRHASH # Improve performance on big directories +options UFS_GJOURNAL # Enable gjournal-based UFS journaling +options QUOTA # Enable disk quotas for UFS +options NFSCL # Network Filesystem Client +options NFSLOCKD # Network Lock Manager +options NFS_ROOT # NFS usable as /, requires NFSCL +options MSDOSFS # MSDOS Filesystem +options CD9660 # ISO 9660 Filesystem +options PROCFS # Process filesystem (requires PSEUDOFS) +options PSEUDOFS # Pseudo-filesystem framework +options TMPFS # Efficient memory filesystem +options GEOM_PART_GPT # GUID Partition Tables +options GEOM_PART_BSD # BSD partition scheme +options GEOM_PART_MBR # MBR partition scheme +options GEOM_LABEL # Provides labelization +options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!] +options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI +options KTRACE # ktrace(1) support +options SYSVSHM # SYSV-style shared memory +options SYSVMSG # SYSV-style message queues +options SYSVSEM # SYSV-style semaphores +options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions +options KBD_INSTALL_CDEV # install a CDEV entry in /dev +options PLATFORM +options FREEBSD_BOOT_LOADER # Process metadata passed from loader(8) +options VFP # Enable floating point hardware support +options ARM_NEW_PMAP # Enable the new v6 pmap + +# Debugging for use in -current +makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols +options BREAK_TO_DEBUGGER +options ALT_BREAK_TO_DEBUGGER +#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 +# 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 WITNESS # Enable checks to detect deadlocks and cycles +#options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed +#options DIAGNOSTIC + +device bpf +device loop +device ether +device uart +device pty +device snp +device pl011 +device psci + +device virtio +device virtio_mmio +device virtio_blk +device vtnet + +device md +device random # Entropy device + +# Flattened Device Tree +options FDT # Configure using FDT/DTB data + Modified: user/ngie/more-tests/sys/arm/freescale/vybrid/vf_uart.c ============================================================================== --- user/ngie/more-tests/sys/arm/freescale/vybrid/vf_uart.c Sun Apr 12 22:44:47 2015 (r281476) +++ user/ngie/more-tests/sys/arm/freescale/vybrid/vf_uart.c Sun Apr 12 22:54:04 2015 (r281477) @@ -276,7 +276,8 @@ static struct uart_class uart_vybrid_cla sizeof(struct vf_uart_softc), .uc_ops = &uart_vybrid_ops, .uc_range = 0x100, - .uc_rclk = 24000000 /* TODO: get value from CCM */ + .uc_rclk = 24000000, /* TODO: get value from CCM */ + .uc_rshift = 0 }; static struct ofw_compat_data compat_data[] = { Modified: user/ngie/more-tests/sys/arm/samsung/exynos/exynos_uart.c ============================================================================== --- user/ngie/more-tests/sys/arm/samsung/exynos/exynos_uart.c Sun Apr 12 22:44:47 2015 (r281476) +++ user/ngie/more-tests/sys/arm/samsung/exynos/exynos_uart.c Sun Apr 12 22:54:04 2015 (r281477) @@ -380,6 +380,7 @@ static struct uart_class uart_exynos4210 .uc_ops = &uart_exynos4210_ops, .uc_range = 8, .uc_rclk = 0, + .uc_rshift = 0 }; static struct ofw_compat_data compat_data[] = { Modified: user/ngie/more-tests/sys/arm/samsung/s3c2xx0/uart_dev_s3c2410.c ============================================================================== --- user/ngie/more-tests/sys/arm/samsung/s3c2xx0/uart_dev_s3c2410.c Sun Apr 12 22:44:47 2015 (r281476) +++ user/ngie/more-tests/sys/arm/samsung/s3c2xx0/uart_dev_s3c2410.c Sun Apr 12 22:54:04 2015 (r281477) @@ -402,4 +402,5 @@ struct uart_class uart_s3c2410_class = { .uc_ops = &uart_s3c2410_ops, .uc_range = 8, .uc_rclk = 0, + .uc_rshift = 0 }; Modified: user/ngie/more-tests/sys/boot/efi/loader/Makefile ============================================================================== --- user/ngie/more-tests/sys/boot/efi/loader/Makefile Sun Apr 12 22:44:47 2015 (r281476) +++ user/ngie/more-tests/sys/boot/efi/loader/Makefile Sun Apr 12 22:54:04 2015 (r281477) @@ -20,6 +20,7 @@ SRCS= autoload.c \ copy.c \ devicename.c \ main.c \ + reloc.c \ smbios.c \ vers.c @@ -28,7 +29,6 @@ SRCS= autoload.c \ .PATH: ${.CURDIR}/../../i386/libi386 .include "${.CURDIR}/arch/${MACHINE_CPUARCH}/Makefile.inc" -CFLAGS+= -fPIC CFLAGS+= -I${.CURDIR} CFLAGS+= -I${.CURDIR}/arch/${MACHINE_CPUARCH} CFLAGS+= -I${.CURDIR}/../include @@ -71,7 +71,7 @@ FILES= loader.efi FILESMODE_loader.efi= ${BINMODE} LDSCRIPT= ${.CURDIR}/arch/${MACHINE_CPUARCH}/ldscript.${MACHINE_CPUARCH} -LDFLAGS= -Wl,-T${LDSCRIPT} -Wl,-Bsymbolic -shared -Wl,-znocombreloc +LDFLAGS+= -Wl,-T${LDSCRIPT} -Wl,-Bsymbolic -shared CLEANFILES= vers.c loader.efi Modified: user/ngie/more-tests/sys/boot/efi/loader/arch/amd64/Makefile.inc ============================================================================== --- user/ngie/more-tests/sys/boot/efi/loader/arch/amd64/Makefile.inc Sun Apr 12 22:44:47 2015 (r281476) +++ user/ngie/more-tests/sys/boot/efi/loader/arch/amd64/Makefile.inc Sun Apr 12 22:54:04 2015 (r281477) @@ -3,9 +3,11 @@ SRCS+= amd64_tramp.S \ start.S \ framebuffer.c \ - elf64_freebsd.c \ - reloc.c + elf64_freebsd.c .PATH: ${.CURDIR}/../../i386/libi386 SRCS+= nullconsole.c \ comconsole.c + +CFLAGS+= -fPIC +LDFLAGS+= -Wl,-znocombreloc Modified: user/ngie/more-tests/sys/boot/efi/loader/arch/arm/Makefile.inc ============================================================================== --- user/ngie/more-tests/sys/boot/efi/loader/arch/arm/Makefile.inc Sun Apr 12 22:44:47 2015 (r281476) +++ user/ngie/more-tests/sys/boot/efi/loader/arch/arm/Makefile.inc Sun Apr 12 22:54:04 2015 (r281477) @@ -1,5 +1,6 @@ # $FreeBSD$ SRCS+= exec.c \ - start.S \ - reloc.c + start.S + +LOADER_FDT_SUPPORT=yes Modified: user/ngie/more-tests/sys/boot/efi/loader/arch/arm/ldscript.arm ============================================================================== --- user/ngie/more-tests/sys/boot/efi/loader/arch/arm/ldscript.arm Sun Apr 12 22:44:47 2015 (r281476) +++ user/ngie/more-tests/sys/boot/efi/loader/arch/arm/ldscript.arm Sun Apr 12 22:54:04 2015 (r281477) @@ -8,10 +8,8 @@ SECTIONS /* Read-only sections, merged into text segment: */ . = 0; ImageBase = .; - .peheader : { - *(.peheader) - } .text : { + *(.peheader) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) @@ -22,65 +20,43 @@ SECTIONS . = ALIGN(4096); .data : { - *(.data) + *(.data *.data.*) *(.gnu.linkonce.d*) *(.rodata) *(.rodata.*) CONSTRUCTORS + + PROVIDE (__bss_start = .); + *(.sbss) + *(.scommon) + *(.dynsbss) + *(.dynbss) + *(.bss) + *(COMMON) + PROVIDE (__bss_end = .); } - .data1 : { *(.data1) } - .got1 : { *(.got1) } - .dynamic : { *(.dynamic) } - /* Put .ctors and .dtors next to the .got2 section, so that the pointers - get relocated with -mrelocatable. Also put in the .fixup pointers. - The current compiler no longer needs this, but keep it around for 2.7.2 */ - PROVIDE (_GOT2_START_ = .); - .got2 : { *(.got2) } - PROVIDE (__CTOR_LIST__ = .); - .ctors : { *(.ctors) } - PROVIDE (__CTOR_END__ = .); - PROVIDE (__DTOR_LIST__ = .); - .dtors : { *(.dtors) } - PROVIDE (__DTOR_END__ = .); - PROVIDE (_FIXUP_START_ = .); - .fixup : { *(.fixup) } - PROVIDE (_FIXUP_END_ = .); - PROVIDE (_GOT2_END_ = .); - PROVIDE (_GOT_START_ = .); - .got : { *(.got) } - .got.plt : { *(.got.plt) } - PROVIDE (_GOT_END_ = .); /* We want the small data sections together, so single-instruction offsets can access them all, and initialized data all before uninitialized, so we can shorten the on-disk segment size. */ - .sdata : { *(.sdata) } - _edata = .; - PROVIDE (edata = .); + .sdata : { + *(.got.plt .got) + *(.sdata*.sdata.* .gnu.linkonce.s.*) + } set_Xcommand_set : { __start_set_Xcommand_set = .; *(set_Xcommand_set) __stop_set_Xcommand_set = .; } __gp = .; - PROVIDE (__bss_start = .); - .sbss : - { - *(.sbss) - *(.scommon) - *(.dynsbss) - } - .bss : - { - *(.dynbss) - *(.bss) - *(COMMON) - } - PROVIDE (__bss_end = .); .plt : { *(.plt) } .dynamic : { *(.dynamic) } .reloc : { *(.reloc) } - .hash : { *(.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } + .rel.dyn : { + *(.rel.*) + *(.relset_*) + } _edata = .; + .hash : { *(.hash) } } Modified: user/ngie/more-tests/sys/boot/efi/loader/arch/i386/Makefile.inc ============================================================================== --- user/ngie/more-tests/sys/boot/efi/loader/arch/i386/Makefile.inc Sun Apr 12 22:44:47 2015 (r281476) +++ user/ngie/more-tests/sys/boot/efi/loader/arch/i386/Makefile.inc Sun Apr 12 22:54:04 2015 (r281477) @@ -3,9 +3,11 @@ SRCS+= start.S \ efimd.c \ elf32_freebsd.c \ - exec.c \ - reloc.c + exec.c .PATH: ${.CURDIR}/../../i386/libi386 SRCS+= nullconsole.c \ comconsole.c + +CFLAGS+= -fPIC +LDFLAGS+= -Wl,-znocombreloc Modified: user/ngie/more-tests/sys/boot/fdt/dts/arm/odroidc1.dts ============================================================================== --- user/ngie/more-tests/sys/boot/fdt/dts/arm/odroidc1.dts Sun Apr 12 22:44:47 2015 (r281476) +++ user/ngie/more-tests/sys/boot/fdt/dts/arm/odroidc1.dts Sun Apr 12 22:54:04 2015 (r281477) @@ -39,6 +39,8 @@ /memreserve/ 0x7900000 0x00600000; /* 6MB frame buffer */ +#include "meson8b.dtsi" + / { model = "hardkernel,odroid-c1"; compatible = "hardkernel,odroid-c1", "amlogic,s805"; @@ -46,41 +48,10 @@ #address-cells = <1>; #size-cells = <1>; - interrupt-parent = <&gic>; - aliases { soc = &soc; screen = &screen; - uart0 = &uart0; - }; - - cpus { - #address-cells = <1>; - #size-cells = <0>; - - cpu@0 { - device_type = "cpu"; - compatible = "arm,cortex-a5"; - reg = <0x0>; - }; - - cpu@1 { - device_type = "cpu"; - compatible = "arm,cortex-a5"; - reg = <0x1>; - }; - - cpu@2 { - device_type = "cpu"; - compatible = "arm,cortex-a5"; - reg = <0x2>; - }; - - cpu@3 { - device_type = "cpu"; - compatible = "arm,cortex-a5"; - reg = <0x3>; - }; + uart0 = &uart_AO; }; memory { @@ -88,60 +59,37 @@ reg = <0x0 0x40000000>; /* 1GB RAM */ }; - soc: soc@c0000000 { + soc: soc { device_type = "soc"; - compatible = "simple-bus"; bus-frequency = <0>; - #address-cells = <1>; - #size-cells = <1>; - - ranges = <0x0 0xc0000000 0x1a100000>; - - gic: gic@4301000 { - device_type = "interrupt-controller"; - compatible = "arm,gic"; - reg = <0x4301000 0x1000>, // distributer registers - <0x4300100 0x0100>; // CPU if registers - - interrupt-controller; - #interrupt-cells = <1>; - }; - - scu: scu@4300000 { + scu: scu@c4300000 { compatible = "arm,cortex-a5-scu"; - reg = <0x4300000 0x1000>; + reg = <0xc4300000 0x1000>; }; - cpuconfig: cpuconfig@1901ff80 { + cpuconfig: cpuconfig@d901ff80 { compatible = "amlogic,aml8726-cpuconfig"; - reg = <0x1901ff80 16>; + reg = <0xd901ff80 16>; }; - pl310@4200000 { - compatible = "arm,pl310"; - reg = <0x4200000 0x1000>; - interrupts = <61>; - interrupt-parent = <&gic>; - }; - - ccm@1104140 { + ccm@c1104140 { compatible = "amlogic,aml8726-ccm"; - reg = <0x1104140 20>; /* cbus 0x1050 */ + reg = <0xc1104140 20>; /* cbus 0x1050 */ functions = "ethernet", "i2c", "rng", "sdio", "sdxc", "uart-a", "uart-b", "uart-c", "usb-a", "usb-b"; }; - pinctrl@11080b0 { + pinctrl@c11080b0 { compatible = "amlogic,aml8726-pinctrl"; - reg = <0x11080b0 40>, /* mux */ - <0x11080e8 24>, /* pu/pd */ - <0x1108120 24>, /* pull enable */ - <0x8100014 4>, /* ao mux */ - <0x810002c 4>, /* ao pu/pd */ - <0x810002c 4>; /* ao pull enable */ + reg = <0xc11080b0 40>, /* mux */ + <0xc11080e8 24>, /* pu/pd */ + <0xc1108120 24>, /* pull enable */ + <0xc8100014 4>, /* ao mux */ + <0xc810002c 4>, /* ao pu/pd */ + <0xc810002c 4>; /* ao pull enable */ /* * Currently only pin muxing that deviates @@ -242,24 +190,10 @@ }; }; - watchdog@1109900 { - compatible = "amlogic,aml8726-wdt"; - reg = <0x1109900 8>; /* cbus 0x2640 */ - interrupts = <0>; - interrupt-parent = <&gic>; - }; - - timer@1109940 { - compatible = "amlogic,aml8726-timer"; - reg = <0x1109940 24>; /* cbus 0x2650 */ - interrupts = <10 11 6 29>; - interrupt-parent = <&gic>; - }; - - rtc@8100740 { + rtc@c8100740 { compatible = "amlogic,aml8726-rtc"; - reg = <0x8100740 20>; /* aobus 0x1d0 */ - interrupts = <72>; + reg = <0xc8100740 20>; /* aobus 0x1d0 */ + interrupts = <0 72 1>; interrupt-parent = <&gic>; init-always = "false"; @@ -267,62 +201,55 @@ gpo-init = <0x500000>; }; - clkmsr: clkmsr@1108758 { + clkmsr: clkmsr@c1108758 { compatible = "amlogic,aml8726-clkmsr"; - reg = <0x1108758 16>; /* cbus 0x21d6 */ - }; + reg = <0xc1108758 16>; /* cbus 0x21d6 */ - uart0: uart@81004c0 { - /* uart-ao */ - device_type = "serial"; - compatible = "amlogic,aml8726-uart"; - clock-frequency = <0>; - current-speed = <115200>; - reg = <0x81004c0 20>; /* aobus 0x130 */ - interrupts = <90>; - interrupt-parent = <&gic>; + clocks = <&clk81>; }; - gpioao: gpio@8100024 { + gpioao: gpio@c8100024 { /* gpio unit 7 */ compatible = "amlogic,aml8726-gpio"; - reg = <0x8100024 4>, /* oen aobus 0x9 */ - <0x8100024 4>, /* out */ - <0x8100028 4>; /* in */ + reg = <0xc8100024 4>, /* oen aobus 0x9 */ + <0xc8100024 4>, /* out */ + <0xc8100028 4>; /* in */ gpio-controller; #gpio-cells = <1>; pin-count = <14>; }; - gpio3: gpio@1108054 { + gpio3: gpio@c1108054 { compatible = "amlogic,aml8726-gpio"; - reg = <0x1108054 4>, /* oen cbus 0x2015 */ - <0x1108058 4>, /* out */ - <0x110805c 4>; /* in */ + reg = <0xc1108054 4>, /* oen cbus 0x2015 */ + <0xc1108058 4>, /* out */ + <0xc110805c 4>; /* in */ gpio-controller; #gpio-cells = <1>; pin-count = <32>; }; - gpio5: gpio@110806c { + gpio5: gpio@c110806c { compatible = "amlogic,aml8726-gpio"; - reg = <0x110806c 4>, /* oen cbus 0x201b */ - <0x1108070 4>, /* out */ - <0x1108074 4>; /* in */ + reg = <0xc110806c 4>, /* oen cbus 0x201b */ + <0xc1108070 4>, /* out */ + <0xc1108074 4>; /* in */ gpio-controller; #gpio-cells = <1>; pin-count = <32>; }; - mmc@1108c20 { + mmc@c1108c20 { compatible = "amlogic,aml8726-mmc"; - reg = <0x1108c20 32>; /* cbus 0x2308 */ - interrupts = <28>; + reg = <0xc1108c20 32>; /* cbus 0x2308 */ + interrupts = <0 28 1>; interrupt-parent = <&gic>; + clocks = <&clk81>; + pinctrl-names = "default"; pinctrl-0 = <&pins_sdio_b>; @@ -342,11 +269,11 @@ ins-detect = <&gpio5 29 0>; /* card_6 */ }; - sdxc@1108e00 { + sdxc@c1108e00 { compatible = "amlogic,aml8726-sdxc-m8"; clock-frequency = <1275000000>; - reg = <0x1108e00 60>; /* cbus 0x2380 */ - interrupts = <78>; + reg = <0xc1108e00 60>; /* cbus 0x2380 */ + interrupts = <0 78 1>; interrupt-parent = <&gic>; pinctrl-names = "default"; @@ -357,82 +284,33 @@ mmc-rst = <&gpio3 9 0>; /* boot_9 emmc-rst */ }; - rng@1108100 { + rng@c1108100 { compatible = "amlogic,aml8726-rng"; - reg = <0x1108100 8>; /* cbus 0x2040 */ + reg = <0xc1108100 8>; /* cbus 0x2040 */ }; - i2c@1108500 { - /* i2c-a */ - compatible = "amlogic,aml8726-i2c"; - reg = <0x1108500 32>; /* cbus 0x2140 */ - interrupts = <21>; - interrupt-parent = <&gic>; - }; - - i2c@11087c0 { - /* i2c-b */ - compatible = "amlogic,aml8726-i2c"; - reg = <0x11087c0 32>; /* cbus 0x21f0 */ - interrupts = <128>; - interrupt-parent = <&gic>; - }; - - uart@11084c0 { - /* uart-a */ - device_type = "serial"; - compatible = "amlogic,aml8726-uart"; - clock-frequency = <0>; - current-speed = <115200>; - reg = <0x11084c0 20>; /* cbus 0x2130 */ - interrupts = <26>; - interrupt-parent = <&gic>; - }; - - uart@11084dc { - /* uart-b */ - device_type = "serial"; - compatible = "amlogic,aml8726-uart"; - clock-frequency = <0>; - current-speed = <115200>; - reg = <0x11084dc 20>; /* cbus 0x2137 */ - interrupts = <75>; - interrupt-parent = <&gic>; - }; - - uart@1108700 { - /* uart-c */ - device_type = "serial"; - compatible = "amlogic,aml8726-uart"; - clock-frequency = <0>; - current-speed = <115200>; - reg = <0x1108700 20>; /* cbus 0x21c0 */ - interrupts = <93>; - interrupt-parent = <&gic>; - }; - - usb-phy@1108800 { + usb-phy@c1108800 { /* usb-a phy */ *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201504122254.t3CMs51W067272>