Date: Sun, 03 Nov 2013 11:22:02 -0600 From: Nathan Whitehorn <nwhitehorn@freebsd.org> To: Nathan Whitehorn <nwhitehorn@freebsd.org> Cc: "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org>, freebsd-mips@freebsd.org Subject: Re: FDTbus and nexus Message-ID: <7467BF46-692E-4BDF-9F4B-6EFF8F80A824@freebsd.org> In-Reply-To: <526D2221.2020307@freebsd.org> References: <526D2221.2020307@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Oct 27, 2013, at 9:24 AM, Nathan Whitehorn wrote: > As many of you may have noticed, I've been working on trying to > bring the code in /sys/dev/fdt a little bit closer to the code in / > sys/dev/ofw as well as improving standards-compliance. One > motivation for this is to be able to build kernels that support both > real Open Firmware and FDT at the same time, with the same drivers, > which is not currently possible, largely due to differences in bus > enumeration. > > The remaining primary difference between FDT and OF systems is that > the root of the OF hierarchy is attached through fdtbus on one and > enumerated through nexus on the other. Of these two, I think nexus > is the cleaner approach here since it means we can get rid of things > like fdt_bs_tag and isolate the MD resource allocation code to the > MD nexus driver, as well as increasing flexibility with things like > interrupt mapping (nexus and individual PIC drivers can then handle > the mappings in /sys/dev/fdt/fdt_ARCH.c). > > The patch at http://people.freebsd.org/~nwhitehorn/nexus.diff > implements this change by subclassing the ARM and MIPS nexus drivers > from ofw_nexus (the same thing fdtbus subclasses, and what is > already done on PowerPC). fdtbus is made optional for now as a > consideration for out-of-tree code that I don't know about, and the > set of things attaching to fdtbus is made to attach to nexus > instead. The patch is quite minimal, aside from rearranging the > order of some ARM and MIPS nexus methods for easier #ifdef, and has > been tested with no issues on both PowerPC (on both FDT and non-FDT > systems) and ARM. The MIPS support is only compile-tested, however, > so I would really appreciate some testing there. > -Nathan I've received several testing reports that this works without issue on a variety of MIPS and ARM systems so, unless some issues arise, I plan to commit it on Tuesday November 5. -Nathan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7467BF46-692E-4BDF-9F4B-6EFF8F80A824>