diff options
author | Søren Sandmann <ssp@redhat.com> | 2010-05-25 06:58:57 -0400 |
---|---|---|
committer | Søren Sandmann Pedersen <ssp@redhat.com> | 2010-09-14 06:32:08 -0400 |
commit | e691e979b476f1ff9c6c93e12f6cea02dcb8c841 (patch) | |
tree | 3211102192bd91bf63aa45b449a69e9c9ad72f2b | |
parent | 25329392a76eafa9cd583d2fa18b83e678dac3be (diff) |
Make sure memory space is not bigger than the memory
-rw-r--r-- | src/qxl_driver.c | 8 | ||||
-rw-r--r-- | src/qxl_mem.c | 2 |
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; |