#define __STR(x) #x
#define STR(x) __STR(x)
-extern char hypercall_page[PAGE_SIZE];
+extern char _minios_hypercall_page[PAGE_SIZE];
#define _hypercall0(type, name) \
({ \
long __res; \
asm volatile ( \
- "call hypercall_page + ("STR(__HYPERVISOR_##name)" * 32)"\
+ "call _minios_hypercall_page + ("STR(__HYPERVISOR_##name)" * 32)"\
: "=a" (__res) \
: \
: "memory" ); \
({ \
long __res, __ign1; \
asm volatile ( \
- "call hypercall_page + ("STR(__HYPERVISOR_##name)" * 32)"\
+ "call _minios_hypercall_page + ("STR(__HYPERVISOR_##name)" * 32)"\
: "=a" (__res), "=b" (__ign1) \
: "1" ((long)(a1)) \
: "memory" ); \
({ \
long __res, __ign1, __ign2; \
asm volatile ( \
- "call hypercall_page + ("STR(__HYPERVISOR_##name)" * 32)"\
+ "call _minios_hypercall_page + ("STR(__HYPERVISOR_##name)" * 32)"\
: "=a" (__res), "=b" (__ign1), "=c" (__ign2) \
: "1" ((long)(a1)), "2" ((long)(a2)) \
: "memory" ); \
({ \
long __res, __ign1, __ign2, __ign3; \
asm volatile ( \
- "call hypercall_page + ("STR(__HYPERVISOR_##name)" * 32)"\
+ "call _minios_hypercall_page + ("STR(__HYPERVISOR_##name)" * 32)"\
: "=a" (__res), "=b" (__ign1), "=c" (__ign2), \
"=d" (__ign3) \
: "1" ((long)(a1)), "2" ((long)(a2)), \
({ \
long __res, __ign1, __ign2, __ign3, __ign4; \
asm volatile ( \
- "call hypercall_page + ("STR(__HYPERVISOR_##name)" * 32)"\
+ "call _minios_hypercall_page + ("STR(__HYPERVISOR_##name)" * 32)"\
: "=a" (__res), "=b" (__ign1), "=c" (__ign2), \
"=d" (__ign3), "=S" (__ign4) \
: "1" ((long)(a1)), "2" ((long)(a2)), \
({ \
long __res, __ign1, __ign2, __ign3, __ign4, __ign5; \
asm volatile ( \
- "call hypercall_page + ("STR(__HYPERVISOR_##name)" * 32)"\
+ "call _minios_hypercall_page + ("STR(__HYPERVISOR_##name)" * 32)"\
: "=a" (__res), "=b" (__ign1), "=c" (__ign2), \
"=d" (__ign3), "=S" (__ign4), "=D" (__ign5) \
: "1" ((long)(a1)), "2" ((long)(a2)), \
/* Set up event and failsafe callback addresses. */
#ifdef __i386__
HYPERVISOR_set_callbacks(
- __KERNEL_CS, (unsigned long)hypervisor_callback,
- __KERNEL_CS, (unsigned long)failsafe_callback);
+ __KERNEL_CS, (unsigned long)_minios_entry_hypervisor_callback,
+ __KERNEL_CS, (unsigned long)_minios_entry_failsafe_callback);
#else
HYPERVISOR_set_callbacks(
(unsigned long)_minios_entry_hypervisor_callback,
.byte 0
.text
-.globl _start, shared_info, hypercall_page
+#define ENTRY(name) \
+ .globl _minios_entry_##name; \
+ _minios_entry_##name:
+
+.globl _start, _minios_shared_info, _minios_hypercall_page
_start:
cld
lss stack_start,%esp
andl $(~(__STACK_SIZE-1)), %esp
push %esi
- call start_kernel
+ call _minios_start_kernel
stack_start:
- .long stack+(2*__STACK_SIZE), __KERNEL_SS
+ .long _minios_stack+(2*__STACK_SIZE), __KERNEL_SS
/* Unpleasant -- the PTE that maps this page is actually overwritten */
/* to map the real shared-info page! :-) */
.org 0x1000
-shared_info:
+_minios_shared_info:
.org 0x2000
-hypercall_page:
+_minios_hypercall_page:
.org 0x3000
ES = 0x20
EIP = 0x28
CS = 0x2C
-#define ENTRY(X) .globl X ; X :
-
#define SAVE_ALL \
cld; \
pushl %es; \
jb critical_region_fixup
11: push %esp
xorl %ebp,%ebp
- call do_hypervisor_callback
+ call _minios_do_hypervisor_callback
add $4,%esp
movl HYPERVISOR_shared_info,%esi
xorl %eax,%eax
xorl %ebp,%ebp
pushl %eax
call *%ebx
- call exit_thread
+ call minios_exit_thread
-ENTRY(__arch_switch_threads)
+ENTRY(arch_switch_threads)
movl 4(%esp), %ecx /* prev */
movl 8(%esp), %edx /* next */
pushl %ebp