Patch Fusion-io VSL for FreeBSD 9 to work with FreeBSD 10

By | February 26, 2017

I didn’t write this patch, but it’s been forwarded to me and my understanding is that a Fusion-io customer wrote this a while back.

VSL (the software driver for Fusion-io cards) can be recompiled (all the real IP is pre-compiled in an included library), allowing VSL to be recompiled for variations in a given operating system. These small patches are necessary to get VSL for FreeBSD 9 to work on FreeBSD 10.

NOTE: THIS IS CURRENTLY BROKEN – I WILL FIX IT IF I CAN FIND THE RIGHT CODE

 

--- cdev.c.orig 2013-03-28 09:37:05.000000000 -0400
+++ cdev.c 2013-03-28 09:41:29.000000000 -0400
@@ -63,7 +63,7 @@
 pdev = fusion_nand_get_softc(nand_dev);
 
 pdev->cdev = make_dev(&fusion_ctl_ops, pdev->unit,
- UID_ROOT, GID_OPERATOR, 0660, fusion_nand_get_dev_name(nand_dev));
+ UID_ROOT, GID_OPERATOR, 0660, "%s", 
+ fusion_nand_get_dev_name(nand_dev));
 
 if (NULL == pdev->cdev)
 {
--- kfio.c.orig 2013-03-28 09:42:44.000000000 -0400
+++ kfio.c 2013-03-28 10:16:36.000000000 -0400
@@ -540,7 +540,7 @@
 {
 struct mtx m = (struct mtx )lock;
 
- return _mtx_trylock(m, 0, file, line) ? 1 : 0;
+ return _mtx_trylock_flags_((volatile uintptr_t *)m, 0, file, line) 
+ ? 1 : 0;
 }
 
 void _fusion_spin_unlock(fusion_spinlock_t lock, const char file, int line) @@ -573,7 +573,7 @@ {
 struct sx s = (struct sx )lock;
 
- return _sx_try_xlock(s, file, line) ? 1 : 0;
+ return sx_try_xlock_(s, file, line) ? 1 : 0;
 }
 
 void _fusion_mutex_lock(fusion_mutex_t lock, const char file, int line) @@ -742,7 +742,7 @@
 params->func = func;
 params->args = data;
 
- kthread_create(fusion_kthread_wrapper, params, NULL, 0, 0, sbuf_data(s));
+ kthread_create(fusion_kthread_wrapper, params, NULL, 0, 0, "%s", 
+ sbuf_data(s));
 
 sbuf_delete(s);
 }

3 thoughts on “Patch Fusion-io VSL for FreeBSD 9 to work with FreeBSD 10

  1. Dan Mahoney

    Did you ever manage to figure this out? I’ve got several of these cards that it would be nice to use again.

  2. Bill Plein Post author

    Sorry for taking so much time to respond.

    I haven’t taken the time to fix the patch. I might work on it next week.

  3. Jack

    I’m willing to throw 50 bucks so you can buy something for yourself

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.