| #ifndef GRUB_MACHINE_EMU |
| #error "This source is only meant for grub-emu platform" |
| #endif |
| |
| #if defined(__i386__) || defined(__x86_64__) |
| /* Nothing is necessary. */ |
| #elif defined(__sparc__) |
| #include "../sparc64/cache.S" |
| #elif defined(__mips__) |
| /* On MIPS we must go through standard functions. */ |
| #include <grub/symbol.h> |
| |
| FUNCTION (grub_cpu_flush_cache) |
| FUNCTION (grub_arch_sync_caches) |
| .set nomacro |
| .set noreorder |
| lui $t0, %hi(_flush_cache) |
| addui $t0, $t0, %lo(_flush_cache) |
| move $a3, $zero |
| jr $t0 |
| nop |
| .set reorder |
| .set macro |
| #elif defined(__powerpc__) |
| #include "../powerpc/cache.S" |
| #elif defined(__ia64__) |
| #else |
| #error "No target cpu type is defined" |
| #endif |