提交 df9ffb72 编写于 作者: G Gerd Hoffmann

vga: fix bochs alignment issue

The bochs dispi interface traditionally uses port 0x1ce as 16bit index
register and port 0x1cf as 16bit data register.  The later is unaligned,
and probably for that reason the the data register was moved to 0x1d0
for non-x86 archs.

This patch makes the data register available at 0x1d0 on x86 too.  The
old x86 location is kept for compatibility reasons, so both 0x1cf and
0x1d0 can be used as data register on x86.
Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
上级 6801038b
...@@ -36,7 +36,8 @@ IO ports used ...@@ -36,7 +36,8 @@ IO ports used
03c0 - 03df : standard vga ports 03c0 - 03df : standard vga ports
01ce : bochs vbe interface index port 01ce : bochs vbe interface index port
01cf : bochs vbe interface data port 01cf : bochs vbe interface data port (x86 only)
01d0 : bochs vbe interface data port
Memory regions used Memory regions used
......
...@@ -2321,9 +2321,8 @@ static const MemoryRegionPortio vbe_portio_list[] = { ...@@ -2321,9 +2321,8 @@ static const MemoryRegionPortio vbe_portio_list[] = {
{ 0, 1, 2, .read = vbe_ioport_read_index, .write = vbe_ioport_write_index }, { 0, 1, 2, .read = vbe_ioport_read_index, .write = vbe_ioport_write_index },
# ifdef TARGET_I386 # ifdef TARGET_I386
{ 1, 1, 2, .read = vbe_ioport_read_data, .write = vbe_ioport_write_data }, { 1, 1, 2, .read = vbe_ioport_read_data, .write = vbe_ioport_write_data },
# else
{ 2, 1, 2, .read = vbe_ioport_read_data, .write = vbe_ioport_write_data },
# endif # endif
{ 2, 1, 2, .read = vbe_ioport_read_data, .write = vbe_ioport_write_data },
PORTIO_END_OF_LIST(), PORTIO_END_OF_LIST(),
}; };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册