Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 104507
b: refs/heads/master
c: 3e0879d
h: refs/heads/master
i:
  104505: d03ae22
  104503: 9f7631f
v: v3
  • Loading branch information
Isaku Yamahata authored and Tony Luck committed May 27, 2008
1 parent 33ef792 commit 94f6419
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 90aeb169c03a96e22674741f08054023c33d595b
refs/heads/master: 3e0879deb700f322f6c81ab34f056fc72d15ec02
41 changes: 41 additions & 0 deletions trunk/arch/ia64/kernel/head.S
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,14 @@
#include <asm/mmu_context.h>
#include <asm/asm-offsets.h>
#include <asm/pal.h>
#include <asm/paravirt.h>
#include <asm/pgtable.h>
#include <asm/processor.h>
#include <asm/ptrace.h>
#include <asm/system.h>
#include <asm/mca_asm.h>
#include <linux/init.h>
#include <linux/linkage.h>

#ifdef CONFIG_HOTPLUG_CPU
#define SAL_PSR_BITS_TO_SET \
Expand Down Expand Up @@ -367,6 +370,44 @@ start_ap:
;;
(isBP) st8 [r2]=r28 // save the address of the boot param area passed by the bootloader

#ifdef CONFIG_PARAVIRT

movl r14=hypervisor_setup_hooks
movl r15=hypervisor_type
mov r16=num_hypervisor_hooks
;;
ld8 r2=[r15]
;;
cmp.ltu p7,p0=r2,r16 // array size check
shladd r8=r2,3,r14
;;
(p7) ld8 r9=[r8]
;;
(p7) mov b1=r9
(p7) cmp.ne.unc p7,p0=r9,r0 // no actual branch to NULL
;;
(p7) br.call.sptk.many rp=b1

__INITDATA

default_setup_hook = 0 // Currently nothing needs to be done.

.weak xen_setup_hook

.global hypervisor_type
hypervisor_type:
data8 PARAVIRT_HYPERVISOR_TYPE_DEFAULT

// must have the same order with PARAVIRT_HYPERVISOR_TYPE_xxx

hypervisor_setup_hooks:
data8 default_setup_hook
data8 xen_setup_hook
num_hypervisor_hooks = (. - hypervisor_setup_hooks) / 8
.previous

#endif

#ifdef CONFIG_SMP
(isAP) br.call.sptk.many rp=start_secondary
.ret0:
Expand Down
3 changes: 3 additions & 0 deletions trunk/include/asm-ia64/paravirt.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@

#ifdef CONFIG_PARAVIRT_GUEST

#define PARAVIRT_HYPERVISOR_TYPE_DEFAULT 0
#define PARAVIRT_HYPERVISOR_TYPE_XEN 1

#ifndef __ASSEMBLY__

#include <asm/hw_irq.h>
Expand Down

0 comments on commit 94f6419

Please sign in to comment.