* [Qemu-devel] [PATCH] lsi53c895a: Add support for OS/2 Warp SYM8XX.ADD driver
@ 2010-09-30 5:07 Nicholas A. Bellinger
2010-09-30 13:23 ` [Qemu-devel] " Hannes Reinecke
2010-10-07 10:59 ` Kevin Wolf
0 siblings, 2 replies; 4+ messages in thread
From: Nicholas A. Bellinger @ 2010-09-30 5:07 UTC (permalink / raw)
To: Paul Brook, Jan Kiszka, Kevin Wolf, Gerd Hoffmann
Cc: kvm-devel, qemu-devel, Nicholas Bellinger, FUJITA Tomonori,
Hannes Reinecke, Matthew Wilcox
From: Nicholas Bellinger <nab@linux-iscsi.org>
Greetings Paul, Jan, Kevin and co,
This series is against my v0.12.5 qemu-kvm.git that contains QEMU SCSI layer
SGL passthrough from Gerd Hoffman, 8708EM2 MegaSas emulation from Dr. Hannes
Reinecke, and well as my own hw/scsi-bsg.c support. This tree is located here:
http://git.kernel.org/?p=virt/kvm/nab/qemu-kvm.git;a=summary
This first patch adds a missing qdev->reset() NOP caller in hw/scsi-generic.c that
is now expected by lsi53c895a.c in >= v0.12.5 code. You will want to apply this to
all >= v0.12.5 QEMU trees so scsi-generic does not segfault with lsi53c895a expecting
a valid qdev->reset().
The second item is a bit more exotic.. 8-) So I have been thinking about how to get
qemu-kvm.git scsi-generic <-> TCM_Loop to function with OS/2 Warp v4 (SP15) in guest
for a while now, and I am happy to report that after sending some time in the last weeks
getting OS/2 setup (hey, it has been +13 years) and finding a functioning sym53c895a
driver, and finally finding a working SYM8XX.ADD and being able to fill in missing
informational registers and adding a workaround to fix a bogus Destination ID register
WRITE from the now +10 year old SYM8XX.ADD driver code.
Here are some screenshots of the patch in action:
*) Booting with BASEDEV=SYM8XX.ADD /V:
http://linux-iscsi.org/index.php/Image:TCM_Loop-OS2Warp-QEMU-KVM-boot.png
*) TCM_loop <-> LIO-ORG SPC-3 LUN from KVM Host in the OS/2 Workplace shell!
http://linux-iscsi.org/index.php/Image:TCM_Loop-OS2Warp-QEMU-KVM-running.png
So please go ahead and merge the first patch and let me know if you have
any concerns about merging the second one. And thanks to Paul Brook for writing
the original lsi53c895a.c code, as it is certainly quite an interesting piece
of C code to hack on!
Best,
--nab
Nicholas Bellinger (2):
scsi-generic: Add reset handler
lsi53c895a: Add missing registers and workaround for OS/2 Warp
SYM8XX.ADD driver
hw/lsi53c895a.c | 26 ++++++++++++++++++++++----
hw/scsi-generic.c | 6 ++++++
2 files changed, 28 insertions(+), 4 deletions(-)
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Qemu-devel] Re: [PATCH] lsi53c895a: Add support for OS/2 Warp SYM8XX.ADD driver
2010-09-30 5:07 [Qemu-devel] [PATCH] lsi53c895a: Add support for OS/2 Warp SYM8XX.ADD driver Nicholas A. Bellinger
@ 2010-09-30 13:23 ` Hannes Reinecke
2010-09-30 21:44 ` Nicholas A. Bellinger
2010-10-07 10:59 ` Kevin Wolf
1 sibling, 1 reply; 4+ messages in thread
From: Hannes Reinecke @ 2010-09-30 13:23 UTC (permalink / raw)
To: Nicholas A. Bellinger
Cc: Kevin Wolf, kvm-devel, Jan Kiszka, qemu-devel, FUJITA Tomonori,
Paul Brook, Matthew Wilcox, Gerd Hoffmann
Nicholas A. Bellinger wrote:
> From: Nicholas Bellinger <nab@linux-iscsi.org>
>
> Greetings Paul, Jan, Kevin and co,
>
> This series is against my v0.12.5 qemu-kvm.git that contains QEMU SCSI layer
> SGL passthrough from Gerd Hoffman, 8708EM2 MegaSas emulation from Dr. Hannes
> Reinecke, and well as my own hw/scsi-bsg.c support. This tree is located here:
>
> http://git.kernel.org/?p=virt/kvm/nab/qemu-kvm.git;a=summary
>
> This first patch adds a missing qdev->reset() NOP caller in hw/scsi-generic.c that
> is now expected by lsi53c895a.c in >= v0.12.5 code. You will want to apply this to
> all >= v0.12.5 QEMU trees so scsi-generic does not segfault with lsi53c895a expecting
> a valid qdev->reset().
>
> The second item is a bit more exotic.. 8-) So I have been thinking about how to get
> qemu-kvm.git scsi-generic <-> TCM_Loop to function with OS/2 Warp v4 (SP15) in guest
> for a while now, and I am happy to report that after sending some time in the last weeks
> getting OS/2 setup (hey, it has been +13 years) and finding a functioning sym53c895a
> driver, and finally finding a working SYM8XX.ADD and being able to fill in missing
> informational registers and adding a workaround to fix a bogus Destination ID register
> WRITE from the now +10 year old SYM8XX.ADD driver code.
>
Hey, and while you're at it:
The lsi53c895a emulation is missing support for 'abort' and 'device
reset' TMFs; newer Linux kernel have the habit of sending them
accordingly. Should be fairly straightforward, only I gave up on it
after reading the first 10 odd pages of the manual ...
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
hare@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Markus Rex, HRB 16746 (AG Nürnberg)
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Qemu-devel] Re: [PATCH] lsi53c895a: Add support for OS/2 Warp SYM8XX.ADD driver
2010-09-30 13:23 ` [Qemu-devel] " Hannes Reinecke
@ 2010-09-30 21:44 ` Nicholas A. Bellinger
0 siblings, 0 replies; 4+ messages in thread
From: Nicholas A. Bellinger @ 2010-09-30 21:44 UTC (permalink / raw)
To: Hannes Reinecke
Cc: Kevin Wolf, kvm-devel, Jan Kiszka, qemu-devel, FUJITA Tomonori,
Paul Brook, H. Peter Anvin, Matthew Wilcox, Gerd Hoffmann
On Thu, 2010-09-30 at 15:23 +0200, Hannes Reinecke wrote:
> Nicholas A. Bellinger wrote:
> > From: Nicholas Bellinger <nab@linux-iscsi.org>
> >
> > Greetings Paul, Jan, Kevin and co,
> >
> > This series is against my v0.12.5 qemu-kvm.git that contains QEMU SCSI layer
> > SGL passthrough from Gerd Hoffman, 8708EM2 MegaSas emulation from Dr. Hannes
> > Reinecke, and well as my own hw/scsi-bsg.c support. This tree is located here:
> >
> > http://git.kernel.org/?p=virt/kvm/nab/qemu-kvm.git;a=summary
> >
> > This first patch adds a missing qdev->reset() NOP caller in hw/scsi-generic.c that
> > is now expected by lsi53c895a.c in >= v0.12.5 code. You will want to apply this to
> > all >= v0.12.5 QEMU trees so scsi-generic does not segfault with lsi53c895a expecting
> > a valid qdev->reset().
> >
> > The second item is a bit more exotic.. 8-) So I have been thinking about how to get
> > qemu-kvm.git scsi-generic <-> TCM_Loop to function with OS/2 Warp v4 (SP15) in guest
> > for a while now, and I am happy to report that after sending some time in the last weeks
> > getting OS/2 setup (hey, it has been +13 years) and finding a functioning sym53c895a
> > driver, and finally finding a working SYM8XX.ADD and being able to fill in missing
> > informational registers and adding a workaround to fix a bogus Destination ID register
> > WRITE from the now +10 year old SYM8XX.ADD driver code.
> >
> Hey, and while you're at it:
> The lsi53c895a emulation is missing support for 'abort' and 'device
> reset' TMFs; newer Linux kernel have the habit of sending them
> accordingly. Should be fairly straightforward, only I gave up on it
> after reading the first 10 odd pages of the manual ...
>
Yeah, I was looking at adding that earlier but also ended up getting
lost in the specific details.. After the last few patches to fix
breakage in lsi53c895a.c with v0.12.5 <-> SCSI SGL passthrough and this
series, how this might TMFs might function is slightly more clear to me
now for sym53c8xx_2 guest driver code.
I might take a stab at adding TMFs at some point in the future, but
perhaps opening up the discussion about merging Gerd's QEMU SCSI SGL
passthrough (and how it makes lsi53c895a.c and megasas.c code cleaner)
might be in order now before we start adding new features into existing
lsi53c895a.c code.
I say this because the lsi53c895a.c driver is what is currently
diverging the quickest between the mainline qemu-kvm.git tree and the
SCSI-SGL-Passthrough/MegaSAS/BSG qemu-kvm.git tree.
Best,
--nab
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Qemu-devel] Re: [PATCH] lsi53c895a: Add support for OS/2 Warp SYM8XX.ADD driver
2010-09-30 5:07 [Qemu-devel] [PATCH] lsi53c895a: Add support for OS/2 Warp SYM8XX.ADD driver Nicholas A. Bellinger
2010-09-30 13:23 ` [Qemu-devel] " Hannes Reinecke
@ 2010-10-07 10:59 ` Kevin Wolf
1 sibling, 0 replies; 4+ messages in thread
From: Kevin Wolf @ 2010-10-07 10:59 UTC (permalink / raw)
To: Nicholas A. Bellinger
Cc: Gerd Hoffmann, kvm-devel, Jan Kiszka, qemu-devel, FUJITA Tomonori,
Hannes Reinecke, Matthew Wilcox, Paul Brook
Am 30.09.2010 07:07, schrieb Nicholas A. Bellinger:
> From: Nicholas Bellinger <nab@linux-iscsi.org>
>
> Greetings Paul, Jan, Kevin and co,
>
> This series is against my v0.12.5 qemu-kvm.git that contains QEMU SCSI layer
> SGL passthrough from Gerd Hoffman, 8708EM2 MegaSas emulation from Dr. Hannes
> Reinecke, and well as my own hw/scsi-bsg.c support. This tree is located here:
>
> http://git.kernel.org/?p=virt/kvm/nab/qemu-kvm.git;a=summary
>
> This first patch adds a missing qdev->reset() NOP caller in hw/scsi-generic.c that
> is now expected by lsi53c895a.c in >= v0.12.5 code. You will want to apply this to
> all >= v0.12.5 QEMU trees so scsi-generic does not segfault with lsi53c895a expecting
> a valid qdev->reset().
This one should already be fixed with Bernhard Kohl's commit f8b6d672,
right? (Should have reached git master about two weeks ago)
> The second item is a bit more exotic.. 8-) So I have been thinking about how to get
> qemu-kvm.git scsi-generic <-> TCM_Loop to function with OS/2 Warp v4 (SP15) in guest
> for a while now, and I am happy to report that after sending some time in the last weeks
> getting OS/2 setup (hey, it has been +13 years) and finding a functioning sym53c895a
> driver, and finally finding a working SYM8XX.ADD and being able to fill in missing
> informational registers and adding a workaround to fix a bogus Destination ID register
> WRITE from the now +10 year old SYM8XX.ADD driver code.
>
> Here are some screenshots of the patch in action:
>
> *) Booting with BASEDEV=SYM8XX.ADD /V:
>
> http://linux-iscsi.org/index.php/Image:TCM_Loop-OS2Warp-QEMU-KVM-boot.png
>
> *) TCM_loop <-> LIO-ORG SPC-3 LUN from KVM Host in the OS/2 Workplace shell!
>
> http://linux-iscsi.org/index.php/Image:TCM_Loop-OS2Warp-QEMU-KVM-running.png
Nice. :-)
Kevin
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-10-07 10:59 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-30 5:07 [Qemu-devel] [PATCH] lsi53c895a: Add support for OS/2 Warp SYM8XX.ADD driver Nicholas A. Bellinger
2010-09-30 13:23 ` [Qemu-devel] " Hannes Reinecke
2010-09-30 21:44 ` Nicholas A. Bellinger
2010-10-07 10:59 ` Kevin Wolf
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).