REG_
cpu_reg_ptr = ®_(rm);
offset = REG_(base);
offset += (REG_(index)) << ss;
#define COPY2(X,Y) regs->gp[X] = mc->gregs[REG_##Y]
#define COPY(X) regs->gp[X] = mc->gregs[REG_##X]
#define COPY_SEG(X) regs->gp[X] = mc->gregs[REG_##X] & 0xffff;
#define COPY_SEG_CPL3(X) regs->gp[X] = (mc->gregs[REG_##X] & 0xffff) | 3;
#define COPY2(X,Y) regs->gp[X/sizeof(unsigned long)] = mc->gregs[REG_##Y]
#define COPY(X) regs->gp[X/sizeof(unsigned long)] = mc->gregs[REG_##X]
#define COPY2(X,Y) mc->gregs[REG_##Y] = regs->gp[X]
#define COPY(X) mc->gregs[REG_##X] = regs->gp[X]
#define COPY_SEG(X) mc->gregs[REG_##X] = regs->gp[X] & 0xffff;
#define COPY_SEG_CPL3(X) mc->gregs[REG_##X] = (regs->gp[X] & 0xffff) | 3;
#define COPY2(X,Y) mc->gregs[REG_##Y] = regs->gp[X/sizeof(unsigned long)]
#define COPY(X) mc->gregs[REG_##X] = regs->gp[X/sizeof(unsigned long)]
#define CASE_BTC_REGTYPE_STR(e) case REG_## e: return #e
#define rcar_thermal_read(p, r) _rcar_thermal_read(p, REG_ ##r)
#define rcar_thermal_write(p, r, d) _rcar_thermal_write(p, REG_ ##r, d)
#define rcar_thermal_bset(p, r, m, d) _rcar_thermal_bset(p, REG_ ##r, m, d)
.offset = REG_ ##nm, \
__fsi_reg_write((p->base + REG_##r), d)
__fsi_reg_read((p->base + REG_##r))
__fsi_reg_mask_set((p->base + REG_##r), m, d)