Commit a07dec2212d6ba9751dd1dac2b3f4b560325fee0
1 parent
b645bb48
Correct NAND erase block size. Misc fixes in Spitz code.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2806 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
5 changed files
with
9 additions
and
10 deletions
hw/nand.c
... | ... | @@ -547,7 +547,7 @@ static void glue(nand_blk_erase_, PAGE_SIZE)(struct nand_flash_s *s) |
547 | 547 | page = i >> 9; |
548 | 548 | if (bdrv_read(s->bdrv, page, iobuf, 1) == -1) |
549 | 549 | printf("%s: read error in sector %i\n", __FUNCTION__, page); |
550 | - memset(iobuf, 0xff, addr & 0x1ff); | |
550 | + memset(iobuf, 0xff, ((addr - 1) & 0x1ff) + 1); | |
551 | 551 | if (bdrv_write(s->bdrv, page, iobuf, 1) == -1) |
552 | 552 | printf("%s: write error in sector %i\n", __FUNCTION__, page); |
553 | 553 | } | ... | ... |
hw/pxa.h
... | ... | @@ -59,9 +59,9 @@ |
59 | 59 | |
60 | 60 | # define PXA2XX_SDRAM_BASE 0xa0000000 |
61 | 61 | # define PXA2XX_INTERNAL_BASE 0x5c000000 |
62 | +# define PXA2XX_INTERNAL_SIZE 0x40000 | |
62 | 63 | |
63 | 64 | /* pxa2xx_pic.c */ |
64 | -struct pxa2xx_pic_state_s; | |
65 | 65 | qemu_irq *pxa2xx_pic_init(target_phys_addr_t base, CPUState *env); |
66 | 66 | |
67 | 67 | /* pxa2xx_timer.c */ | ... | ... |
hw/pxa2xx.c
... | ... | @@ -1634,10 +1634,10 @@ struct pxa2xx_state_s *pxa255_init(unsigned int sdram_size, |
1634 | 1634 | cpu_arm_set_model(s->env, "pxa255"); |
1635 | 1635 | |
1636 | 1636 | /* SDRAM & Internal Memory Storage */ |
1637 | - cpu_register_physical_memory(PXA2XX_SDRAM_BASE, | |
1638 | - sdram_size, qemu_ram_alloc(sdram_size) | IO_MEM_RAM); | |
1639 | - cpu_register_physical_memory(PXA2XX_INTERNAL_BASE, | |
1640 | - 0x40000, qemu_ram_alloc(0x40000) | IO_MEM_RAM); | |
1637 | + cpu_register_physical_memory(PXA2XX_SDRAM_BASE, sdram_size, | |
1638 | + qemu_ram_alloc(sdram_size) | IO_MEM_RAM); | |
1639 | + cpu_register_physical_memory(PXA2XX_INTERNAL_BASE, PXA2XX_INTERNAL_SIZE, | |
1640 | + qemu_ram_alloc(PXA2XX_INTERNAL_SIZE) | IO_MEM_RAM); | |
1641 | 1641 | |
1642 | 1642 | s->pic = pxa2xx_pic_init(0x40d00000, s->env); |
1643 | 1643 | ... | ... |
hw/pxa2xx_lcd.c
... | ... | @@ -737,8 +737,7 @@ static void pxa2xx_lcdc_dma0_redraw_horiz(struct pxa2xx_lcdc_s *s, |
737 | 737 | dest, src, s->xres, s->dest_width); |
738 | 738 | if (addr < start) |
739 | 739 | start = addr; |
740 | - if (new_addr > end) | |
741 | - end = new_addr; | |
740 | + end = new_addr; | |
742 | 741 | if (y < *miny) |
743 | 742 | *miny = y; |
744 | 743 | if (y >= *maxy) | ... | ... |
hw/spitz.c
... | ... | @@ -1003,9 +1003,9 @@ static void spitz_common_init(int ram_size, int vga_ram_size, |
1003 | 1003 | cpu_model = (model == terrier) ? "pxa270-c5" : "pxa270-c0"; |
1004 | 1004 | |
1005 | 1005 | /* Setup CPU & memory */ |
1006 | - if (ram_size < spitz_ram + spitz_rom) { | |
1006 | + if (ram_size < spitz_ram + spitz_rom + PXA2XX_INTERNAL_SIZE) { | |
1007 | 1007 | fprintf(stderr, "This platform requires %i bytes of memory\n", |
1008 | - spitz_ram + spitz_rom); | |
1008 | + spitz_ram + spitz_rom + PXA2XX_INTERNAL_SIZE); | |
1009 | 1009 | exit(1); |
1010 | 1010 | } |
1011 | 1011 | cpu = pxa270_init(spitz_ram, ds, cpu_model); | ... | ... |