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