...grazie delle indicazioni...sfortunatamente ci sono arrivato da solo a parte delle tue dritte...allora sono arrivato a partorire questo...
Codice:
// Copyright 2011, Kees Cook <kees@outflux.net>, License: GPLv2 */
#include <unistd.h>
#include <stdio.h>
#include <sys/io.h>
int main()
{
printf("via\n");
/* access to watchdog port */
if (ioperm(0x2e, 0x2e, 1) < 0) {
perror("0x2e");
return 1;
}
/* access to watchdog port */
if (ioperm(0x2f, 0x2f, 1) < 0) {
perror("0x2f");
return 2;
}
sleep(1);
printf("leggo \n");
printf("%d\n",inb(0x2e));
printf("scrivo 87\n");
outb(0x2e,0x87);
printf("leggo \n");
printf("%d\n",inb(0x2e));
outb(0x2e,0x01);
printf("riscritto\n");
outb(0x2e,0x55);
printf("4\n");
outb(0x2e,0x55);
//Setting Logical Device Number to 0x07
outb(0x2e,0x07);
outb(0x2f,0x07);
//Set Timer Value(0x73 is LSB while 0x74 is MSB)
outb(0x2e,0x73);
outb(0x2f,0x14);//set to 20 sec (0x14)
//Set Timer Unit to Second/Minute(Bit 7 equal to 1 is second/0 is minute)
//Enable WDT (Bit 6 equal to 1 is enable/0 is disable)
outb(0x2e,0x72);
outb(0x2f,0xC0);//The unit is set as second
return 0;
}
...il problema che in base a scritture diverse sullo stesso indirizzo mi restituisce segmentation fault...come puo' essere?...inoltre a scritture avvenute o presunte tali la locazione non mostra variazioni in fase di lettura...