Teil 5 - Interrupts — Änderungen 7043 → 7126

Zeile 81: Zeile 81:
  
 
Dabei ist <i>outb</i> eine Funktion, um einen 8-Bit-Wert an einen [[I/O Ports | I/O-Port]] zu schreiben, und kann wie in [[Inline-Assembler mit GCC]] beschrieben definiert werden:
 
Dabei ist <i>outb</i> eine Funktion, um einen 8-Bit-Wert an einen [[I/O Ports | I/O-Port]] zu schreiben, und kann wie in [[Inline-Assembler mit GCC]] beschrieben definiert werden:
−
<c>static inline void outb(unsigned short port, unsigned char data)
+
<c>static inline void outb(uint16_t port, uint8_t data)
 
{
 
{
 
     asm volatile ("outb %0, %1" : : "a" (data), "Nd" (port));
 
     asm volatile ("outb %0, %1" : : "a" (data), "Nd" (port));
Zeile 190: Zeile 190:
 
<c>struct cpu_state {
 
<c>struct cpu_state {
 
     // Von Hand gesicherte Register
 
     // Von Hand gesicherte Register
−
     unsigned long   eax;
+
     uint32_t   eax;
−
     unsigned long   ebx;
+
     uint32_t   ebx;
−
     unsigned long   ecx;
+
     uint32_t   ecx;
−
     unsigned long   edx;
+
     uint32_t   edx;
−
     unsigned long   esi;
+
     uint32_t   esi;
−
     unsigned long   edi;
+
     uint32_t   edi;
−
     unsigned long   ebp;
+
     uint32_t   ebp;
  
−
     unsigned long   intr;
+
     uint32_t   intr;
−
     unsigned long   error;
+
     uint32_t   error;
  
 
     // Von der CPU gesichert
 
     // Von der CPU gesichert
−
     unsigned long   eip;
+
     uint32_t   eip;
−
     unsigned long   cs;
+
     uint32_t   cs;
−
     unsigned long   eflags;
+
     uint32_t   eflags;
−
     unsigned long   esp;
+
     uint32_t   esp;
−
     unsigned long   ss;
+
     uint32_t   ss;
 
};</c>
 
};</c>