diff --git a/drivers/video/bochs.c b/drivers/video/bochs.c index 2d4526c7143..5923ff81c65 100644 --- a/drivers/video/bochs.c +++ b/drivers/video/bochs.c @@ -27,9 +27,9 @@ static int bochs_read(void *mmio, int index) return readw(mmio + MMIO_BASE + index * 2); } -static void bochs_vga_write(uint8_t val) +static void bochs_vga_write(void *mmio, int index, uint8_t val) { - outb(val, VGA_ATT_W); + writeb(val, mmio + VGA_BASE + index); } static int bochs_init_fb(struct udevice *dev) @@ -79,7 +79,7 @@ static int bochs_init_fb(struct udevice *dev) bochs_write(mmio, INDEX_ENABLE, ENABLED | LFB_ENABLED); /* disable blanking */ - bochs_vga_write(VGA_AR_ENABLE_DISPLAY); + bochs_vga_write(mmio, VGA_ATT_W - VGA_INDEX, VGA_AR_ENABLE_DISPLAY); plat->base = fb; diff --git a/drivers/video/bochs.h b/drivers/video/bochs.h index 71d3d60141e..3facf690e5d 100644 --- a/drivers/video/bochs.h +++ b/drivers/video/bochs.h @@ -11,9 +11,6 @@ #define VGA_ATT_W 0x3c0 #define VGA_AR_ENABLE_DISPLAY 0x20 -#define IOPORT_INDEX 0x01ce -#define IOPORT_DATA 0x01cf - enum { INDEX_ID, INDEX_XRES, @@ -34,6 +31,7 @@ enum { #define LFB_ENABLED BIT(6) #define NOCLEARMEM BIT(7) +#define VGA_BASE 0x400 #define MMIO_BASE 0x500 #endif