WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[XenPPC] Re: [Xen-devel] fix vga.c compilation

To: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Subject: [XenPPC] Re: [Xen-devel] fix vga.c compilation
From: Hollis Blanchard <hollisb@xxxxxxxxxx>
Date: Wed, 16 Aug 2006 10:35:53 -0500
Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx, xen-devel@xxxxxxxxxxxxxxxxxxx, Alex Williamson <alex.williamson@xxxxxx>, xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 16 Aug 2006 08:35:42 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <C108B6C7.F2E%Keir.Fraser@xxxxxxxxxxxx>
List-help: <mailto:xen-ppc-devel-request@lists.xensource.com?subject=help>
List-id: Xen PPC development <xen-ppc-devel.lists.xensource.com>
List-post: <mailto:xen-ppc-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ppc-devel>, <mailto:xen-ppc-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ppc-devel>, <mailto:xen-ppc-devel-request@lists.xensource.com?subject=unsubscribe>
Organization: IBM Linux Technology Center
References: <C108B6C7.F2E%Keir.Fraser@xxxxxxxxxxxx>
Sender: xen-ppc-devel-bounces@xxxxxxxxxxxxxxxxxxx
On Wed, 2006-08-16 at 11:49 +0100, Keir Fraser wrote:
> @@ -159,12 +160,8 @@
>   * into a single 16-bit quantity */
>  #define VGA_OUT16VAL(v, r)       (((v) << 8) | (r))
>  
> -#if defined(__i386__) || defined(__x86_64__)
> -# define vgabase 0
> -# define VGA_OUTW_WRITE
> -# define vga_readb(x) (*(x))
> -# define vga_writeb(x,y) (*(y) = (x))
> -#endif
> +#define vgabase 0         /* use in/out port-access macros  */
> +#define VGA_OUTW_WRITE    /* can use outw instead of 2xoutb */

When would you redefine vgabase?

> diff -r ec03b24a2d83 xen/arch/powerpc/vga.c
> --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
> +++ b/xen/arch/powerpc/vga.c    Wed Aug 16 11:44:31 2006 +0100
> @@ -0,0 +1,21 @@
> +#include <xen/types.h>
> +#include <xen/font.h>
> +#include <xen/vga.h>
> +
> +/* Temporary dummy versions until the VGA driver is fixed. */
> +
> +void *setup_vga(void)
> +{
> +    return NULL;
> +}
> +
> +void vga_cursor_off(void)
> +{
> +}
> +
> +int vga_load_font(const struct font_desc *desc, unsigned rows)
> +{
> +    return -1;
> +}
> +
> +const struct font_desc font_vga_8x8, font_vga_8x14, font_vga_8x16;

I think there could be a cleaner separation between console.c and vga.c,
and that would avoid needing to redefine these symbols. For example,
right now cls(), init_vga(), and others still live in console.c, most of
them manually testing vgacon_enabled.

What would be better is a system where console drivers (i.e. serial and
vga) register themselves at boot time, so console.c putchar() becomes:

void __putstr(char *str)
{
        struct console_driver *d;
        for (d = console_list; d != NULL; d = d->next)
                d->putstr(str);
}

Then all that serial-specific and vga-specific code can be removed from
console.c, and that would make disabling VGA at compile time much more
clean.

-- 
Hollis Blanchard
IBM Linux Technology Center


_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ppc-devel