|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] Fix the issue of on x86_64, rhel4 can not get into runle
# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 26b961b7215378fd0356c6be73b8ff669b83945c
# Parent a8ac8be1a889d633e5d65e3f27a93b4726bfc9a4
Fix the issue of on x86_64, rhel4 can not get into runlevel 5.
Xserver will scan pci and the cirrus VGA driver will register
mmio each time, cause mmio array out of space.
Signed-off-by: Xiaofeng Ling <xiaofeng.ling@xxxxxxxxx>
diff -r a8ac8be1a889 -r 26b961b72153 tools/ioemu/exec.c
--- a/tools/ioemu/exec.c Fri Nov 25 08:15:08 2005
+++ b/tools/ioemu/exec.c Fri Nov 25 08:17:34 2005
@@ -262,13 +262,24 @@
unsigned long size,
unsigned long phys_offset)
{
- if (mmio_cnt == MAX_MMIO) {
- fprintf(logfile, "too many mmio regions\n");
- exit(-1);
- }
- mmio[mmio_cnt].io_index = phys_offset;
- mmio[mmio_cnt].start = start_addr;
- mmio[mmio_cnt++].size = size;
+ int i;
+
+ for (i = 0; i < mmio_cnt; i++) {
+ if(mmio[i].start == start_addr) {
+ mmio[i].io_index = phys_offset;
+ mmio[i].size = size;
+ return;
+ }
+ }
+
+ if (mmio_cnt == MAX_MMIO) {
+ fprintf(logfile, "too many mmio regions\n");
+ exit(-1);
+ }
+
+ mmio[mmio_cnt].io_index = phys_offset;
+ mmio[mmio_cnt].start = start_addr;
+ mmio[mmio_cnt++].size = size;
}
/* mem_read and mem_write are arrays of functions containing the
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] Fix the issue of on x86_64, rhel4 can not get into runlevel 5.,
Xen patchbot -unstable <=
|
|
|
|
|