|
|
|
|
|
|
|
|
|
|
xen-ia64-devel
[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
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-ia64-devel] [RFC] Enable dom0 to start X,
Akio Takebe <=
|
|
|
|
|