[Vm-dev] [VM-team] SerialPort updates (M7266) actions required

David T. Lewis lewis at mail.msen.com
Sat Aug 22 20:28:22 UTC 2009

Updates to the platforms code and VMMaker are needed to provide named
serial port access. This is a coordinated change affecting all platforms.
Following are the steps required:

  - Update SerialPlugin in VMMaker with new prims and 64-bit clean
    declarations (done - this is in VMaker-dtl.136 on SqueakSource).

  - Apply patch to platforms/Cross/plugins/SerialPlugin/SerialPlugin.h
    to declare new functions and change signatures to avoid casting
    pointer to int. Patch is attached (M7266-SerialPlugin.h.diff). Note, the
    patches on Mantis are out of date now, use this one instead.
  - Apply patch to platforms/unix/plugins/SerialPlugin/sqUnixSerial.c to
    get rid of some unnecessary type casts. I believe that you have already
    applied the main part of Severin's changes, so this should complete the
    unix updates. Patch attached (M7266-sqUnixSerial.c.diff).

  - Update platforms\win32\plugins\SerialPlugin\sqWin32SerialPort.c to match
    the modified signatures in SerialPort.h. This prevents passing pointer
    parameters as ints, required for running on 64 bit platforms.
  - Add stub functions for four new functions (serialPortCloseByName,
    serialPortOpenByName, serialPortReadIntoByName, serialPortWriteFromByName)
    to support the the new primitives. These can just fail the primitive. Function
    prototypes are in SerialPlugin.h.
  - Update platforms/Mac OS/plugins/SerialPlugin/sqMacSerialPort.c, same as
    for Windows (see above).
  - I don't know how OS X handles serial devices, but you may be able consider
    using the Unix code at this point.

Thanks all!


--- background ---

For reference is was the suggested "to-do" list that I posted a while back.
We are working on step 2 now.

1) Closure support.
 - Priority: High, should be done as soon as possible
 - All major VM distributions should support images with closure bytecodes.
 - Current status: COMPLETE
2) Changes to support Etoys and teaching for kids.
 - Priority: High, supports large educational programs.
 - Mantis 7266: SerialPlugin doesn't handle arbitrary nodes names
 - Mantis 7103: Playing sounds in linux 64 bits causes a vm segmentation fault
 - Current status: These require changes to VMMaker and platforms sources,
   all platforms effected. Changes are straightforward but must be done in a
   coordinated manner for all platforms.
3) Some simple updates for 23/64 bit platforms.
 - Priority: Low
 - Mantis 7236: Make AsynchFilePlugin work on 32/64 bit images and 32/64 bit unix VMs
 - Mantis 6828: make FileCopyPlugin work on 32/64 bit images and 32/64 bit unix VMs
 - Current status: These are minor updates, low priority but easy to do. Patches
   are available but must be coordinated for all platforms.
4) 64-bit FFI (Interpreter updates as well as FFI)
 - Priority: Medium
 - Mantis 7237: Make FFI work on 64 bit platforms
 - Current status: Patches are available, but additional work and testing may
   be required on some platforms. I consider this update important because it
   effects the interpreter as well as FFI itself, e.g. these changes are
   a prerequisite to closing out the issues in Mantis 6987: "signed32BitValueOf:,
   signed64BitValueOf: etc. broken".

-------------- next part --------------
A non-text attachment was scrubbed...
Name: M7266-SerialPlugin.h.diff
Type: text/x-diff
Size: 933 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20090822/a74eb0b3/M7266-SerialPlugin.h.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: M7266-sqUnixSerial.c.diff
Type: text/x-diff
Size: 3396 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20090822/a74eb0b3/M7266-sqUnixSerial.c.bin

More information about the Vm-dev mailing list