On Thu, Nov 8, 2012 at 12:53 PM, Gerd Hoffmann <[email protected]> wrote:
> Is there some way to do _unaligned_ I/O?

Seems like you're going to need to:
* Pull IoRead/Write16 from MdePkg/Library/BaseIoLibIntrinsic into the driver.
* Rename to UnalignedIoRead/Write16 and remove the alignment assert
* Read the BAR to get the address
* Use UnalignedIoRead/Write16

-Jordan

> 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
>

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_nov
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to