Toiling away on booting the new blades
Andrew Duane
aduane at juniper.net
Sun Apr 3 21:29:26 UTC 2011
I've made real progress on getting our Octeon blades to boot with the other bootstraps. After learning all about the app_descriptors and the octeon_bootinfo structures, I've decided on a slightly more modular approach. Rather than faking out the code by hand-crafting these structures, I've decided to teach the Octeon startup code how decode a standard MIPS bootinfo structure. FreeBSD already has this defined, and I can make it do pretty much everything I want. It's also completely deterministic as to which structure you have in "a3" based on the other registers.
It turns out this is pretty simple. I added a parallel routine to octeon_process_app_desc_ver_6 to parse a bootinfo and call cvmx_sysinfo_minimal_initialize with the info I get from it. Very clean and tidy, and minimal disruption. After that, everything else "just works". I even found a routine to craft a phy_mem_desc structure, but it doesn't look like I need it.
Since the MIPS bootinfo structure is already part of FreeBSD, is this code in the startup path something you'd be interested in taking in?
--
Andrew Duane Juniper Networks
978-589-0551 10 Technology Park Dr
aduane at juniper.net Westford, MA 01886-3418
More information about the freebsd-mips
mailing list