# # $Id$ # This BSP is designed to support multiple Motorola PowerPC boards. The following extract from some email from Eric Valette should provide the basic information required to use this BSP on other models. Joel> + I am sure there are other Motorola boards which this BSP should Joel> support. If you know of other models that should work, list Joel> them off to me. I will make them aliases and note them as Joel> untested in the status. Extract of motorola.c : static const mot_info_t mot_boards[] = { {0x300, 0x00, "MVME 2400"}, {0x010, 0x00, "Genesis"}, {0x020, 0x00, "Powerstack (Series E)"}, {0x040, 0x00, "Blackhawk (Powerstack)"}, {0x050, 0x00, "Omaha (PowerStack II Pro3000)"}, {0x060, 0x00, "Utah (Powerstack II Pro4000)"}, {0x0A0, 0x00, "Powerstack (Series EX)"}, {0x1E0, 0xE0, "Mesquite cPCI (MCP750)"}, {0x1E0, 0xE1, "Sitka cPCI (MCPN750)"}, {0x1E0, 0xE2, "Mesquite cPCI (MCP750) w/ HAC"}, {0x1E0, 0xF6, "MTX Plus"}, {0x1E0, 0xF7, "MTX wo/ Parallel Port"}, {0x1E0, 0xF8, "MTX w/ Parallel Port"}, {0x1E0, 0xF9, "MVME 2300"}, {0x1E0, 0xFA, "MVME 2300SC/2600"}, {0x1E0, 0xFB, "MVME 2600 with MVME712M"}, {0x1E0, 0xFC, "MVME 2600/2700 with MVME761"}, {0x1E0, 0xFD, "MVME 3600 with MVME712M"}, {0x1E0, 0xFE, "MVME 3600 with MVME761"}, {0x1E0, 0xFF, "MVME 1600-001 or 1600-011"}, {0x000, 0x00, ""} }; In theory, each board starting with 0x1E0 should be really straighforward to port (604 proc or above and raven host bridge...). Joel> Then we just have to add README.BOARD_MODEL and TIMES.BOARD_MODEL I should also make a README to explain that some file containing switch statement should be completed (e.g libbsp/powerpc/shared/irq_init.c [NOTE: This is that README. :) ] ------------------------------ if ( (currentBoard == MESQUITE) ) { VIA_isa_bridge_interrupts_setup(); known_cpi_isa_bridge = 1; } if (!known_cpi_isa_bridge) { printk("Please add code for PCI/ISA bridge init to libbsp/shared/irq/irq_init.c\n"); printk("If your card works correctly please add a test and set known_cpi_isa_bridge to true\n"); } ------------------------------ and libbsp/powerpc/mpc6xx/execeptions/raw_exception.c ------------------------------- int mpc604_vector_is_valid(rtems_vector vector) { /* * Please fill this for MVME2307 */ printk("Please complete libcpu/powerpc/XXX/raw_exception.c\n"); return 0; } int mpc60x_set_exception (const rtems_raw_except_connect_data* except) { unsigned int level; if (current_ppc_cpu == PPC_750) { if (!mpc750_vector_is_valid(except->exceptIndex)){ return 0; } goto exception_ok; } if (current_ppc_cpu == PPC_604) { if (!mpc604_vector_is_valid(except->exceptIndex)){ return 0; } goto exception_ok; } printk("Please complete libcpu/powerpc/XXX/raw_exception.c\n"); return 0; ----------------------------------- NB : re readding the code I should have done a switch... TSSSS.A future patche I think.