The patch titled fix "paravirtualization: header and stubs for paravirtualizing critical operations" has been removed from the -mm tree. Its filename was paravirtualization-header-and-stubs-for-fix.patch This patch was dropped because it was folded into paravirt-i386-header-and-stubs-for-paravirtualisation.patch ------------------------------------------------------ Subject: fix "paravirtualization: header and stubs for paravirtualizing critical operations" From: Rusty Russell <rusty@xxxxxxxxxxxxxxx> On Thu, 2006-11-02 at 15:25 -0800, Andrew Morton wrote: > i386 allmodconfig > > arch/i386/power/cpu.c: In function '__save_processor_state': > arch/i386/power/cpu.c:29: warning: passing argument 1 of 'paravirt_ops.store_gdt' from incompatible pointer type > arch/i386/power/cpu.c:30: warning: passing argument 1 of 'paravirt_ops.store_idt' from incompatible pointer type > arch/i386/power/cpu.c: In function '__restore_processor_state': > arch/i386/power/cpu.c:102: warning: passing argument 1 of 'paravirt_ops.load_gdt' from incompatible pointer type > arch/i386/power/cpu.c:103: warning: passing argument 1 of 'paravirt_ops.load_idt' from incompatible pointer type > arch/i386/kernel/paravirt.c:481: warning: initialization from incompatible pointer type Thanks for the reminder! The previous store_gdt() was a macro, with CONFIG_PARAVIRT we have typechecking that the arg is a struct Xgt_desc_struct *. When I looked at changing "struct saved_context" to use that struct, I realized that the padding was in a different place: will changing it be a compatibility issue? With CONFIG_PARAVIRT enabled, store_gdt/store_idt etc are actual functions which expect a struct Xgt_desc_struct *. Make saved_context conform rather than using manually-assembled GDT. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Chris Wright <chrisw@xxxxxxxxxxxx> Cc: Jeremy Fitzhardinge <jeremy@xxxxxxxx> Cc: Zachary Amsden <zach@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- arch/i386/power/cpu.c | 8 ++++---- include/asm-i386/suspend.h | 8 ++------ 2 files changed, 6 insertions(+), 10 deletions(-) diff -puN arch/i386/power/cpu.c~paravirtualization-header-and-stubs-for-fix arch/i386/power/cpu.c --- a/arch/i386/power/cpu.c~paravirtualization-header-and-stubs-for-fix +++ a/arch/i386/power/cpu.c @@ -26,8 +26,8 @@ void __save_processor_state(struct saved /* * descriptor tables */ - store_gdt(&ctxt->gdt_limit); - store_idt(&ctxt->idt_limit); + store_gdt(&ctxt->gdt); + store_idt(&ctxt->idt); store_tr(ctxt->tr); /* @@ -99,8 +99,8 @@ void __restore_processor_state(struct sa * now restore the descriptor tables to their proper values * ltr is done i fix_processor_context(). */ - load_gdt(&ctxt->gdt_limit); - load_idt(&ctxt->idt_limit); + load_gdt(&ctxt->gdt); + load_idt(&ctxt->idt); /* * segment registers diff -puN include/asm-i386/suspend.h~paravirtualization-header-and-stubs-for-fix include/asm-i386/suspend.h --- a/include/asm-i386/suspend.h~paravirtualization-header-and-stubs-for-fix +++ a/include/asm-i386/suspend.h @@ -23,12 +23,8 @@ arch_prepare_suspend(void) struct saved_context { u16 es, fs, gs, ss; unsigned long cr0, cr2, cr3, cr4; - u16 gdt_pad; - u16 gdt_limit; - unsigned long gdt_base; - u16 idt_pad; - u16 idt_limit; - unsigned long idt_base; + struct Xgt_desc_struct gdt; + struct Xgt_desc_struct idt; u16 ldt; u16 tss; unsigned long tr; _ Patches currently in -mm which might be from rusty@xxxxxxxxxxxxxxx are paravirt-i386-header-and-stubs-for-paravirtualisation.patch paravirtualization-header-and-stubs-for-fix.patch paravirt-i386-patch-inline-replacements-for.patch paravirt-i386-more-generic-paravirtualization.patch paravirt-i386-allow-selected-bug-checks-to-be.patch paravirt-i386-allow-disabling-legacy-power.patch paravirt-i386-add-apic-accessors-to-paravirt-ops.patch paravirt-i386-add-mmu-virtualization-to.patch prep-for-paravirt-be-careful-about-touching-bios.patch paravirtualization-header-and-stubs-for-headers_check-fix.patch paravirtualization-patch-inline-replacements-for-fix-2.patch paravirtualization-patch-inline-replacements-for-fix-3.patch paravirtualization-more-generic-paravirtualization-warning-fix.patch fix-config_paravirt.patch fix-kunmap_atomics-use-of-kpte_clear_flush.patch generic-bug-implementation.patch generic-bug-for-i386.patch generic-bug-for-x86-64.patch bug-test-1.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html