20 |
|
|
21 |
#define CACHE_LINE_BYTES 32 |
#define CACHE_LINE_BYTES 32 |
22 |
|
|
23 |
.text |
.text |
24 |
|
|
25 |
.align 2 |
.align 2 |
26 |
.globl grub_arch_sync_caches |
.globl grub_arch_sync_caches |
27 |
grub_arch_sync_caches: |
grub_arch_sync_caches: |
28 |
|
/* `address' may not be CACHE_LINE_BYTES-aligned. */ |
29 |
|
andi. 6, 3, CACHE_LINE_BYTES - 1 /* Find the misalignment. */ |
30 |
|
add 4, 4, 6 /* Adjust `size' to compensate. */ |
31 |
|
|
32 |
/* Force the dcache lines to memory. */ |
/* Force the dcache lines to memory. */ |
33 |
li 5, 0 |
li 5, 0 |
34 |
1: dcbst 5, 3 |
1: dcbst 5, 3 |