> Quoth Doug Scott on Tue, Aug 28, 2007 at 08:19:22PM > +0700: > > Do you know what is the problem with firewire on > x86? > > I have a camera and some time to look at getting > something going. I hate > > having to reboot into windows, just to download a > video off my camera. > > Fixes for some subset of the following bugs are > required: > > 5108602 isoch does not work on x86 > 6346997 av1394 can't parse roms, breaks > ioctl(IEC61883_NODE_GET_TEXT_LEAF) > 6347004 av1394_ioctl_isoch_init() censors > av1394_ic_validate_init_params() > 6353395 Dubious frame size test in > av1394_ic_validate_init_params > 6353396 av1394_ic_dma_sync_frames() confuses frames > and segments, causes panic > 6353397 av1394_ic_trigger_softint() can set wrong > mask on x86 > 6353398 av1394 should report buffer overruns > I had rough fixes for them, but av1394 isn't a high > enough priority for > the responsible engineer to integrate them into > Solaris.
After a quick look at the kernel code, one obvious fix is to wrap quadlet_data with the T1394_DATA32() macro to convert the data to the correct endian. After doing this ioctl(IEC61883_NODE_GET_TEXT_LEAF) succeeds. i.e av1394_cfgrom.c: - *rval = cmd->cmd_u.q.quadlet_data; + *rval = T1394_DATA32(cmd->cmd_u.q.quadlet_data); David, are you able to make your shim code and patches available so I can do some testing? Doug This message posted from opensolaris.org
