+ paravirtualization-header-and-stubs-for-fix.patch added to -mm tree

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

 



The patch titled
     fix "paravirtualization: header and stubs for paravirtualizing critical operations"
has been added to the -mm tree.  Its filename is
     paravirtualization-header-and-stubs-for-fix.patch

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

------------------------------------------------------
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

origin.patch
prep-for-paravirt-be-careful-about-touching-bios.patch
prep-for-paravirt-be-careful-about-touching-bios-warning-fix.patch
prep-for-paravirt-desch-clearer-parameter-names.patch
prep-for-paravirt-desch-clearer-parameter-names-fix.patch
prep-for-paravirt-rearrange-processorh.patch
paravirtualization-header-and-stubs-for.patch
paravirtualization-header-and-stubs-for-fix.patch
paravirtualization-patch-inline-replacements-for.patch
paravirtualization-patch-inline-replacements-for-fix.patch
paravirtualization-more-generic-paravirtualization.patch
paravirtualization-allow-selected-bug-checks-to-be.patch
paravirtualization-allow-disabling-legacy-power.patch
paravirtualization-add-apic-accessors-to-paravirt-ops.patch
paravirtualization-add-apic-accessors-to-paravirt-ops-tidy.patch
paravirtualization-add-mmu-virtualization-to.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

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux