pcache_sb
static int sb_read(struct pcache_cache_dev *cache_dev, struct pcache_sb *sb)
struct pcache_sb *sb_addr = CACHE_DEV_SB(cache_dev);
if (copy_mc_to_kernel(sb, sb_addr, sizeof(struct pcache_sb)))
static void sb_write(struct pcache_cache_dev *cache_dev, struct pcache_sb *sb)
struct pcache_sb *sb_addr = CACHE_DEV_SB(cache_dev);
memcpy_flushcache(sb_addr, sb, sizeof(struct pcache_sb));
static int sb_init(struct pcache_cache_dev *cache_dev, struct pcache_sb *sb)
sb->crc = cpu_to_le32(crc32c(PCACHE_CRC_SEED, (void *)(sb) + 4, sizeof(struct pcache_sb) - 4));
static int sb_validate(struct pcache_cache_dev *cache_dev, struct pcache_sb *sb)
crc = crc32c(PCACHE_CRC_SEED, (void *)(sb) + 4, sizeof(struct pcache_sb) - 4);
struct pcache_sb sb;
#define CACHE_DEV_SB(cache_dev) ((struct pcache_sb *)(cache_dev->mapping + PCACHE_SB_OFF))