Otra duda que tengo es si se puede habilitar el SMP. He leído en varios sitios que el hardware es SMP y ademas multitreat y me gustaría habilitarlo.
Buscando información he encontrado varias aportaciones de programadores para hacer que funcione a partir del kernel 3.2
Un saludo y muchas gracias por vuestra ayuda
Se me despistó este post.
El VR9/VRX200 tiene multithreading, pero hay que hacer modificaciones por un problema raro con las interrupciones. Si se habilita uno de los threads se satura con procesos kworker y ksoftirqd ya que empieza a generar interrupciones como un loco. Esta es una nota que aparece en un código fuente de Lantiq:
/* Avoid reinitialisation of the 6 hardware interrupts in case of AR9 and VR9 platfoms
incase of Danube/ASE initialises 6 hw interrupt.
Need to Check ?? */
Respecto a si tiene dos cpus como el Danube creo que la respuesta es sí, pero la segunda se usa para VoIP y alguna cosa más. Creo que había planes para habilitar SMP en los AR9 y VR9 pero lo leí hace meses y no se ha vuelto a mencionar el tema.
Lo que hace el driver ltq-vmmc con esa segunda cpu es reservar uno o dos megas de la memoria principal, cargarle un firmware (supongo que un RTOS a medida) y hacer de puente entre esa cpu, el kernel, las aplicaciones y la circuitería VoIP.
Alguien con suficientes conocimientos, información y ganas puede usar ese core para lo que quiera reescribiendo el firmware (si es que el de VoIP, que funciona más o menos como un DSP, no le vale) y escribiendo un driver, con lo que se conseguiría, por ejemplo, descargar ciertas tareas de la cpu principal, acelerar otras, etc.
Vamos, que de momento ni multithreading ni SMP (para eso último están los routers con BCM6368).