1. 22 8月, 2011 1 次提交
    • B
      sun4m: avoid structure holes spotted by pahole · 61999750
      Blue Swirl 提交于
      Edited report from pahole on amd64 host:
      struct sun4c_hwdef {
      ...
      	uint8_t                    nvram_machine_id;     /*   112     1 */
      
      	/* XXX 1 byte hole, try to pack */
      ...
      	/* size: 136, cachelines: 3 */
      	/* sum members: 135, holes: 1, sum holes: 1 */
      	/* last cacheline: 8 bytes */
      };	/* definitions: 1 */
      
      struct sun4d_hwdef {
      ...
      	uint8_t                    nvram_machine_id;     /*   128     1 */
      
      	/* XXX 1 byte hole, try to pack */
      ...
      	/* size: 152, cachelines: 3 */
      	/* sum members: 151, holes: 1, sum holes: 1 */
      	/* last cacheline: 24 bytes */
      };	/* definitions: 1 */
      
      struct sun4m_hwdef {
      ...
      	uint8_t                    nvram_machine_id;     /*   260     1 */
      
      	/* XXX 1 byte hole, try to pack */
      
      	uint16_t                   machine_id;           /*   262     2 */
      	uint32_t                   iommu_version;        /*   264     4 */
      
      	/* XXX 4 bytes hole, try to pack */
      ...
      	/* size: 288, cachelines: 5 */
      	/* sum members: 283, holes: 2, sum holes: 5 */
      	/* last cacheline: 32 bytes */
      };	/* definitions: 1 */
      
      Fix by rearranging the structures to avoid padding.
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      61999750
  2. 21 8月, 2011 1 次提交
  3. 13 3月, 2011 1 次提交
  4. 19 12月, 2010 1 次提交
  5. 31 10月, 2010 1 次提交
  6. 12 9月, 2010 1 次提交
    • B
      ESP: fix ESP DMA access when DMA is not enabled · 73d74342
      Blue Swirl 提交于
      Sending ESP a command caused it to trigger DMA immediately
      even if DMA was not enabled at the DMA controller.
      
      Add a signal from DMA controller to ESP to tell ESP about changes in
      DMA enable bit. Also use the correct function for setting up GPIO outputs.
      
      This fixes NetBSD 1.6.1 through 3.0 boot.
      
      Thanks to Artyom Tarasenko for extensive debugging of the problem.
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      73d74342
  7. 24 8月, 2010 1 次提交
    • B
      Rearrange block headers · 2446333c
      Blue Swirl 提交于
      Changing block.h or blockdev.h resulted in recompiling most objects.
      
      Move DriveInfo typedef and BlockInterfaceType enum definitions
      to qemu-common.h and rearrange blockdev.h use to decrease churn.
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      2446333c
  8. 04 8月, 2010 1 次提交
  9. 21 7月, 2010 1 次提交
  10. 06 7月, 2010 1 次提交
  11. 29 5月, 2010 1 次提交
  12. 22 5月, 2010 1 次提交
  13. 18 4月, 2010 1 次提交
  14. 16 3月, 2010 1 次提交
    • A
      load_elf: replace the address addend by a translation function · 409dbce5
      Aurelien Jarno 提交于
      A few machines need to translate the ELF header addresses into physical
      addresses. Currently the only possibility is to add a value to the
      addresses.
      
      This patch replaces the addend argument by and a translation function
      and an opaque passed to the function. A NULL function does not translate
      the address.
      
      The patch also convert all machines that have an addend, simplify the
      PowerPC kernel loading and fix the MIPS kernel loading using this new
      feature. Other machines may benefit from this feature.
      Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
      409dbce5
  15. 07 2月, 2010 1 次提交
  16. 14 1月, 2010 1 次提交
  17. 28 12月, 2009 1 次提交
  18. 13 12月, 2009 1 次提交
  19. 09 11月, 2009 1 次提交
  20. 28 10月, 2009 1 次提交
  21. 12 10月, 2009 1 次提交
    • G
      rom loader: fix sparc -kernel boot. · 3c178e72
      Gerd Hoffmann 提交于
      Changes:
      (1) register pstrcpy_targphys() in rom list, it is used for kernel
      command lines by a number of architectures.
      (2) add rom_ptr() function to get a pointer for applying changes
      to loaded images.  Needed for example to tell the linux kernel
      where it finds the initrd image by updating the header.
      (3) make sparc use rom_ptr for initrd setup.
      
      booting sparc-test works now, and 'info roms' shows this:
      
      (qemu) info roms
      addr=0000000000000000 size=0x2a3828 mem=ram name="phdr #0: vmlinux-2.6.11+tcx"
      addr=00000000007ff000 size=0x00000e mem=ram name="cmdline"
      addr=0000000000800000 size=0x400000 mem=ram name="/root/qemu-test/sparc-test/linux.img"
      addr=0000000070000000 size=0x0e4000 mem=rom name="phdr #0: /home/kraxel/projects/qemu/build-zfull/pc-bios/openbios-sparc32"
      
      reboot via 'system_reset' works too.
      
      Patchworks-ID: 35262
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      3c178e72
  22. 07 10月, 2009 1 次提交
    • M
      New qdev_init_nofail() · e23a1b33
      Markus Armbruster 提交于
      Like qdev_init(), but terminate program via hw_error() instead of
      returning an error value.
      
      Use it instead of qdev_init() where terminating the program on failure
      is okay, either because it's during machine construction, or because
      we know that failure can't happen.
      
      Because relying in the latter is somewhat unclean, and the former is
      not always obvious, it would be nice to go back to qdev_init() in the
      not-so-obvious cases, only with proper error handling.  I'm leaving
      that for another day, because it involves making sure that error
      values are properly checked by all callers.
      
      Patchworks-ID: 35168
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      e23a1b33
  23. 05 10月, 2009 1 次提交
  24. 02 10月, 2009 2 次提交
  25. 20 9月, 2009 1 次提交
    • B
      Compile loader only once · ca20cf32
      Blue Swirl 提交于
      Callers must pass ELF machine, byte swapping and symbol LSB clearing
      information to ELF loader. A.out loader needs page size information, pass
      that too as a parameter.
      
      Extract prototypes to a separate file. Move loader.[ch] and elf_ops.h under hw.
      
      Adjust callers. Also use target_phys_addr_t instead of target_ulong for
      addresses: loader addresses aren't virtual.
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      ca20cf32
  26. 28 8月, 2009 1 次提交
    • G
      qdev: add return value to init() callbacks. · 81a322d4
      Gerd Hoffmann 提交于
      Sorry folks, but it has to be.  One more of these invasive qdev patches.
      
      We have a serious design bug in the qdev interface:  device init
      callbacks can't signal failure because the init() callback has no
      return value.  This patch fixes it.
      
      We have already one case in-tree where this is needed:
      Try -device virtio-blk-pci (without drive= specified) and watch qemu
      segfault.  This patch fixes it.
      
      With usb+scsi being converted to qdev we'll get more devices where the
      init callback can fail for various reasons.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      81a322d4
  27. 26 8月, 2009 1 次提交
    • B
      Sparc32: improve interrupt handling · 462eda24
      Blue Swirl 提交于
      Level 15 interrupts are broadcast to all CPUs, each CPU can clear the
      interrupt using the local Clear Pending register.
      
      Update intbit_to_level table.
      
      Don't try to raise level 0 interrupts.
      
      Calculate pending interrupts based on the separate inputs from master
      register. Setting or resetting the pending level isn't correct because of
      overlap of levels.
      
      Level 14 is always used for CPU timer interrupts, remove the property.
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      462eda24
  28. 23 8月, 2009 1 次提交
  29. 11 8月, 2009 1 次提交
  30. 09 8月, 2009 7 次提交
  31. 28 7月, 2009 1 次提交
    • G
      kill drives_table · 751c6a17
      Gerd Hoffmann 提交于
      First step cleaning up the drives handling.  This one does nothing but
      removing drives_table[], still it became seriously big.
      
      drive_get_index() is gone and is replaced by drives_get() which hands
      out DriveInfo pointers instead of a table index.  This needs adaption in
      *tons* of places all over.
      
      The drives are now maintained as linked list.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      751c6a17
  32. 22 7月, 2009 2 次提交