diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2007-05-02 13:27:13 -0400 |
---|---|---|
committer | Andi Kleen <andi@basil.nowhere.org> | 2007-05-02 13:27:13 -0400 |
commit | a75c54f933bd8db9f4a609bd128663c179b3e6a1 (patch) | |
tree | 8b7dd866185bec34146eb537f057b6b496c78443 /arch/i386/kernel/traps.c | |
parent | 82d1bb725e128c97b362a4b33fcbfff08fdaaa5a (diff) |
[PATCH] i386: i386 separate hardware-defined TSS from Linux additions
On Thu, 2007-03-29 at 13:16 +0200, Andi Kleen wrote:
> Please clean it up properly with two structs.
Not sure about this, now I've done it. Running it here.
If you like it, I can do x86-64 as well.
==
lguest defines its own TSS struct because the "struct tss_struct"
contains linux-specific additions. Andi asked me to split the struct
in processor.h.
Unfortunately it makes usage a little awkward.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Andi Kleen <ak@suse.de>
Diffstat (limited to 'arch/i386/kernel/traps.c')
-rw-r--r-- | arch/i386/kernel/traps.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/i386/kernel/traps.c b/arch/i386/kernel/traps.c index 8722444cacaa..e0a23bee6967 100644 --- a/arch/i386/kernel/traps.c +++ b/arch/i386/kernel/traps.c | |||
@@ -596,7 +596,7 @@ fastcall void __kprobes do_general_protection(struct pt_regs * regs, | |||
596 | * and we set the offset field correctly. Then we let the CPU to | 596 | * and we set the offset field correctly. Then we let the CPU to |
597 | * restart the faulting instruction. | 597 | * restart the faulting instruction. |
598 | */ | 598 | */ |
599 | if (tss->io_bitmap_base == INVALID_IO_BITMAP_OFFSET_LAZY && | 599 | if (tss->x86_tss.io_bitmap_base == INVALID_IO_BITMAP_OFFSET_LAZY && |
600 | thread->io_bitmap_ptr) { | 600 | thread->io_bitmap_ptr) { |
601 | memcpy(tss->io_bitmap, thread->io_bitmap_ptr, | 601 | memcpy(tss->io_bitmap, thread->io_bitmap_ptr, |
602 | thread->io_bitmap_max); | 602 | thread->io_bitmap_max); |
@@ -609,7 +609,7 @@ fastcall void __kprobes do_general_protection(struct pt_regs * regs, | |||
609 | thread->io_bitmap_max, 0xff, | 609 | thread->io_bitmap_max, 0xff, |
610 | tss->io_bitmap_max - thread->io_bitmap_max); | 610 | tss->io_bitmap_max - thread->io_bitmap_max); |
611 | tss->io_bitmap_max = thread->io_bitmap_max; | 611 | tss->io_bitmap_max = thread->io_bitmap_max; |
612 | tss->io_bitmap_base = IO_BITMAP_OFFSET; | 612 | tss->x86_tss.io_bitmap_base = IO_BITMAP_OFFSET; |
613 | tss->io_bitmap_owner = thread; | 613 | tss->io_bitmap_owner = thread; |
614 | put_cpu(); | 614 | put_cpu(); |
615 | return; | 615 | return; |