[SeaBIOS] [PATCH] geodevga: make use of readl and writel for mmio access

Kevin O'Connor kevin at koconnor.net
Tue Jul 24 14:08:48 CEST 2012


On Tue, Jul 17, 2012 at 12:08:59PM +0200, Christian Gmeiner wrote:
> This commit just simplifies some code.
> 
> Signed-off-by: Christian Gmeiner <christian.gmeiner at gmail.com>
> ---
>  vgasrc/geodevga.c | 48 +++++++++---------------------------------------
>  1 file changed, 9 insertions(+), 39 deletions(-)
> 
> diff --git a/vgasrc/geodevga.c b/vgasrc/geodevga.c
> index 5c6caf0..4e3d912 100644
> --- a/vgasrc/geodevga.c
> +++ b/vgasrc/geodevga.c
[...]
>      /* Set mmio registers
>      * there may be some timing issues here, the reads seem
>      * to slow things down enough work reliably
>      */
> 
> -    reg = geode_memRead(vp+VP_MISC);
> +    reg = readl(vp+VP_MISC);

The code is run in 16bit "big real" mode.  This means all of memory is
available, but one still needs to be careful about segment usage.
SeaBIOS always calls the option roms with a %ss == %ds == 0, but I
don't think it is wise to rely upon that.  So, it's better to use
GET_FARVAR(0, *(vp+VP_MISC)).

-Kevin



More information about the SeaBIOS mailing list