Jaguar VIA Design VIA Provider Library (VIPL) implemented in Java Looks a lot like the C code Fast access to VIA structures through Jaguar: Doorbells Descriptor queue entries Pinned data buffers Entirely protected! Jaguar code prevents forging pointers Does bounds-checking Invariants maintained e.g., coupling of buffers and descriptors