need to specify: virtual channel (2 bits) slice (2 bits) address (21 bits) how to do reads/writes? how to handle PGP nacks/timeouts? how to do read-modify-writes? bad block protocol? how to avoid junk down the link? response to PGP errors? response to fifo-full and almost-fifo-full? how to use virtual channels? when do we reset PGP? (consistent policy with ryan) how to give reads priority? interface to PIC? (how to learn DMA addresses) Ryan commands: - reset - board ID - firmware version - remote PGP counters - environmental info (temps, voltages, PHY info) Leonid commands: - flash attributes - fmc attributes - counters - erase block - get blocks ("code blocks") - set page