[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] Minor adaptations for common ACPI update and other common changes



ChangeSet 1.1423.5.6, 2005/05/10 16:29:32-06:00, djm@xxxxxxxxxxxxxxx

        Minor adaptations for common ACPI update and other common changes



 arch/ia64/domain.c                       |    4 ++--
 arch/ia64/irq.c                          |    2 ++
 arch/ia64/mm_init.c                      |    4 ++--
 arch/ia64/patch/linux-2.6.11/unaligned.c |   23 +++++++++++++++++++----
 arch/ia64/process.c                      |    4 ++--
 arch/ia64/xenmisc.c                      |    8 ++++++++
 include/asm-ia64/config.h                |    8 ++++++++
 include/asm-ia64/domain.h                |    2 +-
 8 files changed, 44 insertions(+), 11 deletions(-)


diff -Nru a/xen/arch/ia64/domain.c b/xen/arch/ia64/domain.c
--- a/xen/arch/ia64/domain.c    2005-05-11 03:04:09 -04:00
+++ b/xen/arch/ia64/domain.c    2005-05-11 03:04:09 -04:00
@@ -191,7 +191,7 @@
        // stay on kernel stack because may get interrupts!
        // ia64_ret_from_clone (which b0 gets in new_thread) switches
        // to user stack
-       ed->thread.on_ustack = 0;
+       ed->arch._thread.on_ustack = 0;
 }
 
 void arch_do_boot_vcpu(struct exec_domain *p)
@@ -261,7 +261,7 @@
 printf("new_thread: ed=%p, start_pc=%p, regs=%p, sw=%p, new_rbs=%p, 
IA64_STK_OFFSET=%p, &r8=%p\n",
 ed,start_pc,regs,sw,new_rbs,IA64_STK_OFFSET,&regs->r8);
        sw->b0 = (unsigned long) &ia64_ret_from_clone;
-       ed->thread.ksp = (unsigned long) sw - 16;
+       ed->arch._thread.ksp = (unsigned long) sw - 16;
        //ed->thread_info->flags = 0;
 printk("new_thread, about to call init_all_rr\n");
        init_all_rr(ed);
diff -Nru a/xen/arch/ia64/irq.c b/xen/arch/ia64/irq.c
--- a/xen/arch/ia64/irq.c       2005-05-11 03:04:09 -04:00
+++ b/xen/arch/ia64/irq.c       2005-05-11 03:04:09 -04:00
@@ -1406,9 +1406,11 @@
         desc->handler->startup(irq);
 
         /* Attempt to bind the interrupt target to the correct CPU. */
+#if 0 /* FIXME CONFIG_SMP ??? */
         if ( desc->handler->set_affinity != NULL )
             desc->handler->set_affinity(
                 irq, apicid_to_phys_cpu_present(d->processor));
