OpenVZ Forum


Home » International » Russian » Как там дела с 2.6.18-8.el5 028stab034.1 ?
Re: Как там дела с 2.6.18-8.el5 028stab034.1 ? [message #14063 is a reply to message #14042] Wed, 13 June 2007 20:28 Go to previous messageGo to previous message
seyko2 is currently offline  seyko2
Messages: 188
Registered: February 2007
Location: Moscow
Senior Member

Осталось только пропатчить include/asm/march-xen/asm/processor.h на предмет указанных define. Ибо хавается он, а не include/asm/processor.h

 diff -u include/asm/mach-xen/asm/processor.h.orig  include/asm/mach-xen/asm/processor.h
--- include/asm/mach-xen/asm/processor.h.orig   2007-06-14 00:15:55.000000000 +0400
+++ include/asm/mach-xen/asm/processor.h        2007-06-14 00:16:07.000000000 +0400
@@ -569,6 +569,32 @@
  */
 extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
 
+#ifdef CONFIG_X86_HIGH_ENTRY
+#define virtual_esp0(task) \
+       ((unsigned long)((task)->thread_info->virtual_stack + ((task)->thread.esp0 - (unsigned long)(task)->thread_info->real_stack)))
+#define load_virtual_esp0(tss, task)                                   \
+       do {                                                            \
+               tss->esp0 = virtual_esp0(task);                         \
+               if (likely(cpu_has_sep) && unlikely(tss->ss1 != (task)->thread.sysenter_cs)) {  \
+                       tss->ss1 = (task)->thread.sysenter_cs;          \
+                       wrmsr(MSR_IA32_SYSENTER_CS,                     \
+                               (task)->thread.sysenter_cs, 0);         \
+               }                                                       \
+       } while (0)
+
+#else
+
+#define virtual_esp0(task) ((task)->thread.esp0)
+#define load_virtual_esp0(tss, task) load_esp0(tss, &(task)->thread) 
+
+#endif
+
+#ifndef CONFIG_XEN
+#define __get_cpu_tss(cpu) (init_tss + (cpu))
+#else
+#define __get_cpu_tss(cpu) (&per_cpu(init_tss, cpu))
+#endif
+
 extern unsigned long thread_saved_pc(struct task_struct *tsk);
 void show_trace(struct task_struct *task, struct pt_regs *regs, unsigned long *stack);


И что конкретно делать для остальных файлов в этом каталоге? openvz пропатчил кучу файлов в include/asm, аналоги которых есть в include/asm/mach-xen/asm
  desc.h
  fixmap.h
  highmem.h
  kmap_types.h
  mmu.h
  mmu_context.h
  page.h
  pgtable.h
  processor.h
  system.h
  tlbflush.h


Попытка пропатчить эти файлы по аналогии -- провалилась. Ибо тогда вылезает куча проблем с компиляцией. Получается, что для XEN-архитектуры BIG-mem patch применился лишь частично и работать не будет.

Можно поиметь этот BIG-mem patch в отдельном виде?

Да, а ругается в domU файл arch/i386/kernel/fixup.c Собрал сам на всякий случай ядро rhel5 (для проверки особенностей сборки). Оно, как и оригинальное ядро от RH, не ругается...

[Updated on: Thu, 14 June 2007 00:21]

Report message to a moderator

 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: *SOLVED* завис - проблема ovz ядра?
Next Topic: openvz и vdso -- так в чем проблема?
Goto Forum:
  


Current Time: Tue Jul 23 07:21:04 GMT 2024

Total time taken to generate the page: 0.02451 seconds