Index: sys/conf/options.arm =================================================================== --- sys/conf/options.arm (revision 279839) +++ sys/conf/options.arm (working copy) @@ -24,6 +24,7 @@ CPU_XSCALE_IXP435 opt_global.h CPU_XSCALE_PXA2X0 opt_global.h FLASHADDR opt_global.h +GIC_DEFAULT_ICFGR_INIT opt_global.h IPI_IRQ_START opt_smp.h IPI_IRQ_END opt_smp.h FREEBSD_BOOT_LOADER opt_global.h Index: sys/sys/random.h =================================================================== --- sys/sys/random.h (revision 279839) +++ sys/sys/random.h (working copy) @@ -65,6 +65,7 @@ RANDOM_PURE_NEHEMIAH, RANDOM_PURE_RNDTEST, RANDOM_PURE_VIRTIO, + RANDOM_PURE_AML8726, ENTROPYSOURCE }; void random_harvest(const void *, u_int, u_int, enum random_entropy_source); Index: sys/arm/arm/gic.c =================================================================== --- sys/arm/arm/gic.c (revision 279839) +++ sys/arm/arm/gic.c (working copy) @@ -98,6 +98,11 @@ #define GICD_ICFGR_TRIG_EDGE (1 << 1) #define GICD_ICFGR_TRIG_MASK 0x2 +#ifndef GIC_DEFAULT_ICFGR_INIT +/* Set all global interrupts to be level triggered, active low. */ +# define GIC_DEFAULT_ICFGR_INIT 0x00000000 +#endif + struct arm_gic_softc { device_t gic_dev; struct resource * gic_res[3]; @@ -278,9 +283,8 @@ icciidr>>20, (icciidr>>16) & 0xF, (icciidr>>12) & 0xf, (icciidr & 0xfff), sc->nirqs); - /* Set all global interrupts to be level triggered, active low. */ for (i = 32; i < sc->nirqs; i += 16) { - gic_d_write_4(sc, GICD_ICFGR(i >> 4), 0x00000000); + gic_d_write_4(sc, GICD_ICFGR(i >> 4), GIC_DEFAULT_ICFGR_INIT); } /* Disable all interrupts. */ Index: sys/dev/mmc/mmc.c =================================================================== --- sys/dev/mmc/mmc.c (revision 279839) +++ sys/dev/mmc/mmc.c (working copy) @@ -1797,6 +1797,8 @@ }; static devclass_t mmc_devclass; +DRIVER_MODULE(mmc, aml8726_mmc, mmc_driver, mmc_devclass, NULL, NULL); +DRIVER_MODULE(mmc, aml8726_sdxc, mmc_driver, mmc_devclass, NULL, NULL); DRIVER_MODULE(mmc, at91_mci, mmc_driver, mmc_devclass, NULL, NULL); DRIVER_MODULE(mmc, sdhci_bcm, mmc_driver, mmc_devclass, NULL, NULL); DRIVER_MODULE(mmc, sdhci_fdt, mmc_driver, mmc_devclass, NULL, NULL); Index: sys/dev/random/random_harvestq.c =================================================================== --- sys/dev/random/random_harvestq.c (revision 279839) +++ sys/dev/random/random_harvestq.c (working copy) @@ -218,6 +218,8 @@ "PURE_RDRAND", "PURE_NEHEMIAH", "PURE_RNDTEST", + "PURE_VIRTIO", + "PURE_AML8726", /* "ENTROPYSOURCE" */ };