+#endif
     }
     else if ( !will_share || !action->shareable )
     {
diff -Nru a/xen/arch/ia64/mm_init.c b/xen/arch/ia64/mm_init.c
--- a/xen/arch/ia64/mm_init.c   2005-05-11 03:04:09 -04:00
+++ b/xen/arch/ia64/mm_init.c   2005-05-11 03:04:09 -04:00
@@ -227,7 +227,7 @@
 
        if (stack_size > MAX_USER_STACK_SIZE)
                stack_size = MAX_USER_STACK_SIZE;
-       current->thread.rbs_bot = STACK_TOP - stack_size;
+       current->arch._thread.rbs_bot = STACK_TOP - stack_size;
 }
 
 /*
@@ -255,7 +255,7 @@
        if (vma) {
                memset(vma, 0, sizeof(*vma));
                vma->vm_mm = current->mm;
-               vma->vm_start = current->thread.rbs_bot & PAGE_MASK;
+               vma->vm_start = current->arch._thread.rbs_bot & PAGE_MASK;
                vma->vm_end = vma->vm_start + PAGE_SIZE;
                vma->vm_page_prot = protection_map[VM_DATA_DEFAULT_FLAGS & 0x7];
                vma->vm_flags = 
VM_READ|VM_WRITE|VM_MAYREAD|VM_MAYWRITE|VM_GROWSUP;
diff -Nru a/xen/arch/ia64/patch/linux-2.6.11/unaligned.c 
b/xen/arch/ia64/patch/linux-2.6.11/unaligned.c
--- a/xen/arch/ia64/patch/linux-2.6.11/unaligned.c      2005-05-11 03:04:09 
-04:00
+++ b/xen/arch/ia64/patch/linux-2.6.11/unaligned.c      2005-05-11 03:04:09 
-04:00
@@ -1,5 +1,5 @@
 --- ../../linux-2.6.11/arch/ia64/kernel/unaligned.c    2005-03-02 
00:38:25.000000000 -0700
-+++ arch/ia64/unaligned.c      2005-04-28 15:40:13.000000000 -0600
++++ arch/ia64/unaligned.c      2005-05-10 15:46:09.000000000 -0600
 @@ -437,7 +437,11 @@
  }
  
@@ -12,7 +12,31 @@
  setreg (unsigned long regnum, unsigned long val, int nat, struct pt_regs 
*regs)
  {
        struct switch_stack *sw = (struct switch_stack *) regs - 1;
-@@ -611,7 +615,11 @@
+@@ -522,7 +526,11 @@
+        */
+       if (regnum >= IA64_FIRST_ROTATING_FR) {
+               ia64_sync_fph(current);
++#ifdef XEN
++              current->arch._thread.fph[fph_index(regs, regnum)] = *fpval;
++#else
+               current->thread.fph[fph_index(regs, regnum)] = *fpval;
++#endif
+       } else {
+               /*
+                * pt_regs or switch_stack ?
+@@ -581,7 +589,11 @@
+        */
+       if (regnum >= IA64_FIRST_ROTATING_FR) {
+               ia64_flush_fph(current);
++#ifdef XEN
++              *fpval = current->arch._thread.fph[fph_index(regs, regnum)];
++#else
+               *fpval = current->thread.fph[fph_index(regs, regnum)];
++#endif
+       } else {
+               /*
+                * f0 = 0.0, f1= 1.0. Those registers are constant and are thus
+@@ -611,7 +623,11 @@
  }
  
  
@@ -24,7 +48,7 @@
  getreg (unsigned long regnum, unsigned long *val, int *nat, struct pt_regs 
*regs)
  {
        struct switch_stack *sw = (struct switch_stack *) regs - 1;
-@@ -1294,6 +1302,9 @@
+@@ -1294,6 +1310,9 @@
  void
  ia64_handle_unaligned (unsigned long ifa, struct pt_regs *regs)
  {
@@ -34,7 +58,7 @@
        struct ia64_psr *ipsr = ia64_psr(regs);
        mm_segment_t old_fs = get_fs();
        unsigned long bundle[2];
-@@ -1502,4 +1513,5 @@
+@@ -1502,4 +1521,5 @@
        si.si_imm = 0;
        force_sig_info(SIGBUS, &si, current);
        goto done;
diff -Nru a/xen/arch/ia64/process.c b/xen/arch/ia64/process.c
--- a/xen/arch/ia64/process.c   2005-05-11 03:04:09 -04:00
+++ b/xen/arch/ia64/process.c   2005-05-11 03:04:09 -04:00
@@ -517,7 +517,7 @@
              case 32: /* fp fault */
              case 33: /* fp trap */
                //result = handle_fpu_swa((vector == 32) ? 1 : 0, regs, isr);
-               if ((result < 0) || (current->thread.flags & 
IA64_THREAD_FPEMU_SIGFPE)) {
+               //if ((result < 0) || (current->thread.flags & 
IA64_THREAD_FPEMU_SIGFPE)) {
                        //siginfo.si_signo = SIGFPE;
                        //siginfo.si_errno = 0;
                        //siginfo.si_code = FPE_FLTINV;
@@ -526,7 +526,7 @@
                        //siginfo.si_isr = isr;
                        //siginfo.si_imm = 0;
                        //force_sig_info(SIGFPE, &siginfo, current);
-               }
+               //}
                //return;
                sprintf(buf, "FP fault/trap");
                break;
diff -Nru a/xen/arch/ia64/xenmisc.c b/xen/arch/ia64/xenmisc.c
--- a/xen/arch/ia64/xenmisc.c   2005-05-11 03:04:09 -04:00
+++ b/xen/arch/ia64/xenmisc.c   2005-05-11 03:04:09 -04:00
@@ -79,6 +79,14 @@
        raise_softirq(AC_TIMER_SOFTIRQ);
 }
 
+unsigned long __hypercall_create_continuation(
+       unsigned int op, unsigned int nr_args, ...)
+{
+       printf("__hypercall_create_continuation: not implemented!!!\n");
+}
+
+///////////////////////////////
+
 ///////////////////////////////
 // from arch/x86/apic.c
 ///////////////////////////////
diff -Nru a/xen/include/asm-ia64/config.h b/xen/include/asm-ia64/config.h
--- a/xen/include/asm-ia64/config.h     2005-05-11 03:04:09 -04:00
+++ b/xen/include/asm-ia64/config.h     2005-05-11 03:04:09 -04:00
@@ -258,6 +258,14 @@
 #define seq_printf(a,b...) printf(b)
 #define CONFIG_BLK_DEV_INITRD // needed to reserve memory for domain0
 
+//
+#define __smp_processor_id() (current->processor)
+
+// needed for newer ACPI code
+#define asmlinkage
+
+#define FORCE_CRASH()  asm("break 0;;");
+
 // these declarations got moved at some point, find a better place for them
 extern int opt_noht;
 extern int ht_per_core;
diff -Nru a/xen/include/asm-ia64/domain.h b/xen/include/asm-ia64/domain.h
--- a/xen/include/asm-ia64/domain.h     2005-05-11 03:04:09 -04:00
+++ b/xen/include/asm-ia64/domain.h     2005-05-11 03:04:09 -04:00
@@ -60,7 +60,7 @@
 };
 
 #define active_mm arch.active_mm
-#define thread arch._thread
+//#define thread arch._thread
 
 // FOLLOWING FROM linux-2.6.7/include/sched.h
 

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.