|
|
|
@ -147,7 +147,7 @@ public: |
|
|
|
|
|
|
|
// template for functions that store an aligned value to memory
|
|
|
|
#define store_func(type, prefix, xlate_flags) \ |
|
|
|
void prefix##_##type(reg_t addr, type##_t val, bool actually_store=true) { \ |
|
|
|
void prefix##_##type(reg_t addr, type##_t val, bool actually_store=true, bool require_alignment=false) { \ |
|
|
|
if (unlikely(addr & (sizeof(type##_t)-1))) \ |
|
|
|
return misaligned_store(addr, val, sizeof(type##_t), xlate_flags); \ |
|
|
|
reg_t vpn = addr >> PGSHIFT; \ |
|
|
|
|