SoloCodigo

Programación General => ASM (Ensamblador) => Mensaje iniciado por: Shangrila en Lunes 28 de Septiembre de 2009, 23:36

Título: Me echan una mano con el APIC?
Publicado por: Shangrila en Lunes 28 de Septiembre de 2009, 23:36
Hola,soy nuevo en el foro.Y en eso de ASM.

Estoy intentando levantar un sistema operativo juguete.Y llevo una semana sin tocar nasm porque me he perdido en unos PDFs y no puedo salir.
El APIC me opone mucha resistencia.Sé que debo sacar la configuracion inicial del MADT/MAPIC.Pero luego me pierdo con el realocamiento de las IRQs y todo.En fin,me podeis decir cómo usar el APIC una vez teniendo lo iniciado y configurado(digamos que use la conf. tal como me la da el bios).Pero si no es pedir mucho,porfa den me un breve ejemplo practico,porque he leido que se tiene que escribuir en los registros del LAPIC de cada un CPU y referirse a vectores de interrupcion y antes era la IDT,y cosas por el estilo a medias.En fin lo,tengo todo muy liado y no consigo visualizarlo.

Un caracter recojido del bufer del teclado mediante APIC por ejemplo y tal vez algo en el sentido reverso.Una cosa asi me vendria mucho de ayuda.No pido codigo aprovechable,solo explicacion.

Se agradece!

Adiós!
Título: Re: Me echan una mano con el APIC?
Publicado por: posman en Martes 29 de Septiembre de 2009, 15:47
Supongo que entiendes algo de ingles. Revisa esta pagina:
http://wiki.osdev.org/APIC (http://wiki.osdev.org/APIC" onclick="window.open(this.href);return false;)

Aqui viene una breve explicacion y links a otros articulos y posts del foro
Título: Re: Me echan una mano con el APIC?
Publicado por: Shangrila en Martes 29 de Septiembre de 2009, 16:21
Gracias,posman, por la ayuda!
Conocia de antes esa web.Pasaba a menudo por ahi para buscar info sobre el proceso de boot.
Lo tienen muy brevemente explicado(demasiado breve para una web que trata sobre desarrollo de OSs),ademas no se me da nada bien el C.

Lo importante es que creo que he resuelto el post.Aqui va un citado del PDF de INTEL:

"When a local APIC has sent an interrupt to its processor core for handling, the processor uses the interrupt and exception handling mechanism described in Chapter 6, “Interrupt and Exception Handling.” See Section 6.1, “Interrupt and Exception Overview,” for an introduction to interrupt and exception handling."

Aun no puedo programar o usar el APIC,pero eso creo que seria la respuesta del post.

Me fastidilla todo el rollo del comunicarse con el hardware.Ansio la llegada del momento de establecer alguna api basica para poder empezar a programar algo notablemente util.

Gracias otra vez?
Título: Re: Me echan una mano con el APIC?
Publicado por: m0skit0 en Miércoles 30 de Septiembre de 2009, 17:31
Cita de: "Shangrila"
Me fastidilla todo el rollo del comunicarse con el hardware
En realidad es lo más bonito del ensamblador. Cuando le pilles el truquillo odiarás las APIs  :lol:

Si nunca has programado un PIC, te aconsejo que primero empieces con el Intel 8259 (http://en.wikipedia.org/wiki/Intel_8259), más sencillo, y predecesor del APIC.

De todas formas, te dejo la documentación del APIC Intel 82093: http://download.intel.com/design/chipse ... 056601.pdf (http://download.intel.com/design/chipsets/datashts/29056601.pdf" onclick="window.open(this.href);return false;). Si tienes alguna duda en concreto, a lo mejor te la puedo solucionar.

Saludos
Título: Re: Me echan una mano con el APIC?
Publicado por: Shangrila en Miércoles 30 de Septiembre de 2009, 22:57
Gracias por los links,m0skit0!El segundo me va ser muy util.

Tienes la razon,debí empezar con el PIC,pero sabiendo que ya está aquí el i7,me siento como si quedando me atraz leyendo sobre el PIC.Ademas los INT0/INT1 podrian tratar directamente con el PIC,tambien algunos pins del I/O APIC en modo virtual,o sea que lo he de aprender.Pero ya sabes como es el miedo a no quedar se antiguo-hace a la gente empezar por lo avanzado,y la precipitacon-Uno no tiene nada hecho todavia y ya piensa en el nombre de su SO.

Poco a poco,espero para el fin del año tener ya la TTY de mi SO,pero como es debido-estable,seguro(no quiero cascar el PC),con su power mangement y todo lo "invisible".Y los servicios del SO para marzo o pasado.Menos mal que piensan en la compatibilad hacia atraz,si no,simplemente un humano normal como yo no podría con el progreso.

Adios!