• Paul Brook pointed out that the number of sectors reported
    by the SCSI read capacity commands needs to be divided by
    s->cluster_size, because bdrv_get_geometry reports the number
    of 512 byte sectors, while emulated CDROMs report 2048 byte
    sectors back to the guest.
    
    This has no consequences for emulated hard disks, which use
    a cluster size of 1.
    
    aliguori: fixed typo
    
    Signed-off-by: Rik van Riel <riel@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6469 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Code »
  • Implement SCSI READ(16), WRITE(16) and SAI READ CAPACITY(16) commands,
    so SCSI disks larger than 2TB can work with guests that support these
    newer SCSI commands.
    
    The cast to (uint64_t) is needed because otherwise gcc will use a
    signed int, which gets sign extended into uint64_t lba, resulting
    in bad block numbers for READ 10 and READ 16 with block numbers
    larger than 2^31.
    
    Signed-off-by: Rik van Riel <riel@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6468 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Code »
  • Sector numbers can overflow on a virtual scsi disk of over 1TB
    in size.  Qemu's bdrv_read expects an int64_t, so fix the overflow
    by going to that data type.
    
    On large disks, we clip the capacity to 2TB instead of returning
    "capacity modulo 2TB".
    
    Turn sector_count into an unsigned to prevent a signed/unsigned
    overflow with SCSI transfers larger than 2TB.  We're unlikely to
    ever hit this bug, but fixing it is just one line.
    
    Signed-off-by: Rik van Riel <riel@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6467 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Code »
  • make {linux,bsd}-user qemu_realloc handle ptr == NULL correctly.
    spotted by malc.
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6466 c046a42c-6fe2-441c-8c8c-71466251a162
    malc authored
     
    Browse Code »


  • Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6463 c046a42c-6fe2-441c-8c8c-71466251a162
    edgar_igl authored
     
    Browse Code »
  • Apparently this board was forgotten in the display changes.
    
    Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6462 c046a42c-6fe2-441c-8c8c-71466251a162
    edgar_igl authored
     
    Browse Code »
  • It seems that the conversion of the kernel-delivered eflags state into
    qemu's internal split representation was once needed in an older kvm
    design (register read-back may have taken place from inside cpu_exec).
    Today it is plain wrong and causes incorrect cpu state reporting (gdb,
    monitor) and should also corrupt its saving (savevm, migration). Drop
    the related lines.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6461 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse File »
  • The HPET emulation can disable the i8254 when the HPET is
    in legacy mode, thus emulating the i8254's behavior.
    
    But if it does, the i8254 doesn't have to be running, so
    let's check to see if the timer works and not disable it
    if it's not.
    
    This fixes a segmentation fault when running Mac OS X as
    guest os.
    
    Signed-off-by: Alexander Graf <agraf@suse.de>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6460 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Dir »
  • Add an implementation to create VHD images.
    
    Signed-off-by: Kevin Wolf <kwolf@suse.de>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6459 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Code »
  • Add write support for VHD images.
    
    Signed-off-by: Kevin Wolf <kwolf@suse.de>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6458 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Code »
  • Instead of accessing the file directly, use the qemu block layer.
    
    Signed-off-by: Kevin Wolf <kwolf@suse.de>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6457 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Code »
  • VirtualPC bases the virtual disk size on the geometry rather than on
    the size stored in the header.
    
    Signed-off-by: Kevin Wolf <kwolf@suse.de>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6456 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Dir »
  • The current definition of the VirtualPC headers is incomplete and partly
    even wrong. This patch changes the header structs according to the
    official VHD specification.
    
    Signed-off-by: Kevin Wolf <kwolf@suse.de>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6455 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Dir »
  • struct vpc_subheader currently is a union of two completely different
    data structures (the Hard Disk Footer and the Dynamic Disk Header).
    That doesn't make too much sense, so split them up.
    
    Signed-off-by: Kevin Wolf <kwolf@suse.de>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6454 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Code »
  • As discussed a few times on this list: A triple fault causes a system
    reset on x86, and some guests make use of this (e.g. 386BSD). To keep
    the chance of tracing unexpected resets, log them if CPU_LOG_RESET is
    set.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6453 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Code »
  • Original idea&code by Kevin Wolf, split-up in two patches and added more
    archs.
    
    This patch introduces a flag to log CPU resets. Useful for tracing
    unexpected resets (such as those triggered by x86 triple faults).
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6452 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Code »
  • According to the FSF, the 4-clause BSD license, which slirp is covered under,
    is not compatible with the GPL or LGPL[1].
    
    [1] http://www.fsf.org/licensing/licenses/index_html#GPLIncompatibleLicenses
    
    There are three declared copyright holders in slirp that use the 4-clause
    BSD license, the Regents of UC Berkley, Danny Gasparovski, and Kelly Price.
    Below are the appropriate permissions to remove the advertise clause from slirp
    from each party.
    
    Special thanks go to Richard Fontana from Red Hat for contacting all of the
    necessary authors to resolve this issue!
    
    Regents of UC Berkley:
    From ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
    
    July 22, 1999
    
    To All Licensees, Distributors of Any Version of BSD:
    
    As you know, certain of the Berkeley Software Distribution ("BSD") source
    code files require that further distributions of products containing all or
    portions of the software, acknowledge within their advertising materials
    that such products contain software developed by UC Berkeley and its
    contributors.
    
    Specifically, the provision reads:
    
    "     * 3. All advertising materials mentioning features or use of this software
          *    must display the following acknowledgement:
          *    This product includes software developed by the University of
          *    California, Berkeley and its contributors."
    
    Effective immediately, licensees and distributors are no longer required to
    include the acknowledgement within advertising materials.  Accordingly, the
    foregoing paragraph of those BSD Unix files containing it is hereby deleted
    in its entirety.
    
    William Hoskins
    Director, Office of Technology Licensing
    University of California, Berkeley
    
    Danny Gasparovski:
    
    Subject: RE: Slirp license
    Date: Thu, 8 Jan 2009 10:51:00 +1100
    From: "Gasparovski, Daniel" <Daniel.Gasparovski@ato.gov.au>
    To: "Richard Fontana" <rfontana@redhat.com>
    
    Hi Richard,
    
    I have no objection to having Slirp code in QEMU be licensed under the
    3-clause BSD license.
    
    Thanks for taking the effort to consult me about this.
    
    
    Dan ...
    
    Kelly Price:
    
    Date: Thu, 8 Jan 2009 19:38:56 -0500
    From: "Kelly Price" <strredwolf@gmail.com>
    To: "Richard Fontana" <rfontana@redhat.com>
    Subject: Re: Slirp license
    
    Thanks for contacting me, Richard.  I'm glad you were able to find
    Dan, as I've been "keeping the light on" for Slirp.  I have no use for
    it now, and I have little time for it (now holding onto Keenspot's
    Comic Genesis and having a regular US state government position). If
    Dan would like to return to the project, I'd love to give it back to
    him.
    
    As for copyright, I don't own all of it.  Dan does, so I will defer to
    him.  Any of my patches I will gladly license to the 3-part BSD
    license.  My interest in re-licensing was because we didn't have ready
    info to contact Dan.  If Dan would like to port Slirp back out of
    QEMU, a lot of us 64-bit users would be grateful.
    
    Feel free to share this email address with Dan.  I will be glad to
    effect a transfer of the project to him and Mr. Bellard of the QEMU
    project.
    
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6451 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Code »
  • git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6450 c046a42c-6fe2-441c-8c8c-71466251a162
    malc authored
     
    Browse Code »
  • The current codebase ignores MTRR (Memory Type Range Register)
    configuration writes and reads because Qemu does not implement caching.
    All BIOS/firmware in know of for x86 do implement a mode called
    Cache-as-RAM (CAR) which locks down the CPU cache lines and uses the CPU
    cache like RAM before RAM is enabled. Qemu assumes RAM is accessible
    from the start, but it would be nice to be able to run real
    BIOS/firmware in Qemu. For that, we need CAR support and for CAR support
    we have to support MTRRs.
    
    This patch is a first step in that direction. MTRRs are MSRs supported
    by all recent x86 CPUs, even old i586. Besides influencing cache, the
    MTRRs can be written and read back, so discarding MTRR writes violates
    the expectations of existing code out there.
    
    An added benefit of this patch is that it fixes the following Linux
    kernel error message present in recent kernels (provided the BIOS has
    the recent MTRR patches applied):
     ------------[ cut here ]------------
    WARNING: at arch/x86/kernel/cpu/mtrr/main.c:1500 mtrr_trim_uncached_memory+0x382/0x384()
    WARNING: strange, CPU MTRRs all blank?
    Modules linked in:
    Supported: Yes
    Pid: 0, comm: swapper Not tainted 2.6.27.7-9-default #1
     [<c0106570>] dump_trace+0x6b/0x249
     [<c01070a5>] show_trace+0x20/0x39
     [<c0343c02>] dump_stack+0x71/0x76
     [<c012acb2>] warn_slowpath+0x6f/0x90
     [<c0542f8f>] mtrr_trim_uncached_memory+0x382/0x384
     [<c053f24d>] setup_arch+0x40d/0x639
     [<c053a6ac>] start_kernel+0x6b/0x31f
     =======================
     ---[ end trace 4eaa2a86a8e2da22 ]---
    
    Handle common x86 MTRR reads and writes, but don't act on them.
    
    Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6449 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Dir »
  • Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6448 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse File »
  • Derived from Stuart Brady's patch: Show the target directory as prefix
    to the current module when building in quiet mode. This helps to gain
    overview of the current build progress, specifically when running
    parallelized builds.
    
    Furthermore, suppress make command echoing when entering subdirs and
    replace $(subst subdir-,,$@) with $* in the related rule.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6447 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Code »