outb               64 bootmain.c       outb(0x1F2, 1);   // count = 1
outb               65 bootmain.c       outb(0x1F3, offset);
outb               66 bootmain.c       outb(0x1F4, offset >> 8);
outb               67 bootmain.c       outb(0x1F5, offset >> 16);
outb               68 bootmain.c       outb(0x1F6, (offset >> 24) | 0xE0);
outb               69 bootmain.c       outb(0x1F7, 0x20);  // cmd 0x20 - read sectors
outb              137 console.c        outb(CRTPORT, 14);
outb              139 console.c        outb(CRTPORT, 15);
outb              158 console.c        outb(CRTPORT, 14);
outb              159 console.c        outb(CRTPORT+1, pos>>8);
outb              160 console.c        outb(CRTPORT, 15);
outb              161 console.c        outb(CRTPORT+1, pos);
outb               60 ide.c            outb(0x1f6, 0xe0 | (1<<4));
outb               69 ide.c            outb(0x1f6, 0xe0 | (0<<4));
outb               88 ide.c            outb(0x3f6, 0);  // generate interrupt
outb               89 ide.c            outb(0x1f2, sector_per_block);  // number of sectors
outb               90 ide.c            outb(0x1f3, sector & 0xff);
outb               91 ide.c            outb(0x1f4, (sector >> 8) & 0xff);
outb               92 ide.c            outb(0x1f5, (sector >> 16) & 0xff);
outb               93 ide.c            outb(0x1f6, 0xe0 | ((b->dev&1)<<4) | ((sector>>24)&0x0f));
outb               95 ide.c              outb(0x1f7, write_cmd);
outb               98 ide.c              outb(0x1f7, read_cmd);
outb              137 lapic.c          outb(CMOS_PORT, 0xF);  // offset 0xF is shutdown code
outb              138 lapic.c          outb(CMOS_PORT+1, 0x0A);
outb              177 lapic.c          outb(CMOS_PORT,  reg);
outb              136 mp.c               outb(0x22, 0x70);   // Select IMCR
outb              137 mp.c               outb(0x23, inb(0x23) | 1);  // Mask external interrupts.
outb               14 picirq.c         outb(IO_PIC1+1, 0xFF);
outb               15 picirq.c         outb(IO_PIC2+1, 0xFF);
outb               25 uart.c           outb(COM1+2, 0);
outb               28 uart.c           outb(COM1+3, 0x80);    // Unlock divisor
outb               29 uart.c           outb(COM1+0, 115200/9600);
outb               30 uart.c           outb(COM1+1, 0);
outb               31 uart.c           outb(COM1+3, 0x03);    // Lock divisor, 8 data bits.
outb               32 uart.c           outb(COM1+4, 0);
outb               33 uart.c           outb(COM1+1, 0x01);    // Enable receive interrupts.
outb               60 uart.c           outb(COM1+0, c);