Den Fehler finde ich leider nicht.
uint_8 inb(uint_16 port){
uint_8 result;
__asm__ __volatile__ ("inb %1, %0" : "=a" (result) : "dN" (port));
return result;
};
uint_16 inw(uint_16 port){
uint_16 result;
__asm__ __volatile__ ("inb %1, %0" : "=a" (result) : "dN" (port));
return result;
};
uint_32 inl(uint_16 port){
uint_32 result;
__asm__ __volatile__ ("inb %1, %0" : "=a" (result) : "dN" (port));
return result;
};
void outb (uint_16 port, uint_8 data){
__asm__ __volatile__ ("outb %1, %0" : : "dN" (port), "a" (data));
};
void outw(uint_16 port, uint_16 data){
__asm__ __volatile__ ("outb %1, %0" : : "dN" (port), "a" (data));
};
void outl(uint_16 port, uint_32 data){
__asm__ __volatile__ ("outb %1, %0" : : "dN" (port), "a" (data));
};
Zu dem anderen Problem mit den fehlenden Methoden habe ich auch keine Lösung gefunden.
Woran kann das denn liegen?
Es dürfte an sich doch kein Problem sein, dass auf einem 32-bit System 64-bit-Werte moduliert und geteilt werden, oder?
Wäre mir zumindest neu.