• P
    hw: Add support for LSI SAS1068 (mptsas) device · e351b826
    Paolo Bonzini 提交于
    This adds the SAS1068 device, a SAS disk controller used in VMware that
    is oldish but widely supported and has decent performance.  Unlike
    megasas, it presents itself as a SAS controller and not as a RAID
    controller.  The device corresponds to the mptsas kernel driver in
    Linux.
    
    A few small things in the device setup are based on Don Slutz's old
    patch, but the device emulation was written from scratch based on Don's
    SeaBIOS patch and on the FreeBSD and Linux drivers.  It is 2400 lines
    shorter than Don's patch (and roughly the same size as MegaSAS---also
    because it doesn't support the similar SPI controller), implements SCSI
    task management functions (with asynchronous cancellation), supports
    big-endian hosts, has complete support for migration and follows the
    QEMU coding standards much more closely.
    
    To write the driver, I first split Don's patch in two parts, with
    the configuration bits in one file and the rest in a separate file.
    I first left mptconfig.c in place and rewrote the rest, then deleted
    mptconfig.c as well.  The configuration pages are still based mostly on
    VirtualBox's, though not exactly the same.  However, the implementation
    is completely different.  The contents of the pages themselves should
    not be copyrightable.
    Signed-off-by: NDon Slutz <Don@CloudSwitch.com>
    Message-Id: <1347382813-5662-1-git-send-email-Don@CloudSwitch.com>
    Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
    e351b826
mptconfig.c 26.3 KB