This focuses on int 0x80, which is the old method; it's been replaced by the sysenter opcode, which is faster on newer chips. (This has been the case since Linux 2.5, and Pentium II+ processors; it was apparently first noticed on the Pentium IV.) Would this basic method work with sysenter?
http://articles.manugarg.com/systemcallinlinux2_6.html
http://kerneltrap.org/node/531 (From 2002)
http://lwn.net/Articles/18412/ (Yep, late 2002)