Fixes so xen+xenlinux boots on ski

This commit is contained in:
djm@kirby.fc.hp.com committed 2005-07-11 08:20:39 -07:00
1 parent bd3c0147e4
commit 811e95f41b
2 files changed
+9 -5

No files matched your search

+7 -4
View File
@@ -288,9 +288,10 @@ GLOBAL_ENTRY(fast_tick_reflect)
cmp.ne p6,p0=r28,r30
(p6) br.cond.spnt.few rp;;
movl r20=(PERCPU_ADDR)+IA64_CPUINFO_ITM_NEXT_OFFSET;;
ld8 r21=[r20];;
ld8 r26=[r20];;
mov r27=ar.itc;;
cmp.ltu p6,p0=r21,r27
adds r27=200,r27 // safety margin
cmp.ltu p6,p0=r26,r27
(p6) br.cond.spnt.few rp;;
mov r17=cr.ipsr;;
// slow path if: ipsr.be==1, ipsr.pp==1
@@ -300,14 +301,16 @@ GLOBAL_ENTRY(fast_tick_reflect)
extr.u r21=r17,IA64_PSR_PP_BIT,1 ;;
cmp.ne p6,p0=r21,r0
(p6) br.cond.spnt.few rp;;
// definitely have a domain tick
mov cr.eoi=r0;;
mov rp=r29;;
mov cr.itm=r26;; // ensure next tick
#ifdef FAST_REFLECT_CNT
movl r20=fast_reflect_count+((0x3000>>8)*8);;
ld8 r21=[r20];;
adds r21=1,r21;;
st8 [r20]=r21;;
#endif
mov cr.eoi=r0;;
mov rp=r29;;
// vcpu_pend_timer(current)
movl r18=XSI_PSR_IC;;
adds r20=XSI_ITV_OFS-XSI_PSR_IC_OFS,r18 ;;
+2 -1
View File
@@ -90,9 +90,10 @@ void vhpt_map(void)
void vhpt_multiple_insert(unsigned long vaddr, unsigned long pte, unsigned long logps)
{
unsigned long mask = (1L << logps) - 1;
extern long running_on_sim;
int i;
if (logps-PAGE_SHIFT > 10) {
if (logps-PAGE_SHIFT > 10 && !running_on_sim) {
// if this happens, we may want to revisit this algorithm
printf("vhpt_multiple_insert:logps-PAGE_SHIFT>10,spinning..\n");
while(1);
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.