summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSøren Sandmann <ssp@redhat.com>2010-05-25 06:58:57 -0400
committerSøren Sandmann Pedersen <ssp@redhat.com>2010-09-14 06:32:08 -0400
commite691e979b476f1ff9c6c93e12f6cea02dcb8c841 (patch)
tree3211102192bd91bf63aa45b449a69e9c9ad72f2b
parent25329392a76eafa9cd583d2fa18b83e678dac3be (diff)
Make sure memory space is not bigger than the memory
-rw-r--r--src/qxl_driver.c8
-rw-r--r--src/qxl_mem.c2
2 files changed, 4 insertions, 6 deletions
diff --git a/src/qxl_driver.c b/src/qxl_driver.c
index 9f417c8..b121b6a 100644
--- a/src/qxl_driver.c
+++ b/src/qxl_driver.c
@@ -303,13 +303,9 @@ qxl_reset (qxl_screen_t *qxl)
ram_header->mem_slot_start = slot->start_phys_addr;
ram_header->mem_slot_end = slot->end_phys_addr;
- ErrorF ("before: %d\n", qxl->rom->slot_generation);
-
- ErrorF ("slot: %d\n", qxl->main_mem_slot);
-
outb (qxl->io_base + QXL_IO_MEMSLOT_ADD, qxl->main_mem_slot);
- ErrorF ("after: %d\n", qxl->rom->slot_generation);
+ ErrorF ("Created memslot from %p to %p\n", slot->start_phys_addr, slot->end_phys_addr);
slot->generation = qxl->rom->slot_generation;
@@ -1098,7 +1094,7 @@ qxl_screen_init(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
qxl_reset (qxl);
qxl->mem = qxl_mem_create ((void *)((unsigned long)qxl->ram + qxl->surface0_size),
- rom->num_pages * getpagesize());
+ rom->num_pages * getpagesize() - qxl->surface0_size);
qxl->io_pages = (void *)((unsigned long)qxl->ram);
qxl->io_pages_physical = (void *)((unsigned long)qxl->ram_physical);
diff --git a/src/qxl_mem.c b/src/qxl_mem.c
index 4d60b2d..c4c91b0 100644
--- a/src/qxl_mem.c
+++ b/src/qxl_mem.c
@@ -56,6 +56,8 @@ qxl_mem_create (void *base, unsigned long n_bytes)
if (!mem)
goto out;
+ ErrorF ("memory space from %p to %p\n", base, base + n_bytes);
+
mem->base = base;
mem->n_bytes = n_bytes;