I've printed out several hundred pages of Solaris sources; and I've been trying to correlate interfaces and get my head around the first few steps of the project. At the end of the day, though, I am tired, confused, and a bit intimidated-- generally frustrated. Se la vie.

I can't quite determine how the VDEV disk interface is going to work. I looked at FreeBSD's code, and they have vdev_disk.c in their tree unmodified (though, superceded by vdev_geom*). However, this file does #include <sys/sunldi.h>, though I am unable to find this defined anywhere in FreeBSD's tree. This is really no biggy, but is the end of a tangent on Sun's LDI and DDI interfaces. I'm not quite sure whether NetBSD's disk(9) is going to fit in here, or some other driver(9).

I'm sure I can get past this in the next few days, I just feel a bit overwhelmed at the end of the day in the middle of a crazy week. Hopefully this weekend I'll be able to take a step back, read through some code, and formulate some questions.

However, I did manage to read through a good bit of Cranor's & Parulkar's The UVM Virtual Memory System today, which was certainly enlightening. Maybe my brain is just a little too full for one day.

2007/05/17 21:46
FreeBSD's sys/compat/opensolaris provides several interface ports. Namely:
  • kern/opensolaris_kmem.c
  • kern/opensolaris_kobj.c
  • kern/opensolaris_kstat.c
  • kern/opensolaris_misc.c
  • kern/opensolaris_policy.c kern/opensolaris_string.c
  • kern/opensolaris_vfs.c
  • kern/opensolaris_zone.c

These interfaces use (at least) vm(9) and mutex(9) and will need to be ported. Perhaps it's time for me to re-read some parts of section 9...

2007/05/17 21:37
THE MEATENING!! -- I strongly suggest that you do not send mail to that link.