Ingo Molnar | 77ad386 | 2008-03-21 15:23:19 +0100 | [diff] [blame] | 1 | #include <linux/io.h> |
| 2 | |
| 3 | #include <asm/trampoline.h> |
| 4 | |
| 5 | /* ready for x86_64, no harm for x86, since it will overwrite after alloc */ |
| 6 | unsigned char *trampoline_base = __va(TRAMPOLINE_BASE); |
| 7 | |
| 8 | /* |
| 9 | * Currently trivial. Write the real->protected mode |
| 10 | * bootstrap into the page concerned. The caller |
| 11 | * has made sure it's suitably aligned. |
| 12 | */ |
| 13 | unsigned long setup_trampoline(void) |
| 14 | { |
| 15 | memcpy(trampoline_base, trampoline_data, |
| 16 | trampoline_end - trampoline_data); |
| 17 | return virt_to_phys(trampoline_base); |
| 18 | } |