Revision 3b46e624 dyngen.h
b/dyngen.h | ||
---|---|---|
51 | 51 |
|
52 | 52 |
start &= ~(MIN_CACHE_LINE_SIZE - 1); |
53 | 53 |
stop = (stop + MIN_CACHE_LINE_SIZE - 1) & ~(MIN_CACHE_LINE_SIZE - 1); |
54 |
|
|
54 |
|
|
55 | 55 |
for (p = start; p < stop; p += MIN_CACHE_LINE_SIZE) { |
56 | 56 |
asm volatile ("dcbst 0,%0" : : "r"(p) : "memory"); |
57 | 57 |
} |
... | ... | |
169 | 169 |
arm_reloc_pc24((uint32_t *)gen_code_ptr, 0xeafffffe, target); |
170 | 170 |
gen_code_ptr += 4; |
171 | 171 |
} |
172 |
|
|
172 |
|
|
173 | 173 |
/* copy the data */ |
174 | 174 |
data_ptr = gen_code_ptr; |
175 | 175 |
memcpy(gen_code_ptr, data_start, data_size); |
176 | 176 |
gen_code_ptr += data_size; |
177 |
|
|
177 |
|
|
178 | 178 |
/* patch the ldr to point to the data */ |
179 | 179 |
for(le = ldr_start; le < ldr_end; le++) { |
180 | 180 |
ptr = (uint32_t *)le->ptr; |
Also available in: Unified diff