diff options
author | iap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk> | 2003-07-16 12:45:05 +0000 |
---|---|---|
committer | iap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk> | 2003-07-16 12:45:05 +0000 |
commit | fa3e395ae6efa68851e7a0bb50ee791c74ca491d (patch) | |
tree | bf8a4277ab4b297994d0942679324562fbf6611c | |
parent | a5de3f68a1c96610f3782271d260ba96ef2f2506 (diff) | |
download | xen-fa3e395ae6efa68851e7a0bb50ee791c74ca491d.tar.gz xen-fa3e395ae6efa68851e7a0bb50ee791c74ca491d.tar.bz2 xen-fa3e395ae6efa68851e7a0bb50ee791c74ca491d.zip |
bitkeeper revision 1.358 (3f1548d1q_6caSqIuMtbsS3JI4fPHA)
Allow 'setfont' on dom0 VGA text console to keep RH8 happy.
XFree86 now works fine in dom0, at least on ATI Mach64 cards, and probably
others too.
-rw-r--r-- | xenolinux-2.4.21-sparse/arch/xeno/kernel/ioport.c | 11 | ||||
-rw-r--r-- | xenolinux-2.4.21-sparse/include/asm-xeno/fixmap.h | 8 | ||||
-rw-r--r-- | xenolinux-2.4.21-sparse/include/asm-xeno/vga.h | 9 |
3 files changed, 19 insertions, 9 deletions
diff --git a/xenolinux-2.4.21-sparse/arch/xeno/kernel/ioport.c b/xenolinux-2.4.21-sparse/arch/xeno/kernel/ioport.c index 76c412883f..172cc802c9 100644 --- a/xenolinux-2.4.21-sparse/arch/xeno/kernel/ioport.c +++ b/xenolinux-2.4.21-sparse/arch/xeno/kernel/ioport.c @@ -40,9 +40,14 @@ asmlinkage int sys_iopl(unsigned int new_io_pl) asmlinkage int sys_ioperm(unsigned long from, unsigned long num, int turn_on) { - unsigned int new_io_pl = turn_on ? 3 : 0; - printk("ioperm not fully supported - set iopl to %d\n", new_io_pl); - return sys_iopl(new_io_pl); + if ( turn_on ) + { + printk("ioperm not fully supported - set iopl to 3\n"); + return sys_iopl(3); + } + else + printk("ioperm not fully supported - ignore resource release\n"); + return 0; } diff --git a/xenolinux-2.4.21-sparse/include/asm-xeno/fixmap.h b/xenolinux-2.4.21-sparse/include/asm-xeno/fixmap.h index 3dea10fdc6..346dd730b4 100644 --- a/xenolinux-2.4.21-sparse/include/asm-xeno/fixmap.h +++ b/xenolinux-2.4.21-sparse/include/asm-xeno/fixmap.h @@ -47,10 +47,16 @@ enum fixed_addresses { FIX_NETRING1_BASE, FIX_NETRING2_BASE, FIX_NETRING3_BASE, -#define NR_FIX_BTMAPS 8 /* 32KB For the Dom0 VGA Console */ + +#ifdef CONFIG_VGA_CONSOLE +#define NR_FIX_BTMAPS 32 /* 128KB For the Dom0 VGA Console A0000-C0000 */ +#else +#define NR_FIX_BTMAPS 1 /* have on page incase anyone wants it in future */ +#endif FIX_BTMAP_END, FIX_BTMAP_BEGIN = FIX_BTMAP_END + NR_FIX_BTMAPS - 1, /* our bt_ioremap is permenant unlike other architectures */ + __end_of_permanent_fixed_addresses, __end_of_fixed_addresses = __end_of_permanent_fixed_addresses }; diff --git a/xenolinux-2.4.21-sparse/include/asm-xeno/vga.h b/xenolinux-2.4.21-sparse/include/asm-xeno/vga.h index fb3605e55e..d0624cf480 100644 --- a/xenolinux-2.4.21-sparse/include/asm-xeno/vga.h +++ b/xenolinux-2.4.21-sparse/include/asm-xeno/vga.h @@ -24,15 +24,14 @@ static unsigned long VGA_MAP_MEM(unsigned long x) if( x != 0xb8000 ) panic("Argghh! VGA Console is weird. 1:%08lx\n",x); - vgacon_mmap = (unsigned char*) bt_ioremap( 0xb8000, 32*1024 ); - return (unsigned long) vgacon_mmap; + vgacon_mmap = (unsigned char*) bt_ioremap( 0xa0000, 128*1024 ); + return (unsigned long) (vgacon_mmap+x-0xa0000); } else { - if( x != 0xc0000 ) + if( x != 0xc0000 && x != 0xa0000 ) /* vidmem_end or charmap fonts */ panic("Argghh! VGA Console is weird. 2:%08lx\n",x); - - return (unsigned long) vgacon_mmap + 0x8000; + return (unsigned long) (vgacon_mmap+x-0xa0000); } return 0; } |