Diff for /qemu/hw/pxa2xx.c between versions 1.1.1.4 and 1.1.1.5

version 1.1.1.4, 2018/04/24 17:37:26 version 1.1.1.5, 2018/04/24 18:28:21
Line 860  static int pxa2xx_ssp_init(SysBusDevice  Line 860  static int pxa2xx_ssp_init(SysBusDevice 
     iomemtype = cpu_register_io_memory(pxa2xx_ssp_readfn,      iomemtype = cpu_register_io_memory(pxa2xx_ssp_readfn,
                                        pxa2xx_ssp_writefn, s);                                         pxa2xx_ssp_writefn, s);
     sysbus_init_mmio(dev, 0x1000, iomemtype);      sysbus_init_mmio(dev, 0x1000, iomemtype);
     register_savevm("pxa2xx_ssp", -1, 0,      register_savevm(&dev->qdev, "pxa2xx_ssp", -1, 0,
                     pxa2xx_ssp_save, pxa2xx_ssp_load, s);                      pxa2xx_ssp_save, pxa2xx_ssp_load, s);
   
     s->bus = ssi_create_bus(&dev->qdev, "ssi");      s->bus = ssi_create_bus(&dev->qdev, "ssi");
Line 1515  PXA2xxI2CState *pxa2xx_i2c_init(target_p Line 1515  PXA2xxI2CState *pxa2xx_i2c_init(target_p
     cpu_register_physical_memory(base & ~region_size,      cpu_register_physical_memory(base & ~region_size,
                     region_size + 1, iomemtype);                      region_size + 1, iomemtype);
   
     vmstate_register(base, &vmstate_pxa2xx_i2c, s);      vmstate_register(NULL, base, &vmstate_pxa2xx_i2c, s);
   
     return s;      return s;
 }  }
Line 1751  static PXA2xxI2SState *pxa2xx_i2s_init(t Line 1751  static PXA2xxI2SState *pxa2xx_i2s_init(t
                     pxa2xx_i2s_writefn, s);                      pxa2xx_i2s_writefn, s);
     cpu_register_physical_memory(base, 0x100000, iomemtype);      cpu_register_physical_memory(base, 0x100000, iomemtype);
   
     register_savevm("pxa2xx_i2s", base, 0,      register_savevm(NULL, "pxa2xx_i2s", base, 0,
                     pxa2xx_i2s_save, pxa2xx_i2s_load, s);                      pxa2xx_i2s_save, pxa2xx_i2s_load, s);
   
     return s;      return s;
Line 2014  static PXA2xxFIrState *pxa2xx_fir_init(t Line 2014  static PXA2xxFIrState *pxa2xx_fir_init(t
         qemu_chr_add_handlers(chr, pxa2xx_fir_is_empty,          qemu_chr_add_handlers(chr, pxa2xx_fir_is_empty,
                         pxa2xx_fir_rx, pxa2xx_fir_event, s);                          pxa2xx_fir_rx, pxa2xx_fir_event, s);
   
     register_savevm("pxa2xx_fir", 0, 0, pxa2xx_fir_save, pxa2xx_fir_load, s);      register_savevm(NULL, "pxa2xx_fir", 0, 0, pxa2xx_fir_save,
                       pxa2xx_fir_load, s);
   
     return s;      return s;
 }  }
Line 2053  PXA2xxState *pxa270_init(unsigned int sd Line 2054  PXA2xxState *pxa270_init(unsigned int sd
   
     /* SDRAM & Internal Memory Storage */      /* SDRAM & Internal Memory Storage */
     cpu_register_physical_memory(PXA2XX_SDRAM_BASE,      cpu_register_physical_memory(PXA2XX_SDRAM_BASE,
                     sdram_size, qemu_ram_alloc(sdram_size) | IO_MEM_RAM);                      sdram_size, qemu_ram_alloc(NULL, "pxa270.sdram",
                                                  sdram_size) | IO_MEM_RAM);
     cpu_register_physical_memory(PXA2XX_INTERNAL_BASE,      cpu_register_physical_memory(PXA2XX_INTERNAL_BASE,
                     0x40000, qemu_ram_alloc(0x40000) | IO_MEM_RAM);                      0x40000, qemu_ram_alloc(NULL, "pxa270.internal",
                                               0x40000) | IO_MEM_RAM);
   
     s->pic = pxa2xx_pic_init(0x40d00000, s->env);      s->pic = pxa2xx_pic_init(0x40d00000, s->env);
   
Line 2076  PXA2xxState *pxa270_init(unsigned int sd Line 2079  PXA2xxState *pxa270_init(unsigned int sd
   
     for (i = 0; pxa270_serial[i].io_base; i ++)      for (i = 0; pxa270_serial[i].io_base; i ++)
         if (serial_hds[i])          if (serial_hds[i])
   #ifdef TARGET_WORDS_BIGENDIAN
             serial_mm_init(pxa270_serial[i].io_base, 2,              serial_mm_init(pxa270_serial[i].io_base, 2,
                            s->pic[pxa270_serial[i].irqn], 14857000/16,                             s->pic[pxa270_serial[i].irqn], 14857000/16,
                            serial_hds[i], 1);                             serial_hds[i], 1, 1);
   #else
               serial_mm_init(pxa270_serial[i].io_base, 2,
                              s->pic[pxa270_serial[i].irqn], 14857000/16,
                              serial_hds[i], 1, 0);
   #endif
         else          else
             break;              break;
     if (serial_hds[i])      if (serial_hds[i])
Line 2093  PXA2xxState *pxa270_init(unsigned int sd Line 2102  PXA2xxState *pxa270_init(unsigned int sd
     iomemtype = cpu_register_io_memory(pxa2xx_cm_readfn,      iomemtype = cpu_register_io_memory(pxa2xx_cm_readfn,
                     pxa2xx_cm_writefn, s);                      pxa2xx_cm_writefn, s);
     cpu_register_physical_memory(s->cm_base, 0x1000, iomemtype);      cpu_register_physical_memory(s->cm_base, 0x1000, iomemtype);
     register_savevm("pxa2xx_cm", 0, 0, pxa2xx_cm_save, pxa2xx_cm_load, s);      register_savevm(NULL, "pxa2xx_cm", 0, 0, pxa2xx_cm_save, pxa2xx_cm_load, s);
   
     cpu_arm_set_cp_io(s->env, 14, pxa2xx_cp14_read, pxa2xx_cp14_write, s);      cpu_arm_set_cp_io(s->env, 14, pxa2xx_cp14_read, pxa2xx_cp14_write, s);
   
Line 2104  PXA2xxState *pxa270_init(unsigned int sd Line 2113  PXA2xxState *pxa270_init(unsigned int sd
     iomemtype = cpu_register_io_memory(pxa2xx_mm_readfn,      iomemtype = cpu_register_io_memory(pxa2xx_mm_readfn,
                     pxa2xx_mm_writefn, s);                      pxa2xx_mm_writefn, s);
     cpu_register_physical_memory(s->mm_base, 0x1000, iomemtype);      cpu_register_physical_memory(s->mm_base, 0x1000, iomemtype);
     register_savevm("pxa2xx_mm", 0, 0, pxa2xx_mm_save, pxa2xx_mm_load, s);      register_savevm(NULL, "pxa2xx_mm", 0, 0, pxa2xx_mm_save, pxa2xx_mm_load, s);
   
     s->pm_base = 0x40f00000;      s->pm_base = 0x40f00000;
     iomemtype = cpu_register_io_memory(pxa2xx_pm_readfn,      iomemtype = cpu_register_io_memory(pxa2xx_pm_readfn,
                     pxa2xx_pm_writefn, s);                      pxa2xx_pm_writefn, s);
     cpu_register_physical_memory(s->pm_base, 0x100, iomemtype);      cpu_register_physical_memory(s->pm_base, 0x100, iomemtype);
     register_savevm("pxa2xx_pm", 0, 0, pxa2xx_pm_save, pxa2xx_pm_load, s);      register_savevm(NULL, "pxa2xx_pm", 0, 0, pxa2xx_pm_save, pxa2xx_pm_load, s);
   
     for (i = 0; pxa27x_ssp[i].io_base; i ++);      for (i = 0; pxa27x_ssp[i].io_base; i ++);
     s->ssp = (SSIBus **)qemu_mallocz(sizeof(SSIBus *) * i);      s->ssp = (SSIBus **)qemu_mallocz(sizeof(SSIBus *) * i);
Line 2122  PXA2xxState *pxa270_init(unsigned int sd Line 2131  PXA2xxState *pxa270_init(unsigned int sd
     }      }
   
     if (usb_enabled) {      if (usb_enabled) {
         usb_ohci_init_pxa(0x4c000000, 3, -1, s->pic[PXA2XX_PIC_USBH1]);          sysbus_create_simple("sysbus-ohci", 0x4c000000,
                                s->pic[PXA2XX_PIC_USBH1]);
     }      }
   
     s->pcmcia[0] = pxa2xx_pcmcia_init(0x20000000);      s->pcmcia[0] = pxa2xx_pcmcia_init(0x20000000);
Line 2133  PXA2xxState *pxa270_init(unsigned int sd Line 2143  PXA2xxState *pxa270_init(unsigned int sd
                     pxa2xx_rtc_writefn, s);                      pxa2xx_rtc_writefn, s);
     cpu_register_physical_memory(s->rtc_base, 0x1000, iomemtype);      cpu_register_physical_memory(s->rtc_base, 0x1000, iomemtype);
     pxa2xx_rtc_init(s);      pxa2xx_rtc_init(s);
     register_savevm("pxa2xx_rtc", 0, 0, pxa2xx_rtc_save, pxa2xx_rtc_load, s);      register_savevm(NULL, "pxa2xx_rtc", 0, 0, pxa2xx_rtc_save,
                       pxa2xx_rtc_load, s);
   
     s->i2c[0] = pxa2xx_i2c_init(0x40301600, s->pic[PXA2XX_PIC_I2C], 0xffff);      s->i2c[0] = pxa2xx_i2c_init(0x40301600, s->pic[PXA2XX_PIC_I2C], 0xffff);
     s->i2c[1] = pxa2xx_i2c_init(0x40f00100, s->pic[PXA2XX_PIC_PWRI2C], 0xff);      s->i2c[1] = pxa2xx_i2c_init(0x40f00100, s->pic[PXA2XX_PIC_PWRI2C], 0xff);
Line 2166  PXA2xxState *pxa255_init(unsigned int sd Line 2177  PXA2xxState *pxa255_init(unsigned int sd
   
     /* SDRAM & Internal Memory Storage */      /* SDRAM & Internal Memory Storage */
     cpu_register_physical_memory(PXA2XX_SDRAM_BASE, sdram_size,      cpu_register_physical_memory(PXA2XX_SDRAM_BASE, sdram_size,
                     qemu_ram_alloc(sdram_size) | IO_MEM_RAM);                      qemu_ram_alloc(NULL, "pxa255.sdram",
                                      sdram_size) | IO_MEM_RAM);
     cpu_register_physical_memory(PXA2XX_INTERNAL_BASE, PXA2XX_INTERNAL_SIZE,      cpu_register_physical_memory(PXA2XX_INTERNAL_BASE, PXA2XX_INTERNAL_SIZE,
                     qemu_ram_alloc(PXA2XX_INTERNAL_SIZE) | IO_MEM_RAM);                      qemu_ram_alloc(NULL, "pxa255.internal",
                                      PXA2XX_INTERNAL_SIZE) | IO_MEM_RAM);
   
     s->pic = pxa2xx_pic_init(0x40d00000, s->env);      s->pic = pxa2xx_pic_init(0x40d00000, s->env);
   
Line 2187  PXA2xxState *pxa255_init(unsigned int sd Line 2200  PXA2xxState *pxa255_init(unsigned int sd
                               s->pic[PXA2XX_PIC_MMC], s->dma);                                s->pic[PXA2XX_PIC_MMC], s->dma);
   
     for (i = 0; pxa255_serial[i].io_base; i ++)      for (i = 0; pxa255_serial[i].io_base; i ++)
         if (serial_hds[i])          if (serial_hds[i]) {
   #ifdef TARGET_WORDS_BIGENDIAN
             serial_mm_init(pxa255_serial[i].io_base, 2,              serial_mm_init(pxa255_serial[i].io_base, 2,
                            s->pic[pxa255_serial[i].irqn], 14745600/16,                             s->pic[pxa255_serial[i].irqn], 14745600/16,
                            serial_hds[i], 1);                             serial_hds[i], 1, 1);
         else  #else
               serial_mm_init(pxa255_serial[i].io_base, 2,
                              s->pic[pxa255_serial[i].irqn], 14745600/16,
                              serial_hds[i], 1, 0);
   #endif
           } else {
             break;              break;
           }
     if (serial_hds[i])      if (serial_hds[i])
         s->fir = pxa2xx_fir_init(0x40800000, s->pic[PXA2XX_PIC_ICP],          s->fir = pxa2xx_fir_init(0x40800000, s->pic[PXA2XX_PIC_ICP],
                         s->dma, serial_hds[i]);                          s->dma, serial_hds[i]);
Line 2205  PXA2xxState *pxa255_init(unsigned int sd Line 2225  PXA2xxState *pxa255_init(unsigned int sd
     iomemtype = cpu_register_io_memory(pxa2xx_cm_readfn,      iomemtype = cpu_register_io_memory(pxa2xx_cm_readfn,
                     pxa2xx_cm_writefn, s);                      pxa2xx_cm_writefn, s);
     cpu_register_physical_memory(s->cm_base, 0x1000, iomemtype);      cpu_register_physical_memory(s->cm_base, 0x1000, iomemtype);
     register_savevm("pxa2xx_cm", 0, 0, pxa2xx_cm_save, pxa2xx_cm_load, s);      register_savevm(NULL, "pxa2xx_cm", 0, 0, pxa2xx_cm_save, pxa2xx_cm_load, s);
   
     cpu_arm_set_cp_io(s->env, 14, pxa2xx_cp14_read, pxa2xx_cp14_write, s);      cpu_arm_set_cp_io(s->env, 14, pxa2xx_cp14_read, pxa2xx_cp14_write, s);
   
Line 2216  PXA2xxState *pxa255_init(unsigned int sd Line 2236  PXA2xxState *pxa255_init(unsigned int sd
     iomemtype = cpu_register_io_memory(pxa2xx_mm_readfn,      iomemtype = cpu_register_io_memory(pxa2xx_mm_readfn,
                     pxa2xx_mm_writefn, s);                      pxa2xx_mm_writefn, s);
     cpu_register_physical_memory(s->mm_base, 0x1000, iomemtype);      cpu_register_physical_memory(s->mm_base, 0x1000, iomemtype);
     register_savevm("pxa2xx_mm", 0, 0, pxa2xx_mm_save, pxa2xx_mm_load, s);      register_savevm(NULL, "pxa2xx_mm", 0, 0, pxa2xx_mm_save, pxa2xx_mm_load, s);
   
     s->pm_base = 0x40f00000;      s->pm_base = 0x40f00000;
     iomemtype = cpu_register_io_memory(pxa2xx_pm_readfn,      iomemtype = cpu_register_io_memory(pxa2xx_pm_readfn,
                     pxa2xx_pm_writefn, s);                      pxa2xx_pm_writefn, s);
     cpu_register_physical_memory(s->pm_base, 0x100, iomemtype);      cpu_register_physical_memory(s->pm_base, 0x100, iomemtype);
     register_savevm("pxa2xx_pm", 0, 0, pxa2xx_pm_save, pxa2xx_pm_load, s);      register_savevm(NULL, "pxa2xx_pm", 0, 0, pxa2xx_pm_save, pxa2xx_pm_load, s);
   
     for (i = 0; pxa255_ssp[i].io_base; i ++);      for (i = 0; pxa255_ssp[i].io_base; i ++);
     s->ssp = (SSIBus **)qemu_mallocz(sizeof(SSIBus *) * i);      s->ssp = (SSIBus **)qemu_mallocz(sizeof(SSIBus *) * i);
Line 2234  PXA2xxState *pxa255_init(unsigned int sd Line 2254  PXA2xxState *pxa255_init(unsigned int sd
     }      }
   
     if (usb_enabled) {      if (usb_enabled) {
         usb_ohci_init_pxa(0x4c000000, 3, -1, s->pic[PXA2XX_PIC_USBH1]);          sysbus_create_simple("sysbus-ohci", 0x4c000000,
                                s->pic[PXA2XX_PIC_USBH1]);
     }      }
   
     s->pcmcia[0] = pxa2xx_pcmcia_init(0x20000000);      s->pcmcia[0] = pxa2xx_pcmcia_init(0x20000000);
Line 2245  PXA2xxState *pxa255_init(unsigned int sd Line 2266  PXA2xxState *pxa255_init(unsigned int sd
                     pxa2xx_rtc_writefn, s);                      pxa2xx_rtc_writefn, s);
     cpu_register_physical_memory(s->rtc_base, 0x1000, iomemtype);      cpu_register_physical_memory(s->rtc_base, 0x1000, iomemtype);
     pxa2xx_rtc_init(s);      pxa2xx_rtc_init(s);
     register_savevm("pxa2xx_rtc", 0, 0, pxa2xx_rtc_save, pxa2xx_rtc_load, s);      register_savevm(NULL, "pxa2xx_rtc", 0, 0, pxa2xx_rtc_save,
                       pxa2xx_rtc_load, s);
   
     s->i2c[0] = pxa2xx_i2c_init(0x40301600, s->pic[PXA2XX_PIC_I2C], 0xffff);      s->i2c[0] = pxa2xx_i2c_init(0x40301600, s->pic[PXA2XX_PIC_I2C], 0xffff);
     s->i2c[1] = pxa2xx_i2c_init(0x40f00100, s->pic[PXA2XX_PIC_PWRI2C], 0xff);      s->i2c[1] = pxa2xx_i2c_init(0x40f00100, s->pic[PXA2XX_PIC_PWRI2C], 0xff);

Removed from v.1.1.1.4  
changed lines
  Added in v.1.1.1.5


unix.superglobalmegacorp.com