Anuncios Google

Problema con ATA y ATAPI

Bueno, estoy trabajando en el soporte para discos ATA(comunmente conocidos como IDE) y ATAPI sobre el Hardware, el problema es que al inicializarlo llega un punto en el que tira una excepcion del tipo Page Fault Exception(el manejador de excepciones esta programado por mi, asi que puede que lo tenga mal programado).

La funcion en concreto es esta:

//donde llamo a la funcion
   printf("dc = *\n");
   dc = (unsigned char) ( int_use_intr_flag ? 0 : CB_DC_NIEN );
   // reset Bus Master Error bit
   printf("Bus Master Error\n");
   pio_writeBusMstrStatus( BM_SR_MASK_ERR );
   // assume there are no devices
   printf("No devices\n");
   reg_config_info[0] = REG_CONFIG_TYPE_NONE;
   reg_config_info[1] = REG_CONFIG_TYPE_NONE;
   // set up Device Control register, error aqui
   printf("Device Control Register\n");
   pio_outbyte( CB_DC, dc );
//funcion que da el problema
static void pio_outbyte( int addr, unsigned char data )
{
   //!!! write an 8-bit ATA register
   *pio_reg_addrs[ addr ] = data;
}

He probado varias cosas, pero siempre tira la misma excepcion, ya me paso antes con la shell de comandos, pero ahora no se que pasa, pero no le veo relacion con lo que paso en la shell anteriormente...



Anuncios Google