Gerd Hoffmann
2012-11-08 20:53:03 UTC
Hi,
Is there some way to do _unaligned_ I/O?
Background:
I'm trying to extend the ovmf video driver, so it isn't limited to the
cirrus gfx card but can handle the other vga cards emulated by qemu/kvm
too. The easiest way to get this going is to use the bochs display
interface directly for modesetting.
The problem with that approach is that the data register for the bochs
dispi interface is a 16bit register at a uneven address (0x01CF to be
exact). There seems to be no easy way to do that ...
And, no, splitting that into two 8-byte accesses doesn't cut it, it must
be an outw instruction.
Hints anyone?
thanks,
Gerd
PS: wip patch attached for reference
Is there some way to do _unaligned_ I/O?
Background:
I'm trying to extend the ovmf video driver, so it isn't limited to the
cirrus gfx card but can handle the other vga cards emulated by qemu/kvm
too. The easiest way to get this going is to use the bochs display
interface directly for modesetting.
The problem with that approach is that the data register for the bochs
dispi interface is a 16bit register at a uneven address (0x01CF to be
exact). There seems to be no easy way to do that ...
And, no, splitting that into two 8-byte accesses doesn't cut it, it must
be an outw instruction.
Hints anyone?
thanks,
Gerd
PS: wip patch attached for reference