1#include <asm/page.h> 2#include <asm/asm_defns.h> 3#include <public/xen.h> 4 5 .section ".text.page_aligned", "ax", @progbits 6 .p2align PAGE_SHIFT 7 8GLOBAL(hypercall_page) 9 /* Poisoned with `ret` for safety before hypercalls are set up. */ 10 .fill PAGE_SIZE, 1, 0xc3 11 .type hypercall_page, STT_OBJECT 12 .size hypercall_page, PAGE_SIZE 13 14/* 15 * Identify a specific hypercall in the hypercall page 16 * @param name Hypercall name. 17 */ 18#define DECLARE_HYPERCALL(name) \ 19 .globl HYPERCALL_ ## name; \ 20 .type HYPERCALL_ ## name, STT_FUNC; \ 21 .size HYPERCALL_ ## name, 32; \ 22 .set HYPERCALL_ ## name, hypercall_page + __HYPERVISOR_ ## name * 32 23 24DECLARE_HYPERCALL(set_trap_table) 25DECLARE_HYPERCALL(mmu_update) 26DECLARE_HYPERCALL(set_gdt) 27DECLARE_HYPERCALL(stack_switch) 28DECLARE_HYPERCALL(set_callbacks) 29DECLARE_HYPERCALL(fpu_taskswitch) 30DECLARE_HYPERCALL(sched_op_compat) 31DECLARE_HYPERCALL(platform_op) 32DECLARE_HYPERCALL(set_debugreg) 33DECLARE_HYPERCALL(get_debugreg) 34DECLARE_HYPERCALL(update_descriptor) 35DECLARE_HYPERCALL(memory_op) 36DECLARE_HYPERCALL(multicall) 37DECLARE_HYPERCALL(update_va_mapping) 38DECLARE_HYPERCALL(set_timer_op) 39DECLARE_HYPERCALL(event_channel_op_compat) 40DECLARE_HYPERCALL(xen_version) 41DECLARE_HYPERCALL(console_io) 42DECLARE_HYPERCALL(physdev_op_compat) 43DECLARE_HYPERCALL(grant_table_op) 44DECLARE_HYPERCALL(vm_assist) 45DECLARE_HYPERCALL(update_va_mapping_otherdomain) 46DECLARE_HYPERCALL(iret) 47DECLARE_HYPERCALL(vcpu_op) 48DECLARE_HYPERCALL(set_segment_base) 49DECLARE_HYPERCALL(mmuext_op) 50DECLARE_HYPERCALL(xsm_op) 51DECLARE_HYPERCALL(nmi_op) 52DECLARE_HYPERCALL(sched_op) 53DECLARE_HYPERCALL(callback_op) 54DECLARE_HYPERCALL(xenoprof_op) 55DECLARE_HYPERCALL(event_channel_op) 56DECLARE_HYPERCALL(physdev_op) 57DECLARE_HYPERCALL(hvm_op) 58DECLARE_HYPERCALL(sysctl) 59DECLARE_HYPERCALL(domctl) 60DECLARE_HYPERCALL(kexec_op) 61DECLARE_HYPERCALL(argo_op) 62DECLARE_HYPERCALL(xenpmu_op) 63 64DECLARE_HYPERCALL(arch_0) 65DECLARE_HYPERCALL(arch_1) 66DECLARE_HYPERCALL(arch_2) 67DECLARE_HYPERCALL(arch_3) 68DECLARE_HYPERCALL(arch_4) 69DECLARE_HYPERCALL(arch_5) 70DECLARE_HYPERCALL(arch_6) 71DECLARE_HYPERCALL(arch_7) 72 73/* 74 * Local variables: 75 * tab-width: 8 76 * indent-tabs-mode: nil 77 * End: 78 */ 79