hv.c (b635ccc1ec26b9b6e2cb1495c3d9d903e0b4f95a) hv.c (753ed9c95c37d058e50e7d42bbe296ee0bf6670d)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (c) 2009, Microsoft Corporation.
4 *
5 * Authors:
6 * Haiyang Zhang <haiyangz@microsoft.com>
7 * Hank Janssen <hjanssen@microsoft.com>
8 */

--- 91 unchanged lines hidden (view full) ---

100 status = hv_do_hypercall(HVCALL_POST_MESSAGE, aligned_msg, NULL);
101
102 /* Preemption must remain disabled until after the hypercall
103 * so some other thread can't get scheduled onto this cpu and
104 * corrupt the per-cpu post_msg_page
105 */
106 put_cpu_ptr(hv_cpu);
107
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (c) 2009, Microsoft Corporation.
4 *
5 * Authors:
6 * Haiyang Zhang <haiyangz@microsoft.com>
7 * Hank Janssen <hjanssen@microsoft.com>
8 */

--- 91 unchanged lines hidden (view full) ---

100 status = hv_do_hypercall(HVCALL_POST_MESSAGE, aligned_msg, NULL);
101
102 /* Preemption must remain disabled until after the hypercall
103 * so some other thread can't get scheduled onto this cpu and
104 * corrupt the per-cpu post_msg_page
105 */
106 put_cpu_ptr(hv_cpu);
107
108 return status & 0xFFFF;
108 return hv_result(status);
109}
110
111int hv_synic_alloc(void)
112{
113 int cpu;
114 struct hv_per_cpu_context *hv_cpu;
115
116 /*

--- 278 unchanged lines hidden ---
109}
110
111int hv_synic_alloc(void)
112{
113 int cpu;
114 struct hv_per_cpu_context *hv_cpu;
115
116 /*

--- 278 unchanged lines hidden ---