promote AddressCache to SPI and generalize it; package shifting