From 1e3130abad8238f721742fec6f1344d69dfc799a Mon Sep 17 00:00:00 2001 From: ian Date: Thu, 15 May 2014 17:30:16 +0000 Subject: MFC r261423, r261424, r261516, r261513, r261562, r261563, r261564, r261565, r261596, r261606 Add the imx sdhci controller. Move Open Firmware device root on PowerPC, ARM, and MIPS systems to a sub-node of nexus (ofwbus) rather than direct attach under nexus. This fixes FDT on x86 and will make coexistence with ACPI on ARM systems easier. SPARC is unchanged. Add the missing ')' at end of sentence. Reword it to use a more common idiom. Pass the kernel physical address to initarm through the boot param struct. Make functions only used in vfp.c static, and remove vfp_enable. Fix __syscall on armeb EABI. As it returns a 64-bit value it needs to place 32-bit data in r1, not r0. 64-bit data is already packed correctly. Use abp_physaddr for the physical address over KERNPHYSADDR. This helps us remove the need to load the kernel at a fixed address. Remove references to PHYSADDR where it's used only in debugging output. Dynamically generate the page table. This will allow us to detect the physical address we are loaded at to change the mapping. --- sys/mips/beri/beri_simplebus.c | 2 +- sys/mips/mips/nexus.c | 15 --------------- 2 files changed, 1 insertion(+), 16 deletions(-) (limited to 'sys/mips') diff --git a/sys/mips/beri/beri_simplebus.c b/sys/mips/beri/beri_simplebus.c index 55b3149..934a395 100644 --- a/sys/mips/beri/beri_simplebus.c +++ b/sys/mips/beri/beri_simplebus.c @@ -136,7 +136,7 @@ static driver_t simplebus_driver = { devclass_t simplebus_devclass; -DRIVER_MODULE(simplebus, nexus, simplebus_driver, simplebus_devclass, 0, 0); +DRIVER_MODULE(simplebus, ofwbus, simplebus_driver, simplebus_devclass, 0, 0); DRIVER_MODULE(simplebus, simplebus, simplebus_driver, simplebus_devclass, 0, 0); diff --git a/sys/mips/mips/nexus.c b/sys/mips/mips/nexus.c index ecf315d..06c0317 100644 --- a/sys/mips/mips/nexus.c +++ b/sys/mips/mips/nexus.c @@ -60,10 +60,6 @@ __FBSDID("$FreeBSD$"); #include "opt_platform.h" -#ifdef FDT -#include -#endif - #undef NEXUS_DEBUG #ifdef NEXUS_DEBUG #define dprintf printf @@ -73,7 +69,6 @@ __FBSDID("$FreeBSD$"); #define NUM_MIPS_IRQS 6 -#ifndef FDT static MALLOC_DEFINE(M_NEXUSDEV, "nexusdev", "Nexus device"); struct nexus_device { @@ -102,7 +97,6 @@ static int nexus_release_resource(device_t, device_t, int, int, struct resource *); static int nexus_set_resource(device_t, device_t, int, int, u_long, u_long); -#endif static int nexus_activate_resource(device_t, device_t, int, int, struct resource *); static int nexus_deactivate_resource(device_t, device_t, int, int, @@ -115,7 +109,6 @@ static int nexus_teardown_intr(device_t, device_t, struct resource *, void *); static device_method_t nexus_methods[] = { -#ifndef FDT /* Device interface */ DEVMETHOD(device_probe, nexus_probe), DEVMETHOD(device_attach, nexus_attach), @@ -129,7 +122,6 @@ static device_method_t nexus_methods[] = { DEVMETHOD(bus_print_child, nexus_print_child), DEVMETHOD(bus_release_resource, nexus_release_resource), DEVMETHOD(bus_set_resource, nexus_set_resource), -#endif DEVMETHOD(bus_setup_intr, nexus_setup_intr), DEVMETHOD(bus_teardown_intr, nexus_teardown_intr), DEVMETHOD(bus_activate_resource,nexus_activate_resource), @@ -139,19 +131,13 @@ static device_method_t nexus_methods[] = { { 0, 0 } }; -#ifndef FDT static driver_t nexus_driver = { "nexus", nexus_methods, 1 /* no softc */ }; -#else -DEFINE_CLASS_1(nexus, nexus_driver, nexus_methods, - sizeof(struct ofw_nexus_softc), ofw_nexus_driver); -#endif static devclass_t nexus_devclass; -#ifndef FDT static int nexus_probe(device_t dev) { @@ -387,7 +373,6 @@ nexus_release_resource(device_t bus, device_t child, int type, int rid, return (rman_release_resource(r)); } -#endif static int nexus_activate_resource(device_t bus, device_t child, int type, int rid, -- cgit v1.1