void op_display_lpc(enum op_severity s, enum op_module m, uint16_t c) { static uint8_t port80_val = 0x80; static uint16_t port8x_val = 0x8000; if (chip_quirk(QUIRK_SIMICS)) return; port80_val = op_display_to_port80(port80_val, s, m, c); lpc_outb(port80_val, 0x80); port8x_val = op_display_to_port8x(port8x_val, s, m, c); lpc_outb(port8x_val >> 8, 0x81); lpc_outb(port8x_val & 0xFF, 0x82); }
static inline void uart_write(unsigned int reg, uint8_t val) { if (simics_uart) out_8(simics_uart_base + reg, val); else lpc_outb(val, uart_base + reg); }
static uint8_t lpc_sio_inb(uint8_t reg) { lpc_outb(reg, 0x2e); return lpc_inb(0x2f); }
static void lpc_sio_outb(uint8_t val, uint8_t reg) { lpc_outb(reg, 0x2e); lpc_outb(val, 0x2f); }
static inline void bt_outb(uint8_t data, uint32_t reg) { lpc_outb(data, bt.base_addr + reg); }