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...
Garrett Cooper
ngie at FreeBSD.org
Sun Apr 12 22:54:13 UTC 2015
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 at 0 {
- device_type = "cpu";
- compatible = "arm,cortex-a5";
- reg = <0x0>;
- };
-
- cpu at 1 {
- device_type = "cpu";
- compatible = "arm,cortex-a5";
- reg = <0x1>;
- };
-
- cpu at 2 {
- device_type = "cpu";
- compatible = "arm,cortex-a5";
- reg = <0x2>;
- };
-
- cpu at 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 at c0000000 {
+ soc: soc {
device_type = "soc";
- compatible = "simple-bus";
bus-frequency = <0>;
- #address-cells = <1>;
- #size-cells = <1>;
-
- ranges = <0x0 0xc0000000 0x1a100000>;
-
- gic: gic at 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 at 4300000 {
+ scu: scu at c4300000 {
compatible = "arm,cortex-a5-scu";
- reg = <0x4300000 0x1000>;
+ reg = <0xc4300000 0x1000>;
};
- cpuconfig: cpuconfig at 1901ff80 {
+ cpuconfig: cpuconfig at d901ff80 {
compatible = "amlogic,aml8726-cpuconfig";
- reg = <0x1901ff80 16>;
+ reg = <0xd901ff80 16>;
};
- pl310 at 4200000 {
- compatible = "arm,pl310";
- reg = <0x4200000 0x1000>;
- interrupts = <61>;
- interrupt-parent = <&gic>;
- };
-
- ccm at 1104140 {
+ ccm at 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 at 11080b0 {
+ pinctrl at 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 at 1109900 {
- compatible = "amlogic,aml8726-wdt";
- reg = <0x1109900 8>; /* cbus 0x2640 */
- interrupts = <0>;
- interrupt-parent = <&gic>;
- };
-
- timer at 1109940 {
- compatible = "amlogic,aml8726-timer";
- reg = <0x1109940 24>; /* cbus 0x2650 */
- interrupts = <10 11 6 29>;
- interrupt-parent = <&gic>;
- };
-
- rtc at 8100740 {
+ rtc at 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 at 1108758 {
+ clkmsr: clkmsr at c1108758 {
compatible = "amlogic,aml8726-clkmsr";
- reg = <0x1108758 16>; /* cbus 0x21d6 */
- };
+ reg = <0xc1108758 16>; /* cbus 0x21d6 */
- uart0: uart at 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 at 8100024 {
+ gpioao: gpio at 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 at 1108054 {
+ gpio3: gpio at 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 at 110806c {
+ gpio5: gpio at 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 at 1108c20 {
+ mmc at 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 at 1108e00 {
+ sdxc at 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 at 1108100 {
+ rng at c1108100 {
compatible = "amlogic,aml8726-rng";
- reg = <0x1108100 8>; /* cbus 0x2040 */
+ reg = <0xc1108100 8>; /* cbus 0x2040 */
};
- i2c at 1108500 {
- /* i2c-a */
- compatible = "amlogic,aml8726-i2c";
- reg = <0x1108500 32>; /* cbus 0x2140 */
- interrupts = <21>;
- interrupt-parent = <&gic>;
- };
-
- i2c at 11087c0 {
- /* i2c-b */
- compatible = "amlogic,aml8726-i2c";
- reg = <0x11087c0 32>; /* cbus 0x21f0 */
- interrupts = <128>;
- interrupt-parent = <&gic>;
- };
-
- uart at 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 at 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 at 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 at 1108800 {
+ usb-phy at c1108800 {
/* usb-a phy */
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-user
mailing list