[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-ia64-devel] [RFC] Enable dom0 to start X



Hi, all

I'm debugging Xwindow system of dom0.

Now Xwindow system of dom0 cannot start.
The below is error messages of X.
===================================================
(II) Setting vga for screen 0.
(==) ATI(0): Chipset:  "ati".
(**) ATI(0): Depth 24, (--) framebuffer bpp 32
(II) Loading sub module "int10"
(II) LoadModule: "int10"
(II) Loading /usr/X11R6/lib/modules/libint10.a
(II) Module int10: vendor="X.Org Foundation"
        compiled for 6.8.2, module version = 1.0.0
        ABI class: X.Org Video Driver, version 0.7

Fatal server error:
xf86MapVidMem: Could not mmap framebuffer (0x000a0000,0x20000) (Invalid 
argument)


Please consult the The X.Org Foundation support 
         at http://wiki.X.Org
 for help. 
Please also check the log file at "/var/log/Xorg.0.log" for additional 
information.
===================================================

This issue is caused by retrun EIVAL from mmap_mem()@driver/char/mem.c

Because 0xA0000 is not shown in memmap of Tiger4,
I undefined ARCH_HAS_VALID_PHYS_ADDR_RANGE 
so that valid_mmap_phys_addr_range() always return 1.

  90 #ifndef ARCH_HAS_VALID_PHYS_ADDR_RANGE
  91 static inline int valid_phys_addr_range(unsigned long addr, size_t *count)
  92 {
  93         unsigned long end_mem;
  94 
  95         end_mem = __pa(high_memory);
  96         if (addr >= end_mem)
  97                 return 0;
  98 
  99         if (*count > end_mem - addr)
 100                 *count = end_mem - addr;
 101 
 102         return 1;
 103 }
 104 
 105 static inline int valid_mmap_phys_addr_range(unsigned long addr, size_t 
*size)
 106 {
 107         return 1;
 108 }
 109 #endif


diff -r b2abc70be89e linux-2.6-xen-sparse/include/asm-ia64/io.h
--- a/linux-2.6-xen-sparse/include/asm-ia64/io.h        Wed Jul 19 07:17:54 
2006 -0600
+++ b/linux-2.6-xen-sparse/include/asm-ia64/io.h        Mon Jul 24 19:17:09 
2006 +0900
@@ -89,7 +89,7 @@ phys_to_virt (unsigned long address)
        return (void *) (address + PAGE_OFFSET);
 }
 
-#define ARCH_HAS_VALID_PHYS_ADDR_RANGE
+//#define ARCH_HAS_VALID_PHYS_ADDR_RANGE
 extern int valid_phys_addr_range (unsigned long addr, size_t *count); /* efi.c 
*/
 extern int valid_mmap_phys_addr_range (unsigned long addr, size_t *count);


At the results, I could startx, but not completely.
I found X run while using 100% CPU with top command.
The following messages were shown at that time.

(XEN) lookup_domain_mpa: bad mpa 0xfbfd0738 (=> 0x20000000)
(XEN) lookup_domain_mpa: d 0xf000000004288080 id 0 current 0xf000000004260000 
id 0
(XEN) lookup_domain_mpa: bad mpa 0xfbfd0738 (=> 0x20000000)
(XEN) lookup_domain_mpa: d 0xf000000004288080 id 0 current 0xf000000004260000 
id 0
(XEN) lookup_domain_mpa: bad mpa 0xfbfd0738 (=> 0x20000000)
(XEN) lookup_domain_mpa: d 0xf000000004288080 id 0 current 0xf000000004260000 
id 0
(XEN) lookup_domain_mpa: bad mpa 0xfbfd0738 (=> 0x20000000)
(XEN) lookup_domain_mpa: d 0xf000000004288080 id 0 current 0xf000000004260000 
id 0
(XEN) lookup_domain_mpa: bad mpa 0xfbfd0738 (=> 0x20000000)
(XEN) lookup_domain_mpa: d 0xf000000004288080 id 0 current 0xf000000004260000 
id 0
(XEN) lookup_domain_mpa: bad mpa 0xfbfd0738 (=> 0x20000000)
(XEN) lookup_domain_mpa: d 0xf000000004288080 id 0 current 0xf000000004260000 
id 0
(XEN) lookup_domain_mpa: bad mpa 0xfbfd0738 (=> 0x20000000)
(XEN) lookup_domain_mpa: d 0xf000000004288080 id 0 current 0xf000000004260000 
id 0

I think this 0xf000000004288080 is I/O page to be used by X.
(this 0xf000000004288080 is also not shown in memmap of Tiger4)
The I/O page seem to be not allocated.
How/When should xen allocate this page?

What do you think about this issue?
Shouldn't we undefined ARCH_HAS_VALID_PHYS_ADDR_RANGE?
Please commets.

Best Regards,

Akio Takebe


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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.